Подготовка к ГИА: Задание 10

В таблице Dat хранятся данные о численности учеников в классах (Dat[1] – число учеников в первом классе, Dat[2] – во втором и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.Алгоритмический языкалгнач целтаб Dat[1:11] цел k, m Dat[1] := 20; Dat[2] := 25 Dat[3] := 19; Dat[4] := 25 Dat[5] := 26; Dat[6] := 22 Dat[7] := 24; Dat[8] := 28 Dat[9] := 26; Dat[10] := 21 Dat[1...
Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат docx
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

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

Алгоритмический язык

алг

нач

целтаб Dat[1:11]

цел k, m

Dat[1] := 20; Dat[2] := 25

Dat[3] := 19; Dat[4] := 25

Dat[5] := 26; Dat[6] := 22

Dat[7] := 24; Dat[8] := 28

Dat[9] := 26; Dat[10] := 21

Dat[11] := 27

m := 0

нц для k от 1 до 11

если Dat[k] > 22 то

m := m + 1

все

кц

вывод m

кон

Бейсик

DIM Dat(11) AS INTEGER

DIM k,m AS INTEGER

Dat(1) = 20: Dat(2) = 25

Dat(3) = 19: Dat(4) = 25

Dat(5) = 26: Dat(6) = 22

Dat(7) = 24: Dat(8) = 28

Dat(9) = 26: Dat(10) = 21

Dat(11) = 27

m = 0

FOR k = 1 TO 11

IF Dat(k) > 22 THEN

m = m + 1

END IF

NEXT k

PRINT m

Паскаль

Var k, m: integer;

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

Begin

Dat[1] := 20; Dat[2] := 25;

Dat[3] := 19; Dat[4] := 25;

Dat[5] := 26; Dat[6] := 22;

Dat[7] := 24; Dat[8] := 28;

Dat[9] := 26; Dat[10] := 21;

Dat[11] := 27;

m := 0;

for k := 1 to 11 do

if Dat[k] > 22 then

begin

m := m + 1

end;

writeln(m)

End.

Ответ: ___________________________.

Решение:

Рассмотрим программу пошагово. Итак, в самом начале объявляются переменные, которые будут использоваться (переменные k и m), а так же массив Dat, содержащий 11 элементов (от 1 до 11).

Примечание. В массиве Dat, который описан на языке Basic будет 12 элементов, так как нумерация начинается не с первого элемента, а с нулевого.

Алгоритмический язык

Бейсик

Паскаль

целтаб Dat[1:11]
цел k, m

DIM Dat(11) AS INTEGER
DIM k,m AS INTEGER

Var k, m: integer;
Dat: array[1..11] of integer;

Далее идет заполнение массива. Например, элементу массива с индексом 1 присваивается значение 20, элементу с индексом 2 - 25 и так далее. В итоге полученный массив можно представить в таком виде:

Массив Dat

Индекс

1

2

3

4

5

6

7

8

9

10

11

Значение

20

25

19

25

26

22

24

28

26

21

27

Далее переменной m присваивается значение 0. После чего начинается цикл с параметром k, при этом k изменяется от 1 до 11 с шагом 1.

В теле цикла происходит проверка условия

Алгоритмический язык

Бейсик

Паскаль

если Dat[k] > 22 то

m := m + 1

все

IF Dat(k) > 22 THEN

m = m + 1

END IF

if Dat[k] > 22 then

begin

m := m + 1

end;

Значение элемента массива с индексом k сравнивается с числом 22. Если элемент массива больше 22, то переменная m увеличивается на 1. В противном случае ничего не происходит.

В самом конце программы на экран выводится значение переменной m.

Итак, мы перевели программу на человеческий язык, теперь давайте подумаем, что же в итоге получим после ее выполнения. Нас интересует цикл - именно там происходит изменение значения переменной m. До цикла ее значение равно нулю. Далее программа перебирает все элементы массива и сравнивает их с числом 22. И если элемент массива больше 22, то переменная m увеличивается на 1. Таким образом, нам необходимо посчитать все элементы массива, которые больше 22 - их число и будет равно значению переменной m. Таких элементов 7 - это элементы с индексами 2, 4, 5, 7, 8, 9 и 11.

Следует обратить внимание на элемент под номером 6, который равен 22. Так как сравнение у нас строгое ( знак > ), то его мы не учитываем, так как 22 не больше 22. Учитывать его можно было бы в том случае, если бы в сравнении стоял знак >=.

Итак, правильный ответ 7.



© 2010-2022