Нахождение наибольшего числа из трех решение на Паскале
 
Информатика в школе


Видео курсы для чайников фотошоп, joomla, wordpress, php, css 
  Главная  ●  Карта сайта
 
 

Нахождение наибольшего числа из трех

Евгений Мухутдинов

[к списку задач]

 

Найти наибольшее число из трех. Если числа равны, то вывести любое из них.

Входные данные

В единственной строке входного файла INPUT.TXT записано три числа через пробел. Все числа целые, не меньше -10000 и не больше 10000.

Выходные данные

В файл OUTPUT.TXT выведите единственное число.

Пример

INPUT.TXT OUTPUT.TXT
4 7 5
-10 -1000 -100
8 8 8
7
-10
8

Решение

В очередной раз я упростил задачу за счет того, что при равенстве чисел можно вывести любое из них. Как и в задаче "Нахождение наибольшего числа из двух" возможно несколько вариантов решения. Здесь будет рассмотрено два из них.

Вариант 1.

Первый способ решения задачи основан на использовании дополнительной переменной. Т.е. кроме трех перемененных (например а, b, с) используются дополнительная переменная (например с именем "max) для хранения наибольшего значения. Это пример привожу лишь по той причине, что порой, он оказвается проще для понимания.

Блок схема нахождения наибольшего числа из трех

Решение задачи на Паскале.

var 
  a,b,c,max:integer;
begin
  read(a,b,c);
  if a > b then 
    max:=a
  else
    max:=b;
  if max > c then 
    write(max)
  else
    write(c);
end.

Вариант 2.

Как видно из блок-схемы приведенной ниже, использовать дополнительную переменную нет никакой нужды. Отказавшись от полного ветвления при проверке первого условия, удалось уменьшить и код программы. Обратите внимание, что для использования неполного ветвления надо проверять условие  a<b, а не a>b.

Блок схема нахождения наибольшего числа из трех

Решение на Паскале.

var 
  a,b,c:integer;
begin
  read(a,b,c);
  if a < b then 
    a:=b;
  if a > c then 
    write(a)
  else
    write(c);
end.

В книге С. Окулова "Основы программирования " , для решения этой задачи предлагается использовать составные условия. Вот как будет выглядеть текст программы в этом случае:

var 
  a,b,c:integer;
begin
  read(a,b,c);
  if (a > b) and (a > c) then 
    write(a)
  else
    if (b > a) and (b > c) then 
      write(b)
    else
      write(c);
end.

[к списку задач]

Книжные новинки
Как сделать свой сайт и заработать на нем Е. Мухутдинов
Копилка
Рабочие программы
Проекты MS Office
Презентации
Открытые уроки
Экзаменационные билеты
Элективные курсы
Бесплатный soft
 Инструкции по ТБ
Подготовка к олимпиадам по информатике
Методика подготовки
"Золотые" алгоритмы
Простые задачи для начинающих
Олимпиадные задачи с решениями
Книги
Среда программирования
Обучение программированию на С++
Справочник по языку Pascal
Обучение
Подготовка к ЕГЭ
Создание сайтов
Уроки FrontPage
Уроки Word 2003
Создание игр на Delphi
Печатаем вслепую

Информация

Наши интервью
Книга почета
Курсы повышения квалификации
Электронная библиотечка
Книжная полка
Статьи
Полезные ссылки
Обратная связь

Конкурсы

Олимпиада
Фотоконкурс
VIP
Персональный раздел профессора
Макаровой Н.В.
Персональный раздел профессора
Смыковской Т.К.