Файл: 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов.ppt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 1714
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Направления в программировании
Вывод данных с текстом (f-строки)
Ввод двух чисел в одной строке
Выбор наибольшего из двух чисел
Выбор наибольшего из двух чисел-2
Задачи (без функций min и max!)
Хорошее решение (операция «И»)
Программирование экспертной системы
Модифицированный алгоритм Евклида
Задачи на циклы (дополнительные)
Вывод массива на экран (Python)
Сумма элементов массива (Python)
Подсчёт элементов по условию (Python)
Среднее арифметическое (Python)
Перестановка элементов массива
Датчик случайных чисел
Вещественные числа: from random import random, uniformx = random() # полуинтервал [0,1)y = 7*random() # полуинтервал [0,7)z = 7*random()+5 # полуинтервал [5,12)from random import uniformx = uniform(1.5, 2.8) # [1,5; 2,8]y = uniform(5.25, 12.75) # [5,25; 12,75]Вещественные числа на отрезке [a, b]:Задачи
«A»: В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из которых написано число от 1 до 90. Напишите программу, которая выводит наугад первые 5 выигрышных номеров.«B»: + Доработайте программу «Русское лото» так, чтобы все 5 значений гарантированно были бы разными (используйте разные диапазоны).Задачи
«С»: + Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.Пример: Выпало очков: 1 2 3 Число 123 Его квадрат 15129Задачи
«D»: + Получить случайное трёхзначное число и вывести в столбик его отдельные цифры.Пример: Получено число 123 сотни: 1 десятки: 2 единицы: 3 § 19. ВетвленияВыбор наибольшего из двух чисел
Задача: изменить порядок действий в зависимости от выполнения некоторого условия.M = aa > b?M = b да нетвывод M полная форма ветвления Если a = b? ?if a > b: M = a else: M = b отступыВариант 1. Программа
print("Введите два целых числа")a = int(input())b = int(input()) if a > b: else: print("Наибольшее число", M)M = aM = b полная форма условного оператораM = max(a, b)Решение в стиле Python:M = a if a > b else b
Выбор наибольшего из двух чисел-2
неполная форма ветвления началоM = a ввод a,bM = b конец да нетb > a? вывод MВариант 2. Программа
print("Введите два целых числа")a = int(input())b = int(input())M = a if b > a: print("Наибольшее число", M)M = b неполная форма условного оператораПримеры
if a < b: M = a if b < a: M = b Что плохо? ? Когда работает неверно? ?Поиск минимального:Примеры
if a < b: c = a a = b b = c Что делает эта программа? ? В чём отличие? ?if a < b: c = a a = bb = c46?464ab 3 2 1ca, b = b, aРешение в стиле Python: if a < b then begin c:= a; a:= b; b:= c;end;Паскаль:С:if (a < b) { c = a; a = b; b = c; }Знаки отношений
><>=<===!= больше, меньше больше или равно меньше или равно равно не равноВложенные условные операторы
if a > b: print("Андрей старше") else: if a == b: print("Одного возраста")else: print("Борис старше") вложенный условный оператор Зачем нужен? ?Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше? Сколько вариантов? ?Каскадное ветвление
if a > b: print("Андрей старше") elif a == b: print("Одного возраста")else: print("Борис старше") elif = else if !Каскадное ветвление
cost = 1500if cost < 1000: print ( "Скидок нет." )elif cost < 2000: print ( "Скидка 2%." )elif cost < 5000: print ( "Скидка 5%." )else: print ( "Скидка 10%." ) Что выведет? ? первое сработавшее условиеСкидка 2%.Задачи (без функций min и max!)
«A»: Ввести два целых числа, найти наибольшее и наименьшее из них. Пример:__Введите_четыре_целых_числа:__1_5_4_3__Наибольшее_число_5___Задачи'>Пример:Введите два целых числа:1 5Наибольшее число 5Наименьшее число 1«B»: Ввести четыре целых числа, найти наибольшее из них. Пример:Введите четыре целых числа:1 5 4 3Наибольшее число 5Задачи
«C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример:Возраст Антона: 15 Возраст Бориса: 17 Возраст Виктора: 16 Ответ: Борис старше всех.Пример:Возраст Антона: 17 Возраст Бориса: 17 Возраст Виктора: 16Ответ: Антон и Борис старше Виктора.
Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит").Особенность: надо проверить, выполняются ли два условия одновременно: возраст 25 возраст 40 Можно ли решить известными методами? ?Плохое решение
print("Введите ваш возраст")x = int(input())if x >= 25: if x <= 40: print("Подходит!") else: print("Не подходит.")else: print("Не подходит.") вложенный условный операторХорошее решение (операция «И»)
if : print("подходит")else: print("не подходит")andv >= 25 and v <= 40 сложное условие «И»: одновременное выполнение всех условий! Задача: набор сотрудников в возрасте 25-40 лет (включительно).Примеры
Задача. Вывести "Да", если число в переменной a – двузначное.if 10 <= a and a <= 99: print("Да")Задача. Вывести "Да", если число в переменной a – двузначное и делится на 7.if 10 <= a and a <= 99 and (a % 7)==0: print("Да")Сложные условия: «ИЛИ»
Задача. Самолёт летает по понедельникам и четвергам. Ввести номер дня недели и определить, летает ли в этот день самолёт.Особенность: надо проверить, выполняется ли одно из двух условий: день = 1 день = 4if d == 1 or d == 4 : print("Летает")else: print("Не летает") сложное условиеd == 1 or d == 4 or «ИЛИ»: выполнение хотя бы одного из двух условий!Ещё пример
Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит"). Использовать «ИЛИ».if : print("не подходит")else: print("подходит")v < 25 or v > 40Сложные условия: «НЕ»
if not(a < b): print("Cтарт!")not «НЕ»: если выполняется обратное условиеif a >= b: print("Cтарт!") Как без «НЕ»? ?Простые и сложные условия
Простые условия (отношения) < <= > >= == !=Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:- and – одновременное выполнение условий
x >= 25 and x <= 40
or – выполнение хотя бы одного из условий
x <= 25 or x >= 40
not – отрицание, обратное условие
not (x > 25) ???
- выражения в скобках
<, <=, >, >=, =, !=
not
and
or
- if not a > 2 or c != 5 and b < a:
...
Сложные условия
Истинно или ложно при a = 2; b = 3; c = 4- not (a > b)
a < b and b < c
a > c or b > c
a < b and b > c
a > c and b > d
not (a >= b) or c = d
a >= b or not (c < b)
a > c or b > c or b > a