Рассчитай объём видеопамяти, необходимой для хранения графического изображения, занимающего весь экран монитора с разрешением 640×350 и палитрой из 2 цветов.
пока i<=50 делай нц если a[i]>max то нц max:=a[i]; n_max:=i; кц если a[i]<min то нц min:=a[i]; n_min:=i; кц если (i mod 2)==0 то sum:=sum+a[i]; k:=k+1; кц
srednee_znachenie:=sum/k;
//
var a:array(10..50) of integer; max,min,n_min,n_max,k,i,sum:integer; sr:float;
begin max:=a[1]; min:=a[1];
for i:=10 to 50 do begin if a[i]>max then begin max:=a[i]; n_max:=i; end; if a[i]<min then begin min:=a[i] n_min:=i; end; if ((i mod 2)=0) then begin k:=k+1; sum:=a[i]+sum; end; end; end;
Далее идет цикл "for" от 0 до n, то есть от 0 до 10.
Цикл "for" - последовательность команд, которые программа будет выполнять какое-то количество раз (в данном случае 11 раз:
для "i" равного 0,1,2,3,4,5,6,7,8,9 и 10).
Последовательность команд описывается между словами begin и end:
if і = n-i then s:=s+A[i]+A[i+1];
Рассмотрим подробнее эту строчку. В ней проверяется равенство:
i = n-i
Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];
Если же неверно - программа переходит к следующему значению i.
n - число постоянное и нигде не меняется, оно равно 10, то есть условие выглядит так:
i = 10-i
Когда такое возможно? "i" у нас меняется от 0 до 10 включительно. Посмотрим. Для этого мысленно продумаем весь ход работы программы. В начале i равно 0. Смотрим условие:
0 = 10 - 0
Неверно. 0 не равно 10. Далее программа переходит к следующему i, то есть единице.
i=1: 1 = 10 - 1
Тоже неверно. 1 не равно 9.
i=2: 2 = 10 - 2 Неверно. 2 не равно 8.
i=3: 3 = 10 - 3 Неверно. 3 не равно 7.
i=4: 4 = 10 - 4 Неверно. 4 не равно 6.
i=5: 5 = 10 - 5
Верно. Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];
Здесь к переменной "s", которая изначально равна нулю, прибавляется сама s, то есть 0, и значение элементов массива "A" под индексами i и i+1.
i у нас равно 5.
Следовательно: s=0+A[5]+A[5+1]
Или s=0+A[5]+A[6].
Посмотрим на массив:
(0,10,20,30,40,50,60,70,80,90,100)
A[0]=0, A[1]=10.
Значит пятый элемент равен 50, а шестой - 60.
Следовательно наше выражение:
s=0+A[5]+A[6] = 0 + 50 + 60 = 110.
Но на этом работа программы не закончена.
Цикл будет выполняться до тех пор, пока "i" не станет равно 10.
Идем дальше.
i=6: 6 = 10 - 6 Неверно. 6 не равно 4.
i=7: 7 = 10 - 7 Неверно. 7 не равно 3.
i=8: 8 = 10 - 8 Неверно. 8 не равно 2.
i=9: 9 = 10 - 9 Неверно. 9 не равно 1.
i=10: 10 = 10 - 10 Неверно. 10 не равно 0.
Теперь "i" равно 10, цикл больше выполняться не будет.
a=массив(10..50);
max:=a[1]'
min:=a[1];
n_min:=0;
n_max:=0;
k:=0;
i:=10;
пока i<=50 делай
нц
если a[i]>max то
нц
max:=a[i];
n_max:=i;
кц
если a[i]<min то
нц
min:=a[i];
n_min:=i;
кц
если (i mod 2)==0 то
sum:=sum+a[i];
k:=k+1;
кц
srednee_znachenie:=sum/k;
//
var
a:array(10..50) of integer;
max,min,n_min,n_max,k,i,sum:integer;
sr:float;
begin
max:=a[1];
min:=a[1];
for i:=10 to 50 do
begin
if a[i]>max then
begin
max:=a[i];
n_max:=i;
end;
if a[i]<min then
begin
min:=a[i]
n_min:=i;
end;
if ((i mod 2)=0) then
begin
k:=k+1;
sum:=a[i]+sum;
end;
end;
end;
sr:=sum/k;
end.
ответ: 110.
Объяснение:
Максимально подробно.
В начале программы переменная s равна 0, n - 10.
Далее идет цикл "for" от 0 до n, то есть от 0 до 10.
Цикл "for" - последовательность команд, которые программа будет выполнять какое-то количество раз (в данном случае 11 раз:
для "i" равного 0,1,2,3,4,5,6,7,8,9 и 10).
Последовательность команд описывается между словами begin и end:
if і = n-i then s:=s+A[i]+A[i+1];
Рассмотрим подробнее эту строчку. В ней проверяется равенство:
i = n-i
Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];
Если же неверно - программа переходит к следующему значению i.
n - число постоянное и нигде не меняется, оно равно 10, то есть условие выглядит так:
i = 10-i
Когда такое возможно? "i" у нас меняется от 0 до 10 включительно. Посмотрим. Для этого мысленно продумаем весь ход работы программы. В начале i равно 0. Смотрим условие:
0 = 10 - 0
Неверно. 0 не равно 10. Далее программа переходит к следующему i, то есть единице.
i=1: 1 = 10 - 1
Тоже неверно. 1 не равно 9.
i=2: 2 = 10 - 2 Неверно. 2 не равно 8.
i=3: 3 = 10 - 3 Неверно. 3 не равно 7.
i=4: 4 = 10 - 4 Неверно. 4 не равно 6.
i=5: 5 = 10 - 5
Верно. Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];
Здесь к переменной "s", которая изначально равна нулю, прибавляется сама s, то есть 0, и значение элементов массива "A" под индексами i и i+1.
i у нас равно 5.
Следовательно: s=0+A[5]+A[5+1]
Или s=0+A[5]+A[6].
Посмотрим на массив:
(0,10,20,30,40,50,60,70,80,90,100)
A[0]=0, A[1]=10.
Значит пятый элемент равен 50, а шестой - 60.
Следовательно наше выражение:
s=0+A[5]+A[6] = 0 + 50 + 60 = 110.
Но на этом работа программы не закончена.
Цикл будет выполняться до тех пор, пока "i" не станет равно 10.
Идем дальше.
i=6: 6 = 10 - 6 Неверно. 6 не равно 4.
i=7: 7 = 10 - 7 Неверно. 7 не равно 3.
i=8: 8 = 10 - 8 Неверно. 8 не равно 2.
i=9: 9 = 10 - 9 Неверно. 9 не равно 1.
i=10: 10 = 10 - 10 Неверно. 10 не равно 0.
Теперь "i" равно 10, цикл больше выполняться не будет.
ответ: 110.