Programme de calcul des salaires Ruby

introduction

Cette fois, nous allons créer un programme de calcul de salaire à temps partiel à partir d'une entrée standard.

Le salaire est déterminé par les règles suivantes.

・ De 9h00 à 17h00:Salaire horaire X yen(Salaire horaire normal)
・ De 17h00 à 22h00:Salaire horaire Y yen(Salaire de nuit)
· D'autres fois:Salaire horaire Z yen(Salaire horaire de minuit)

Vos heures de travail et de congé de N jours sont données sur une base horaire.
Calculez le montant total que vous obtiendrez pour N jours.

Dans le cas de l'exemple d'entrée, les salaires horaires de X yen, Y yen et Z yen sont également travaillés en 4 jours.
Le montant total est de Z × 9+ X×8 + Y×5 + Z×1 = 1500×9 + 1000×8 + 1300×5 + 1500×1 =Ce sera 29500 yens.
Exemple d'entrée
1000 1300 1500
4
0 9
9 17
17 22
22 23
Exemple de sortie

29500

La source

ruby.rb


m = gets.split.map &:to_i
#Acquisition de l'autosuffisance
nums = gets.to_i
#Obtention du nombre de jours ouvrés

times = []
while time = gets
    times << time.chomp.split(' ').map(&:to_i)
end


sum=0
(0..nums-1).each do |i|
    (times[i][0]+1..times[i][1]).each do |t|
            
        if t<=9
            sum += m[2]     
        elsif t<=17
            sum+= m[0]    
        elsif t<=22
            sum+= m[1]
        else
            sum+= m[2]
        end
    end
end

puts sum

Commentaire

ruby.rb


times = []
while time = gets
    times << time.chomp.split(' ').map(&:to_i)
end

Acquérir plusieurs éléments de plusieurs lignes (heures de travail après la troisième ligne). En définissant while time = gets, il sera répété jusqu'à ce que toutes les valeurs d'entrée standard soient acquises.

ruby.rb


sum=0
(0..nums-1).each do |i|
    (times[i][0]+1..times[i][1]).each do |t|

           #Traitement du calcul du salaire horaire
 
    end
end

ruby.rb


(0..nums-1).each do |i|

 #Quand une variable est retirée
 # 0 1 2 3

Obtenez le nombre de jours de travail un par un avec la variable i

ruby.rb


(times[i][0]+1..times[i][1]).each do |t|

 #Lorsque vous récupérez la variable t(Premier jour)
 # 1 2 3 4 5 6 7 8 9

1 Obtenez le fuseau horaire de travail du lever du soleil avec la variable t

ruby.rb


if t<=9
   sum += m[2]     
 elsif t<=17
   sum+= m[0]    
 elsif t<=22
   sum+= m[1]
 else
   sum+= m[2]
end

L'autosuffisance horaire acquise par la variable t dans l'instruction if est extraite à plusieurs reprises et affectée à la variable somme.

Par exemple, après avoir répété pendant 4 jours, la variable de somme est sortie et le montant total est calculé! !! Ceci termine le programme.

finalement

J'ai un programme, mais je pense qu'il y a de nombreuses corrections. Je vous serais reconnaissant si vous pouviez indiquer ce qui ne va pas.

Recommended Posts

Programme de calcul des salaires Ruby
Programme de calcul du score Ruby
Programme de référence numérique Ruby
Utiliser le programme C de Ruby
Ruby apprentissage 4
Ruby apprentissage 5
Bases de Ruby
Revue Ruby 2
Ajout de rubis
[Ruby] Un programme qui détermine les nombres premiers
Ruby apprentissage 3
Programme de calculatrice
Programme Zundoko
Paramètre Ruby 2
Problème de rubis ⑦
Ruby apprentissage 2
Ruby apprentissage 6
Paramètres Ruby 1
Ruby apprentissage 1
Ruby Review 1
Programme Janken utilisant Ruby et son test (test-unit)