Урок 9 Задача 6

Урок 9 Задача 6

Пользователь вводит три числа, найдите из них максимальное.
Решите тремя способами:

С использованием логической операции and.
С вложенными блоками (без and, все опараторы if должны быть в полной форме).
Без вложенных блоков (без and) -- запомнив максимум из первых двух чисел в специальной переменной.

var A, B, C: integer;
begin
  readln(A);
  readln(B);
  readln(C);
  if ((A>B) and (A>C)) then
     writeln(A);
  if ((B>A) and (B>C)) then
     writeln(B);
  if ((C>A) and (C>B)) then
     writeln(C);
  if (A=B) and (B=C) then
     writeln('chisla ravny');
  readln();
end.


var A, B, C: integer;
begin
  readln(A);
  readln(B);
  readln(C);
  if (A>B) then
  begin
    if (A>C) then
      writeln(A)
    else
      writeln(C);
  end
  else begin
  if (B>A) then
  begin
    if (B>C) then
      writeln(B)
    else
      writeln(C);
  end;
  end;
  readln();
end.


var A, B, C, Max: integer;
begin
  readln(A);
  readln(B);
  readln(C);
  if (A>B) then
     begin
        Max:=A
     end
  else
      Max:=B;
  if (C>Max) then
     Max:=C;
  writeln(Max);
  readln();
end.
vedro-compota's picture

var A, B, C: integer;
begin
  readln(A);
  readln(B);
  readln(C);
  if (A>B) then
  begin
    if (A>C) then
      writeln(A)
    else
      writeln(C);
  end
  else begin
  if (B>A) then
  begin
    if (B>C) then
      writeln(B)
    else
      writeln(C);
  end;
  end;
  readln();
end.

-- вариант

2 2 3

не сработает

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

vedro-compota's picture

var A, B, C: integer;
begin
  readln(A);
  readln(B);
  readln(C);
  if ((A>B) and (A>C)) then
     writeln(A);
  if ((B>A) and (B>C)) then
     writeln(B);
  if ((C>A) and (C>B)) then
     writeln(C);
  if (A=B) and (B=C) then
     writeln('chisla ravny');
  readln();
end.

неоптимальное число сравнений см. комментарий

По-идее не сработает комбинация:

 3 3 2

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