1963
Комментарий:
|
4021
|
Удаления помечены так. | Добавления помечены так. |
Строка 3: | Строка 3: |
* {i) самостоятельные упражнения, что пустое, а что нет | * {i} самостоятельные упражнения, что пустое, а что нет |
Строка 7: | Строка 7: |
* (!) ^1^ Похожая задачка на слегка более развесистые if-ы (принадлежит ли отрезок эллипсу, что-то такое) | * (!) Задача_0 добавить проверку на то, что все стороны >0 * (!) Задача_1 (на if-ы) |
Строка 14: | Строка 15: |
* (!) ^2^ Задачка, в которой удобно использовать `else:` к циклу (как правило, с двумя исходами, как при поиске: что-то нашли vs. всё посмотрели, не нашли ничего; можно прямо поиск) * (!) ^3^ Задачка на вложенные циклы (например, неотформатированная по ширине столбцов таблица умножения от 2 до 5), `for` и `range()` использовать нельзя :) ) * (!) ^4^ Задачка с чуть более непростым/тупо длинным алгоритмом в расчёте, что у некоторых она останется на дом. Чтоб доделали дома. Можно поискать [[http://grep.cs.msu.ru/kufas.ru/programming190.htm|тут]] или [[http://grep.cs.msu.ru/narhoz-chita.ru/zadachnik/Glava10/index10.htm|тут]] |
* (!) Задача_2 (на while-else) * (!) Задача_3 (на вложенные циклы while) * (!) Задача_4 (тоже на вложенные циклы while), с чуть более непростым/тупо длинным алгоритмом в расчёте, что у некоторых она останется на дом. == Задачи == Задача_1 (на if-ы) * заданы три класса чисел: * A: четные, делящиеся на 25 * B: нечетные, делящиеся на 25 * C: делящиеся на 8 * напишите программу, которая: * вводит целое число * выводит информацию о его принадлежности к классам A, B, C * формат вывода: B+ A- C+ (порядок перечисления классов не важен), можно в столбик Задача_2 (на while-else) * напишите программу, которая: * в цикле вводит целые числа * суммирует введённые положительные числа * если введен 0 или отрицательное число, выводит последнее введнное число и завершает работу * если сумма превысила 21, выводит сумму и завершает работу Задача_3 (на вложенные циклы while) * напишите программу, которая: * выводит таблицу умножения целых чисел от 3 до 6 * формат вывода: первый множитель изменяется по строкам, второй - по столбцам; форматировать столбцы, чтобы они были "ровными" (т.е. выравнивать длину примеров), не нужно * при этом если сумма цифр произведения равна 6, то вместо произведения печатать смайлик `:=)` * конструкцию `range()` при написании программы использовать нельзя Задача_4 (тоже на вложенные циклы while) * напишите программу, которая: * вводит целые положительные числа a и n (можно считать, что ввод корректен) * проверяет (простым перебором), существуют ли такие целые положительные числа x, y, z, что `x^n + y^n + z^n = a` * если числа x, y, z найдены, то выводит их значения; достаточно найти одну тройку чисел * если не найдены, то выводит "FAIL" * при тестировании программы можно ограничиться значениями a, не превышающими 1000 |
02. Логические выражения, условные операторы и цикл
- Питоновская алгебра логики; пустые и непустые объекты
самостоятельные упражнения, что пустое, а что нет
использование аll() и any()
- Условный оператор
Неравенство треугольника
Задача_0 добавить проверку на то, что все стороны >0
Задача_1 (на if-ы)
- Ещё раз про git и именование заданий
оформление первой задачи как следует!
Цикл while
цикл по вводу из лекций
else к while
удобство «:=», его отсутствие в нынешнем EJ
Задача_2 (на while-else)
Задача_3 (на вложенные циклы while)
Задача_4 (тоже на вложенные циклы while), с чуть более непростым/тупо длинным алгоритмом в расчёте, что у некоторых она останется на дом.
Задачи
Задача_1 (на if-ы)
- заданы три класса чисел:
- A: четные, делящиеся на 25
- B: нечетные, делящиеся на 25
- C: делящиеся на 8
- напишите программу, которая:
- вводит целое число
- выводит информацию о его принадлежности к классам A, B, C
- формат вывода: B+ A- C+ (порядок перечисления классов не важен), можно в столбик
Задача_2 (на while-else)
- напишите программу, которая:
- в цикле вводит целые числа
- суммирует введённые положительные числа
- если введен 0 или отрицательное число, выводит последнее введнное число и завершает работу
- если сумма превысила 21, выводит сумму и завершает работу
Задача_3 (на вложенные циклы while)
- напишите программу, которая:
- выводит таблицу умножения целых чисел от 3 до 6
- формат вывода: первый множитель изменяется по строкам, второй - по столбцам; форматировать столбцы, чтобы они были "ровными" (т.е. выравнивать длину примеров), не нужно
при этом если сумма цифр произведения равна 6, то вместо произведения печатать смайлик :=)
конструкцию range() при написании программы использовать нельзя
Задача_4 (тоже на вложенные циклы while)
- напишите программу, которая:
- вводит целые положительные числа a и n (можно считать, что ввод корректен)
проверяет (простым перебором), существуют ли такие целые положительные числа x, y, z, что x^n + y^n + z^n = a
- если числа x, y, z найдены, то выводит их значения; достаточно найти одну тройку чисел
- если не найдены, то выводит "FAIL"
- при тестировании программы можно ограничиться значениями a, не превышающими 1000