Ruby Gehaltsberechnungsprogramm

Einführung

Dieses Mal erstellen wir ein Teilzeit-Gehaltsberechnungsprogramm aus Standardeingaben.

Das Gehalt richtet sich nach folgenden Regeln.

・ Von 9:00 bis 17:00 Uhr:Stundenlohn X Yen(Normaler Stundenlohn)
・ Von 17:00 bis 22:00 Uhr:Stundenlohn Y Yen(Nachtlohn)
· Anderen Zeiten:Stundenlohn Z Yen(Mitternachtsstundenlohn)

Ihre N-Tage-Arbeits- und Urlaubszeiten werden stündlich angegeben.
Berechnen Sie den Gesamtbetrag, den Sie für N Tage erhalten.

Im Fall des Eingabebeispiels werden die Stundenlöhne von X Yen, Y Yen und Z Yen in 4 Tagen gleichmäßig bearbeitet.
Die Gesamtmenge beträgt Z × 9+ X×8 + Y×5 + Z×1 = 1500×9 + 1000×8 + 1300×5 + 1500×1 =Es wird 29500 Yen sein.
Eingabebeispiel
1000 1300 1500
4
0 9
9 17
17 22
22 23
Ausgabebeispiel

29500

Quelle

ruby.rb


m = gets.split.map &:to_i
#Erwerb der Selbstversorgung
nums = gets.to_i
#Anzahl der Arbeitstage ermitteln

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

Kommentar

ruby.rb


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

Erfassen Sie mehrere Elemente mehrerer Zeilen (Arbeitsstunden nach der dritten Zeile). Wenn Sie einstellen, während time = get ist, wird dies wiederholt, bis alle Standardeingabewerte erfasst sind.

ruby.rb


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

           #Verarbeitung der Stundenlohnberechnung
 
    end
end

ruby.rb


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

 #Wenn i Variable herausgenommen wird
 # 0 1 2 3

Ermitteln Sie die Anzahl der Arbeitstage nacheinander mit der Variablen i

ruby.rb


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

 #Wenn Sie die Variable t abrufen(Erster Tag)
 # 1 2 3 4 5 6 7 8 9

1 Ermitteln Sie die Arbeitszeitzone für Sonnenaufgang mit der Variablen 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

Die stündliche Autarkie, die von der Variablen t in der if-Anweisung erfasst wird, wird wiederholt extrahiert und der Summenvariablen zugewiesen.

Zum Beispiel wird nach 4-tägiger Wiederholung die Summenvariable ausgegeben und der Gesamtbetrag berechnet! !! Damit ist das Programm abgeschlossen.

Schließlich

Ich habe ein Programm, aber ich denke, es gibt viele Korrekturen. Ich würde es begrüßen, wenn Sie darauf hinweisen könnten, was falsch ist.

Recommended Posts

Ruby Gehaltsberechnungsprogramm
Ruby Score Berechnungsprogramm
Ruby Numerical Reference Program
Verwenden Sie das C-Programm von Ruby
Rubin lernen 4
Rubin lernen 5
Ruby-Grundlagen
Ruby Review 2
Rubinzusatz
[Ruby] Ein Programm, das Primzahlen bestimmt
Ruby lernen 3
Rechnerprogramm
Zundoko-Programm
Ruby-Einstellung 2
Rubinproblem ⑦
Ruby lernen 2
Rubin lernen 6
Ruby-Einstellungen 1
Rubin lernen 1
Ruby Review 1
Janken-Programm mit Ruby und seinem Test (Testeinheit)