
Вопрос задан 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.

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

Отвечает Максимов Макс.
Ответ:
1. Между строчками 27 и 28 вставить строчку с "begin".
2. Между строчками 39 и 40 вставить строчку с "end;".
3. В строке 35 добавить в конец " of".
4. В строке 12 после "r" добавить ", p".
5. В строке 4 заменить "integer" на "real".
Изменения:




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пять ошибок в данном коде:
- Ошибка: Необъявленная переменная
p
. Исправление: Добавьте объявление переменнойp
перед строкой 16.
pascalvar p: real;
- Ошибка: Отсутствует
begin
после оператораcase
. Исправление: Добавьтеbegin
после строки 35 перед вызовами процедур.
pascalcase s of 1: pr; 2: tr; 3: kr; else if s <> 0 then writeln('некорректный ввод'); end;
- Ошибка: Отсутствует
end.
после каждой процедуры. Исправление: Добавьтеend.
после строк 9, 19 и 27.
pascalprocedure 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;
Ошибка: Отсутствует
;
в строке 37 послеcase s 1
. Исправление: Заменитеcase s 1
наcase s of 1
.Ошибка: В строке 39 используется неправильное представление символа
<
(<). Исправление: Замените<
на<
для правильного сравнения.
Исправленный код:
pascalvar 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.
Теперь код должен работать корректно.


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