Меню сайта
Вход на сайт
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Наш опрос
Оцените мой сайт
Всего ответов: 25
Статистика

Онлайн всего: 36
Гостей: 36
Пользователей: 0
В10 Программирование (массивы)

Пример 1

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

var k, m, day: integer;

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

begin

Dat[1] := 7;

Dat[2] ;= 9;

Dat[3] := 10;

Dat[4] := 8;

Dat[5] := 6;

Dat[6] := 7;

Dat[7] := 6;

day := 1;

m := Dat[1];

for k := 2 to 7 do begin

if Dat[k] < m then begin

m := Dat[k];

day := k

end; end;

write (day)

end.

Решение:

Анализируем программу. Сначала задаются значения температуры в каждый день недели от Dat[1] до Dat[7]. Далее в переменной day запоминается номер дня недели 1, а в переменной m - значение температуры в понедельник. Затем следует цикл по параметру k (от 2 до 7), в котором сравниваются два значения температуры. На первом шаге сравниваются данные за понедельник и вторник. Если во вторник температура оказалась меньше, чем в понедельник (Dat[2] < m), то в переменную m записывается новое (наименьшее) значение, а в переменной day запоминается номер дня недели с этим наименьшим значением. На следующем шаге сравниваются температуры: наименьшая и за среду. Запоминается наименьшее значение и номер этого дня недели, если условие истинно, либо значения переменных остаются без изменений, если условие не выполнилось. 

До четверга включительно значения переменных m и day не изменились. При k = 5 температура за пятницу оказывается меньше, чем за понедельник, поэтому переменной m будет присвоено значение 6, а в переменной day будет записано число 5. При сравнении пятницы и субботы значения переменных остаются без изменений. При сравнении субботы и воскресенья имеем проверку условия: 6 < 6. Поскольку это условие является ложным, значения переменных вновь останутся без изменений.

Таким образом, после окончания цикла мы получим в переменной m наименьшую температуру за неделю, а в переменной day – номер этого дня. Поскольку на печать выводится значение переменной day, то на экране увидим число 5.

Ответ: 5