В таблице Dat хранятся оценки (по десятибалльной шкале) студента по программированию за 8...

0 голосов
401 просмотров

В таблице Dat хранятся оценки (по десятибалльной шкале) студента по программированию за 8 прошедших с начала учебы семестров (Dat[1] -оценка за первый семестр, Dat[2] - оценка за второй семестр и т.д.). Определите что будет напечатано в результате выполнения следующего алгоритма:

Var k,m, term: integer;

Dat: array[1..8] of integer;

begin

Dat[1]:= 7 ; Dat[2]:= 7 ; Dat[3]:=6 ; Dat[4]:= 8 ;

Dat[5]:=4 ; Dat[6]:= 5; Dat[7]:= 4; Dat[8]:= 7;

term:=1; m:=Dat[1];

for k:=2 to 8 do

begin if Dat[k] < m then

begin m:=Dat[k]; term:=k

end end

write (term); end.


Информатика (100 баллов) | 401 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа ищет номер семестра, в котором у студента была самая низкая оценка (если такая оценка встречается более одного раза, то берётся первый найденный номер).

В результате работы программы будет напечатано:

5

(в пятом семестре у студента впервые была четвёрка)

 

Ответ:5

 

PS Кстати, в предпоследней строке две ошибки: нужно ставить точку с запятой после "end":

 

...

begin if Dat[k] < m then

begin m:=Dat[k]; term:=k

end; end;

write (term); end.

 

 

(52.6k баллов)