Вопрос задан 17.02.2021 в 08:04. Предмет Информатика. Спрашивает Нефеденкова Наталья.

В одиннадцатой строке пишет "Встречно 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.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кубик Дима.
Uses
  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.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде заключается в неправильном использовании оператора "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".

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос