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

Есть программа:

var m,s:integer;
begin
    writeln('Vvedite chislo M');
    readln(m);
    s:=1;
    if (s = 1) then
       writeln('soobchenie 1'); 
    if (s = m) then
        writeln('soobchenie 2'); 
end;

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

Ссылка

Попытка решения (вроде работает :-) ):

program U9z10;

   var m,s:integer;

begin
    writeln('Vvedite chislo M');
    readln(m);
    s:=1;
    if (s = 1)  then
        writeln('soobchenie 1')
    else  if (s <> 1) and (s = m) then
        writeln('soobchenie 2');
end.
vedro-compota's picture

else  if (s <> 1) and (s = m)

-- тут есть лишняя проверка, напишите какая и почему

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

Не могу понять: Если убираю условие:

(s не равно 1)

или условие:

(s = m)

вместо требуемого вывода:

'soobchenie 2'

выводит: soobchenie 1'

vedro-compota's picture

уточните вопрос, приведите цитату кода, который не работает

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

program U9z10;

   var m,s:integer;

begin
    writeln('Vvedite chislo M');
    readln(m);
    s:=1;

        if (s = 1)  then
           writeln('soobchenie 1')

        else  if (s = m) then
            writeln('soobchenie 2');
end.
     
vedro-compota's picture

решение засчитано

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