Блок схема максимальное из трех

Блок схема максимальное из трех

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

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

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

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

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

Пример

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

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

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

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

Копилка Рабочие программы Проекты MS Office Презентации Открытые уроки Экзаменационные билеты Элективные курсы Бесплатный soft Инструкции по ТБ
Читайте также:  Xiaomi mi band 2 4pda обсуждение

При копировании материалов обратная ссылка обязательна

Задача

Определить какое из трех, введенных пользователем, чисел максимальное и вывести его на экран.

Решение

В программе будет три переменные для чисел, вводимых пользователем: n1, n2, n3. Также для упрощения алгоритма введем четвертую переменную, в которую по ходу выполнения кода будет помещено максимальное значение: max.

Алгоритм решения задачи:

  1. Сравнить первое и второе число (n1 и n2). Переменной max присвоить значение переменной, содержащей большее значение.
  2. Сравнить значение переменной max с третьим числом, введенным пользователем (n3). Если значение n3 окажется больше, чем max, то присвоить max значение третьего числа. Если же значение max окажется больше, то ничего не делать.

Программа на языке Паскаль:

Три числа не обязательно могут быть разными. Достаточно предусмотреть вариант равенства значений только в первом операторе if.

Вводятся три целых числа. Определить какое из них наибольшее.

Пусть a, b, c — переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной. Тогда алгоритм программы сведется к следующему:

  1. Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m .
  2. Если текущее значение m меньше, чем у b , то следует присвоить m значение b . Если это не так, то не изменять значение m .
  3. Если текущее значение m меньше, чем у c , то присвоить m значение c . Иначе ничего не делать.

Данную задачу можно решить и без использования четвертой переменной, однако программа будет логически сложнее:

  1. Если a больше b , то проверить больше ли a , чем c . Если это так, то максимальное число содержит переменная a . Если a больше b , но при этом меньше c , то максимальным является значение c .
  2. Иначе (когда a меньше b ) сравнить значения b и c . Большее из них и есть максимальное.
Читайте также:  Что делать если directx 11 не устанавливается

var
a , b , c , max : integer ;
begin
readln ( a , b , c ) ;
max : = a ;
if max then max : = b ;
if max then max : = c ;
writeln ( max ) ;
end .

var
a , b , c : integer ;
begin
readln ( a , b , c ) ;
if a > b then
if a > c then writeln ( a )
else writeln ( c )
else
if b > c then writeln ( b )
else writeln ( c ) ;
end .

main ( ) <
int a , b , c , m ;
scanf ( «%d%d%d» ,& a ,& b ,& c ) ;
m = a ;
if ( m b ) m = b ;
if ( m c ) m = c ;
printf ( «%d
» , m ) ;
>

main ( ) <
int a , b , c ;
scanf ( «%d%d%d» ,& a ,& b ,& c ) ;

if ( a > b )
if ( a > c ) printf ( «%d
» , a ) ;
else printf ( «%d
» , c ) ;
else
if ( b > c ) printf ( «%d
» , b ) ;
else printf ( «%d
» , c ) ;
>

a = int ( input ( ) )
b = int ( input ( ) )
c = int ( input ( ) )

m = a
if m b:
m = b
if m c:
m = c

a = int ( input ( ) )
b = int ( input ( ) )
c = int ( input ( ) )

if a > b:
if a > c:
print ( a )
else :
print ( c )
else :
if b > c:
print ( b )
else :
print ( c )

алг максимум из трех
нач
цел a , b , c , m
ввод a , b , c
m := a
если b > m то m := b все
если c > m то m := c все
вывод m
кон

алг максимум из трех
нач
цел a , b , c
ввод a , b , c
если a > b то
если a > c то
вывод a
иначе
вывод c
все
иначе
если b > c то
вывод b
иначе
вывод c
все
все
кон

input a
input b
input c
max = a
if max then max = b
if max then max = c
print max

input a
input b
input c
if a > b then
if a > c then
print a
else
print c
endif
else
if b > c then
print b
else
print c
endif
endif

«>

Ссылка на основную публикацию
Adblock detector