Как найти наибольшее число в кумире

Оглавление:

  • 1 Задача — Найти максимальное число из трех
    — программирование на Pascal, Си, Кумир, Basic-256, Python

    • 1.1 Pascal
    • 1.2 Язык Си
    • 1.3 Python
    • 1.4 КуМир
    • 1.5 Basic-256

Задача — Найти максимальное число из трех
— программирование на Pascal, Си, Кумир, Basic-256, Python

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

Пусть 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. Большее из них и есть максимальное.

Pascal

// 1-й способ:

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

// 2-й способ:

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.

Язык Си

// 1-й вариант:

#include <stdio.h>

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(«%dn», m);
}

// 2-й вариант:

#include <stdio.h>

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

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

Python

# 1-й вариант:

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

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

print(m)

# 2-й вариант:

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)

КуМир

| 1-й вариант:

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

| 2-й вариант:

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

Basic-256

# 1-й вариант:

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

# 2-й вариант:

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

Did you find apk for android? You can find new Free Android Games and apps.

Перейти к содержанию

Найти максимальное число из трех

Просмотров 44.4к. Обновлено 29 октября 2021

Пусть 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. Большее из них и есть максимальное.

Пример кода Pascal

максимальное среди трех чисел паскаль


// 1-й способ:

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

// 2-й способ:

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.

Пример кода Язык Си


// 1-й вариант:

#include

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("%dn", m);
}

// 2-й вариант:

#include

main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);

if (a > b)
if (a > c) printf("%dn", a);
else printf("%dn", c);
else
if (b > c) printf("%dn", b);
else printf("%dn", c);
}

Пример кода Python

максимальное среди трех чисел Python


# 1-й вариант:

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

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

print(m)

# 2-й вариант:

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)

Пример кода КуМир

| 1-й вариант:

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

| 2-й вариант:

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

Пример кода Basic-256


# 1-й вариант:

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

# 2-й вариант:

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

алг Большее
нач вещ a,b,c,d,e,max1,max2
ввод a,b,c,d,e
если a>b то max1:=a
иначе max1:=b
все;
если c>d то max2:=c
иначе max2:=d
все;
если max1>max2 и max1>e
то вывод «Наибольшее число «, max1;
иначе
если max2>max1 и max2>e
то вывод «Наибольшее число «, max2;
иначе вывод «Наибольшее число «, e;
все;
все;
кон

Изображение к ответу

Практическая работа «КУМИР. Поиск максимального элемента одномерного массива»

Оценка 4.8

Практическая работа "КУМИР. Поиск максимального элемента одномерного массива"

Данную разработку можно использовать при проведении практической работы на уроке при изучении раздела одномерные массивы на языке программирования КУМИР. В разработке предоставлена задача на поиск максимального элемента одномерного массива, описаны этапы разработки программы. Также учащимся предлагается составить программы для решения 9 задач, а также творческое задание по составлению своей задачи по данной теме.

Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.

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

Алгоритмы решения таких задач получили название линейных алгоритмов. Линейный алгоритм реализуется на языке КуМир следующим образом:

  1. Ввод исходных данных производится или с использованием команды присваивания, или команды ввод.
  2. Получение промежуточных данных, искомых результатов производится при помощи команды при-сваивания.
  3. Искомый результат выводится на экран дисплея при помощи команды вывод.

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

Пример 1.

Записать два числа в переменные a и b. Поменять местами содержимое a и b. Результат вывести на экран.

Решение 1.

Для решения поставленной задачи мы можем использовать вспомогательную переменную c. В c записать значение a, в a записать значение b, и b записать значение c.

алг Обмен_1

нач

. цел a

. цел b

. цел c

. вывод «a= «

. ввод a

. вывод «b= «

. ввод b

. c:=a

. a:=b

. b:=c

. вывод «a= «,a,нс

. вывод «b= «,b

кон

Решение 2.

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

алг Обмен_2

нач

. цел a,b

. вывод «a= «

. ввод a

. вывод «b= «

. ввод b

. a:=a+b

. b:=a-b

. a:=a-b

. вывод «a= «,a,нс

. вывод «b= «,b

кон

Предположим, что мы в переменную a записали число 3, а в переменную b — 7. После выполнения команды

a:=a+b

в a будет записано число 10, а в b останется 7. После выполнения команды

b:=a-b

в переменную b будет записано число 3.

После выполнения команды

a:=a-b

в переменную a будет записано число 7.

Пример 2.

Дана десятичная дробь. Округлить её с точностью до двух знаков после десятичной точки.

Решение.

Пусть нам дано, например, число 4.6238. Умножим это число на 100. Получим 462.38. Прибавим 0.5, получим 462.88. Отбросим дробную часть и разделим на 100. Получаем нужный результат округления. Можно показать, что применительно к любой десятичной дроби описанный алгоритм дает требуемый результат. Отбросить дробную часть числа можно при помощи функции int (вспомните описание этой функции). На языке КуМир этот алгоритм запишется следующим образом:

алг Округление

нач

. вещ a,b

. вывод «a= «

. ввод a

. b:=a*100

. b:=b+0.5

. b:=int(b)

. b:=b/100

. вывод «b= «,b

кон

Пример 3.

Найти наибольшее и наименьшее из двух заданных чисел a и b.

Решение.

Решить эту задачу нам поможет описанная выше функция abs. Для записи наибольшего из данных чисел выделим переменную макс, а наименьшего – мин. Легко проверить, что макс определится по формуле

Действительно, если a ≥ b, то a-b ≥ 0 и |a-b| = a-b. Тогда

Если a < b, то a-b < 0, |a-b| = -(a-b) = b-a и

Наименьшее из заданных чисел определится по формуле

Проверка правильности этого утверждения производится подобно тому, как было сделано выше. На языке КуМир соответствующий алгоритм записывается следующим образом:

алг Наибольшее_и_наименьшее

нач

. вещ a,b

. вещ макс,мин

. вывод «a= «

. ввод a

. вывод «b= «

. ввод b

. макс:=(abs(a-b))+a+b)/2

. мин:=(a+b-abs(a-b))/2

. вывод «Макс= «,макс,нс

. вывод «Мин= «,мин

кон

Пример 4.

Вспомните рассказ А.П.Чехова «Репетитор». Репетитор, гимназист 7 класса Егор Зиберов задает своему ученику Пете Удодову задачу – «Купец купил 138 аршин чёрного и синего сукна за 540 рублей. Спрашивается, сколько аршин купил он того и другого, если синее стоило 5 рублей за аршин, а чёрное 3 рубля?» – и сам не может с ней справиться. Отец Пети щелкает на счётах и у него получается 75 и 63, что и нужно было. Предположим, что в распоряжении Петиного отца имеется компьютер, на котором он хочет осуществить ту же последовательность действий, что и на счётах. Как составить соответствующую программу на языке Кумир?

Решение.

Давайте представим себе, как рассуждал Удодов — старший. Если бы всё купленное сукно было синим, то ему пришлось бы заплатить 138×5=690 руб., т.е. переплатить 690-540=150 руб. За каждый аршин он переплачивал бы 5-3=2 руб. Следовательно, чёрного сукна было 150/2=75 аршин, а синего 138-75=63 аршин.

Соответствующая программа на языке Кумир имеет вид

алг Задача

нач

. вещ k,a,b,c,x,y,c1,c2

. вещ макс,мин

. вывод «Количество закупленного сукна — аршин: «

. ввод k

. вывод «Стоимость одного аршина синего сукна: «

. ввод a

. вывод «Стоимость одного аршина черного сукна: «

. ввод b

. вывод «Стоимость купленного сукна: «

. ввод c

. c1:=a*k

. c2:=c1-c

. x:=c2/(a-b)

. y:=k-x

. вывод «Черного сукна закуплено — аршин: «,x,нс

. вывод «Синего сукна закуплено — аршин: «,y

кон

Переделайте программу без использования переменных c1 и c2.

Задачи для самостоятельного решения

Задача 1.

В языке Кумир, кроме обычных арифметических операций, имеется ещё одна, предназначенная для вычисления остатка от деления целого числа a на целое число b. Обозначается оно так:

mod(a,b)

Например, если в a мы запишем 9, и b – 4, а в x – mod(a, b), то в x будет записано число 1. Используя описанную операцию, определите число единиц, десятков и сотен заданного трёхзначного целого числа.

Задача 2. (Старинная задача)

Три брата попросили хозяйку приготовить на ужин картофель. Пока хозяйка варила картофель, братья уснули; через час проснулся старший брат и. увидев на столе картофель, съел свою долю и опять заснул; через некоторое время проснулся второй и, не зная, что старший брат уже ел картофель, так же съел свою Долю и заснул; наконец, проснулся младший брат и сделал тоже, что и старшие братья. Когда старший брат опять проснулся, то разбудил своих братьев, и тогда все выяснилось; оставшиеся 8 картофелин поделили между собой средний и младший братья.

Сколько штук картофеля подала хозяйка?

Сколько из оставшихся 8 штук картофеля взял средний и сколько взял младший брат?

Составьте компьютерную программу решения этой задачи.

Задача 3.

– Почему ты так печален? – спросил прохожий старика, ехавшего медленно на старой лошади.

– Да как же мне не печалиться? – ответил старик. – Половину моего табуна и ещё пол-лошади угнали на юг, половину остатка и еще пол-лошади забрали на восток, половина нового остатка и ещё пол-лошади ушли на запад; наконец, половину последнего остатка и ещё пол-лошади я продал на север, и только моя старая кляча Карагез осталась со мной.

Сколько лошадей было первоначально в табуне старика?

Наверх

Понравилась статья? Поделить с друзьями:
  • Как найти предложение в past simple
  • Как найти периметр параллелограмма если известно основание
  • Как найти участников войны второй мировой войны
  • Как найти прямую по которой пересекаются плоскости
  • Как найти телефон когда потерял андроид