Строчка "program Умножение;" спорная т.к. некоторые компиляторы поддерживают кириллицу, например PascalABC, но лучше использовать английские буквы.
"var A, B, C: boolean;" boolean - это логический тип переменных True False, либо 0 1, для других чисел не подходит. Я остановился на типе "real", чтобы можно было вводить не только целые числа, но и дробные, например 2,5
После каждого оператора необходимо ставить ";", кроме того, что перед "end" там ставить не обязательно.
В паскале "=" используется как оператор сравнения, а оператор присваивания выглядит так: ":=", поэтому исправим тут ошибку "C = A * B"
Текст в "writeln()" пишется в одинарных кавычках, исправляем ошибку "writeln (Произведение введенных Вами чисел равно , C)"
И так вот готовая исправленная программа
Program multi; Var A,B,C:real; Begin Read(A,B); C:=A*B; Writeln('Произведение введенных Вами чисел равно ',C) End.
1) равносильно: (x&29 =0) +(x&9≠0) + x&A ≠0 =1 рассмотрим, когда сумма двух первые два слагаемых равна 0, а третье слагаемое=1 29=11101 первое слагаемое =0 при ¬29 = 00010 + 9=1001 >(=0) при 9 = 01001
..011 100 < A=100 =4 2) равносильно: (x&13=0) + (x&39 =0) + (x&A≠0)*(x&13≠0) = 1 рассмотрим, когда сумма двух первых слагаемых =0, а третье (произведение) =1 13 = 1101 обратное --> 0010 39= 100111 ---> 011000 10 поразрядное сложение 11010 т.е. дают 0 двум первым сл. (x&A≠0) *x&13≠0) =1 ? 13 =1101 --> 0010 A= ---> 1 (из первого рассуждения 11010+ 1 0010
... 0111 ---> A=1000 =8 3)равносильно: (x&13=0) *(x&A=0) +x&13≠0+(x&A≠0)*(x&39=0) =1 рассмотрим, когда первое произведение =0: 13 =1101 ---> обратное--> 0010---> A=2 =10(в 2с/с) (X&13≠0) можно и не учитывать (пока) рассмотрим (x&A≠0) * (x&39=0) =1 это будет при А=011000, обратном (39=100111) складываем оба А: 011000 10