ilds88
?>

Написать программу для паскаль напишите программу которая сначала вводит десять чисел в одномерный массив, а затем складывает отдельно отрицательные элементы и выдает полученный результат

Информатика

Ответы

milkiev
Program n1;
var a: array[1..10] of integer;
i,sum: integer;
begin
sum:=0;
for i:=1 to 10 do
begin
readln(a[i]);
if a[i]<0 then sum:=sum+a[i];
end;
write(sum);
end.
namik120939
Смотрим на этот фрагмент кода:
day := 1; m := Dat [1]
нц для k от 2 до 10
  если Dat[k] >= m то
    m := Dat[k]; day := k
  все
кц

Что происходит? Сначала day = 1, m = Dat[day]. Затем в цикле для каждого k сравнивается Dat[k] с m, и если Dat[k] не меньше его, то в day записывается k, а в m - Dat[k]. Значит, после завершения цикла в переменной m будет записано максимальное из всех значений Dat[i], а в day - номер дня, в который в последний раз был достигнут максимум.

Максимальное значение равно 7, в последний раз появилось в Dat[9], поэтому day = 9.

Команда вывод day выводит на экран значение переменной day, которое, как мы уже выяснили, равно 9.

ответ. 9.
Pona4ka93

Цикл while i > 1 do begin означает что он будет выполняться до тех пор, пока i > 1. i изначально равно 7, и в конце каждого выполнения число уменьшается на единицу (i:=i-1). i div 2 означает деление числа на 2 с целым остатком. Исходя из вышесказанного имеем:

(Каждое выполнение цикла буду обозначать как №)

№1: 7>1 (Истина)

S:=0+3=3

i=6

№2: 6>1 (Истина)

S:=3+3=6

i:=5

№3: 5>1 (Истина)

S:=6+2=8

i:=4

№4: 4>1 (Истина)

S:=8+2=10

i:=3

№5: 3>1 (Истина)

S:=10+1=11

i:=2

№6: 2>1 (Истина)

S:=11+1=12

i:=1

№7: 1>1 (Ложь)

Вывод числа S со значением 12.

ответ: 12.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу для паскаль напишите программу которая сначала вводит десять чисел в одномерный массив, а затем складывает отдельно отрицательные элементы и выдает полученный результат
Ваше имя (никнейм)*
Email*
Комментарий*