Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
![]()

Рис. 5.19. Пример работы программы сортировки массива методом обмена
На рис. 5.19 приведено диалоговое окно программы сортировки массива методом обмена после завершения процесса сортировки.
Задания для самостоятельной работы
Создайте одномерный массив, заполните его случайноым образом и отсортируйте по убыванию методом"пузырька". Форма должна содержать компоненты для отображения исходного и отсортированного массива, а также компонент для ввода количества элементов. Задана целочисленная матрица А размером NxM, Получить массив B, присвоив его к-му элементу значения 0, если все элементы к-го столбца матрицы - нулевые, и значение в 1 противном случае (k=1,2,...,M).Лабораторная работа №8
Тема: Процедуры и функции
Цель: Сформировать практические навыки описания и применения подпрограмм Object Pascal для обработки данных; построение однооконных интерфейсов с помощью визуального компонента «окно» (класс TForm) и визуальных компонентов панели инструментов Standard: «метка» (класс TLabel), «однострочный редактор» (класс TEdit), «кнопка» (класс TButton), «многострочный редактор текста» (TMemo).
Задание
1. В соответствии с вариантами задания и приведенной ниже спецификацией реализуйте приложение под Windows.
2. Разработайте тестовые задания, и оттестируйте программу одним из методов тестирования.
Спецификация приложения
1. В соответствии с приведенными вариантами заданий реализуйте приложение под Windows, используя для организации пользовательского интерфейса следующие элементы управления: «форма» (класс TForm), «кнопка» (класс TButton), «метка» (класс TLabel), «однострочный редактор» (класс TEdit). Ввод данных и вывод результатов осуществляйте в элементы управления «однострочный редактор». Подписи к однострочным редакторам выполните с помощью элементов «метка». Вычисление результата свяжите с нажатием на элементе управления «кнопка» левой клавиши мыши.
2. Организуйте контроль содержимого строки, вводимой в элемент «однострочный редактор». Если вводимая строка не соответствует заданному формату, то необходимо предусмотреть следующее: в окне сообщений вывести сообщение об ошибке, очистить строку, введенную в «однострочный редактор».
3. Визуальный компонент, в который выводится результат, должен быть доступен только для чтения, чтобы пользователь не мог редактировать его содержимое.
4. Установите удобный для пользователя порядок перемещения фокуса по компонентам с помощью клавиши Tab.
Рекомендации к выполнению
1. Для выполнения заданий используйте результаты предыдущих лабораторных работ. Для этого предварительно создайте новую папку, куда скопируйте все файлы подходящего приложения, после чего откройте его в Delphi и внесите необходимые изменения.
2. Описания разрабатываемых в работе подпрограмм помещайте в разделе реализации (раздел модуля, который начинается после зарезервированного слова implementation) модуля формы вашего приложения.
Варианты заданий
1. Разработайте функцию, которая получает через параметры два вещественных значения и возвращает наименьшее из них.
2. Разработайте функцию, которая получает через параметры целое значение, соответствующее 16-ичной цифре, и возвращает символ, изображающий эту цифру.
3. Разработайте функцию, которая получает через параметры символ, изображающий 16-ичную цифру, и возвращает целое значение, соответствующее этой цифре.
4. Разработайте функцию, которая получает через параметры длины трех сторон треугольника a, b, c, вычисляет и возвращает в качестве своего результата его площадь s. Площадь треугольника вычисляйте по формуле Герона:
![]()
5. Разработайте функцию, которая получает три вещественных параметра, возвращает в качестве своего результата булевское значение True, если полученные значения могут быть сторонами треугольника, False – в противном случае.
6. Разработайте функцию, которая получает три вещественных параметра R, r, l, вычисляет и возвращает в качестве своего результата площадь s усеченного конуса:
![]()
7. Разработайте функцию, которая получает три вещественных параметра R, r, h, вычисляет и возвращает в качестве своего результата объем v усеченного конуса:
![]()
8. Разработайте функцию, которая получает через параметры два вещественных значения x1, x2, вычисляет и возвращает в качестве своего результата вещественное значение y в соответствии со следующей формулой:
![]()
9. Разработайте функцию, которая вычисляет и возвращает в качестве своего результата заданный разряд целого числа. Целое число и номер разряда функция получает через параметры. Разряды нумеруйте справа налево, начиная с единицы. Для решения используйте операции mod, div.
10. Разработайте функцию, которая вычисляет и возвращает в качестве своего результата значение заданного разряда дробной части вещественного числа. Вещественное число и номер разряда функция получает через параметры. Разряды нумеруйте от десятичной точки направо, начиная с единицы. Для решения используйте функции Int, Frac.
11. Выполните приведенные выше варианты заданий, описывая процесс обработки данных в форме процедуры Object Pascal.
12. Разработайте процедуру, которая получает через параметры две вещественные переменные x, y и обменивает переменные их значениями. Например, до вызова процедуры переменные имеют значения: x = 5, y = 8. После вызова процедуры переменные имеют значения: x = 8, y = 5.
Пример
Пусть требуется написать функцию, которая получает через параметр (тип Char) литеру, определяет к какому из приведенных ниже подмножеств она принадлежит:
• латиница;
• цифра;
• кириллица;
• другая;
и возвращает строку (значение типа String), содержащую имя этого подмножества.
Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 7):

Рис. 7
Ей соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function Litera(Ch: Char):String;// Описание функции
begin
if ((Ch>='A') and (Ch<= 'Z')) or ((Ch>='a') and (Ch<= 'z')) then
Litera:='Латиница'
else if ((Ch>='А') and (Ch<= 'Я')) or ((Ch>='а') and (Ch<= 'я')) then
Litera:='Кириллица'
else if ((Ch>='0') and (Ch<= '9')) then
Litera:='Цифра'
else Litera:='Другой'
end;
procedure Litera_(Ch: Char;var Res: String);// Описание процедуры
begin
if ((Ch>='A') and (Ch<= 'Z')) or ((Ch>='a') and (Ch<= 'z')) then
Res:='Латиница'
else if ((Ch>='А') and (Ch<= 'Я')) or ((Ch>='а') and (Ch<= 'я')) then
Res:='Кириллица'
else if ((Ch>='0') and (Ch<= '9')) then
Res:='Цифра'
else Res:='Другой'
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s: String;
begin
Litera_(Key, s); //вызов процедуры
Edit2.Text:= s;
//Edit2.Text:= Litera(Key); //Вызов функции
Edit1.Clear
end;
end.
Содержание отчета
1. Задание.
2. Текст программы на Object Pascal 2.0.
3. Тестовые наборы данных для тестирования приложения.
Контрольные вопросы
1. Назовите синтаксические правила, описания функции.
2. Назовите синтаксические правила, написания вызова функции.
3. Назовите синтаксические правила, описания процедуры.
4. Назовите синтаксические правила, написания оператора процедуры.
5. В чем отличие процедуры от функции?
6. Что такое локальные переменные подпрограммы?
7. Что такое глобальные переменные?
8. Что такое формальные параметры подпрограммы и для чего они предназначены?
9. Что такое фактические параметры подпрограммы и для чего они предназначены?
10. Как должны соотносится между собой фактические и формальные параметры подпрограммы при ее вызове?
11. Перечислите, какие виды формальных параметров используются в подпрограммах, укажите их назначение и особенности применения.
Лабораторная работа №9
Тема: Графические возможности Delphi.
Цель: Отработка практических навыков создания DELPHI-приложения с использованием компонентов TImage, TChart.
Задание 1.
Создать проект, позволяющий просматривать и редактировать рисунки, а также просматривать простейшие геометрические фигуры
Примерный вид формы:

Выполнение задания:
1. Разместите на форме указанные компоненты.
2. Установите следующие свойства компонентов
Компонент | Свойство | Значение |
ComboBox1 | Items | квадрат круг |
Image1 | AutoSuze Stretch | true false |
3. Создайте главное меню формы

4. Запрограммируйте выбор пункта меню открыть
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |


