Thread Punkterechnungsprogramm (8 answers)
Opened by DieZahl at 2017-07-22 13:13

Linuxer
 2017-07-22 13:47
#187002 #187002
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Du kannst das erste Skript schon verkürzen, indem Du die Redundanzen entfernst. Die Ausgabe wiederholst Du in jedem Zweig, wozu?
Deklariere $result oberhalb der if-Zweige; über die if-Zweige setzt Du dann nur die Berechnung für $result um und danach gibst Du dann das Ergebnis einmal aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use strict;
use warnings;

use 5.014;

my $time = <STDIN>;
chomp $time;
my $result;

if ($time <= 49) {
$result = $time / 1;
} elsif ($time <= 99) {
$result = $time / 2 * 1;
} elsif ($time <= 199) {
$result = $time / 3 * 2;
} elsif ($time <= 299) {
$result = $time / 4 * 3;
} elsif ($time <= 500) {
$result = $time / 5 * 4;
}

print "Time Points\n";
printf "%3f %3f\n", $time, $result;
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Punkterechnungsprogramm