Ошибка в инструкции. Не знаю как исправить - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста исправить ошибку на первом else "else g:=g+1;". Буду рад если напишите, в чем была ошибка.
Ошибка 113: ошибка в инструкции
Листинг программы
- program steklo;
- uses crt;
- var a,n,g:integer; b:array[0..1000]of integer;
- begin clrscr; g:=0;
- read(n); if (n<1) or (n>2000) then exit;
- for a:= 0 to 6*n do read(b[a]);
- write(b[a]);write(' ',a);readkey;
- repeat repeat
- if sqrt(sqr(b[1]-b[2])+sqr(b[3]-b[4]))=
- sqrt(sqr(b[7]-b[8])+sqr(b[9]-b[10])) {formula dliny storony}
- then b[7]:=b[7+2]; b[8]:=b[8+2]; b[9]:=b[9+2]; b[10]:=b[10+2];
- else g:=g+1;
- until true;
- b[1]:=b[1+2]; b[2]:=b[2+2]; b[3]:=b[3+2]; b[4]:=b[4+2];
- until true;
- if (g>((3*n)-n*2)) then writeln('nelsya sobrat`'); readkey; exit;
- else writeln('mojjno sobrat`');
- readkey;
- end.
Решение задачи: «Ошибка в инструкции. Не знаю как исправить»
textual
Листинг программы
- program steklo;
- uses crt;
- var a,n,g:integer; b:array[0..1000]of integer;
- begin
- clrscr;
- g:=0;
- read(n);
- if (n<1) or (n>2000) then exit;
- for a:= 0 to 6*n do read(b[a]);
- write(b[a]);
- write(' ',a);
- readkey;
- repeat
- repeat
- if sqrt(sqr(b[1]-b[2])+sqr(b[3]-b[4]))=
- sqrt(sqr(b[7]-b[8])+sqr(b[9]-b[10])) {formula dliny storony}
- then
- begin
- b[7]:=b[7+2];
- b[8]:=b[8+2];
- b[9]:=b[9+2];
- b[10]:=b[10+2];
- end
- else
- g:=g+1;
- until true;
- b[1]:=b[1+2];
- b[2]:=b[2+2];
- b[3]:=b[3+2];
- b[4]:=b[4+2];
- until true;
- if (g>((3*n)-n*2))
- then
- begin
- writeln('nelsya sobrat`');
- readkey;
- exit;
- end
- else writeln('mojjno sobrat`');
- readkey;
- end.
Объяснение кода листинга программы
Этот код написан на языке Turbo Pascal. Он выполняет следующие действия:
- Инициализирует переменные a, n, g:integer; b:array[0..1000]of integer;
- Очищает экран.
- Устанавливает значение переменной g равным 0.
- Считывает значение переменной n. Если n меньше 1 или больше 2000, программа завершается.
- Запускается цикл for, который выполняется 6*n раз. На каждой итерации считывается значение переменной b[a] и выводится на экран. Затем выводится пробел и считывается значение key.
- Повторяется внутренний цикл, пока не будет выполнено условие sqrt(sqr(b[1]-b[2])+sqr(b[3]-b[4]))=sqrt(sqr(b[7]-b[8])+sqr(b[9]-b[10])) или sqrt(sqr(b[7]-b[8])+sqr(b[9]-b[10]))=sqrt(sqr(b[1]-b[2])+sqr(b[3]-b[4])) и b[7], b[8], b[9], b[10] не изменяются.
- Если внутренний цикл завершается, выводится сообщение nelsya sobrat
или mojjno sobrat
в зависимости от того, было ли выполнено условие или нет. - Выводится символ key.
- Цикл for повторяется до тех пор, пока не будет выполнено условие (g>((3n)-n2)).
- Если условие выполняется, выводится сообщение nelsya sobrat
и программа завершается. Если условие не выполняется, выводится сообщение mojjno sobrat
и программа продолжается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д