Вопрос задан 10.05.2019 в 01:57. Предмет Информатика. Спрашивает Mosiychuk Ivan.

ВОПРОС НА 100 БАЛЛОВ var a,b,c,p:real; begin writeln('введите размеры треугольника a,b,c');

read(a,b,c); p:=a+b+c; if (a=b=c)then begin writeln('треугольник равносторонний'); writeln('периметр треугольника',p); end else writeln ('треугольник не равносторонний'); end. Ошибка Операция '=' не применима к типам boolean и real что делать?
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Цыбульский Дарий.
Если Вашу программу исправить, это так будет выглядеть:
var a,b,c,p:real;
begin
writeln('введите размеры треугольника a,b,c');
read(a,b,c);
p:=a+b+c;
if (a=b) and (a=c)then
begin writeln('треугольник равносторонний');
writeln('периметр треугольника',p);
end
else writeln ('треугольник не равносторонний');
end.

А если написать самостоятельно, я бы сделал так:
var
  a,b,c:real;
begin
  Write('Введите размеры треугольника a,b,c: '); Read(a,b,c);
  if (a=b) and (a=c) then
    Writeln('Треугольник равносторонний с периметром ',3*a)
  else Writeln ('Треугольник не равносторонний')
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ошибка, которую вы видите, связана с тем, что операция '=' в вашем условии if используется для сравнения переменных a, b и c, которые имеют тип real, с константой boolean (a=b=c). В Pascal оператор сравнения для числовых типов данных идентифицирует равенство, а для булевых типов данных - проверку истинности.

Чтобы исправить эту ошибку, вам нужно изменить условие сравнения. Если вы хотите проверить, что все три стороны треугольника равны, вы можете использовать логический оператор 'and':

```pascal if (a = b) and (b = c) then begin writeln('треугольник равносторонний'); writeln('периметр треугольника', p); end else writeln('треугольник не равносторонний'); ```

В этом случае оператор '=' используется для сравнения переменных типа real между собой, и результат сравнения обрабатывается логическим оператором 'and'.

0 0

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

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

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