В таблице Dat хранятся данные о количестве сделанных заданий учениками (Dat[1] заданий сделал первый...

Тематика Информатика
Уровень 5 - 9 классы
алгоритмический язык бейсик паскаль массив программа задания ученики цикл сумма
0

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

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

Бейсик

Паскаль

алг

нач

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

цел к, s

Dat[1] := 7

Dat[2] := 9

Dat[3] := 10

Dat[4] := 5

Dat[5] := 6

Dat[6] := 7

Dat[7] := 9

Dat[8] := 8

Dat[9] := 6

Dat[10] := 9

s: = 0

нц для к от 1 до 10

s:= s + Dat[k]

все

КЦ

вывод s

КОН

DIM Dat(10) AS INTEGER

DIM k,m,n AS INTEGER

Dat[1] = 7

Dat[2] = 9

Dat[3] = 10

Dat[4] = 5

Dat[5] = 6

Dat[6] = 7

Dat[7] = 9

Dat[8] = 8

Dat[9] = 6

Dat[10] = 9

s = 0

FOR k := 1 TO 10

IF Dat(k) < m THEN

s:= s + Dat[k]

ENDIF

NEXT k

PRINT s

Var k, m, n: integer;

Dat: array[1.10] of integer;

Begin

Dat[1] := 7;

Dat[2] := 9;

Dat[3] := 10;

Dat[4] := 5;

Dat[5] := 6;

Dat[6] := 7;

Dat[7] := 9;

Dat[8] := 8;

Dat[9] := 6;

Dat[10] := 9;

s: = 0;

for k := 1 to 10 do

s:= s + Dat[k];

writeln(s);

End.

avatar
задан месяц назад

2 Ответа

0

Результат работы данной программы будет число 76. Это число получается в результате сложения всех значений массива Dat от 1 до 10, которые равны соответственно 7, 9, 10, 5, 6, 7, 9, 8, 6, 9. То есть 7 + 9 + 10 + 5 + 6 + 7 + 9 + 8 + 6 + 9 = 76.

avatar
ответил месяц назад
0

Давайте разберем предложенные программы на всех трех языках, чтобы определить, какое число будет напечатано в результате их выполнения.

На всех языках программирования представлено одно и то же задание: подсчитать сумму элементов массива Dat, где каждый элемент представляет количество сделанных заданий учеником.

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

  1. Объявляется массив Dat с индексами от 1 до 10 и переменные к и s типа целое (цел).
  2. Массив Dat заполняется значениями:
    • Dat[1] := 7
    • Dat[2] := 9
    • Dat[3] := 10
    • Dat[4] := 5
    • Dat[5] := 6
    • Dat[6] := 7
    • Dat[7] := 9
    • Dat[8] := 8
    • Dat[9] := 6
    • Dat[10] := 9
  3. Переменной s присваивается значение 0.
  4. Цикл для от к = 1 до к = 10:
    • s := s + Dat[k] — добавляем значение элемента массива Dat[k] к переменной s.
  5. По завершении цикла выводится значение s.

Бейсик:

  1. Объявляются массив Dat и переменные k, m, n.
  2. Массив Dat заполняется аналогичными значениями, как и в предыдущем примере.
  3. Переменной s присваивается значение 0.
  4. Цикл FOR от k = 1 до k = 10:
    • Обратите внимание, что в коде присутствует условие IF Dat(k) < m THEN. Однако, переменная m нигде явно не инициализируется, что может привести к некорректному поведению программы в зависимости от среды выполнения. Однако, так как в условии не сказано, что m принимает какое-либо конкретное значение, мы предположим, что условие не выполняется, и поэтому ни одно из значений не будет добавлено к s.
  5. В результате, переменная s останется равной 0.

Паскаль:

  1. Объявляются переменные k, m, n и массив Dat.
  2. Массив Dat заполняется значениями.
  3. Переменной s присваивается значение 0.
  4. Цикл for от k = 1 до k = 10:
    • s := s + Dat[k] — добавляем значение элемента массива Dat[k] к переменной s.
  5. По завершении цикла выводится значение s.

Таким образом, на алгоритмическом языке и языке Паскаль программа суммирует все элементы массива Dat, и результатом будет:

[ 7 + 9 + 10 + 5 + 6 + 7 + 9 + 8 + 6 + 9 = 76 ]

На языке Бейсик из-за отсутствия инициализации переменной m и присутствия условия, сумма не будет вычислена, и результат будет 0.

Ответ: 76 (на алгоритмическом языке и Паскале); 0 (на Бейсике).

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме