
Пишет Операция '-' не применима к типу string Что не так делаю? var a,b,c:integer; Begin
writeln('Введите первое число'); writeln('Введите второе число'); c:=a+b;writeln('a=,'+'b=,'); c:=a-b;writeln('a=,'-'b=,'); c:=a*b;writeln('a=,'*'b=,'); c:=a/b;writeln('a=,'/'b=,'); End.

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

Да и программа не до конца сделана - нет даже ввода значений.
var a,b:integer;
Begin
writeln('Введите первое число: '); Readln(a);
writeln('Введите второе число'); Readln(b);
writeln('a + b = ',a+b);
writeln('a - b = ',a-b);
writeln('a * b = ',a*b);
writeln('a / b = ',a/b);
End.



Ошибка возникает потому что операция "-" не применима к типу string. В данном коде вы используете операции сложения и вычитания для переменных типа integer, но пытаетесь применить их к строковым литералам.
Чтобы исправить это, вы должны считывать значения переменных a и b с клавиатуры с помощью функции readln, а затем производить необходимые математические операции.
Вот исправленный код:
var a, b, c: integer; begin writeln('Введите первое число:'); readln(a); writeln('Введите второе число:'); readln(b); c := a + b; writeln('a + b = ', c);
c := a - b; writeln('a - b = ', c);
c := a * b; writeln('a * b = ', c);
c := a div b; writeln('a / b = ', c); readln; end.
Теперь код будет считывать значения a и b с клавиатуры, а затем производить требуемые операции "+" и "-". Результаты этих операций будут выводиться на экран.


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








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