0:00 Вводные слова, в основном для студентов. 1:00 Начало. Про структурное программирование. Немножко истории. 2:20 Теория о структурном программировании. Суть, по пунктам. 4:08 1. Структурное программирование - это... 5:55 Фишка в том, чего нет в структурном программировании. (о GOTO) 9:45 2. Про повторяющийся код - в функции (10:50 о минусе этого пункта (о программировании снизу-вверх)) 11:40 3. Программируй "сверху-вниз". (главная парадигма) 12:25 Лирика. О системах управления контентом/версиями 14:30 Пример про подход к программированию программы. (итеративный подход) 22:00 Лирика про ошибку в какой-то строке. ($ git blame *.py) 23:00 Возвращаемся к программированию сверху-вниз. Декомпозиция задачи на примере строительства дома. 26:13 Про делегирование. (полномочий и ответственности) 30:50 Про Интерфейс взаимодействия/вызова. Про договоренности/контракт. (Документация) 34:00 Продолжаем про подход сверху вниз. Про pass и документацию. 46:00 Про функцию main в подходе сверху вниз. 48:50 Возвращаемся к рисунку про "мошенника" и что нужно сделать, чтобы он перестал им быть. 54:10 Стираем pass и пишем код. 1:00:25 Нельзя коммитить программу... 1:00:57 Про отладочную печать 1:02:45 Немного практики программирования сверху-вниз "в живую". 1:05:25 Про выбор "опорной точки", о спорах и удобности интерфейса. 1:12:40 О важности запустить программу перед commit'ом. 1:13:15 Резюме о структурном программировании.
В университете надо вставать? У нас в колледже Цюриха препод просто "Привет " говорит. Удивило, что он нам дал эмейл и мобильный рабочий номер. Если непонятки, то можно всегда спросить на неделе или назначить встречу.
Такая традиция приветствия в наших ВУЗах. Кроме того у такого приветствия есть роль переключения внимания, сложно не заметить что вокруг тебя студенты повставали, а значит начась лекция
О, е-е-е, старый добрый БАСИК (Basic). На 7:15 пишется так: 30 IF a=0 THEN GOTO 50 Я не умничаю, это просто ностальгия. Школьный компьютер «Агат». В то время это было что-то бомбически.
А вопрос про GOTO был призабавнейший, презобавнейший для этой аудитории! Конечно наверное не все это должны знать.... сейчас хз чего им в школах преподают
Добрый день Тимофей! В первую очередь хотел бы сказать огромное спасибо за Ваш труд, очень классные лекции! Можно Вас попросить также предоставить доступ к Лабораторным работам, с целью закрепления прослушанного материала. После первых лекций были классные задачи с черепашкой, которые позволили намного глубже понять материал. Дальше к сожалению таких же заданий не нашел. Я думаю, если вы сделаете Лабораторные на платной основе, это будет справедливо и полезно для многих. Еще раз спасибо за Ваш труд!!!
Обратная связь: Как перестать захлёбываться от восторга и ощущения, что ты снова студент, хотя тебе 27 лет :D Очень понятно и интересно. То, что не мог осилить в школе и универе сейчас влёт идет. Хотя образование горного инженера. Которое не пригодилось вообще, хех...
Одного не пойму, как у него в 3мерном пространстве получилось 4 координаты дома. Т.е. если с локейшном, то должно быть 5 переменных - location x,y + 3 для дома (стен, без крыши). Даже если параметры одинаковые по цифре. Или он имел в виду двумерный дом на экране?. Ну и читается не хейт, а хайт, конечно. В дальнейшем пользуемся словами length, width, height. Ну и не lection, а lecture.
Тайм-коды: Структурное Программирование 1:39 одним из первых топил за Парадигму структурное программирование Никлаус Вирт 2:18 суть СП: 4:14 1) программирование - это а) последовательное исполнение б) ветвление в) циклы 5:58 это не GOTO 8:45 продвижение идеи: давайте делать отступы 9:53 2) повторяющийся код -> в функции 11:00 3) программируй "сверху-вниз" (прога сначала создается крупными мазками, а потом уходим в детализацию (решение маленьких подзадач) 12:28 системы управления контентом (системы контроля версий) Git 14:25 рисунок time-line проекта. 1) пустой репозиторий 2) делаем его git-клон 3) initial commit. Файл с прогой отсутствует. Но он Уже (даже пустой) Консистентный (интерпретировабельный) 15:06 итеративный подход 17:21 двигаться итерациями 19:05 промежуточные устойчивые версии 21:44 $ git blame 1.py # это если где-то ошибка 22:46 ваша задача: уметь git pull, git add, git commit, git push 23:01 "сверху-вниз" + Декомпозиция задачи 23:30 пример Постройка дома. (Программа и Подпрограмма) От программы в подпрогр - Параметры, обратно - что-то 26:13 Делегирование подзадачи (полномочий и ответственности) 28:34 источник ошибки 30:47 Интерфейс взаимодействия (вызова) программы и подпрограммы 31:16 Контракт (договоренности) в виде Документации. На этапе проработки интерфейса 34:08 вначале пишется так, как будто подпрограмма уже есть 36:55 Функция-заглушка (функция-мошенник с телом pass) # mock-функция 41:12 в любом коммите 2 этапа: 1) взлёт (творческий) 2) приземление (технический) Документация. writ it down 42:55 документ-строка. Главное человеко-понятность 46:10 сверху всех def main(): 47:03 ниже всех if__name__=="__main__": main() в Питоне нет предобъявления функций 48:57 дорисовываем строительство 1:00:26 нельзя коммитить неконсистентную прогу. Репозиторий ломать нельзя. 1:01:00 отладочная печать (например тупо принтануть чёт) 1:02:47 переход в среду разработки git status git commit -m 1:08:10 windowSize(x,y) чтобы появился холст, на кот. будет все рисоваться. run() 1:12:07 типичная ошибка программиста - закоммитить не синтерпретировав ( не запустив) 1:13:20 СП - упорядочивание программы. Думаем: - а за что отвечает кусок программы - что ему надо дать - что он должен вернуть
11:43 -- в наше время, в середине 70-х, это называлось "программирование сверху-вниз наискосок" 😎 А если серьезно, я бы начинал Python с объектно-ориентированной парадигмы, потому что структурное программирование - это частный случай.
Почему не использовать аннотации? paint_house(x=100, y=100, width=50, height=50) Видно что за элементы и за что отвечают. Ну и конечно использовать docstring,
Помогите пожалуйста, как заставить весь корабль двигаться, я его нарисавал в отдельной функции: def lodka(x,y): penColor("brown") brushColor("brown") rectangle(x, y, x+180, y+50) polygon([(x+180,y),(x+250,y),(x+180,y+50)]) penColor("black") brushColor("white") circle(x+220,y+10,8) penColor("brown") brushColor("brown") arc(x+50,y-50,x-40,y+50,start=180,end=270) дальше x = 50 y = 240 obj = lodka(x,y) onTimer(update, 50) и куча ошибок, как это правильно оформить?
Подскажите плз. создали функцию main() из нее мы запускаем созданную ниже функцию paint_house(...), а из нее запускаем функции paint_wall, paint_roof, paint_window, но эти же функции еще не созданы? Или это сделано только чтобы показать как делается декомпозиция и структура программы?
8:09 бейсик это не низкий уровень. низкий уровень это ассемблер. как раз на спектруме это и показали людям - была задача показать что программировать дома это просто. и далее - не сказал бы что читать код бейсика тяжело. ассемблер читать - надо тренироваться, знать структуру компьютера (в том же спектруме знать что в каких ячейках хранится, какую память можно использовать...) и то, сложностей не много. в свое время сам освоил даже прерывания и мог переделывать загрузчики "защищенных" программ, помню модно еще было что-то делать пока идет загрузка... в то время ни литературы толком ни интернета еще существовало... и повторюсь - для людей впервые столкнувшись с программированием - давать язык слишком рано, наверное потому и стали меньше посещать - чем дальше тем сложнее понять что и зачем. наверстать они уже не успеют... зачем такой аудитории аналогии с бейсиком?! они не поймут ни недостатков ни прелести...
Подскажите пожалуйста, как сделать овалы? Я нашел задание картина 1. Но вот как делать овалы я так и не понял, нашел функцию которая описывает эллипс, но проблема в том что его можно построить по точкам только горизонтально или вертикально. И не понятно как рисовать овалы под углом.. И есть ли в библиотеке graph что-то похожее на библиотеку черепахи, а именно поворот на какое-то количество градусов? Или может кто-то может кинуть примеры выполнения этих заданий?
@@Titanoboagames Ахаха, в каждой что ли коммент-секции есть человек, который мгновенно применяет свои сверхценные убеждения к любому нейтральному комменту, хоть как-то затрагивающему хоть какой-нибудь религиозный термин?)) Откуда вы такие вообще берётесь?)
Можно конечно нарисовать черепахой, и сохранить точки куда-то, а потом по этим точкам нарисовать библиотекой graph, но мне кажется это дичь, должен быть способ проще
Думал серией кругов с увеличивающимся и уменьшающемся радиусом, но нет, кружочками не выходит, тогда ободка нет черного на овале, я уже не знаю как еще
"топил" сленг распространён примерно с 2006 года, преподу на вид 30-35 лет, соответственно 13 лет назад ему было 17-22 года, короче не думаю что это для того чтоб быть ближе к тинейджерам LoL