1) Как набрать из реки 7 литров воды если имеются сосуды емкостью 3 и 8 литров? А - сосуд 8 литров В - сосуд 3 литра начало 1) набрать в А (А=8) 2) перелить из А в В (А=5, В=3) 3) вылить из В (А=5, В=0) 4) перелить из А в В (А=2, В=3) 5) вылить из В (А=2, В=0) 6) перелить из А в В (А=0, В=2) 7) набрать в А (А=8) 8) перелить из А в В (А=7, В=3) конец
2) Три свидетеля дали показания, что преступники скрылись с места преступления: a) на черном "Бьюике", b) на синем "Форде", c) не на черном "Крайслере". Каждый из них в чем-то одном ошибался. На какой машине преступники скрылись?
рассуждение: Если каждый свидетель хотя бы в одном прав, то это точно не Крайслер, иначе один из первых двух свидетелей ошибся оба раза. Раз это не Крайслер, значит второе утверждение третьего свидетеля "не черный" - истина. => первый свидетель ошибся в цвете, но прав на счет Бьюика. => Второй свидетель ошибся на счет Форда, но прав на счет цвета - синий. ответ: Синий "Бьюик".
алгебраический: С - Синий Ч - Черный Б - Бьюик Ф - Форд К - Крайслер Ложными будут высказывания:: ЧиБ, СиФ, СиК, ЧиС, ФиБ, ФиК, КиБ. По условию следующее выражение будет истинным: (Ч+Б)*(С+Ф)*(неЧ+К)= =(Ч*С+Ч*Ф+Б*С+Б*Ф)*(неЧ+К)= =(Ч*Ф+С*Б)*(неЧ+К)= =Ч*Ф*неЧ+Ч*Ф*К+С*Б*неЧ+С*Б*К= =СБ ответ: Синий "Бьюик"
Сначала надо избавиться от ошибок (пункт №3) иначе не сможем выполнить 1 и 2 пункт задания. Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10; Исправляем N:N div 10; на N:= N div 10;
После исправления ошибок при вводе 537 получим 3 Программа будет работать правильно для любого числа, у которого вторая цифра слева меньше первой цифры, например: 7193
Чтобы программа работала правильно для всех чисел надо изменить это: while N > 10 do на while N > 0 do
После всех исправлений код программы стал таким: var N, k: integer; begin readln(N); k := 9; while N > 10 do begin if (N mod 10 < k) then k := N mod 10; N := N div 10; end; write(k) end.
Открыть и просмотреть, возможно даже подумать о том что дали. Но для начала, проверить на наличие вирусов.