Хелпикс

Главная

Контакты

Случайная статья





Примеры для оператора FOR.



17.2.1. Примеры для оператора FOR.

 

Поскольку контрольные переменные принимают последовательные значения соответствующего порядкового типа при последовательно выполняемых итерациях, оператор FOR идеально подходит для выполнения повторяющихся действий над набором данных. Например, перебор перечислимого типа Month с использованием

FOR Mo := Jan TO Dec

DO

...

будет более натурален, чем с использованием WHILE.

Тип данных INTEGER также естественно управляется оператором FOR. Следующая программа может быть использована как скелет для расчета средних оценок студентов, она читает набор записей о набранных баллах и усредняет их.

 

PROGRAM AverageScore(INPUT, OUTPUT);

CONST

NumberOfScores = 5;

ClassSize = 3;

TYPE

Score = 0 .. 100;

VAR

WhichScore: 1 .. NumberOfScores;

Student: 1 .. ClassSize;

NextScore: Score;

Ave. TotalScore, ClassTotal: INEGER;

BEGIN {AverageScore}

ClassTotal := 0;

WRITELN('Studen averages:');

FOR Student := 1 TO ClassSize

DO

BEGIN

TotalScore := 0;

FOR WhichScore := 1 TO NumberOfScores

DO

   BEGIN

     READ(NextScore);

     TotalScore := TotalScore + NextScore;

   END;

READLN;

TotalScore := TotalScore * 10;

Ave := TotalScore DIV NumberOfScores;

IF Ave MOD 10 >= 5

THEN

   WRITE(Ave DIV 10 + 1)

ELSE

   WRITE(Ave DIV 10);

ClassTotal := ClassTOtal + TotalScore;

END

WRITELN;

WRITELN ('Class average:');

ClassTotal := ClassTotal DIV (ClassSize *NumberOfScores);

WRITELN(ClassTotal DIV 10, '.' ClassTotal MOD 10:1)

END. {AverageScore}

 

Выполнение:

INPUT:      80 100 85 85 80

                   90 80 75 90 90

                   0 50 60 85 80

OUTPUT: Student averages:

                   88   85   59

                   Class average:

                              77.3

Эта программа предполагает серии персональных баллов в строке и строку для каждого человека. Количество баллов в строке и количество строк задается с помощью констант. Средние значения округляются до ближайшего целого, общее среднее ограничено одним значением после запятой.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.