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

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

В таблице 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.


Информатика (237 баллов) | 531 просмотров
0

Условие в Бейсике некорректно. Во-первых, индексы в Бейсике пишут не в квадратных скобках, а в круглых. Во-вторых, использовано условие IF Dat(k) < m THEN, а величина m не была задана. В программах на остальных двух языках подсчитывается сумма значений всех элементов, поэтому достаточно найти 7+9+10+...+6+9.

Дан 1 ответ
0 голосов
Правильный ответ

Программу пришлось немного править, что б заработала
var
    k, s: 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.

Вывод
76

(53.1k баллов)