10. CS50 на русском: Лекция #10 [Гарвард, Основы программирования, осень 2015 год]
Доп. материалы и задачи к лекции -
Весь курс CS50 -
Гарвардский курс по основам программирования CS50, 10 лекция, конец 4 недели
В шпионских (или любых других) боевиках, вы, наверное, замечали такую штуку: хакер сидит в темной комнате, весь такой загадочный, подсвеченный монитором своего компьютера и всякими цветными диодами непонятного происхождения. На мониторе — не менее загадочные буковки, обычно зелёные с курсором-нижнее-подчеркивание и малюсенькая карта, на которой где-то в дебрях спрятан интересующий спецслужбы объект. Приходит команда «увеличь этот участок изображения», дабы обнаружить, скажем, номер автомобиля, отражённый в чьем-нибудь глазу… И специалист бесконечно масштабирует картинку, пока отражение не станет ясным и четким…
Вам нравятся такие сцены? Если да, спешим вас огорчить: после 10 лекции CS50 вы уже не будете смотреть их прежними глазами, понимая всю их несуразицу и преувеличение. Впрочем, будущему программисту это необходимо сделать. Это как рано или поздно все узнают правду о Санта Клаусе. С другой стороны, если в мире будет все больше и больше грамотных с точки зрения IT людей, Голливуду придется повысить качество подобных сцен, не лепя случайные наборы терминов куда ни попадя.
А всё дело в том, что фотографии состоят из пикселей (или точек), и когда мы увеличиваем фотографию, рано или поздно мы дойдем до одного пикселя и как бы мы дальше ни увеличивали изображение, дополнительной глубины не появится, перед нами — конечное количество битов. «Это цифра, детка!».
После четвертой лекции вы сможете приступить к задачнику CS50 для четвертой недели. Он позволит вам прикоснуться к миру графики и криминальной экспертизы: вы напишете коды для восстановления утраченных изображений и изменения масштаба картинок.
Итого, из лекции вы узнаете:
• Как кодируется изображение. Слово bitmap станет родным и понятным.
• Вы узнаете, как понять (с точки зрения компьютера), что перед вами именно JPEG-файл и какую роль в этом играет комбинация битов 244 216 255.
• Вспомните (или изучите) 16-ричные числа. Запись 0хff станет столь же очевидной, как 255 а десятичной системе.
• Что такое struct в Си? Собственные типы данных в Си.
• Сравнение содержимого строк в Си (strcmp) и другие средства работы со строками.
• Адресная арифметика.
• char* t = malloc((strlen(s) 1) * sizeof(char)) — как вам такая строчка кода? После лекции вы будете понимать, что к чему, и сами сможете писать нечто подобное =)
• Немного синтаксического сахара =)
• Как писать swap с указателями и зачем
Ну и, чтобы расслабиться, напоследок вы посмотрите пластилиновый мультфильм. Не просто мультфильм, но мультфильм про указатели. А если после этого произведения искусства вы только напряжётесь, DJ к вашим услугам.
1 view
2875
911
4 months ago 02:28:37 1
CS50x 2024 - Lecture 9 - Flask
4 months ago 02:17:23 1
CS50x 2024 - Lecture 4 - Memory
4 months ago 02:02:12 1
CS50x 2024 - Lecture 3 - Algorithms
4 months ago 02:04:55 2
CS50x 2024 - Lecture 0 - Scratch
5 months ago 01:51:23 1
Harvard CS50 (2023) – Full Computer Science University Course
5 months ago 00:53:00 1
Мысли как детектив: Традиционная логика | Mik1st
6 months ago 00:54:11 1
10. CS50 на русском: Лекция #10 [Гарвард, Основы программирования, осень 2015 год]
6 months ago 00:29:55 1
NOVA imagem GALISTEO COBALTO EMUELEC 4.7 128gb TV Box/game stick Amlogic S905x3 s905x4 S905x2 S922x
6 months ago 00:19:22 1
Instalando EmuELEC do ZERO em 2024: kit custo-benefício TVBox T95 Max+, cartão SD Samsung e controle
6 months ago 00:06:25 1
TESTANDO O CONTROLE ARCADE BARATO DO ALIEXPRESS em Gamestick, TV Box e PC (GD10, GD20, T95, Emuelec)
7 months ago 11:51:22 1
Harvard CS50’s Artificial Intelligence with Python – Full University Course
7 months ago 15:57:48 53
Harvard CS50’s Introduction to Programming with Python – Full University Course