Здесь я предоставляю исходные коды лабораторных работ написанные мною по информатическим предметам.
Программы написаны на языке Pascal, C++ или Delphi (не ниже 4-й версии). Некоторые программы на Pascal'е корректно работают скомпилированные на Turbo Pascal v7.1
Название | Комментарии | Язык |
---|---|---|
Проверка правильности имени переменной | Рекурсивный способ | Pascal |
Сортировка массива методом вставки | Pascal | |
Сортировка массива методом выбора | Рекурсивный способ | Pascal |
Поиск часто встречающихся букв в словах | Экзаменационная задача. Данные вводятся в формате: слово,слово,слово. |
Pascal |
Базы данных | Работа с типизированными файлами данных. Функции: добавление/удаление/отображение/поиск данных |
Pascal |
Базы данных 2 | Работа с типизированными файлами данных. Функции: добавление/удаление/отображение/фильтрование. Хитрость в том, что список отсортирован по полю |
Pascal |
Базы данных 3 | Работа с типизированными файлами данных, динамическая память, списки в памяти. Функции: добавление/удаление/отображение/поиск данных |
Pascal |
Решение уравнений методом перебора | Решение уравнений вида: Axm + Byn + Czk + ... = P Неограниченное число переменных, сокращение перебора путем нахождения максимального значения переменных. |
Delphi |
Расстановка N ферзей не бьющих друг друга | Рекурсивный способ (обход дерева, отсечение неверных решений) | Pascal, Delphi, C++ |
Нарисовать отрезки | Дано N точек (x[1], x[2], ..., x[n]) на координатной прямой. Построить все эти точки наименьшим числом числом отрезков, длины 1. |
Pascal |
Построение графиков | Имеет анализатор формул из строки, масштабирование изображения | Pascal |
Вычисление интегралов | Вычисление интегралов используя формулу трапеций | Pascal, C++ |
Пример использования объектов. Модель "бильярда" | На бильярд, правда, совсем не похоже... | Pascal |
Объединение динамических списков (очередей) | Даны две очереди из вещественных чисел, надо объединить две очереди в одну исключив нулевые элементы | Pascal |
Модель Солнечной Системы | Использование объектов. В примереп ропорции нарушены, но зато эффектно ;) | Pascal |
Поиск слов в текстовом файле | Ищет совпадения в словах. Учитываются переносы | Pascal |
Минимальное и максимальное значение эл-та в двусвязном списке | Pascal | |
Удаление отрицательных элементов из двусвязного списка | Pascal | |
Перечислить все натуральные числа, не превосходящие заданного N в двоичной системе исчисления, номера ненулевых разрядов образуют арифметическую прогрессию |
Посдедовательность считается арифм-й прогрессией при наличии 2-х ненулевых членов | Pascal |
Вывод элементов бинарного дерева по уровням | Процедура добавления добавляет элементы по правилу: меньший элемент в левую ветвь, бОльшие и равные в правую | Pascal |
Движение по экрану: треугольник, прямоугольник, окружность | Использование объектов и наследования. С эффектом отражения от границ экрана |
Pascal |
Игра в слова | Настроена на игру в слова на русском языке. Используется буферный файл для запоминания слов. | Pascal |
Модель аквариума | Рыбы-объекты плавают в аквариуме, отплывают от препятствий и друг от друга | Pascal |
Модель атома | Простенькая модель: нуклон и два электрона на s орбиталях - компьютерный изотоп гелия ;) | Pascal |
Сортировка столбцов матрицы по возрастанию количества отрицательных элементов | использован метод быстрой сортировки | Pascal |
Шаблон для игры крестики-нолики | Поле-объект размера N*N | Pascal |
Нахождение суммы квадратных корней эл-тов последовательности | Рекурсия | Pascal |
Динамические списки (двусвязный, односвязный стек) | Поддерживается большой набор методов для двусвязного списка | Pascal |
Вращающееся звездное небо | Представьте себе что вы лежите на одном из полюсов Земли и смотрите в небо... | Pascal |
Вращающееся звездное небо | Графический модуль написан на асме, используются VESA режимы | Pascal |
Объектная модель многочлена | Объект поддерживает методы сложения и умножения на другой многочлен | Pascal |
Проверка на правильность имени переменной | На имя переменной в языках программирования накладываются определенные ограничения. Проверим их. | Pascal |
Вывод элементов дерева по уровням | Используются динамические объекты | Pascal |
Подсчет количества комбинаций телефонов при наборе номера "ходом коня" | Использовано решение с помощью рекурсии | Pascal, C++ |
Зависимость булевой функции от переменных | Имеется набор значений булевой функции, необходимо определить от каких переменных она существенно зависит. В архив включена программа генерации значений заданной функции | C++ |
Разрезание n-угольника | Разрезаем на треугольники диагоналями. Найти минимальную стоимость разрезания. | C++ |
Подсчет частоты слов в предложении | Выделение слов из предложения | Pascal |
Вычисление 2^N | Вычисление 2^N для больших N | Pascal + ASM |
Задача про разворот солдат | Олимпиадная задачка, где солдаты по команде разворачиваются. Нужно посчитать сколько нужно разворотов, чтобы все смотрели в одну сторону. | Pascal, C++ |
Подсчет нулей в числе N! | Pascal, C++ | |
Арканоид | Простенький арканоид, написан от делать нечего. Версия под Linux | C |
Полиномы Лагранжа | C | |
Объекты, графика | Окружности движутся по спирали, ООП. Версия под Linux | C++ |
Аналоговые часы | Графика | Pascal |
Фрактал Вейерштрассе | Для построения графика используется GNU Plot | C++ |
Моделирование маятника | Для построения графика используется GNU Plot | C++ |
LU разложение матрицы | Разложение матрицы, а так же вычисление определителя и обратной матрицы через разложение | C++ |
Найти n-е слово в предложении | Pascal | |
НОД для трех чисел | Можно легко расширить для любого количества чисел | Pascal |
Частота слов в предложении | Pascal | |
[Скачать] | напечатать заданный непустой текст удалив из него все цифры и удвоив знаки "+" и "-" без массива и без string (при помощи CHAR). | Pascal |
Метки: