
В одиннадцатой строке пишет "Встречно else, а ожидалось ;", но весь прикол, что если я поставлю
туда ; то тогда он напишет "Встречно else, а ожидался оператор!!! uses crt; var a, b, c: integer; begin writeln ('Что вы хотите сделать?'); writeln ('1-сложить 2-отнять 3-разделить 4-умножить'); readln (c); clrscrn; if c=1 then read (a, b); writeln (a+b) else if c=2 then read (a, b); writeln (a-b) else if c=3 read (a, b); writeln (a/b) else if c=4; read (a, b); writeln (a*b); else write ("Так, стоп, че за фигня? Где то тут меня надурили..."); end.

Ответы на вопрос

crt;
var
a, b, c: integer;
begin
clrscr;
writeln('Что вы хотите сделать?');
writeln('1-сложить 2-отнять 3-разделить 4-умножить');
readln(c);
if c = 1 then begin
read(a, b);
writeln(a + b)
end
else
if c = 2 then begin
read(a, b);
writeln(a - b)
end
else
if c = 3 then begin
read(a, b);
writeln(a / b)
end
else
if c = 4 then begin
read(a, b);
writeln(a * b);
end
else
write('Так, стоп, че за фигня? Где то тут меня надурили...');
readkey
end.
Но короче и понятнее это написать так:
uses
crt;
var
a, b, c: integer;
begin
ClrScr;
Writeln('Что вы хотите сделать?');
Write('1-сложить 2-отнять 3-разделить 4-умножить'); Readln(c);
if (c >= 1) and (c <= 4) then begin
Write('Введите через пробел два натуральных числа: '); Read(a, b);
case c of
1: Writeln(a + b);
2: Writeln(a - b);
3: Writeln(a / b);
4: Writeln(a * b)
end;
end
else Write('Так, стоп, че за фигня? Где то тут меня надурили...');
ReadKey
end.



Проблема в вашем коде заключается в неправильном использовании оператора "if" и отсутствии соответствующих блоков кода. В языке Pascal каждый блок кода, который должен выполняться в зависимости от условия, должен быть заключен в начальный и конечный операторы "begin" и "end".
Вот исправленный вариант вашего кода:
uses crt; var a, b, c: integer; begin writeln('Что вы хотите сделать?'); writeln('1-сложить 2-отнять 3-разделить 4-умножить'); readln(c); clrscr;
if c = 1 then begin readln(a, b); writeln(a + b); end else if c = 2 then begin readln(a, b); writeln(a - b); end else if c = 3 then begin readln(a, b); writeln(a / b); end else if c = 4 then begin readln(a, b); writeln(a * b); end else begin writeln('Так, стоп, что за фигня? Где-то тут меня надурили...'); end; end.
В этом исправленном коде каждый блок кода, связанный с условием "if", заключен в операторы "begin" и "end". Таким образом, код будет выполняться правильно в зависимости от значения переменной "c".


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili