Начинающим программистам
Тем, кто интересуется программированием, да и просто, чтобы программный код былых лет не пропал, программисты компании «GiiT» решили поделиться своими программами с начинающими программистами. Наиболее познавательные исходники наших программ мы разместили на сервисе GitHub.
Важный совет начинающим программистам —
обязательно добавляйте в свою программу комментарии.
Мы старались следовать этому совету. Спустя время, наше понимание вещей меняется, мозг создает новые алгоритмы для решения старых задач и чтение даже собственного старого программного кода осложняется.
Представьте, что в детстве вы нарисовали рисунок, который на тот момент полностью совпадал с вашим восприятием мира, спустя годы, найдя свой шедевр, вы врядли сможете увидеть тот самый мир. Тоже самое происходит и с программным кодом.
Творческих успехов, пионеры программирования!
yesterday.asm — Воспроизведение музыки The Beatles — Yesterday через PC спикер компьютера.
table.asm — Вывод на экран таблицы умножения от 1*1 до 20*20. В программе используется 2 макроса: преобразование значения регистра в строку и задание цвета для выведения текста. Исходник содержит много комментариев.
strtoarr.asm — Обработка введенных символов, не допускается ввод каких-либо символов, кроме 0-9, a-f, A-F, затем введенные символы в формате 0-9, A-F запоминает в массив данных. Количество введенных символов не должно превышать 8, для окончание ввода необходимо ввести «*».
myint.asm — Создание прерывания путем изменения таблицы прерываний, используя 35h и 25h функцию 21h прерывания. Создается прерывание 87h, которое при вызове изменяет цветовые настройки вывода символов на экран и воспроизводится звуковой сигнал через спикер компьютера. При изменение настроек цвета используется обращение к генератору случайных чисел. Исходник подробно прокомментирован.
revfile.asm — Демонстрация побайтовой обработки данных файла в среде Windows. Выбор исходного файла, чтение его содержимого в оперативную память, FILO вставка содержимого в выбранный файл-назначение. Результат — содержимое исходного файла записывается в выбранный файл в обратном порядке. Процессы сопровождаются выдачей статусных сообщений.
mnog.cpp — Выполнение различных операций с множествами, в программе демонстрируется возможности C++ в перегрузке стандартных операторов.
kompl.cpp — Выполнение различных действий с комплексными числами, в этой программе, как и в предыдущей, используется перегрузка стандартных функций.
stroka.cpp — Работа со строками: переворот, замена подстроки в строке, добавка строки к другой строке и др.. Программа выполнена с использованием классов.
tennis.cpp — Игра в теннис для двух игроков с использованием классов, без использования прерываний.
perevod.cpp — Перевод десятичных дробей из любой системы счисления в любую другую.
matrix.cpp — Работа с двумерным массивом (матрицей), программа производит следующие действия: заполнение матрицы заданного размера случайными числами заданного диапозона, поиск минимума и максимума, обмен местами последнего минимума и последнего максимума, возведение в квадрат каждого элемента матрицы, нахождение суммы всех элементов матрицы, удаление заданной строки в матрице.
Исходные коды проектов для микроконтроллеров Arduino
MM5451SEG — Библиотека функций для микроконтроллера Arduino, облегчающая работу с LED-драйвером MM5451 (часто используется в уличных табло, в том числе информационных табло курсов валют).
Arcade Lego Games Box — Реализация нескольких классических игр для развития памяти с использованием 4-х кнопочной схемы и диодов. В дополнение к классическим играм добавлена авторская игра — Ядерная война.
Weather Forecast Arduino Clock — Есть такая поговорка — «Чтобы вы не делали для Ардуино, получится погодная станция». Наш вариант часов с функцией прогноза погоды (микросхема BME280). Управление реализовано через оригинальное меню и отображением информации на дисплее Nokia 5110.
Проект «Лунтик» — Попытка оживить колесную базу от советского лунахода с использованием WiFi-модуля ESP8266 и управления через UDP-протокол. В комплекте исходные коды приложения на Delphi для управления «Лунтиком» из Windows-среды.
MSG4LED — Все в нашем мире может быть представлено 4-мя основными цветами ( синий, красный, зеленый, желтый ). Arduino-библиотека MSG4LED позволяет устройствам на базе платформы Arduino управлять 4-мя светодиодами с целью организацию интерфейса оповещения пользователя о текущем статусе наблюдаемой среды или другой информации, обрабатываемой и генерируемой устройством.