Различия между версиями 1 и 6 (по 5 версиям)
Версия 1 от 2020-09-16 19:04:24
Размер: 1963
Редактор: FrBrGeorge
Комментарий:
Версия 6 от 2020-09-17 17:43:13
Размер: 4021
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 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. Логические выражения, условные операторы и цикл

  • Питоновская алгебра логики; пустые и непустые объекты
    • {i} самостоятельные упражнения, что пустое, а что нет

    • {i} использование аll() и any()

  • Условный оператор
    • {i} Неравенство треугольника

      • (!) Задача_0 добавить проверку на то, что все стороны >0

    • (!) Задача_1 (на if-ы)

  • Ещё раз про git и именование заданий
    • {i} оформление первой задачи как следует!

  • Цикл while

    • {i} цикл по вводу из лекций

      • 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

LecturesCMC/PythonIntro2020/Prac/02_Conditionals (последним исправлял пользователь FrBrGeorge 2020-10-01 21:33:23)