Файл: Алгоритм и его свойства Простейшие программы Вычисления Ветвления Символьные строки Циклические алгоритмы Массивы (списки) Поиск в массиве Алгоритм и его свойства Что такое алгоритм.pptx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 1087
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Координатное поле окна для рисования
Как организовать цикл (36 повторений)?
Как записать значение в переменную?
Сложение чисел: простое решение
Сложение чисел: полное решение
Ввод двух значений в одной строке
Линейный конгруэнтный генератор
Условный оператор: неполная форма
Деление
Классическое деление:a = 9; b = 6x = 3 / 4 # = 0.75 x = a / b # = 1.5x = -3 / 4 # = -0.75 x = -a / b # = -1.5Целочисленное деление (округление «вниз»!):a = 9; b = 6x = 3 // 4 # = 0 x = a // b # = 1x = -3 // 4 # = -1 x = -a // b # = -2Остаток от деления
% – остаток от деленияd = 85b = d // 10 # 8 a = d % 10 # 5 d = a % b # 5 d = b % a # 3a = 15b = 19d = a // b # 0 a = a % b # 15Операторы // и %
a = 1234d = a % 10; print( d ) a = a // 10 # 123 d = a % 10; print( d ) a = a // 10 # 12 d = a % 10; print( d ) a = a // 10 # 1 d = a % 10; print( d ) a = a // 10 # 0 4321Сокращенная запись операций
a += b # a = a + b a -= b # a = a - b a *= b # a = a * b a /= b # a = a / ba //= b # a = a // ba %= b # a = a % ba += 1 увеличение на 1Ввод двух значений в одной строке
a, b = map ( int, input().split() )input()ввести строку с клавиатуры21 33 input().split() 2133 разделить строку на части по пробеламmap ( int, input().split() )2133 целыеприменитьэту операциюк каждой частиa, b = map ( int, input().split() )Задания
«3»: Ввести три числа: цену пирожка (два числа: рубли, потом – копейки) и количество пирожков. Найти сумму, которую нужно заплатить (рубли и копейки) Пример: Стоимость пирожка: 12 50 Сколько пирожков: 5 К оплате: 62 руб. 50 коп.«4»: Ввести число, обозначающее количество секунд. Вывести то же самое время в часах, минутах и секундах. Пример: Число секунд: 8325 2 ч. 18 мин. 45 сЗадания
«5»: Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками – 10 минут. Ввести номер урока и вывести время его окончания. Пример: Введите номер урока: 6 13-50Случайные числа
Случайно…- встретить друга на улице
- разбить тарелку
- найти 10 рублей
- выиграть в лотерею
- жеребьевка на соревнованиях
- выигравшие номера в лотерее
Случайные числа на компьютере
Электронный генератор- нужно специальное устройство
- нельзя воспроизвести результаты
- малый период (последовательность повторяется через 106 чисел)
– обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.
зерно
Линейный конгруэнтный генератор
X = (a*X+b) % c | интервал от 0 до c-1X = (X+3) % 10 | интервал от 0 до 9X = 0зерно 3 6 9 2 5 8 0зацикливание8 1 4 7Важен правильный выбор параметров a, b и с!!Компилятор GCC:a = 1103515245 b = 12345c = 231 Генератор на [0,1): X = random.random() # псевдосл. числоY = random.random() # уже другое число!Целые числа на отрезке [a,b]: X = random.randint(1,6) # псевдосл. числоY = random.randint(1,6) # уже другое число!import randomангл. random – случайныйГенератор на [a, b] (вещественные числа): X = random.uniform(1.2, 3.5) Y = random.uniform(1.2, 3.5)Генератор на [0,1): X = random() # псевдослучайное числоY = random() # это уже другое число!Целые числа на отрезке [a,b]: X = randint(10,60) # псевдослучайное числоY = randint(10,60) # это уже другое число!from random import *англ. random – случайныйподключить все!Задачи
«3»: Игральный кубик бросается три раза (выпадает три случайных значения). Сколько очков в среднем выпало? Пример:_Выпало_очков:_5_3_1_(5+3+1)/3=3_«4»'>Пример:Выпало очков:5 3 1(5+3+1)/3=3«4»: Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется целое число, программа должна найти его квадрат.Пример:Выпало очков:1 2 3Число 123Его квадрат 15129Задачи
«5»: Получить случайное трёхзначное число и вывести через запятую его отдельные цифры. Пример:Получено число 123сотни: 1десятки: 2единицы: 3Ветвления
Условный оператор
Задача: изменить порядок действий в зависимости от выполнения некоторого условия.M = aa > b?M = bданетвывод Mполная форма ветвленияЕсли a = b??if a > b: M = a else: M = bотступыУсловный оператор: неполная форма
M = bb > a?данетвывод MM = aнеполная форма ветвленияM = a if b > a: M = bM = max(a, b)Решение в стиле Python:M = a if a > b else bУсловный оператор
if a < b: с = a a = b b = c Что делает??46?464ab321Можно ли обойтись без переменной c??ca, b = b, aРешение в стиле Python:Знаки отношений
><>=<===!=больше, меньшебольше или равноменьше или равноравноне равноВложенные условные операторы
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%.