понять, все ли я правильно написала. Вопрос:

фрагмент программы обрабатывает на паскале элементы одномерного целочисленного массива A с индексами от 0 до 9. Перед началом выполнения данного фрагмента эти элементы массива имели значения 2, 4, 1, 8, 2, 6, 3, 2, 2, 1 (т.е. A[0] = 2, A[1] = 4, …, A[9] = 1). Определите значение переменной s после выполнения фрагмента.
n:=10;
s:=0;
for i:=1 to n-1 do begin
if a[i-1]>2*a[i] then begin
a[i]:=2*a[i];
s := s+ a[i];

Программа:
program jfsdkp;

var s, n, i:integer;

const p=9;

var a:array [0..p] of integer;

begin

for i:=0 to p do begin

a[0]:=(2);

a[1]:=(4);

a[2]:=(1);

a[3]:=(8);

a[4]:=(2);

a[5]:=(6);

a[6]:=(3);

a[7]:=(2);

a[8]:=(2);

a[9]:=(1);

end;

n:=10;

s:=0;

for i:=1 to n-1 do begin

if a[i-1]>2*a[i] then begin

a[i]:=2*a[i];

s := s+ a[i];

end;

end;

writeln (s);

end.

shabdanova16 shabdanova16    1   18.04.2021 16:34    32

Ответы
missm0541 missm0541  18.05.2021 16:35
Всё верно

*** В качестве альтернативы можно не вводить const p = 9, а просто задать массив как var a:array[0..9] of integer;

*** При заполнении массива необязательно заключать элемент в скобки, как здесь a[9]:=(1); ⇒ a[9]:=1;

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика