1. Из-за ошибок программа не запустится.
- в блоке описания переменных отсутствует var
- clrscr не будет работать без подключенного модуля CRT. Да она и не особо нужна для решения этой задачи. Как и не нужен readln в предпоследней строке.
2. После устранения недостатков получим, что первый цикл:
Заполняет массив сл. значениями и выводит его на экран в одной строке.
for i:=1 to 10 do
begin
a[i]:=random(21)-10;
write(a[i]);
end;
3. Следующие строки кода делают реверс 1-ой половины массива:
//надо, чтобы a[1] стало a[5], a[5] стало a[1], a[2] cтало a[4], a[4] стало a[2],
//элемент a[3] не трогаем, так как он находится посередине и его не с кем менять
n:=0; //вспомогательная переменная, которая будет увеличиваться на 1 при //каждом выполнении тела цикла
for i:=1 to 2 do
begin
k:=a[i]; // в переменной k запоминаем значение a[i]
a[i]:=a[5-n]; // теперь a[i] = a[5-n]
a[5-n]:=k; // А элемент a[5-n] = бывшему значению a[i], которое сохранили в k
n:=n+1; //Для работы со следующей парой элементов увеличиваем n на 1
end;
4. За реверс второй половины отвечает этот код:
n:=0;
for i:=6 to 8 do
begin
k:=a[i];
a[i]:=a[10-n];
a[10-n]:=k;
n:=n+1;
end;
5. Ну и последний цикл выводит получившийся массив на экран:
for i:=1 to 10 do write(a[i]);
<em>8,3,11,6,1,9,4</em>
<em>Чтобы подняться на 8 на первом нажимаем в верх на 8 вниз на 3 верх на 11 вниз на 6 вниз на 1 верх и на 9 вниз.</em>
1) В цикле по значениям переменой i от i=1 до i=19 выполнять сложение вида: s=s+i/(i+1)
на паскале это выглядит так:
var s:real;
begin
for var i:=1 to 19 do s:=s+i/(i+1);
writeln('Ответ: ',s);
end.
2) сложная прогрессия какая-то... могу предположить, что вида: 1+2*(i-1)+s_i-1
т.е.
1) 1+2*(1-1)+0=1
2) 1+2*(2-1)+1=4
3) 1+2*(3-1)+4=9...
тогда на паскале алгоритм:
var s,si:real;
begin
for var i:=1 to 10 do begin
si:=1+2*(i-1)+si;
s:=s+si;
end;
writeln('Ответ: ',s);
end.
решение:
250*64*1200=2343(кб)
ответ:2343кгбайта.
пожалуйста!:)
плиз,лучшее решение!:)это оочень важно-о-о!
Ответ венкл Потом ещё поросуждаю