Запросить 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 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !






