• почему в ответе получается 26? 

    var s,i:integer;
    mas:array[1..10] of integer;
    begin
    mas[1]:=14;
    mas[2]:=10;
    mas[3]:=-8;
    mas[4]:=6 ;
    mas[5]:=12;
    mas[6]:=4 ;
    mas[7]:=-16 ;
    mas[8]:=-7 ;
    mas[9]:=5;
    mas[10]:=3;
    s:=0;
    for i:=1 to 5 do
    mas[2*i]:=0;
    for i:=1 to 10 do
    if mas[i]>5 then s:=s+mas[i];
    write(s);
    end.

Ответы 2

  • Пошагово:

     

    1) Строки

         mas[1]:=14;     . . .

         mas[10]:=3;

    задают значения элементов массива.

    Массив имеет вид:

    14  10  -8  6  12  4  -16  -7  5  3

     

    2) переменная s:=0;

     

    3) цикл

    for i:=1 to 5 domas[2*i]:=0;

    все элементы, стоящие на чётных местах, обнуляются.

    Массив имеет вид:

    14  0  -8  0  12  0  -16  0  5  0

     

    4) цикл

    for i:=1 to 10 doif mas[i]>5 then s:=s+mas[i];

    просматриваем массив, и если элемент больше 5, добавляем его в сумму s:

    добавится сначала 1-й элемент (так как 14>5), сумма станет 0+14=14

    а потом 5-й (12>5), сумма станет 14+12 = 26

     

    5)write(s);

    напечатает 26, то есть значание s

     

    Всё!

  • Сначала заданы элементы, потом все элементы с четным индексом обнуляются (через один). Потом мы считаем сумму элементов больших 5 в получившемся массиве.

    Это 14 и 12.

     

    14+12=26

     

    Тебе на экран и выводит 26.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years