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

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

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

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

1 способ

program zadacha6;
 var a, b, c : integer;    //объявляем переменные
     d1, d2, d3 : boolean;
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(C);
    d1:= (a>b) and (a>c);
    d2:= (b>a) and (b>c);
    d3:= (c>a) and (c>b);
     If d1=true then                            //проверяем условие
      writeln('naibolshee chislo ', a)
       else
        if d2=true then
         writeln('naibolshee chislo ', b)
          else
           if d3=true then
            writeln('naibolshee chislo ', c);
    readln();
   end. 

2 способ

program zadacha6;
 var a, b, c : integer;    //объявляем переменные
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(c);
     If a>b then  begin                          //проверяем условие
      if a>c then
       writeln('naibolshee chislo ', a)
      else
        if c>b then
         writeln('naibolshee chislo ', c)
        else
         if b>a then
          writeln('naibolshee chislo ', b);
      end else
       if b>c then
        writeln ('naibolshee chislo ', b)
       else
        if c>a then
         writeln('naibolshee chislo ', c)
        else
         writeln('naibolshee chislo ', a);
    readln();
   end.   

3 способ

program zadacha6;
 var a, b, c : integer;      //объявляем переменные
     d1 : boolean;
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(c);
    d1:=a>b;     //проверяем условие
     If d1=true then
      d1:=a>c;
       if d1=true then  begin
        writeln('Maksimalnoe chislo ', a);
        end;
         if d1=false then begin
          d1:=c>b;
           if d1=true then
            writeln('Maksimalnoe chislo ', c);
             if d1=false then
              writeln('Maksimalnoe chislo ', b);
         end;
    readln();
   end.    
vedro-compota's picture

  • 2 способ оформить отдельно
  • добавить учет ситуации равенства значений
  • проверить на наличие лишних веток/условий

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

program zadacha6;
 var a, b, c : integer;    //объявляем переменные
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(c);
     If a>=b then  begin                          //проверяем условие
      if a>=c then
       writeln('naibolshee chislo ', a)
      else
        if c>=b then
         writeln('naibolshee chislo ', c)
        else
          writeln('naibolshee chislo ', b);
      end else
       if b>=c then
        writeln ('naibolshee chislo ', b)
       else
        if c>=a then
         writeln('naibolshee chislo ', c)
        else
         writeln('naibolshee chislo ', a);
    readln();
   end.      
vedro-compota's picture

  If a>=b then  begin                          //проверяем условие
      if a>=c then
       writeln('naibolshee chislo ', a)
      else
        if c>=b then
         writeln('naibolshee chislo ', c)
        else
          writeln('naibolshee chislo ', b);
      end else

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

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

program zadacha6;
 var a, b, c : integer;    //объявляем переменные
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(c);
     If a>=b then        //проверяем условие
     begin
       if a>=c then
         writeln('naibolshee chislo ', a)
     end
     else
       if b>=c then
         writeln ('naibolshee chislo ', b)
       else
       if c>=a then
         writeln('naibolshee chislo ', c);
    readln();
   end.  
vedro-compota's picture

сейчас не сработает для набора:

3 2 5

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

program zadacha6;
 var a, b, c : integer;    //объявляем переменные
   begin
    writeln('Vvedite chidlo A:');
    readln(a);                       //вводим переменные
    writeln('Vvedite chidlo B:');
    readln(b);
    writeln('Vvedite chidlo C:');
    readln(c);
     If a>=b then  begin                          //проверяем условие
      if a>=c then
       writeln('naibolshee chislo ', a)
      else
         writeln('naibolshee chislo ', c)
     end
     else
       if b>=c then
        writeln ('naibolshee chislo ', b)
       else
        if c>=a then
         writeln('naibolshee chislo ', c)
        else
         writeln('naibolshee chislo ', a);
    readln();
   end.