Операторы, выражения
Урок 1.
Числа и арифметические операции с ними
Задача 1.
Выражения
Третьекласснику Вове задали
домашнее задание по математике, и папа-программист сказал, что вечером
обязательно проверит его. Но Вове лень считать, поэтому он пишет программы на
Python.
Посчитайте и последовательно
выведите на экран значения математических выражений, по одному в каждой
строчке, чтобы Вове не досталось от папы:
- 6 умножить на 39;
- 3 в степени 5;
- Минус 8 разделить на минус 4;
- 10 разделить на 2 и прибавить
6.
Задача 2. Эти
замечательные астрологи
Венера, преподаватель Максима по астрологии
и нумерологии, не верит, что математические операции работают так, как
описывает математика. Напишите для Максима программу, которая демонстрировала
бы работу основных операций, чтобы убедить Венеру.
1. Создайте
три переменных, каждой из них присвойте любые числа, например 5, 4, 2 (кстати,
не забывайте про множественное присваивание).
2. Затем
выведите результат сложения, вычитания, умножения, деления и возведения в
степень всех трёх переменных в отдельных строчках. Результат с 5, 4 и 2 должен
выглядеть так:

Задача 3. Деление на ноль
Проверим школьное правило «На ноль
делить нельзя». Напишите программу, которая выводит результат деления числа
(например 65) на ноль. Какой будет ответ?
Тизер к заданию
Правильный ответ: деление на ноль в
питоне порождает ошибку ZeroDivisionError, это означает, что на ноль делить
нельзя. Однако в будущем мы узнаем, что делить на ноль всё-таки можно — и даже
получать бесконечность, но это уже совсем другая история :)
Урок 2. Приоритет
арифметических операций
Задача
1. Фруктовый сад
Маша
проводит исследования корреляции размеров фруктов в зависимости от их
расположения на участке. Она взяла яблоко, грушу и персик диаметрами 8, 5 и 3
сантиметра соответственно и вычислила коэффициент зависимости по своей формуле.
Реализуйте
программу, которая вычисляет значение выражения

где
a, b и c — переменные, в которых лежат числа 8, 5 и 3 соответственно. Выведите
результат на экран.
Задача
2. Автобус или метро?
Для
расчёта эффективности потраченных денег на метро и автобус Никита использует
следующую формулу:

В
общем, не спрашивайте. Он написал программу для подсчёта формулы, но она
почему-то не работает.
bus =
5
metro = 3
result = (6 + 10 - bus * 2) / (bus + 1) + 132 / 2 + metro
print(result)
Скопируйте
программу в редактор, исправьте выражение и убедитесь в правильности её работы.
Правильный ответ: 26.607142857142858
Задача
3. Сложные степени
Говорят,
если в 22:31:49 посчитать на Python значение определённого выражения, то спустя
год станешь очень хорошим программистом. Давайте проверим это утверждение.
1.
Создайте переменную и запишите в неё следующее математическое выражение:

2.
Затем выведите значение переменной на экран. Ответ должен быть равен
378652.3611111111.
3.
Будьте внимательны со скобками, особенно с делением числителя на знаменатель.
Урок 3. Ввод числа с
клавиатуры
Задача
1. Координаты точки
Лена
пишет программу для построения графиков функций, чтобы можно было анализировать
статистику посещений её сайта. Перед тем как построить график функции, Лена сначала
расставляет на нём точки. У каждой точки есть координаты: X и Y. Лене также
нужно найти сумму этих координат, чтобы убедиться в их правильном расположении.
- Реализуйте
программу, которую мы разбирали в уроке: она запрашивает у пользователя
два числа и выводит их сумму на экран.
- Используйте
функцию int() для преобразования входящих данных из текста в число. Для
этого внутри скобок функции int вставьте команду input. Результат должен
быть таким:

Задача
2. Отрезок
Доверчивой
Лене необходимо построить отрезок, соединяющий две точки на графике, и найти
его длину по довольно необычной формуле, которую она нашла в интернете. Для
нахождения длины отрезка нужны координаты как первой, так и второй точки.
Продолжая
программу прошлой задачи, добавьте ввод третьего и четвёртого числа, вычислите
значение выражения и выведите результат на экран.
Выражение:

Результат:

Задача
3. Исправление ошибки
Секретарь
заполняла данные по категории сотрудников для расчёта множителя к зарплате и,
не проверив правильность записи, случайно нажала «Подтвердить», после чего
данные со значениями заблокировались. Однако осталась возможность редактировать
формулу.
Дана
программа:
a
= '2'
b = '5'
c = '3'
num = 6 ** a + (7 - b) * c
print(num)
Скопируйте
её в редактор и исправьте в ней четвёртую строку, используя только функцию
int().
Запустите
и проверьте работу программы. Результат должен быть равен 42.
Урок 4. Деление нацело и с остатком
Задача
1. Яблоки
Транспортная
компания ООО «ФруктыТрансСервис» занимается логистикой и грузоперевозками
фруктов. Программисту Владимиру дали задачу написать программное обеспечение,
которое позволит понять, сколько фруктов можно загрузить и сколько останется на
складе.
Напишите
программу, которая решает задачу из урока: у транспортной компании есть 41
тонна яблок, которые нужно разместить по ящикам. Каждый ящик вмещает в себя три
тонны. Необходимо выяснить, сколько ящиков мы сможем заполнить и сколько яблок
останется. Оба ответа нужно вывести на экран.
Задача
2. Последняя цифра
Избирательный
участок включает в свою базу данных номера квартир и домов и, чтобы не хранить
два числа отдельно, оба номера записывает одним числом вместе, где последняя
цифра — это номер дома, а всё, что перед ней, — номер квартиры.
Реализуйте
программу, которая запрашивает число у пользователя, а затем выводит на экран
номер дома и номер квартиры. Пример:

Задача
3. Спортсмены
Есть
три спортсмена, каждый из них уже пробежал некоторое количество кругов. Каждый
круг — 100 метров. Необходимо узнать, сколько от следующего круга уже пробежал
каждый спортсмен.
Напишите
программу, которая получает от каждого спортсмена дистанцию, которую тот
пробежал. Выведите, сколько метров очередного круга тот уже пробежал.
3.7
Домашняя работа
Задача
1. Язык математики
Что нужно сделать
Маше для защиты курсовой работы нужно написать программу для
расчёта экономической модели по формуле. Как записать саму формулу в программу,
она не знает, у неё есть только начальные значения. Поэтому Маша решила просто
заплатить Егору, чтобы тот написал её быстрее.
Дана программа:
a = 8
b = 10
c = 12
d = 18
Продолжите программу: переведите выражение с математического языка
на язык Python, запишите его в переменную res и выведите результат.
Выражение:

Что оценивается
- Результат
вычисления корректен.
- Правильное
употребление пробелов после запятых и при бинарных операциях.
Задача
2. Финансовый отчёт
Что нужно сделать
Наде дали задание сформировать финансовый отчёт за последние 20
лет по полугодиям. Нужно сумму дохода первых двух кварталов поделить на сумму
последних двух кварталов, чтобы понять динамику роста или падения дохода. И так
за каждый год. Надя решила, что быстрее будет написать простую программу,
которая сделает всё за неё.
- Запросите
у пользователя четыре числа.
- Отдельно
сложите два первых и отдельно — два вторых.
- Разделите
первую сумму на вторую.
- Выведите
результат на экран.
Что оценивается
- input
содержит корректное приглашение для ввода;
- результат
вычислений корректен;
- переменные
имеют значащие имена, не только a, b, c, d (видео 2.3);
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
3. Следующее и предыдущее числа
Что нужно сделать
Напишите программу, которая получает от пользователя число и выводит
на экран два ответа — следующее и предыдущее числа. Результат:

Что оценивается
- input
содержит корректное приглашение для ввода;
- вывод
соответствует заданию;
- нет простых print(a),
print(a - 1);
- пробелы
после запятых в print.
Задача
4. Площадь треугольника
Что нужно сделать
Напишите программу, которая запрашивает у пользователя длины двух
катетов
в прямоугольном треугольнике и выводит его площадь.

Советы и рекомендации
- Не
стоит применять целочисленное деление, это не совсем корректно.
- Обратите
внимание на написание переменной S: её нужно писать s — со строчной.
Что оценивается
- корректность
вычислений и применения правильных операций;
- input
содержит корректное приглашение для ввода;
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
5. Часы
Что нужно сделать
Напишите программу, которая получает на вход число n (количество
минут), затем считает, сколько это будет в часах и сколько минут останется, и
выводит на экран эти два результата.
Что оценивается
- результат
вычислений корректен;
- input
содержит корректное приглашение для ввода;
- переменные
имеют значащие названия;
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
6. Проверяем бухгалтера
Что нужно сделать
Невнимательный бухгалтер Антон складывает числа быстро, но иногда
забывает о двух последних разрядах. Напишите программу, которая бы складывала
только два последних разряда.
Реализуйте программу, которая запрашивает два числа у
пользователя. После этого у каждого числа возьмите две последние цифры.
Получившиеся два числа сложите и выведите на экран. Пример:

Что оценивается
- результат
вычислений корректен;
- input
содержит корректное приглашение для ввода;
- переменные
имеют значащие названия;
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
7. Поездка по кругу
Что нужно сделать
Вася решил потренироваться перед марафоном и покататься вокруг
Москвы на скорость. Длина дороги — 115 километров. Вася стартует с нулевого
километра и едет со скоростью v километров в час. На какой отметке он
остановится через t часов?
Реализуйте программу, которая спрашивает у пользователя v и t и
выводит целое число от 0 до 114 — номер километра, на котором остановится Вася.
Учтите, что он может прокатиться больше одного круга.
Что оценивается
- результат
вычислений корректен;
- input
содержит корректное приглашение для ввода;
- переменные
имеют значащие названия (могут быть краткими);
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
8. «Режем» число на части
Что нужно сделать
Реализуйте программу, которая получает на вход четырёхзначное
число и выводит на экран каждую его цифру отдельно (в одну строчку либо каждую
цифру в новой строчке). Само число при этом изменять нельзя, то
есть нужно обойтись без переприсваивания. Однако можно использовать сколько
угодно переменных.
Что оценивается
- результат
вычислений корректен;
- Input
содержит корректное приглашение для ввода;
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
9. В обратном порядке
Что нужно сделать
Реализуйте программу, которая получает на вход четырёхзначное
число и выводит его на экран в обратном порядке. Само число при этом
изменять нельзя, то есть нужно обойтись без переприсваивания. Однако можно
использовать сколько угодно переменных. Пример ввода: 1234. Пример вывода:
4321.
Что оценивается
- результат
вычислений корректен;
- input
содержит корректное приглашение для ввода;
- пробелы
после запятых, пробелы при бинарных операциях.
Задача
10. Поменять местами: не всё так просто! (необязательная, повышенной сложности)
Что нужно сделать
Мы умеем менять местами строковые переменные и знаем, что в
переменных, кроме строк, можно хранить и числа. Напишите программу, которая
меняла бы значения двух переменных местами, но без использования третьей
переменной и синтаксического сахара, который мы разбирали, а именно — без
конструкции a,b = b,a. В переменные будут вводиться только числа.
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
print(a, b)
# стереть эту строчку и вставить свой код здесь
print(a, b)
Изменять, удалять, менять местами 1-ю, 2-ю, 3-ю и последнюю
строчки нельзя.
Но в 4-ю строку можно вставлять сколько угодно кода, не трогая
последний принт.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.