Задание № 12587

В таблице Dat хранятся положительные или отрицательные целые числа. Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на трёх алгоритмических языках.

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

алг
нач
    целтаб Dat[1:10]
    цел k, m, num
    Dat[1] := -7; Dat[2] := -8
    Dat[3] := 3; Dat[4] := 6
    Dat[5] := -4; Dat[6] := 3
    Dat[7] := 5; Dat[8] := 5
    Dat[9] := 7; Dat[10] := 1
        num := 1; m := Dat[1]
        нц для к от 2 до 10
        если Dat[к]* m < 0 то
            m := Dat[к]; num := к
        все
    кц
    вывод m
кон

Бейсик

DIM Dat(10) AS INTEGER
    Dat (1) = -7: Dat(2) = -8
    Dat (3) = 3: Dat(4) = 6
    Dat (5) = -4: Dat(6) = 3
    Dat (7) = 5: Dat(8) = 5
    Dat(9) = 7: Dat(10) = 1
    num = 1: m = Dat(1)
        FOR k = 2 TO 10
            IF Dat(k)* m < 0 THEN
                m = Dat(k)
                num - k
            END IF
        NEXT k
PRINT m
END

Паскаль

var k, m, num: integer;
Dat: array[ 1.. 10 ] of integer;
begin
    Dat[1] := -7; Dat[2] := -8;
    Dat [ 3 ] : = 3; Dat[4] : = 6;
    Dat [5] := -4; Dat[6] := 3;
    Dat[7] := 5; Dat[8] := 5;
    Dat [9] := 7; Dat[10] := 1;
    num:= 1; m:= Dat[1];
    for k:= 2 to 10 do begin
        if Dat[k]* m < 0 then
        begin
            m := Dat [k]; num := k
        end
    end;
    write (m);
end.


Показать ответ
Комментарий:

Рассмотрим на языке Паскаль

Условие проверяет знак произведения Dat[k] и m

Изначально m:=Dat[1]=-7

От k:=2 до 10 проведем вычисления

k=2 |Dat[2]=-8, m=-7 => Условие не выполняется

k=3 |Dat[3]=3, m=-7 => Условие выполняется, m:=3, num:=3

k=4 |Dat[4]=6, m=3 => Условие не выполняется

k=5 |Dat[5]=-4, m=3 => Условия выполняется, m:= -4, num:=5

k=6 |Dat[6]=3, m=-4 => Условие выполняется, m:=3, num:=6

k=7 |Dat[7]=5, m=3 => Условие не выполняется

k=8 |Dat[8]=5, m=3 => Условие не выполняется

k=9 |Dat[9]=7, m=3 => Условие не выполняется

k=10 |Dat[10]=1, m=3 => Условие не выполняется

В результате программы печатается m, которая у нас получила значение 3

Ответ: 3

Ответ: 3

Нашли ошибку в задании? Выделите фрагмент и нажмите Ctrl + Enter.