Урок 9. Условный оператор IF. Задача №6 + подзадачи.

Урок 9. Задача №6 + подзадачи.

Пользователь вводит три числа, найдите из них максимальное:
1. "С использованием логической операции and."
Решение при дополнительном условии что пользователь ввел все одинаковые числа или два одинаковых числа.

Program LessonPascal;
var a, b, c : integer; //Объявление переменных целочисленного типа
begin // Начало программы
  writeln('Enter integer A: '); //Запрос на ввод целого числа
  readln(a);  //Ввод числа
  writeln('Enter integer B: ');
  readln(b);
  writeln('Enter integer C: ');
  readln(c);
  // Проверки на максимум и равенство переменных
  if (a > b) and (a > c) and (a <> b) and (a <> c) then
     writeln ('Number A is maximum = ', a);
  if (b > a) and (b > c) and (b <> a) and (b <> c) then
     writeln ('Number B is maximum = ', b);
  if (c > a) and (c > b) and (c <> a) and (c <> b) then
     writeln ('Number C is maximum = ', c);
  if (a = b) or (a = c) or (b = c) then
     writeln ('Your  entered two numbers are equal!');
  if (a = b) and (a = c) and (b = c) then
     writeln ('All your entered integers are equal!');

   readln(); // Удержание консоли
end.// Завершение программы   
Firons's picture


2. С вложенными блоками (без and).

Program LessonPascal;
var a, b, c : integer; //Объявление переменных целочисленного типа
begin // Начало программы
  writeln('Enter integer A: '); //Запрос на ввод целого числа
  readln(a);  //Ввод числа
  writeln('Enter integer B: ');
  readln(b);
  writeln('Enter integer C: ');
  readln(c);
  if (a > b) then
    begin
      if (a > c) then  //Этот блок выполняется если истина первая проверка
          writeln ('Number A is maximum = ', a)
    end
      else if (b > c) then
          writeln ('Number B is maximum = ', b)
      else
          writeln ('Number C is maximum = ', c);

   readln(); // Удержание консоли
end.// Завершение программы
vedro-compota's picture

форматирование и проблема с решением

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

Firons's picture

Пользователь вводит три числа, найдите из них максимальное.
С вложенными блоками (без and).

Program LessonPascal;
var a, b, c : integer;
begin
  writeln('Enter integer A: '); //Запрос на ввод целого числа
  readln(a);  //Ввод числа
  writeln('Enter integer B: ');
  readln(b);
  writeln('Enter integer C: ');
  readln(c);
  if (a > b) then
  begin
    if (a > c) then
      writeln ('Number A is maximum = ', a);
  end else
    if (b > c) then
      writeln ('Number B is maximum = ', b)
    else
      writeln ('Number C is maximum = ', c);

  readln(); // Удержание консоль
end.// Завершение программы  
Firons's picture


3. Без вложенных блоков (без and) -- запомнив максимум из двух в специальной переменной.

Program LessonPascal;
var a, b, c, max : integer; //Объявление переменных целочисленного типа
begin // Начало программы
  writeln('Enter integer A: '); //Запрос на ввод целого числа
  readln(a);  //Ввод числа
  writeln('Enter integer B: ');
  readln(b);
  writeln('Enter integer C: ');
  readln(c);
  if (a > b) then
     max := a     //Присваиваем значение А в переменную max
  else
     max := b;
  if (max > c) then
     writeln ('Maximum number = ', max)
  else
     writeln ('Maximum number = ', c);

  readln(); // Удержание консоли
end.// Завершение программы