Задание № 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.