Вопрос задан 04.07.2023 в 20:04. Предмет Информатика. Спрашивает Плюшева Дарья.

ДАЮ 30 БАЛЛОВ Выдает ошибки не понимаю что неправильно в программе Program P1; var

a,b,c,s,p:integer; Begin write('введите координату a='); readln(a); write('введите координату b='); readln(b); write('введите координату c='); readln(c); p:=(a+b+c)/2; writeln('периметр треугольника =',p); s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('площадь треугольника =',s); end.
0 0
Перейти к ответам

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

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

Так,сначала теория.

В формуле Герона (коя используется в этой программе) используется полупериметр!

Это означает, что надо ввести переменную полупериметра ( pp, к примеру). Тогда программа примет вид:

program P1;

var

a, b, c, p: integer;

pp, s: real;

begin

write('Введите сторону a = ');

readln(a);

write('Введите сторону b = ');

readln(b);

write('Введите сторону c = ');

readln(c);

p := a + b + c;

writeln('Периметр треугольника P = ', p);

pp := p / 2;

s := sqrt(pp * (pp - a) * (pp - b) * (pp - c));

writeln('Площадь треугольника S = ', s);

end.

Также замечу, что полупериметр и площадь относятся не к целочисленному типу данных.

И да, обращайте внимание на оформление.

Табуляции в программе, "сторона" вместо "координата", пробелы до и после равно, чтобы всё не выглядело слипшимся.

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

Ваша программа содержит некоторые ошибки. Вот исправленный вариант:

pascal
Program P1; uses crt; // Добавляем модуль для использования функции Sqrt var a, b, c: integer; s, p: real; // Заменяем integer на real для возможности работы с дробными числами Begin clrscr; // Очищаем экран writeln('Введите координату a = '); readln(a); writeln('Введите координату b = '); readln(b); writeln('Введите координату c = '); readln(c); p := (a + b + c) / 2; writeln('Полупериметр треугольника = ', p:0:2); // Выводим значение с двумя знаками после запятой s := sqrt(p * (p - a) * (p - b) * (p - c)); writeln('Площадь треугольника = ', s:0:2); // Выводим значение с двумя знаками после запятой end.

Примечания:

  1. Добавлен импорт модуля crt для использования clrscr, чтобы очистить экран перед вводом данных.
  2. Изменен тип переменных p и s на real, так как результат площади может быть дробным числом.
  3. Добавлено форматирование вывода значений p и s с двумя знаками после запятой.
  4. В строке вычисления площади (s) использована функция sqrt для вычисления квадратного корня.

Обратите внимание, что ваша исходная программа не включала необходимый модуль crt, который используется для очистки экрана с помощью clrscr.

0 0

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

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

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

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