Проекты на Delphi
Пятьдесят учебных программ на Object Pascal — от первой строки кода до игр и радиотехнических калькуляторов. У каждого проекта разобраны задача, алгоритм и полный исходник с возможностью скачать .dpr.
Все примеры — консольные программы на стандартном Object Pascal. Компилируются как в Delphi (консольное приложение), так и в бесплатном Free Pascal командой fpc -Mdelphi имя.dpr. Код каждого проекта проверен компилятором.
Основы
10Первая программа на Delphi: вывод текста и чтение строки с клавиатуры (Write/ReadLn).
DP.02Консольный калькулятор на четыре действия с проверкой деления на ноль.
DP.03Решение ax^2+bx+c=0 через дискриминант, все три случая корней.
DP.04Вывод таблицы умножения 9x9 вложенными циклами for.
DP.05Поиск всех простых чисел до N классическим алгоритмом решета.
DP.06Вычисление факториала итеративно и рекурсивно, тип Int64.
DP.07Генерация последовательности Фибоначчи без рекурсии.
DP.08Наибольший общий делитель алгоритмом Евклида и наименьшее общее кратное.
DP.09Перевод десятичного числа в двоичную, восьмеричную и шестнадцатеричную системы.
DP.10Определение, читается ли строка одинаково слева направо и справа налево.
Строки
08Считает количество слов и символов во введённой строке.
DP.12Переворачивает строку задом наперёд посимвольно.
DP.13Считает, сколько раз каждый символ встречается в тексте.
DP.14Классический шифр сдвига для латинского алфавита с шифровкой и расшифровкой.
DP.15Многоалфавитный шифр с ключевым словом.
DP.16Самообратный шифр ROT13 — сдвиг на 13 позиций.
DP.17Поиск и замена всех вхождений подстроки в тексте.
DP.18Проверка правильности расстановки круглых, квадратных и фигурных скобок.
Алгоритмы
10Учебная сортировка обменом соседних элементов.
DP.20Рекурсивная быстрая сортировка (QuickSort) с опорным элементом.
DP.21Поиск элемента в отсортированном массиве делением пополам.
DP.22Минимум, максимум, среднее и среднеквадратичное отклонение набора чисел.
DP.23Произведение двух квадратных матриц 3x3.
DP.24Определённый интеграл методом трапеций.
DP.25Поиск корня уравнения методом касательных.
DP.26Моделирование бросков кубика и вывод гистограммы распределения.
DP.27Вычисление выражения в обратной польской записи через стек.
DP.28Решение головоломки о перекладывании дисков рекурсией.
Радиотехника
12Расчёт напряжения, тока, сопротивления и мощности по двум известным величинам.
DP.30Расчёт выходного напряжения резистивного делителя и тока через него.
DP.31Расчёт токоограничивающего резистора для светодиода.
DP.32Резонансная частота и волновое сопротивление колебательного контура.
DP.33Постоянная времени и частота среза RC-цепочки.
DP.34Ёмкостное Xc и индуктивное Xl сопротивление на заданной частоте.
DP.35Определение цветовых полос резистора по номиналу.
DP.36Расшифровка трёхзначного кода конденсатора в пикофарады, нанофарады и микрофарады.
DP.37Перевод мощности из dBm в милливатты, ватты и напряжение на 50 Ом.
DP.38Длина волны по частоте и расчёт размеров диполя и штыревой антенны.
DP.39Подбор ближайшего стандартного номинала резистора из ряда E24.
DP.40Подсчёт контрольной суммы CRC-8 для строки (полином 0x07).
Данные
08Создание текстового файла и последующее чтение его содержимого.
DP.42Разбор строк с разделителями и вывод таблицей.
DP.43Хранение контактов в типизированном файле записей.
DP.44Динамическая структура данных на указателях.
DP.45Реализация стека (LIFO) и кольцевой очереди (FIFO) на массивах.
DP.46Построение BST и обход по возрастанию (in-order).
DP.47Вывод таблицы печатных ASCII-символов с кодами.
DP.48Вывод календаря заданного месяца по неделям.