Запросить 5 чисел в список ,и найти в этом списке мин и макс число с
помощью цикла (запрещеноmin
,max
,sorted
,sort
). Вывести эти
числа
A = []
max = ''
min = ''
a = int(input('Введите целое число...'))
c = int(input('Введите целое число...'))
d = int(input('Введите целое число...'))
e = int(input('Введите целое число...'))
f = int(input('Введите целое число...'))
A += a,c,d,e,f
for i in A:
if i == max:
max += i
else:
min += i
print(f'Максимальное: {max}' , f'Минимальное: {min}' )
Зашел в тупик. Разъясните где не прав.
Duracell
1,9913 золотых знака16 серебряных знаков33 бронзовых знака
задан 29 дек 2022 в 17:50
4
Вам нужно немного подправить свой алгоритм. Примерно как-то так:
A = []
for _ in range(5):
a = int(input('Введите целое число...'))
A.append(int(a))
m_max = A[0]
m_min = A[0]
for i in A:
if m_max < i:
m_max = i
if m_min > i:
m_min = i
print(f'Максимальное: {m_max}' , f'Минимальное: {m_min}' )
ответ дан 29 дек 2022 в 18:23
AndreiAndrei
2,0501 золотой знак2 серебряных знака11 бронзовых знаков
2
Ваш код по сути правильный, нужно было только сделать 5 правок:
A = []
max_ = float('-inf') # здесь
min_ = float('inf') # здесь
a = int(input('Введите целое число...'))
c = int(input('Введите целое число...'))
d = int(input('Введите целое число...'))
e = int(input('Введите целое число...'))
f = int(input('Введите целое число...'))
A += a, c, d, e, f
for i in A:
if i > max_:
max_ = i # здесь
if i < min_: # здесь
min_ = i # здесь
print(f'Максимальное: {max_}' , f'Минимальное: {min_}' )
К тому же я изменил ваши имена max
и min
(которые являются именами стандартных функций) на max_
и min_
.
Объяснение:
-
Чтобы найти самое большое значение, предположим сначала, что оно самое малое:
переменнойmax_
присвоим сначала самое малое значение. -
Потому что в Питоне не существует самое малое целое число, мы поможем себе самым малым вещественным числом — отрицательной бесконечностью:
float('-inf')
. -
Когда встретится число больше текущего наибольшего (
if i > max_:
), текущее наибольшее заменим ним (max_ = i
). -
Подобным образом действуем для получения самого малого значения.
ответ дан 29 дек 2022 в 23:43
MarianDMarianD
14.1k3 золотых знака18 серебряных знаков29 бронзовых знаков
2
У вас в коде существует несколько ошибок:
-
Вы инициализировали переменные
max
иmin
как строки, но вам нужно будет сравнивать числа, поэтому эти переменные должны быть типаint
илиfloat
. -
В цикле
for
вы пытаетесь сравнивать числоi
с переменнойmax
, но это не имеет смысла, так как max изначально равно пустой строке. Вместо этого вам нужно сравниватьi
с переменной max, которая хранит максимальное значение, которое вы нашли на данный момент. -
В цикле
for
вы пытаетесь добавить числоi
к переменнымmax
иmin
, но это неверно, так как вы перезаписываете значения этих переменных. Вместо этого вам нужно сравниватьi
с значениемmax
иmin
и обновлять эти значения, еслиi
больше или меньше соответственно.
Для того, чтобы найти минимальное и максимальное число в списке A, вам нужно изменить код следующим образом:
A = []
max = float('-inf') # Максимальное значение инициализируем минимальным возможным значением float
min = float('inf') # Минимальное значение инициализируем максимальным возможным значением float
a = int(input('Введите целое число...'))
c = int(input('Введите целое число...'))
d = int(input('Введите целое число...'))
e = int(input('Введите целое число...'))
f = int(input('Введите целое число...'))
A += a,c,d,e,f
for i in A:
if i > max: # Обновляем значение max, если i больше текущего значения max
max = i
if i < min: # Обновляем значение min, если i меньше текущего значения min
min = i
print(f'Максимальное: {max}' , f'Минимальное: {min}' )
В этом коде мы инициализируем переменные max и min с помощью констант float('-inf') и float('inf')
соответстнно
ответ дан 1 янв в 16:46
hedgehogueshedgehogues
9,2518 золотых знаков44 серебряных знака93 бронзовых знака
На занятии происходит знакомство с логическим типом Boolean в Паскале. Рассматривается алгоритм того, как находится минимальное и максимальное число в Паскале
Сайт labs-org.ru предоставляет лабораторные задания по теме для закрепления теоретического материала и получения практических навыков программирования на Паскале. Краткие теоретические сведения позволят получить необходимый для этого минимум знаний. Решенные наглядные примеры и лабораторные задания изложены по мере увеличения их сложности, что позволит с легкостью изучить материал с нуля. Желаем удачи!
Содержание:
- Логический тип данных Boolean в Паскале
- Минимальное и максимальное число в Паскале.
[Название файла: task_bool4.pas]
Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true
или false
.
Значения логического типа:
TRUE
FALSE
В примере ниже, на экран выводится результат логического выражения:
1 2 3 4 5 6 |
var A: integer; begin A := 5; write(A > 0); {Будет выведено True} end. |
Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean
и может также принимать одно из двух значений — true
или false
.
Посмотрим, как работает та же самая задача с логической переменной:
1 2 3 4 5 6 7 8 |
var A: integer; b: boolean; begin A := 5; b:=A > 0; write(b);{Будет выведено True} end. |
Пример: Рассмотрим пример работы с типом boolean
в pascal:
1 2 3 4 5 6 |
var a:boolean; begin a:=true; if a=true then writeln ('истина') else writeln('ложь'); end. |
Для создания сложных условий используются специальные логические операции: and
, or
, not
и xor
.
Задача Boolean 1. Дано целое положительное число. Проверить истинность высказывания: «оно является четным»
[Название файла: task_bool1.pas
]
Рассмотрим пример с использованием логической операции XOR
:
Пример: Запросить два целых: X, Y. Проверить истинность высказывания: «Только одно из чисел X и Y является нечетным»
1 2 3 4 5 6 7 8 9 10 11 |
program Boolean; var x,y: integer; c :boolean; begin write('Введите X, Y: '); read(x,y); c := (Odd(x)) xor (Odd(y)); writeln('Только одна из переменных X и Y имеет нечетное значение - ', c); end. |
Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:
Задача Boolean 2. Даны три целых числа: A, B, C. Проверить истинность высказывания: «B находится между числами A и C».
[Название файла: task_bool2.pas
]
Рассмотрим решение более сложной задачи с переменной логического типа:
Пример: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».
Показать решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
const a=348; var d_n, s_n, e_n: integer; flag:boolean; begin flag:=false; s_n:=a div 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag:=true; writeln(flag); end. |
Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n
— это цифра сотого разряда, d_n
— цифра десятого разряда, e_n
— единицы.
Задача Boolean 3. Дано целое N > 0
. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N
цифра «2». Если имеется, то вывести TRUE
, если нет — вывести FALSE
.
[Название файла: task_bool3.pas
]
Задача Boolean 4. Дано целое положительное. Проверить истинность высказывания: «Данное число является нечетным трехзначным».
Минимальное и максимальное число в Паскале.
[Название файла: task_bool4.pas
]
task_bool4.pas
]
При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:
- Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
- Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
- Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
- Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.
Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:
или
max:=integer.MinValue;; // минимальное среди типа Integer min:=integer.MaxValue;; // максимальное среди типа Integer
PascalABC.NET
:
Можно использовать стандартные функции max()
и min()
:
print(max(2,8)); // 8 print(min(2,8)); // 2
Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:
Пример: В компьютер вводятся 10 чисел. Выводить максимальное из введенных чисел.
Показать решение:
Pascal | PascalABC.NET | ||||
|
|
Аналогично осуществляется поиск минимального из чисел.
Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:
Задача Max 1. В танцевальном клубе участвуют 10 представительниц женского пола. Определите, может ли самая старшая из них быть матерью самой младшей (в таком случае разница в возрасте может составлять не менее 17 лет).
[Название файла: task_max1.pas
]
Задача Max 2. Найти минимальное и максимальное из 10 введенных чисел и вывести сумму их порядковых номеров.
[Название файла: task_max2.pas
]
Задача Max 3. Средняя продолжительность жизни лабораторной мыши – 10 лет. Найдите максимальный показатель продолжительности жизни у пяти белых мышей и у пяти мышей-альбиносов. У каких мышей показатель уровня жизни выше?
[Название файла: task_max3.pas
]
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Перейти к содержанию
Найти максимальное число из трех
Просмотров 44.4к. Обновлено 29 октября 2021
Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной. Тогда алгоритм программы сведется к следующему:
- Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.
- Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.
- Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.
Данную задачу можно решить и без использования четвертой переменной, однако программа будет логически сложнее:
- Если a больше b, то проверить больше ли a, чем c. Если это так, то максимальное число содержит переменная a. Если a больше b, но при этом меньше c, то максимальным является значение c.
- Иначе (когда 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 = cprint(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
gevorg500 0 / 0 / 0 Регистрация: 12.09.2015 Сообщений: 28 |
||||
1 |
||||
Определить наибольшее из введенных чисел15.09.2015, 17:08. Показов 14032. Ответов 15 Метки нет (Все метки)
Вводятся четыре целых числа : a, b, c и d. Определить наибольшее из введенных чисел.
0 |
940 / 868 / 355 Регистрация: 10.10.2012 Сообщений: 2,706 |
|
15.09.2015, 17:19 |
2 |
Сначала max присвой одно из значений, а потом уже проверяй.
0 |
Sergey_03 21 / 9 / 4 Регистрация: 15.12.2014 Сообщений: 643 |
||||
15.09.2015, 17:35 |
3 |
|||
0 |
zss Модератор 13101 / 10373 / 6207 Регистрация: 18.12.2011 Сообщений: 27,749 |
||||
15.09.2015, 17:51 |
4 |
|||
0 |
Narkok 0 / 0 / 0 Регистрация: 21.10.2014 Сообщений: 12 |
||||
15.09.2015, 17:53 |
5 |
|||
0 |
easybudda Модератор 11758 / 7258 / 1720 Регистрация: 25.07.2009 Сообщений: 13,272 |
||||
15.09.2015, 18:10 |
6 |
|||
0 |
Ferrari F1 805 / 532 / 158 Регистрация: 27.01.2015 Сообщений: 3,017 Записей в блоге: 1 |
||||
15.09.2015, 18:15 |
7 |
|||
gevorg500,
0 |
Croessmah Неэпический 17813 / 10585 / 2043 Регистрация: 27.09.2012 Сообщений: 26,625 Записей в блоге: 1 |
||||
15.09.2015, 19:41 |
8 |
|||
0 |
Ferrari F1 805 / 532 / 158 Регистрация: 27.01.2015 Сообщений: 3,017 Записей в блоге: 1 |
||||
15.09.2015, 21:34 |
9 |
|||
Croessmah, ты читер!
0 |
Неэпический 17813 / 10585 / 2043 Регистрация: 27.09.2012 Сообщений: 26,625 Записей в блоге: 1 |
|
15.09.2015, 21:41 |
10 |
Ferrari F1, твой код не учитывает отрицательные числа.
0 |
Ferrari F1 805 / 532 / 158 Регистрация: 27.01.2015 Сообщений: 3,017 Записей в блоге: 1 |
||||
15.09.2015, 21:44 |
11 |
|||
Croessmah, достаточно поменять часть одной строчки
0 |
castaway |
15.09.2015, 21:44
|
Не по теме:
а твой код вообще не учитывает отрицательные числа. И всё равно ты читер!
0 |
Croessmah |
15.09.2015, 21:44
|
Не по теме:
И всё равно ты читер! а ты вапще Xперт :p
0 |
castaway |
15.09.2015, 21:46
|
Не по теме:
а ты вапще Xперт Уделал.. уделал…
0 |
Croessmah |
15.09.2015, 21:47
|
Не по теме:
Уделал.. уделал… мы ж шуткуем :friends:
0 |
castaway |
15.09.2015, 21:48
|
Не по теме:
мы ж шуткуем Конечно.. конечно…
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
15.09.2015, 21:48 |
16 |
Python
Python задачи
Вводятся три целых числа. Определить какое из них наибольшее.Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной.Разбор задачи на Python
Алгоритм решения задачи
1) Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.
2) Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.
3)Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.
Решение задачи с использованием Python
a = int(input(‘Введите число 1 -‘))
b = int(input(‘Введите число 2 -‘))
c = int(input(‘Введите число 3 -‘))
m = a
if m < b:
m = b
if m < c:
m = c
print(m)
Python
Python задачи
Все задачи на python
Репост статьи
13 июля 2022 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !