Вопрос задан 25.02.2021 в 02:30. Предмет Информатика. Спрашивает Литвинова Настя.

СРОЧНО ПОМОГИТЕ ИСПРАВИТЬ ОШИБКУ. 30 БАЛЛОВ Задача: "Написать модуль для вычисления площади

треугольника по формуле Герона(она ниже представлена). Основная ПМ: program GERON; uses crt,formula; var S,p:real; a,b,c:real; begin clrscr; write('a=');readln(a); write('b=');readln(b); write('c=');readln(c); resh(S,p,a,b,c); write('S=',S:12:2); readkey end. Модуль: unit formula; interface procedure resh(a,b,c:real;var p,S:real); implementation procedure resh(a,b,c:real;var p,S:real); begin p:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); end; end. Суть в том что написанно все правельно но при вводе чисел ничего нет ⇔ (S=0) программа не работает,помогите исправить ошибку.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Горих Аня.
p:=(a+b+c)/2; это модуль
resh(S,p,a,b,c); это пм
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема возникает из-за некорректной передачи переменных "p" и "S" в процедуру "resh" модуля "formula". Вместо передачи переменных по значению, необходимо передавать их по ссылке.

Вот исправленный код модуля "formula":

pascal
unit formula; interface procedure resh(a, b, c: real; var p, S: real); implementation procedure resh(a, b, c: real; var p, S: real); begin p := (a + b + c) / 2; S := sqrt(p * (p - a) * (p - b) * (p - c)); end; end.

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

0 0

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

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

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