Εντολή for - Άσκηση 2 - Μισθοδοσία επιχείρησης

Ετικέτες: 
Μια επιχείρηση έχει 60 υπαλλήλους. Να γραφεί πρόγραμμα σε Pascal το οποίο να:
  • διαβάσει επαναληπτικά το όνομα και τον μηνιαίο μισθό κάθε υπαλλήλου της επιχείρησης,
  • να βρίσκει και να εμφανίζει το όνομα του πιο ακριβοπληρωμένου υπαλλήλου καθώς και τον μισθό του,
  • να εμφανίζει το συνολικό ποσό που πρέπει να καταβάλλει η επιχείρηση στους υπαλλήλους της.

Θεωρήστε ότι ο μηνιαίος μισθός είναι θετικός ακέραιος αριθμός.

Λύση: 
program misthodosia;
var
i,apodoxes,sum,max:integer;
onoma,maxname:string[20];
begin
max:=-1;
for i:=1 to 60 do
    begin
    write('Δώσε όνομα ',i,' υπαλλήλου..:');
    readln(onoma);
    write('Δώσε αποδοχές ',i,' υπαλλήλου...:');
    readln(apodoxes);
    sum:=sum+apodoxes;
    if apodoxes>max
    then
        begin
        max:= apodoxes;
        maxname:=onoma;
        end
end;
writeln('H επιχείρηση πρέπει να καταβάλει στους υπαλλήλους της ποσό ..:',sum);
writeln('O ',maxname,' είναι ο πιο ακριβοπληρωμένος υπάλληλος της επιχείρησης με αποδοχές ..:',max);
end.
 
Παρατηρήσεις: 
Αρχικοποιούμε τη μεταβλητή max με την τιμή -1 γιατί γνωρίζουμε ότι ο μηνιαίος μισθός είναι θετικός ακέραιος αριθμός. Το -1 είναι μια τιμή που σίγουρα θα αλλάξει στην 1η επανάληψη της εντολής επανάληψης FOR και η αρχικοποίηση του max με αυτή την τιμή θα επιτρέψει στο πρόγραμμα να εκτελέσει σωστά την λογική συνθήκη "apodoxes>max".