Помогите пожалуйста понять, все ли я правильно написала.
Вопрос:
фрагмент программы обрабатывает на паскале элементы одномерного целочисленного массива 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.
Ответы на вопрос
Ответил lenyashastin
2
Ответ:
Всё верно
*** В качестве альтернативы можно не вводить const p = 9, а просто задать массив как var a:array[0..9] of integer;
*** При заполнении массива необязательно заключать элемент в скобки, как здесь a[9]:=(1); ⇒ a[9]:=1;
Новые вопросы
Английский язык,
1 год назад
Русский язык,
1 год назад
География,
2 года назад
Химия,
2 года назад
География,
8 лет назад