Skip to content
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.

ОАиП - лабораторные работы, курсовая БГУИР

License

Notifications You must be signed in to change notification settings

Hummel009/Algorithmization-and-Programming-Basics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мои лабораторные работы для BSUIR/БГУИР (белорусский государственный университет информатики и радиоэлектроники).

Предмет - OAiP/ОАиП (основы алгоритмизации и программирования).

Условия работ

Курсовая работа

Курсовая работа: GUI калькулятор на Delphi.

Разминочная задача 1

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

  1. Количество всех монахов и количество монахов каждого типа есть числа целые и неотрицательные.
  2. Количества съеденных монахами каждого типа пирогов могут быть как целыми, так и вещественными числами, но они должны быть больше нуля.
  3. Монахи не могут голодать.
  4. Монахи ранга ниже не могут есть больше пирогов, чем монахи ранга выше.
  5. Программа учитывает возможный некорректный ввод пользователя.

Разминочная задача 2

Постановка 1

Есть два вида бактерий: зелёные и красные. Красная бактерия за 1 такт времени становится зелёной. Зелёная бактерия делится на 2 (красную и зелёную) за 1 такт времени. Сколько бактерий, в т.ч. зелёных, красных и суммарно будет через K тактов времени, если сначала было N красных бактерий? Вывести на экран значение зеленых, красных бактерий, их сумму на k такте.

Постановка 2

Есть два вида бактерий: зёленые и красные. Красная бактерия за 1 такт времени становится зелёной. Зелёная бактерия делится на 2 (красную и зелёную) за 1 такт времени. Сколько бактерий, в т.ч. зелёных, красных и суммарно будет через K тактов времени, если сначала было Green зелёных и Red красных бактерий? Вывести на экран количество зелёных и красных бактерий и их сумму на конечном такте. Правила постановки:

  1. Пользователь вводит количество зелёных бактерий, затем количество красных бактерий, затем количество тактов.
  2. Программа учитывает некорректный ввод пользователя.
  3. Количество зелёных и красных бактерий в начальный момент времени должно быть целым неотрицательным числом.
  4. Количество тактов в начальный момент времени должно быть натуральным числом.
  5. Программа предусматривает потенциальное переполнение переменной типа Integer при вычислениях.
  6. Программа выводит количество зелёных бактерий, красных бактерий и их сумму на конечном такте.
  7. Программа разделена на 3 части, каждая часть решает задачу своим способом (1 способ – через зависимость от красных и зелёных на предыдущем такте, 2 способ – через зависимость от зелёных бактерий на предыдущем и позапрошлом такте, 3 способ – через зависимость от красных бактерий на предыдущем и позапрошлом такте).

Разминочная задача 3

Одна дискета стоит 11,5 рублей; одна коробка из 12 дискет стоит 114,5 рублей; ящик из 12 коробок стоит 1255 рублей. Вывести наиболее выгодный способ покупки N дискет, а также сэкономленную сумму и бонусные диски, если таковые имеются.

Разминочная задача 4

Даны 2 целых числа, количество цифр которых не должно превышать 50. Выполнить операцию сложения. Вывести на печать сумму двух чисел.

Правила постановки:

  1. Пользователь вводит первое и второе число;
  2. Числа не должны быть дробными или отрицательными;

Лабораторная работа 1.1

Обсчитать какое-то сложное уравнение циклами. Описать словами формулу трудно.

Лабораторная работа 1.2

Разработать алгоритм и программу нахождения наибольшего общего делителя (двух и более чисел).

Вывести на печать результаты расчётов в виде: НОД = значение

Лабораторная работа 1.3

Постановка 1

Дана последовательность целых чисел. Определить: сколько чисел входит в эту последовательность по одному разу (и какие); Вывести на печать результаты расчётов.

Постановка 2

Дана последовательность целых чисел. Определить: максимальное из чисел, входящих в последовательность более одного раза; Вывести на печать результаты расчётов.

Лабораторная работа 1.4

Дана матрица размерности N Получить одномерный массив размерности N*N, выбирая элементы матрицы по цепи, начиная с верхнего правого угла, двигаясь по диагоналям, параллельным главной диагонали матрицы.

Лабораторная работа 1.5

Обсчитать какое-то сложное уравнение циклами. Описать словами формулу трудно.

Лабораторная работа 1.6

Даны: число, месяц, год. На какой день недели приходится эта дата? («Вечный календарь»); При выполнении работы считать, что Григорианский календарь был введён с 1 января 1 года.

Лабораторная работа 1.7

Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами – запятая или не менее одного пробела, за последним словом – точка. Вывести те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: слово начинается с гласной буквы и заканчивается согласной буквой.

Лабораторная работа 1.8

Дана матрица X[9,10]. Упорядочить элементы столбцов матрицы по возрастанию, а сами столбцы - по возрастанию произведения чётных элементов. Вывести в виде:

  1. Изначальная матрица.
  2. Произведения чётных элементов.
  3. Отсортированная матрица.

Лабораторная работа 2.1

Используя функции и процедуры, провести операции над матрицами.

Лабораторная работа 2.2

Провести сравнительный анализ по числу сравнений следующих видов сортировки:

  1. Пузырёк с флажком;
  2. Пирамидальная сортировка.

Размерности массивов соответственно: 100, 250, 500, 1000, 2000, 3000.

Типы массивов:

  1. Случайный;
  2. Отсортированный;
  3. Перевернутый.

Лабораторная работа 2.3

Реализовать QuickSort.

Лабораторная работа 2.4

Сравнить HeapSort и BubbleSort по разным критериям.

Лабораторная работа 2.5

Продемонстрировать работу с импортируемыми модулями.

Лабораторная работа 2.7

Выписать все звонкие согласные из слов и отсортировать их в порядке появления в алфавите.

Лабораторная работа 2.8

Постановка 1

Даны текстовый файл F, текстовый файл F1 и натуральное число К. Файл F содержит 30 слов, каждое из которых будем называть ключевым. Сформировать файл G, который содержит строки файла F1, циклически сдвинутые так, чтобы каждое ключевое слово, входящее в строку, начиналось с К-ой позиции. Строки, не содержащие ключевых слов, в файл G не включаются. Строки, которые содержат N ключевых слов, записываются в файле G N раз.

Постановка 2

Даны текстовый файл F, текстовый файл F1 и натуральное число К. Файл F содержит до 100 слов, каждое из которых будем называть ключевым. Сформировать файл Res, который содержит строки файла F1, циклически сдвинутые так, чтобы каждое ключевое слово, входящее в строку, начиналось с К-ой позиции. Строки, не содержащие ключевых слов, в файл G не включаются. Строки, которые содержат N ключевых слов, записываются в файле G N раз. Если K больше, чем длина строки, то об этом сообщается пользователю. Имеется поддержка файлов с символами из отличных от латинского алфавитов.

Лабораторная работа 2.9

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

Лабораторная работа 2.10

Продемонстрировать работу с переменными типа "функции".

Лабораторная работа 2.11

Примитивный парсер для логических выражений.

Лабораторная работа 2.12

Работа со связным списком: его реализация, заполнение числами и хождение по нему.

About

ОАиП - лабораторные работы, курсовая БГУИР

Topics

Resources

License

Stars

Watchers

Forks

Languages