Язык Си
554 subscribers
45 photos
2 videos
14 files
58 links
Download Telegram
Вчера не удержался и переработал урок по break и continue. Новая версия уже на сайте.

Особенно мне нравятся новые картинки. Прикрепил их к посту.
🔥14😍3👍21
Ночью создал на Степик урок с простыми задачками на условные циклы.

Добавил в него:
- краткую шпаргалку по материалам урока;
- две простых задачи;

В ближайшие 5-7 дней буду ежедневно добавлять в него по паре задачек. Дополнительных объявлений об этом здесь делать не буду.
14👍5🔥2
Добавил в курс шесть семь новых задач на циклы.

Три базовых:
IPv6 адреса
Поиск всех вхождений символа в строку
Мониторинг пиковых нагрузок

И три посложнее:
Алгоритм Луна
Синтаксический анализатор скобок
Звёздный алмаз (самая муторная, кмк)

Попробуйте решить, главное не зацикливайтесь надолго. Мне особенно нравится задача про Алгоритм Луна.

В ближайшее время у 7 урока появится собственный Зал славы. Пока думаю, стоит ли туда добавить какой-нибудь шифр/пасхалку, как было в 5 и 6 уроках. И если да, то какую.

UPD: Посчитал, что всего в уроке по циклам 63 задачи и не смог удержаться, чтобы не добить до круглого числа. Добавил ещё одну задачу:
Римские числа
8🔥6👍2😍1
Февральская статистика и новости про Зал славы!

— отправлено 8 348 верных решений;
— 1052 ученика начали осваивать курс;
— выдано 53 сертификата об окончании курса (31 с отличием);
— 11 человек оставили отзыв о Курсе (нижайший вам поклон, товарищи!);
— 10 человек пробились в Зал славы 5-го урока (моё почтение);
— cредняя оценка по эмодзи поднялась до 4.75 (спасибо за ваши добрые эмодзи);
— на Tg-канал подписался ещё 71 человек;
— пользователь elmir-kurr отправил первый PR в гитхаб курса. Спасибо!

На этом переработка урока про циклы завершена! Переписана теория, добавлены новые задачи + открыт Зал славы седьмого урока.

В этот раз решить все задачи на программирование недостаточно. Потребуется ещё отобрать корректные кусочки ключа. Подсказка, как отличить корректные кусочки от некорректных, естественно, есть в задачах модуля.

Кроме того, в кусочках ключа скрыто дополнительное послание для начинающих хакеров. Но это только для тех, кому такое по фану.

Дерзайте! Буду ждать новых героев в ЗС-7.
🔥103😍2
Всем общий Hello, World.
Поздравляю всех с международным днём борьбы женщин за свои права.

Сегодня праздник присвоили себе разнообразные барыги и рвачи из цветочных лавок, но мы давайте не будем забывать, кто и для каких целей этот праздник учреждал (ссылка для тех, кто забыл).

Надеюсь, что мы застанем то славное время, когда уйдут в прошлое дискриминация и угнетение женщин по всему миру. Но, конечно, никто кроме нас самих это не сделает. За свои права надо бороться: в школе, вузе, на работе, в политике — везде. И вот в этой борьбе я хотел бы пожелать всем нам достаточно сил и воли.

С праздником!

p.s. Девушки, не слушайте никого, кто утверждает, что мозг женщины не предназначен для работы в программировании, математике, физике, инженерии и т.д.. Неважно какие у этого человека заслуги, регалии, звания, статус и пр., по крайней мере в этом вопросе он глубоко заблуждается. Всё, что придумал один человек, может понять и освоить любой другой человек (при должном старании)!
❤‍🔥155👍4🔥1🤡1
Сегодня День числа Пи!

Это число частенько используется в задачах и примерах Курса, поэтому я не смог пройти мимо.

А вот программа на Си, состоящая из 180 символов, которая вычисляет первые 800 знаков числа Пи.

#include <stdio.h>
int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);}


p.s. Категорически не советую писать такой код.
🔥12😱1
Первоапрельская статистика за март!

— отправлено 30 657 верных решений;
— 814 учеников начали осваивать курс;
— выдано 45 сертификатов об окончании курса (22 с отличием);
— 4 человека оставили отзыв о Курсе (всем ещё раз большое спасибо!);
— 9 человек пробились в Зал славы 5-го урока (Поздравляю!);
— cредняя оценка по эмодзи теперь 4.76 благодаря вашим добрым эмодзи;
— вопреки всем замедлениям на Tg-канал подписались ещё 28 человек, а на ютуб 11;

К сожалению, за прошедший месяц никто не смог пробиться в ЗС-7. Там по прежнему только мы с Гиллом Байтсом. Надеюсь, что апрель принесёт нам новых героев!
🔥4🙏2🫡2
"Мама, я в телеке тренде!"

p.s. В день веб-разработчика (4.04) в Зал Славы 7 урока добавились три ученика. Наконец-то, я уж перестал надеяться!
🔥16❤‍🔥7🍓32
Запоздалая статистика за апрель

— отправлено 26 588 верных решений;
— 1459 учеников начали осваивать курс;
— выдано 43 сертификата об окончании курса (33 с отличием);
— 7 человек оставили отзыв о Курсе (всем ещё раз большое спасибо!);
— 9 человек пробились в Зал славы 5-го урока;
— 3 человек прошли в Зал славы 7-го урока;
— cредняя оценка по эмодзи теперь 4.78 благодаря вашим добрым эмодзи;
— вопреки всем замедлениям на Tg-канал подписались ещё 32 человека. Кстати, этот канал преодолел отметку в 512 подписчиков!

У меня тут засада по всем направлениям, поэтому уже второй месяц не могу вернуться к переписыванию оставшихся трёх уроков курса. Но я всё ещё собираюсь завершить эту работу. Всем, кто продолжает поддерживать работу над курсом, ещё раз большое спасибо!
13🔥1
Майская статистика!
— отправлено 19 565 верных решений;
— 452 человека начали осваивать Си;
— выдано 27 сертификатов об окончании курса (17 с отличием);
— 2 человек оставили отзыв о Курсе;
— в ЗС-5 плюс 6 человек, в ЗС-7 плюс 1 человек (Поздравляю, вы большие молодцы!);

Кстати, на Степике немного обновился интерфейс в задачах на программирование.
🔥9👾1
Почему #Си_фундамент_IT

Рекомендую к просмотру классную видео-работу про FFmpeg от канала for now.

FFmpeg — это набор программ и библиотек на Си для работы с аудио и видео, используемый в большинстве сервисов и платформ, которыми мы пользуемся каждый день. В общем, посмотрите видео и сами всё поймёте.

Любопытный факт: на FFmрeg построена обработка и сжатие данных с камер и микрофонов марсохода «Персеверанс».
🔥4❤‍🔥3👍2
Переписываю урок про функции и указатели.

Как вам новые картинки?
❤‍🔥13🔥6😍6👍2
Первая часть урока по функциям

Опубликовал первую часть нового урока по функциям в Си.
Она состоит из двух заметок:
Функции в языке Си: структура, объявление, вызов и return
Практика использования функций: декомпозиция и рефакторинг программы

Урок теперь более информативный и подробный.

В соответствующий урок на Степике добавил три четыре задачки:
тест на понимание прототипов функций;
— задачка на закрепление вызова функции;
быстрое возведение в степень
рефакторинг legacy-кода для рассчёта урона в игре

На очереди Указатели!
🔥4
Новые уроки по указателям + важные новости по Курсу!

Всю ночь просидел над заметкой по указателям, хотя она и так уже была, в принципе, готова. Но я всё равно нашёл, что там можно исправить. Кое-что даже сократил. Но результатом, в целом, доволен! Стало точно гораздо лучше и понятнее.

В общем, выношу на суд общественности: Указатели в языке Си.
Постарался описать самыми простыми словами и аналогиями, некоторые примеры разобрал прямо построчно. Добавил картинок, практических задач и разной дополнительной информации.

А дополнительно, т.к. тема-то важная, сделал мини-урок по указателям прямо на Stepike. Для меня это первый урок такого формата на Stepik. Обычно я таким не занимаюсь, но тут случай особой случай, с основами указателей надо разобраться обязательно, чтобы потом применять их по-настоящему. Так что тут с количеством уроков переборщить нельзя. В общем, т.к. формат для меня новый, буду очень рад получить от вас обратную связь.


Хотя я и значительно расширил теоретическую часть, но содержательно объём информации не сильно увеличился. Это всё ещё первое знакомство с указателями, а не полноценное изучение этой темы, как, например, в уроках про циклы или условные конструкции. В уроках только самая-самая база, самый минимальный минимум. Это сознательное решение, т.к. тема сложная, непривычная, то её, кмк, надо изучать постепенно, за несколько подходов.

Я планирую добавить в текущую версию Курса ещё как минимум несколько новых заметок по работе с указателями в другие уроки. Но когда это будет реализовано, пока сказать не могу.

А вот то, что могу сказать точно:

0. Денис теперь МАГИСТР!
Это вам не это! Это понимать нужно! Можете поздравить его здесь в комментариях!

1. В ближайшее время (до 22 июня) будет изменена структура курса
10 урок станет восьмым, а 8, 9 станут, соответственно, 9 и 10. Это нужно как раз для того, чтобы в них была возможность поговорить об указателях и заодно навыки использования функций и декомпозиции программ.

2. Повышение пороговых значений для получения сертификатов
Вместе с изменением структуры курса будут повышены баллы для получения сертификатов. Т.к. за последний год добавлено много новых задач, то необходимо произвести перенормировку, чтобы прийти к стандартным значениям: 81% для сертификата и 93% для сертификата с отличием. Можно ориентироваться на следующие значения:
— 300 баллов чтобы получить обычный сертификат;
— 350 баллов для сертификата с отличием.
p.s. если вдруг у вас в вузе/школе зачёт/экзамен зависит от сертификата по моему курсу, то напишите в комменты, я отложу повышение баллов на июль, чтобы у вас не было лишнего напряга во время сессии.

На этом баста! Следующая заметка про передачу аргументов в функцию. Она тоже, в принципе, уже переписана, но я себя знаю =D

————————————————
Если вам нравится наш курс и то, что мы с Денисом делаем, вы можете нас поддержать.

Варианты:
— перевод на карту ВТБ: 2200 2418 5059 2936
— перевод через Сбор в Т-Банке (сервис позволяет оставить комментарий к донату)
— перевод через Сбор в YooMoney (РФ и СНГ, рубли)
— через WebMoney (у кого нет рублей, можно оставить комментарий к донату)
— подписка на Бусти. Там я пишу о текущей работе над Курсом.

Бесплатные возможности подддержки: в самом верху страницы


Теперь точно всё, вырубаюсь.
🔥7👍2❤‍🔥1
Hello, World!


1. Опубликовал на сайте переработанную заметку о передаче параметров в функции.

2. Добавил степ Зачем нужны указатели? в интерактивный урок-знакомство с указателям. Гляньте.

3. Выделил задачи на работу с указателями в параметрах функций в отдельный урок на Stepik. Новых задачек почти не добавил, но привёл в божеский вид те, что уже были.

4. Изменил структуру курса. Теперь урок про функции и указатели идёт сразу после циклов, а уже после него идут составные типы данных: массивы и строки. Теперь можно будет рассказать про них на более глубоком уровне нежели сейчас. На выходных поменяю пороги для сертификатов.
😍2🔥1
Новая задачка в раздел функции.

Необходимо вычислить размер спрайта для персонажа Марио из легендарной игры Super Mario Bros.

Думаю, что не днях добавлю ещё пару задач в разивитие этой gamedev темы с Марио.

Свести олдскулы можно тут.
🔥6