Ты не не написала сколько у массива всего элементов.. но да ладно. пускай будет константа, сама ее поменяешь если надо)
program first; const n = 10; var A : array[1..n] of Real; i:integer; begin Writeln('Введите элементы массива:'); for i:=1 to n do Readln(A[i]); for i:=1 to n do Write(A[i]*2:4); end.
Ошибка, которую "заметил" компилятор, состоит в нарушении запрета на модификацию параметра цикла For в теле цикла. Для Ваших целей надо было использовать цикл с итерацией, например такой:
r := 460; while r >= 100 do begin circle(620, 480, r); r := r - 35 end;
В соответствии с алгоритмом, программа должна нарисовать концентрические окружности, центр которых имеет координаты 620;480, а радиус уменьшается от 460 до 100 с шагом 35. После окончания рисования производится заливка различными цветами областей, начальные точки которых указаны своими координатами, а границей области является какая-либо ранее нарисованная линия. Попробуйте выполнить эту программу...
Подобные задачи ("значение, которое получат переменные..."), когда для получения ответа надо выполнять цикл значительное количество раз в реальном программировании не имеют никакого смысла. Всегда можно сделать трассировку и посмотреть. Ниже - пример такой трассировки.
var s, d: real; i: integer;
begin writeln('Трассировка начата'); s := 0; for i := 1 to 49 do begin d := i * (i + 1); s := s + 1 / d; writeln('i=', i:2, ', d=', d:4, ', s=', s:8:6); end; writeln('Трассировка завершена'); writeln('S=', s); end.
В исходном тексте программы была синтаксическая ошибка: после оператора S:=0 отсутствовала точка с запятой, на что немедленно указал компилятор. Практически смысл имеет "трассировка на бумаге" для нескольких выполнений тела цикла с тем, чтобы убедиться в правильности работы алгоритма. И не более того. Анализ программы показывает, что она вычисляет сумму вида В книге "Интегралы и ряды" М.Прудников и др.., М,: Наука, 1981 на стр. 601 приводится формула 4.1.4.2
Итак, сумма может быть легко вычислена для любого количества повторений цикла. Нужно ли вообще в таких случаях писать программу?
Это был урок для делающих первые шаги в увлекательном мире программирования.
program first;
const n = 10;
var A : array[1..n] of Real;
i:integer;
begin
Writeln('Введите элементы массива:');
for i:=1 to n do
Readln(A[i]);
for i:=1 to n do
Write(A[i]*2:4);
end.