Урок 9 задача 10

..

//Условие
//Есть программа: ______, при этом известно, что если s равно 1, то на экран должно вывестись только первое сообщение (а второе выводиться не должно), а если s не равно 1, но равно m, то второе (а первое выводиться не должно).
Но сейчас программа работает не так, исправьте это.
Ссылка:

//Попытка решения: при ввведении любой цифры выводит:

soobchenie 1

Как правильно сделать?

program U9z10;
var m,s:integer;
  f:boolean;
begin
    writeln('Vvedite chislo M');
    readln(m);
    s:=1;
    f:= true;

         if (f = true) then
            writeln('soobchenie 1')
         else begin

         if  (f = FALSE) AND (s = m) then  // Не получается
             writeln('soobchenie 2');
         end;
    readln();
end.          

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

1) Код программы неверно отформатирован
2) По проблеме:

f:= true;
if (f = true)

-- в вашем случае f = true - -всегда истинно, поэтому ветка then будет выполняться вне зависимости от того, что именно пользователь подает на вход

_____________
матфак вгу и остальная классика =)