ДАЮ 90 баллов. Распишите каждый шаг пожалуйста(учителю объяснить надо) var...

0 голосов
14 просмотров

ДАЮ 90 баллов.
Распишите каждый шаг пожалуйста(учителю объяснить надо)

var a:array[1..100] of integer;
i,j,c,k,n:integer;
f:boolean;
begin
writeln('vvedite razmer massiva');
readln(n);
writeln('vvedite el-ty massiva');
for i:=1 to n do
begin write('a[',i,'] = ');readln(a[i]);end;
writeln('massiv');
for i:=1 to n do write(a[i]:4);
writeln;
k:=2;
while k<=n do<br> begin
c:=a[k];
i:=1;
if c while f do
begin
a[k-i+1]:=a[k-i];
i:=i+1;
f:=false;
if i if c end;
a[k-i+1]:=c;
k:=k+1;
{
for i:=1 to n do write(a[i]:4);
writeln;
}
end;


Информатика (96 баллов) | 14 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var a:array[1..100] of integer; //объявляем целочис. массив из 100 элементов
i,j,c,k,n:integer; //целочислительные переменные
f:boolean;// логические переменные
begin // начало программы
writeln('vvedite razmer massiva'); //выводим текст
readln(n); //вводим переменную n
writeln('vvedite el-ty massiva'); //выводим текст
for i:=1 to n do  //повторить n раз
begin write('a[',i,'] = ');readln(a[i]);end;
{отвратный кодстайл. В данном цикле заполняем массив n количеством элементов. Как будто нельзя было объявить динамический массив}
writeln('massiv');       //вывод текста
for i:=1 to n do write(a[i]:4);  //выводим n элементов массива
writeln; //сносим строчку
k:=2; //k=2
while k<=n do //пока k меньше или равно n выполнять<br>begin //начало тела цикла
c:=a[k]; //с=a[k]
i:=1;     //i=1
if c while f do //ОШИБКА, странное сочетание логического оператора и цикла с предусловием
begin //начало тела вложенного цикла, объявленного ошибочно
a[k-i+1]:=a[k-i];
{элементу массива a, индекс которого равен k-i+1 присваивается элемент массива a, индекс которого равен k-i, по сути, это просто сдвих массива на один элемент}
i:=i+1; //увеличение i на 1
f:=false; //f=ложь
if i if c end; //ОШИБКА, совсем упоротое сочетание условных операторов
a[k-i+1]:=c;
{элементу массива a, индекс которого равен k-i+1 присваивается c}
k:=k+1; //k увеличивается на 1
{                  //комментарий как у меня
for i:=1 to n do write(a[i]:4); //снова вывод от 1 до n элементов массива
writeln; //сноска строки
}
end; //выход из вложенного цикла
//нет выхода из основного цикла
//нет завершения программы
//Абсолютно нерабочий код
//Сожгите автора как ведьму

(38.6k баллов)