Информатика на Python, лекция 3, ФБВТ МФТИ (2023)

Поділитися
Вставка
  • Опубліковано 30 жов 2023
  • Курс информатики для 1-го курса ФБВТ МФТИ (2023).
    Лекция 3, алгоритмы работы с последовательностями
    Содержание:
    1) Работа с последовательностями: подсчет, сумма, произведение, среднее арифметическое, среднее квадратичное отклонение, min/max, медиана
    2) Работа с числами: разбиение числа на цифры, арифметическая и геометрическая прогрессии, каноническое разложение
    3) Функции map и filter
    Плейлист с лекциями 1-го курса ФБВТ МФТИ (2023): • 2023 ФБВТ Информатика ...
    Снял и смонтировал видео: ​⁠​⁠ youtube.com/@antonoreshkin?si...

КОМЕНТАРІ • 44

  • @user-fm7ce2lo2l
    @user-fm7ce2lo2l 7 місяців тому +33

    Спасибо Вам за ваши лекции в открытом доступе!

  • @alexzdorovennov4035
    @alexzdorovennov4035 7 місяців тому +13

    легендарое возвращение

    • @xAlorianx
      @xAlorianx 7 місяців тому +6

      Побухтели и хватит как говорится

    • @user-fo6mw7rt3u
      @user-fo6mw7rt3u 2 місяці тому

      ​@@xAlorianx Деньги не пахнут, а так же будет на переменных своё мировоззрение вливать в уши🤮

  • @iritaka
    @iritaka 3 місяці тому +3

    таймкоды: входные данные функции (параметры), выходные данные, побочные эффекты функции, работа с одним\последовательностью параметром, прогрессия, генераторы списков, функция мап
    0:00 вступление
    0:08 Алгоритмы работы с последовательностями. Пример рисунок на доске алгоритм - как чёрный ящик с 1) входными данными (x) 2) выходными (y). Есть два смысла слова ФУНКЦИЯ: 1) специальная конструкция, зашитая в Язык Программирования и 2) привычная, математическая. Функция - отличный контейнер. Чтобы реализовать любую "функцию" т.е. любой алгоритм, достаточно 1.Циклов, 2.Ветвлений и 3.Переменных. + 4.Массивы. И этого хватит для Тьюринг-полноты
    1:16 какие данные поступают на вход алгоритма
    2:13 память функции. Побочные эффекты Non pure function. Например, print("Hello, world") - это распечатка на поток вывода, а не возврат значения типа return
    3:48 входные и выходные данные (у функции, как чёрного ящика) 4 типа. Что мы ей туда засовываем. По входным данным: это может быть либо - число, либо - последовательность. Длина этого "списка" будет определена в момент передачи (вызова функции), а не в момент её написания ( объявления). (1) число -> число ( x ->f(x)), (2) последовательность -> число ([x1, x2,...xn] -> y). Редуцирующие алгоритмы (сводят к одному значению)
    16:35 Функция, как 1) чёрная коробка (не открывается, смотрим только с точки зрения её поведения, не разбираясь в его реализации), 2) белая коробка (можно заглянуть внутрь, смотрим на логику её обработки и не важно кто и зачем это прислали (x)). Результат зависит только от входных данных
    19:54 (3) число -> последовательность x -> [y1,y2,...ym]. Это: - разбиение числа на цифры, - арифметическая прогрессия, - геометрическая прогрессия, - каноническое разложение на множители
    22:57 входные данные. (start, stop, step) - три параметра прогрессии, список параметров
    23:46 (4) последовательность -> последовательность [x1,...xn] -> [y1,...ym]
    24:25 -1) полная загрузка -> полная выгрузка, -2) конвейерное применение f(x), потоковая обработка последовательности по одному, по мере необходимости, как в типе (1) с числами. Где f(x) размапливают (map),
    27:34 - 3) фильтр, фильтрация потока, сортировки
    31:36 код алгоритма конвейерного применения
    31:50 фильтрация потока, применение критерия
    32:45 можно объединить
    33:12 list comprehension Генераторы списков
    35:18 код 2 аналогичные записи
    35:25 функция map(): B = map(f, filter(crit, A))
    38:40 как генерируется арифметическая прогрессия, параметры start, stop, step
    39:25 перенос строки
    40:55 цикл while() для потенциально бесконечных
    42:08 переход к следующему элементу: механизм итерирования, перешагивания на следующую итерацию
    42:27 код на доске арифметической прогрессии 2 аналогичные записи
    42:58 тесты. баг №1 если шаг = 0
    45:30 к функции есть 1) документация обычно: набор параметров, допустимые значения, что она должна возвращать, 2) фактическая реализация, которая может вести себя специфически, бывают недокументируемые возможности, а бывают баги. Для этого тестировщики создают тест-кейсы
    47:07 код фиксед
    47:52 баг бесконечное зацикливание
    48:08 в x += step, икс ушёл бы в минус так далеко, что пришёл бы из плюса ( в ЯП С++)
    51:18 код фиксед 1,2,3
    53:46 геометрическая прогрессия, важные условия
    54:26 разбиение числа на цифры
    55:45 полуриторические вопросы
    58:32 код разбиение числа на цифры
    58:48 алгоритмы обработки последовательностей (2), Индуктивный алгоритм обработки последовательности
    1:01:22 функция f() называется индуктивной
    1:02:28 механизм индукции: f current текущий + x next следующий = f current next, который на следующей итерации является f current
    1:04:09 код алгоритма сумма
    1:05:55 код подсчёт. Инкрементация increment (прибавление по единичке). Вычитание decrement
    1:06:28 среднее арифметическое
    1:07:55 код произведение
    1:09:07 среднеквадратическое отклонение, дисперсия
    1:10:31 механизм подсчёта за один проход, однопроходные алгоритмы
    1:15:37 код алгоритм среднеквадратическое отклонение
    Разъяснение тем лекции (читать, скачать бесплатно в формате docx) в группе ВК "Основы Программирования (кодинг) на Python" (osnovyprogrammirovania)

  • @jiper100
    @jiper100 7 місяців тому +12

    Лучший препод.!🤘👍

  • @deboloed
    @deboloed 7 місяців тому +9

    Ого, только недавно вспоминал о канале и тут новое видео!

    • @mslq
      @mslq 7 місяців тому

      та же фигня, видать какие то нейрокогены взаимодействуют с лекциями и привлекают внимание. ))

  • @MRaynold
    @MRaynold 7 місяців тому

    Спасибо!

  • @Vladimir_Kondratev.
    @Vladimir_Kondratev. 7 місяців тому

    Спасибо.

  • @siguerhakim4723
    @siguerhakim4723 7 місяців тому +4

    С уважением 😊😊

  • @qrthack3233
    @qrthack3233 7 місяців тому +11

    Мужик с большой буквы :)

  • @aleksandrmorgunov4988
    @aleksandrmorgunov4988 7 місяців тому +2

    Паша, смотри внимательно 🕵️ пригодиться 👆

  • @sashashad
    @sashashad 5 місяців тому +2

    А задачи лабораторных не выкладываются ли куда-то?

  • @stem2577
    @stem2577 5 місяців тому +1

    Сначала не понял, потом как понял, потом совсем не понял. Но очень интересно! Спасибо вам, Тимофей! Пытаюсь изучать Python в свои преклонные годы. Очень низкий поклон вам!

    • @user-jm5jv4pg8n
      @user-jm5jv4pg8n 5 місяців тому

      Скажите , а зачем вы его учите ? Если не секрет

    • @stem2577
      @stem2577 5 місяців тому

      @@user-jm5jv4pg8n Вдруг получится поменять работу. Всегда интересовался программированием.

    • @user-jm5jv4pg8n
      @user-jm5jv4pg8n 5 місяців тому

      @@stem2577 а сколько лет, если не секрет?

  • @legohistory8039
    @legohistory8039 7 місяців тому +1

    😮👍👍

  • @jamjam3337
    @jamjam3337 7 місяців тому

    👏👍

  • @timurv8909
    @timurv8909 7 місяців тому +3

    Лабы бы ещё.

  • @user-rr7yi3ru2p
    @user-rr7yi3ru2p 7 місяців тому

    Здравствуйте! У Вас есть информация про переходные процессы в статистике и как их решать в Excel или Python?

    • @tkhirianov
      @tkhirianov  7 місяців тому

      Нет, у меня такой информации на канале нет.

  • @OmgFiny
    @OmgFiny 7 місяців тому +5

    Поставьте пожалуйста модератора, пусть удаляет гнилые политические высеры

  • @grim6987
    @grim6987 7 місяців тому

    Возвращение Учителя с большой буквы "У"

  • @slavcheg82
    @slavcheg82 6 місяців тому

    Препод - огонь, друзья! Маэстро!

  • @lokirage
    @lokirage 7 місяців тому

    Препод от бога

  • @AKrasheninnikov
    @AKrasheninnikov 7 місяців тому +1

    старинное русское слово "покуда" тоже годится

  • @datamirosh
    @datamirosh 7 місяців тому +2

    Японские свечи и box-plot все же разньіе вещи.

  • @mslq
    @mslq 7 місяців тому

    Ух ты, опять лекции, почему то первые две пропустил.

  • @iritaka
    @iritaka 3 місяці тому

    Разъяснение тем лекции (читать, скачать бесплатно в формате docx) в группе ВК "Основы Программирования (кодинг) на Python" (osnovyprogrammirovania)

  • @pretor700
    @pretor700 3 місяці тому +1

    Таймкоды кто-нибудь сделайте плиз!

    • @iritaka
      @iritaka 3 місяці тому +1

      сделано

  • @user-ye3jz7su1p
    @user-ye3jz7su1p 7 місяців тому +1

    Ни чего не понимаю в языках программирования, особенно нравится подача знаний, в любой даже сложной науке можно разобраться, если это заинтересовывает

  • @DrHeartful
    @DrHeartful 7 місяців тому

    Функция даёт для одного аргумента не более одного значения, а алгоритм может давать и больше.

  • @OlgaGalanina
    @OlgaGalanina 7 місяців тому +13

    Тимофей выдает много лишней информации

    • @user-dq9sh8ghu
      @user-dq9sh8ghu 6 місяців тому +2

      Иногда даже слишком.

    • @qqlfgg
      @qqlfgg 5 місяців тому

      странно я не вижу лишнее

    • @user-hr2dk6jy1k
      @user-hr2dk6jy1k 5 місяців тому +1

      очень много ВАЖНОЙ информации. очень глубоко рассказывает. очень важно дать много примеров, и очень важно постоянно повторять о том что подход сверху вниз это крайне полезный подход... разрабы чаще об этом забывают и пишут вундервафли для решения простейших задач, а потом сильно бурчат когда всё нужно переделать из-за малейших изменений в требованиях

    • @user-nf7ij6fb7h
      @user-nf7ij6fb7h 4 місяці тому +1

      ничего лишнего, просто сразу понять не всегда получается. но именно эта форма подачи позволяет понимать всё ОТ и ДО

    • @OlgaGalanina
      @OlgaGalanina 4 місяці тому

      @@user-nf7ij6fb7h студенты уровня МФТИ в состоянии понять без таких примитивных разьяснений

  • @user-fo6mw7rt3u
    @user-fo6mw7rt3u 2 місяці тому

    Столько лишнего, ужас, и совершенно невменяемое введнение терминологии, невозможно слушать

  • @user-ji6df1ei2c
    @user-ji6df1ei2c 7 місяців тому +2

    много воды, особенно вначале