АВ
Александр Виноградов

type mismatch (Pascal)

начал недавно изучать Паскаль
написал такую программку для тренировки

program abvgd;
var a:integer;

Begin
//присваиваю переменной а результат выражения
a:= (2+4/2) + (32/2*8);

writeln('resultat=', a);
readln
END.
а вопрос заключается в том что когда компилирую программу выдает ошибку type mismatch ( что это значит я понимаю, переменной присваивается значение которое не является типом integer) но или я не правильно считаю, или я не правильно использую последовательность операций паскаля тоесть деление первым или умножение в скобках... ведь 2+4/2 это 4 делим на 2 и затем прибавляем 2, далее выситываются вторые скобочки ( 32/2*8 ) придерживаюсь что вначале идет умножение а затем деление.. 2 производим на 8 = 16 и 32 на 16= 2, 2+4 = 6 тоесть на экран выведется значение переменной a как 6 ..в чем я не прав? где ошибка?

спасибо всем за ответы я разобрался
лучший овтет третий, очень помог

да я понял что если выражение в скобках (32/2*8) здесь нет разницы, операторы деления и умножения в одной иерархической ветке поэтому выполняются последоватетельно по порядку слева на право .

но я сделал немного по другому
описал еще 1 переменную целого типа и в теле программы дописал директиву - b:= trunc (a);
writeln ('resultat=', b);

Елена
Елена

Исправь
var a:real;
и всё неожиданно чудесным образом заработает 😉 😉

МЮ
Марина Юдина

типы не совпадают. я точно хз как в паскале, но на си переменная а должна быть флоат или дабл. то есть переменной с плавающей точкой

КП
Карен Погосян

На Паскале при делении переменная, получающая результат, должна быть типа real

UPD: при нецелочисленном делении (/). При целочисленном (div) возможен integer

Ма
Машка

"( 32/2*8 ) придерживаюсь что вначале идет умножение а затем деление. " Неверно, идёт всё по очереди, сначала деление, а потом умножение, ведь 2*8 не выделено в отдельные скобки, и ответ будет 132, но паскаль считает вот это выражение a:= (2+4/2) + (32/2*8); типом real.

Похожие вопросы
pascal где ошибка !!!
Программирование Pascal
программирование в Pascal
Pascal Многозадачность
!!!СРОЧНО!! ! Pascal !!!
Перевод из С++ на Pascal
Что у меня не правильно (Pascal)?
Программа на PASCAL....
Как сделать 301 редирект .htaccess. Как сделать 301 редирект с? type=3 на? type=popular в .htaccess
Pascal