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
2792
875
8 months ago 00:51:37 1
Harvard CS50 – Full Computer Science University Course
8 months ago 00:35:41 1
Office Hours @ Harvard Bio-Labs - 10/12/2023
8 months ago 02:51:13 1
CS50P - Lecture 8 - Object-Oriented Programming
9 months ago 02:05:00 1
CS50P - Lecture 7 - Regular Expressions
9 months ago 01:03:06 1
🔥 ChatGPT БОЛЬШОЙ КУРС для Начинающих (33 запроса)
9 months ago 11:51:22 1
Harvard CS50’s Artificial Intelligence with Python – Full University Course
9 months ago 00:50:54 1
CS50P - Lecture 5 - Unit Tests
9 months ago 00:12:06 1
Как стать Backend разработчиком 🚀
9 months ago 00:56:08 1
CS50P - Lecture 1 - Conditionals
9 months ago 00:17:33 1
CS50P - Visual Studio Code for CS50
10 months ago 01:45:38 1
CS50P - Lecture 0 - Functions, Variables
10 months ago 00:39:24 1
(JavaRush) 23. CS50 на русском: Лекция #23 [Гарвард, Основы программирования, осень 2015 год]
10 months ago 01:04:37 1
(JavaRush) 22. CS50 на русском: Лекция #22 [Гарвард, Основы программирования, осень 2015 год]
10 months ago 00:47:08 1
(JavaRush) 21. CS50 на русском: Лекция #21 [Гарвард, Основы программирования, осень 2015 год]
10 months ago 00:50:18 1
(JavaRush) 20. CS50 на русском: Лекция #20 [Гарвард, Основы программирования, осень 2015 год]
10 months ago 00:54:11 1
(JavaRush) 10. CS50 на русском: Лекция #10 [Гарвард, Основы программирования, осень 2015 год]
10 months ago 00:12:37 1
The Biggest Synth Museum in the World???
10 months ago 14:14:24 1
Harvard CS50’s Web Programming with Python and JavaScript – Full University Course
10 months ago 15:57:48 1
Harvard CS50’s Introduction to Programming with Python – Full University Course
11 months ago 00:53:00 2
Мысли как детектив: Традиционная логика | Mik1st
12 months ago 01:54:52 1
Language - Lecture 6 - CS50’s Introduction to Artificial Intelligence with Python 2020
1 year ago 00:29:02 1
Как стать программистом за 1 год с нуля даже домохозяйке (+конкурс)