Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_Delphi.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.85 Mб
Скачать

16

Лабораторные работы по Delphi

Лабораторная работа 1. Линейные программы

Напишите программу для расчета по двум формулам. Предварительно подготовь­те тестовые примеры с помощью калькулятора (результаты вычисления по обеим формулам должны совпадать). Отсутствующие функции выра­зите через имеющиеся.

Лабораторная работа 2. Организация циклов

Вычислить и вывести на экран значение функции, заданной с по­мощью ряда Тейлора, для х, введенного с экрана, с точностью ε. Строка вывода должна содержать значение аргумента, значение функции и количество просуммированных чле­нов ряда.

Лабораторная работа 3. Одномерные массивы

Вариант 1

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

  • сумму отрицательных элементов массива;

  • произведение элементов массива, расположенных между максимальным и ми­нимальным элементами.

Упорядочить элементы массива по возрастанию.

Вариант 2

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • сумму положительных элементов массива;

  • произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.

Упорядочить элементы массива по убыванию.

Вариант 3

В одномерном массиве, состоящем из n целочисленных элементов, вычислить:

  • произведение элементов массива с четными номерами;

  • сумму элементов массива, расположенных между первым и последним нуле­выми элементами.

Преобразовать массив таким образом, чтобы сначала располагались все положи­тельные элементы, а потом – все отрицательные (элементы, равные нулю, счи­тать положительными).

Вариант 4

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

  • сумму элементов массива с нечетными номерами;

  • сумму элементов массива, расположенных между первым и последним отри­цательными элементами.

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

Вариант 5

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • максимальный элемент массива;

  • сумму элементов массива, расположенных до последнего положительного элемента.

Сжать массив, удалив из него все элементы, модуль которых находится в ин­тервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.

Вариант 6

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • минимальный элемент массива;

  • сумму элементов массива, расположенных между первым и последним поло­жительными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элемен­ты, равные нулю, а потом – все остальные.

Вариант 7

В одномерном массиве, состоящем из п целочисленных элементов, вычислить:

  • номер максимального элемента массива;

  • произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

Преобразовать массив таким образом, чтобы в первой его половине располага­лись элементы, стоявшие в нечетных позициях, а во второй половине – элемен­ты, стоявшие в четных позициях.

Вариант 8

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • номер минимального элемента массива;

  • сумму элементов массива, расположенных между первым и вторым отрица­тельными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элемен­ты, модуль которых не превышает единицу, а потом — все остальные.

Вариант 9

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • максимальный по модулю элемент массива;

  • сумму элементов массива, расположенных между первым и вторым положи­тельными элементами.

Преобразовать массив таким образом, чтобы элементы, равные нулю, располага­лись после всех остальных.

Вариант 10

В одномерном массиве, состоящем из п целочисленных элементов, вычислить:

  • минимальный по модулю элемент массива;

  • сумму модулей элементов массива, расположенных после первого элемента, равного нулю.

Преобразовать массив таким образом, чтобы в первой его половине располага­лись элементы, стоявшие в четных позициях, а во второй половине – элементы, стоявшие в нечетных позициях.

Вариант 11

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • номер минимального по модулю элемента массива;

  • сумму модулей элементов массива, расположенных после первого отрица­тельного элемента.

Сжать массив, удалив из него все элементы, величина которых находится в ин­тервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.

Вариант 12

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • номер максимального по модулю элемента массива;

  • сумму элементов массива, расположенных после первого положительного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все эле­менты, целая часть которых лежит в интервале [а, b], а потом – все остальные.

Вариант 13

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество элементов массива, лежащих в диапазоне от A до В;

  • сумму элементов массива, расположенных после максимального элемента. Упорядочить элементы массива по убыванию модулей.

Вариант 14

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество элементов массива, равных нулю;

  • сумму элементов массива, расположенных после минимального элемента. Упорядочить элементы массива по возрастанию модулей.

Вариант 15

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество элементов массива, больших С;

  • произведение элементов массива, расположенных после максимального по модулю элемента.

Преобразовать массив таким образом, чтобы сначала располагались все отрица­тельные элементы, а потом – все положительные (элементы, равные нулю, счи­тать положительными).

Вариант 16

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество отрицательных элементов массива;

  • сумму модулей элементов массива, расположенных после минимального по модулю элемента.

Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.

Вариант 17

В одномерном массиве, состоящем из п целочисленных элементов, вычислить:

  • количество положительных элементов массива;

  • сумму элементов массива, расположенных после последнего элемента, равно­го нулю.

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

Вариант 18

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • количество элементов массива, меньших С;

  • сумму целых частей элементов массива, расположенных после последнего от­рицательного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом – все остальные.

Вариант 19

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • произведение отрицательных элементов массива;

  • сумму положительных элементов массива, расположенных до максимального элемента.

Изменить порядок следования элементов в массиве на обратный.

Вариант 20

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

  • произведение положительных элементов массива;

  • сумму элементов массива, расположенных до минимального элемента.

Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.

Лабораторная работа 4. Простейшие классы

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

Вариант 1

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

Вариант 2

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

Вариант 3

Описать класс, представляющий треугольник. Предусмотреть методы для созда­ния объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. При невоз­можности построения треугольника выбрасывается исключение. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 4

Построить описание класса, содержащего информацию о почтовом адресе орга­низации. Предусмотреть возможность раздельного изменения составных частей адреса и проверки допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 5

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

Вариант 6

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

Вариант 7

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

Вариант 8

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

Вариант 9

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

Вариант 10

Составить описание класса многочлена вида ах2 + bх + с. Предусмотреть мето­ды, реализующие:

  • вычисление значения многочлена для заданного аргумента;

  • операцию сложения, вычитания и умножения многочленов с получением но­вого объекта-многочлена;

  • вывод на экран описания многочлена.

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

Вариант 11

Описать класс, представляющий треугольник. Предусмотреть методы для созда­ния объектов, вычисления площади, периметра и точки пересечения медиан. При невозможности по­строения треугольника выбрасывается исключение. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 12

Описать класс, представляющий круг. Предусмотреть методы для создания объ­ектов, вычисления площади круга, длины окружности и проверки попадания за­данной точки внутрь круга. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 13

Описать класс для работы со строкой, позволяющей хранить только двоичное число и выполнять с ним арифметические операции. Предусмотреть инициали­зацию с проверкой допустимости значений. В случае недопустимых значений выбрасываются исключения. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 14

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

Вариант 15

Описать класс «файл», содержащий сведения об имени, дате создания и длине файла. Предусмотреть инициализацию с проверкой допустимости значений по­лей. В случае недопустимых значений полей выбрасываются исключения. Опи­сать метод добавления информации в конец файла. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 16

Описать класс «комната», содержащий сведения о метраже, высоте потолков и количестве окон. Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исклю­чения. Описать методы вычисления площади и объема комнаты. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 17

Описать класс, представляющий нелинейное уравнение вида ах- cos(x) = 0. Описать метод, вычисляющий решение этого уравнения на заданном интервале методом деления пополам и выбрасываю­щий исключение в случае отсутствия корня. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 18

Описать класс, представляющий квадратное уравнение вида ах2 + bх + с = 0. Опи­сать метод, вычисляющий решение этого уравнения и выбрасывающий исключение в случае отсутствия корней. Написать программу, демонстрирующую все разработанные элементы класса.

Вариант 19

Описать класс «процессор», содержащий сведения о марке, тактовой частоте, объеме кэша и стоимости. Предусмотреть инициализацию с проверкой допусти­мости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать класс «материнская плата», включающий класс «процессор» и объем установленной оперативной памяти. Предусмотреть инициализацию с про­веркой допустимости значений поля объема памяти. В случае недопустимых значений поля выбрасывается исключение. Написать программу, демонстрирующую все разработанные элементы классов.

Вариант 20

Описать класс «цветная точка». Для точки задаются координаты и цвет. Цвет описывается с помощью трех составляющих (красный, зеленый, синий). Преду­смотреть различные методы инициализации объекта с проверкой допустимости значений. Допустимым диапазоном для каждой составляющей является [0, 255]. В случае недопустимых значений полей выбрасываются исключения. Описать метод изменения цвета. Написать программу, демонстрирующую все разработанные элементы класса.

Лабораторная работа 5. Создание Windows-приложений

Общая часть задания: написать Windows-приложение, заголовок главного окна которого содержит Ф. И. О., группу и номер варианта. В программе должна быть предусмотрена обработка исключений, возникающих из-за ошибочного ввода пользователя.

Вариант 1

Создать меню с командами Ввод, Счет и Выход. При выборе команды Ввод открывается диалоговое окно, содержащее:

  • три компонента Edit (поля ввода длин трех сторон треугольника);

  • группу из двух компонентов CheckBox (флажки Периметр и Площадь);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • ввода длин трех сторон треугольника;

  • выбора режима с помощью флажков: подсчет периметра и/или площади треугольника.

При выборе команды Счет открывается диалоговое окно с результатами. При вы­боре команды Выход приложение завершается.

Вариант 2

Создать меню с командами Размер, Цвет, Рисовать, Выход. Команда Рисовать недоступна. При выборе команды Выход приложение завершается. При выборе команды Размер открывается диалоговое окно, содержащее:

  • два компонента Edit (поля ввода длин сторон прямоугольника);

  • группу из трех компонентов CheckBox (флажки Red, Green, Blue);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • ввода длин сторон прямоугольника в пикселах в поля ввода;

  • выбора его цвета с помощью флажков.

После задания параметров команда Рисовать становится доступной. При выборе команды Рисовать в главном окне приложения выводится прямоуголь­ник заданного размера и сочетания цветов или выдается сообщение, если вве­денные размеры превышают размер окна.

Вариант 3

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

  • три компонента Edit (поля ввода) с метками Радиус, Высота, Плотность;

  • группу из двух компонентов CheckBox (флажки Объем, Масса);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • ввода радиуса, высоты и плотности конуса;

  • выбора режима с помощью флажков: подсчет объема и/или массы конуса.

При выборе команды Работа открывается окно сообщений с результатами.

Вариант 4

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

  • компонент Edit (поле ввода) с меткой Радиус;

  • группу из двух компонентов CheckBox (флажки Площадь, Длина);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • ввода радиуса окружности;

  • выбора режима с помощью флажков: подсчет площади круга и/или длины окружности.

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

Вариант 5

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

  • три компонента Edit (поля ввода) с метками Число 1, Число 2, Число 3;

  • группу из двух компонентов CheckBox (флажки Сумма, НОК);

  • компонент Button (кнопку Пуск).

Обеспечить возможность ввода трех чисел и выбора режима вычислений с помо­щью флажков: подсчет суммы трех чисел (Сумма) и/или наименьшего общего кратного двух первых чисел (НОК). При выборе команды Счет открыва­ется диалоговое окно с результатами.

Вариант 6

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

  • два компонента Edit (поля ввода) с метками Число 1, Число 2;

  • группу из двух компонентов CheckBox (флажки Сумма, НОД, Произведение);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • ввода двух чисел;

  • выбора режима вычислений с помощью флажков (можно вычислять в любой комбинации такие величины, как сумма, наибольший общий делитель и про­изведение двух чисел).

При выборе команды Счет открывается окно сообщений с результатами.

Вариант 7

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

  • компонент Edit (поле ввода) с меткой Ввод;

  • компонент Label (метку) для вывода результата;

  • группу из трех компонентов RadioButton (2, 8, 16);

  • два компонента Button (кнопки Выполнить и ОК).

Обеспечить возможность:

  • ввода числа в десятичной системе в поле Ввод;

  • выбора режима преобразования с помощью переключателей: перевод в дво­ичную, восьмеричную или шестнадцатеричную систему счисления.

При щелчке на кнопке Выполнить должен появляться результат перевода.

Вариант 8

Создать меню с командами Ввод цвета, Изменить, Выход, Помощь. При выборе команды Выход приложение завершает работу. При выборе команды Ввод цвета открывается диалоговое окно, содержащее:

  • три компонента Edit (поля ввода) с метками Red, Green, Blue;

  • группу из двух компонентов CheckBox (флажки Left, Right);

  • компонент Button (кнопку Пуск).

Обеспечить возможность ввода RGB-составляющих цвета. При выборе команды Изменить цвет главного окна изменяется на заданный (левая, правая или обе поло­вины окна в зависимости от установки флажков).

Вариант 9

Создать меню с командами Ввод размера, Задать, Изменить, Выход. При выборе команды Выход приложение завершает работу. Команда Изменить недос­тупна. При выборе команды Ввод размера открывается диалоговое окно, содержащее:

  • два компонента Edit (поля ввода) с метками Размер X, Размер Y;

  • компонент Button (кнопку Пуск).

При выборе команды Задать открывается диалоговое окно, содержащее:

  • группу из двух компонентов RadioButton (Увеличить, Уменьшить);

  • компонент Button (кнопку Пуск).

Обеспечить возможность ввода значений в поля Размер X и Размер Y. Значения интерпре­тируются как количество пикселов, на которое надо изменить размеры главного окна (увеличить или уменьшить в зависимости от положения переключателей). После ввода значений команда Изменить становится доступной. При выборе этой команды размеры главного окна увеличиваются или уменьшаются на введенное количество пикселов.

Вариант 10

Создать меню с командами Начало, Работа, О программе. При выборе команды О программе открывается окно с информацией о разработчике. При выборе команды Начало открывается диалоговое окно, содержащее:

  • компонент Edit (поле ввода) с меткой Введите слово;

  • группу из двух компонентов RadioButton (Верхний регистр, Нижний регистр);

  • компонент Button (кнопку Пуск).

Обеспечить возможность ввода слова и выбора режима перевода в верхний или нижний регистр в зависимости от положения переключателей. При выборе ко­манды Работа открывается диалоговое окно с результатом перевода.

Вариант 11

Создать меню с командами Ввод цвета, Изменить, Очистиь. При выборе команды Ввод цвета открывается диалоговое окно, содержащее:

  • группу из двух компонентов CheckBox (флажки Вверх, Вниз);

  • группу из трех компонентов RadioButton (Red, Green, Blue);

  • компонент Button (кнопку Пуск).

Обеспечить возможность:

  • выбора цвета с помощью переключателей;

  • ввода режима, определяющего, какая область закрашивается: все окно, его верхняя или нижняя половина.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]