Вопрос задан 05.07.2023 в 12:14. Предмет Информатика. Спрашивает Каст Владимир.

Помогите найти 5 ошибок 1 var 2 s : integer; 3 procedure pr; 4 var a, b, r :integer; 5 begin 6

write('введите стороны прямоугольника a, b: '); 7 readln(a, b); 8 r := a * b; 9 writeln('Площадь прямоугольника = ', r:0:2) 10 end; 11 procedure tr; 12 var a, b, c, r : real; 13 begin 14 write('введите стороны треугольника a, b, c: '); 15 readln(a, b, c); 16 p := (a + b + c) / 2; {полупериметр} 17 r := sqrt(p * (p - a) * (p - b) * (p - c)); 18 writeln('Площадь треугольника = ', r:0:2) 19 end; 20 procedure kr; 21 var c, r : real; 22 begin 23 write('введите радиус круга c: '); 24 readln(c); 25 r := PI * sqr(c); 26 writeln('Площадь круга = ', r:0:2) 27 end; 28 repeat 29 writeln('Площадь какой фигуры нужно вычислить: '); 30 writeln('1 - Прямоугольник'); 31 writeln('2 - Треугольник'); 32 writeln('3 - Круг'); 33 writeln('0 - Выход'); 34 readln(s); 35 case s 36 1 : pr; 37 2 : tr; 38 3 : kr 39 else if s <> 0 then writeln('некорректный ввод') 40 until s = 0 41 end.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Максимов Макс.

Ответ:

1.  Между строчками 27 и 28 вставить строчку с "begin".

2. Между строчками 39 и 40 вставить строчку с "end;".

3. В строке 35 добавить в конец " of".

4. В строке 12 после "r" добавить ", p".

5. В строке 4 заменить "integer" на "real".

Изменения:


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

Вот пять ошибок в данном коде:

  1. Ошибка: Необъявленная переменная p. Исправление: Добавьте объявление переменной p перед строкой 16.
pascal
var p: real;
  1. Ошибка: Отсутствует begin после оператора case. Исправление: Добавьте begin после строки 35 перед вызовами процедур.
pascal
case s of 1: pr; 2: tr; 3: kr; else if s <> 0 then writeln('некорректный ввод'); end;
  1. Ошибка: Отсутствует end. после каждой процедуры. Исправление: Добавьте end. после строк 9, 19 и 27.
pascal
procedure pr; var a, b, r: integer; begin // ... код процедуры ... end; procedure tr; var a, b, c, r: real; begin // ... код процедуры ... end; procedure kr; var c, r: real; begin // ... код процедуры ... end;
  1. Ошибка: Отсутствует ; в строке 37 после case s 1. Исправление: Замените case s 1 на case s of 1.

  2. Ошибка: В строке 39 используется неправильное представление символа < (<). Исправление: Замените &lt; на < для правильного сравнения.

Исправленный код:

pascal
var s: integer; procedure pr; var a, b, r: integer; begin write('введите стороны прямоугольника a, b: '); readln(a, b); r := a * b; writeln('Площадь прямоугольника = ', r:0:2); end; procedure tr; var a, b, c, p, r: real; begin write('введите стороны треугольника a, b, c: '); readln(a, b, c); p := (a + b + c) / 2; {полупериметр} r := sqrt(p * (p - a) * (p - b) * (p - c)); writeln('Площадь треугольника = ', r:0:2); end; procedure kr; var c, r: real; begin write('введите радиус круга c: '); readln(c); r := PI * sqr(c); writeln('Площадь круга = ', r:0:2); end; begin repeat writeln('Площадь какой фигуры нужно вычислить: '); writeln('1 - Прямоугольник'); writeln('2 - Треугольник'); writeln('3 - Круг'); writeln('0 - Выход'); readln(s); case s of 1: pr; 2: tr; 3: kr; else if s <> 0 then writeln('некорректный ввод'); end; until s = 0; end.

Теперь код должен работать корректно.

0 0

Похожие вопросы

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

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

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