Различия между версиями 7 и 8
Версия 7 от 2021-10-02 19:53:09
Размер: 3247
Редактор: FrBrGeorge
Комментарий:
Версия 8 от 2021-10-02 20:02:51
Размер: 3246
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 64: Строка 64:
 1. <<EJCMC(165, ManualLogarithm, Логарифм)>>  1. <<EJCMC(165, ManualAtan, Арктангенс)>>

Логические выражения и цикл

Разбор задачи «Неравенство треугольника»

  • С вложенным if

  • С гипотезой о результате

Кстати, о максимуме из трёх:

  •    1 M = M if (M := a if a > b else b) > c else c
    

Логические выражения

  • Вложенные условия → операция and

  • Любое условие из двух → or

  • Отрицание условия → not

or

and

A

B

A or B

A

B

A and B

False

False

False

False

False

False

False

True

True

False

True

False

True

False

True

True

False

False

True

True

True

True

True

True

  • Ленивые вычисления
  • Перепишем неравенство треугольника
    • «проверка на не-треугольник» (просто not от исходного выражения!)

    • правило раскрытия скобок и ǸOT (или наоборот ☺)

далее — булева алгебра (кажется, была в школе)…

вся правда о логических выражениях в Python

Цикл

Для записи алгоритма требуются (грубое предположение):

  1. переменные
  2. условные операторы
  3. циклы

Простой while:

   1 while условие:
   2     оператор1
   3     оператор2
   4 
  • Пример: цикл со счётчиком
  • Каноническая схема цикла:
    1. Инициализация
    2. Проверка условия
    3. Тело
    4. Изменение условия
  • Пhимер: таблица умножения на 6
  • Цикл по вводу
  • Поиск первого: флаговая переменная, break и else

  • Пропуск фрагмента кода: continue

Вложенные циклы

Принцип: внутри цикла может быть что угодно. Если там вложенный цикл. он начнётся, отработает и закончится.

  • Пример: Цикл по вводу + цикл внутри
  • Пример: Таблица умножения от 2 до 6
    • Эффект от нарушения канонической схемы

Д/З

  1. Прощёлкать:
  2. EJudge: SquareIntersect 'Площадь пересечения'

    В столбик вводятся 2×N целых не равных нулю чисел — координаты левых верхних вершин квадратов размером 1000×1000 (N>0). Последовательность заканчивается двумя нулями. Вывести площадь пересечения всех этих квадратов — области, которая входит в каждый из них. Оси координат направлены вправо и вниз — это стандартная практика для компьютерных изображений.

    Input:

    -10
    10
    100
    100
    -300
    -200
    0
    0
    Output:

    420000
  3. .?
  4. .?
  5. .?

Python/GeoPython2021/04_Loops (последним исправлял пользователь FrBrGeorge 2021-10-31 21:49:00)