program p2;
var x1,y1,x2,y2,z,k,p,t,i:integer;
begin
readln(x1,y1,x2,y2);
if x1<x2 then
z:=x2-x1;
for i:=1 to z do
begin;
write('E')
end; {здесь ругается}
else z:=x1-x2
for i:=1 do z
write ('W');
end;
if y1<y2 then
k:=y2-y1
for i:=1 do k
write('N');
end;
else t:=y1-y2
for i:=1 do t
write ('S');
end;
End.
Другие языки программирования и технологии
Паскаль. Почему перед Else нельзя ставить точку с запятой?
Так не ставьте, if-then-else - составной условный оператор, перед лексемами которого нельзя ставить ;
Перед "do" же не ставите?
У Вас оформлено вообще криво! Простым удалением ; проблему не исправить.
UPD: http://pastebin.com/DnwwsyLq вот код, откройте ссылку и запускайте!
Перед "do" же не ставите?
У Вас оформлено вообще криво! Простым удалением ; проблему не исправить.
UPD: http://pastebin.com/DnwwsyLq вот код, откройте ссылку и запускайте!
во-первых, begin-end требуется для перечисления нескольких действий; во-вторых, у вас много ошибок:
program p2;
var x1,y1,x2,y2,z,k,p,t,i:integer;
begin
readln(x1,y1,x2,y2);
if x1<x2 then
begin { пропущено, т. к. несколько действий }
z:=x2-x1;
for i:=1 to z do write('E'); { здесь только одно действие => begin не нужен }
end { конец первого begin без точки с запятой }
else
begin { несколько действий }
z:=x1-x2; { пропущена точка с запятой }
for i:=1 to z { ошибка! не do, a to } do { здесь уже do } write('W');
end; { конец инструкции else }
if y1<y2 then
begin { несколько действий }
k:=y2-y1; { точка с запятой }
for i:=1 to k { не do, a to } write('N');
end { конец инструкции if без точки с запятой }
else
begin { несколько действий }
t:=y1-y2; { пропущена точка с запятой }
for i:=1 to t { не do, a to} do write ('S');
end; { конец инструкции else }
End. { конец программы }
program p2;
var x1,y1,x2,y2,z,k,p,t,i:integer;
begin
readln(x1,y1,x2,y2);
if x1<x2 then
begin { пропущено, т. к. несколько действий }
z:=x2-x1;
for i:=1 to z do write('E'); { здесь только одно действие => begin не нужен }
end { конец первого begin без точки с запятой }
else
begin { несколько действий }
z:=x1-x2; { пропущена точка с запятой }
for i:=1 to z { ошибка! не do, a to } do { здесь уже do } write('W');
end; { конец инструкции else }
if y1<y2 then
begin { несколько действий }
k:=y2-y1; { точка с запятой }
for i:=1 to k { не do, a to } write('N');
end { конец инструкции if без точки с запятой }
else
begin { несколько действий }
t:=y1-y2; { пропущена точка с запятой }
for i:=1 to t { не do, a to} do write ('S');
end; { конец инструкции else }
End. { конец программы }
Так надо) запяточку ставят в конце строки, короче как точку в конце предложения. А Else это не конец) вот так уот.
Похожие вопросы
- Язык программирования паскаль, оператор if-else
- Как в паскале убрать у числа определенно количество знаков после запятой?
- Ввод значений с плавающей точкой через запятую C++.
- Паскаль. Почему програмка создает безконечо-большой тексковый файл
- Паскаль. Почему не робит?
- Не могу правильно написать else if на Паскале
- Как упростить программу на паскале. Т.Е. без оператора "inc" и "if .. in .. then else ...;"-13 строка.
- принадлежит ли точка X отрезку АВ на паскале
- Написал небольшую программу, не могу понять почему не работает цикл while и оператор else
- напишите пожалуста решение задачи В строчке между двумя пробелами вставить запятую(язык паскаль)