MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Программирование на Object Pascal в среде Delphi

Название:Программирование на Object Pascal в среде Delphi
Просмотров:62
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Цель лабораторной работы: изучить основные элементы визуальной среды, освоить использование простейших компонентов DELPHI для ввода/вывода данных, и создать приложение, которое использует линейный алгоритм.

Часть полного текста документа:

Лабораторная работа №9 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ С ИСПОЛЬЗОВАНИЕМ ДИНАМИЧЕСКИХ СТРУКТУР ДАННЫХ Цель лабораторной работы: освоить методику создания приложений, в которых используются динамические структуры данных. Примеры создания приложений 9.1 Использование динамических массивов Задание: создать приложение для вычисления наименьшего и наибольшего из всех значений элементов целочисленной матрицы A={aij}, где i=1,2,..., m; j=1,2,..., n. Значения m и n задаются пользователем на панели интерфейса, а элементы матрицы A генерируются с помощью датчика случайных чисел и размещаются в памяти динамически. Один из возможных вариантов панели интерфейса создаваемого приложения показан на рис.9.1. 9.1.1. Размещение компонентов на Форме Разместим на Форме компоненты Label, SpinEdit, Button и StringGrid. Рис. 9.1 Сохраним модуль под именем UnDinMas (текст модуля приведен в п.9.1.3). 9.1.2 Создание процедур обработки событий FormCreate и Button1Click Двойным нажатием клавиши "мыши" на Форме и кнопке Button1 создайте соответствующие процедуры обработки событий. Пользуясь текстом модуля UnDinMas, внимательно наберите операторы этих процедур. При желании можно создать процедуру, которая будет выделять заданным цветом границы ячеек с наименьшим и наибольшим значениями в компоненте StringGrid. Для создания такой процедуры сделайте активным компонент StringGrid и на странице Events(события) Инспектора Объектов дважды щелкните "мышью" в правой части события OnDrawCell. В ответ Delphi создаст обработчик этого события - процедуру procedure TForm1.StringGrid1DrawCell и установит курсор между операторами begin и end этой процедуры. Используя текст модуля UnDinMas, внимательно наберите операторы процедуры TForm1.StringGrid1DrawCell. 9.1.3 Текст модуля UnDinMas Unit UnDinMas; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, Grids, Buttons; type TForm1 = class(TForm)
    Label1: TLabel;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label8: TLabel;
    StringGrid1: TStringGrid;
    Label2: TLabel;
    Label5: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;
    Rect: TRect; State: TGridDrawState);
    procedure Button1Click(Sender: TObject); private
    { Private declarations } public
    { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} Type Mas=array[1..1] of integer; // массив целочисленных значений pMas=array[1..1] of ^mas; // массив указателей var // объявление глобальных переменных pA:^pMas; // указатель на массив указателей m,n,max,min:integer; procedure TForm1.FormCreate(Sender: TObject); begin m:=6; // начальное значение m n:=8; // начальное значение n SpinEdit1.Text:='6'; SpinEdit2.Text:='8'; StringGrid1.RowCount:=m; // количество строк StringGrid1.ColCount:=n; // количество столбцов end; procedure TForm1.SpinEdit1Change(Sender: TObject); begin m:=StrToInt(SpinEdit1.Text);// m присваивается содержимое поля редактора StringGrid1.RowCount:=m; end; procedure TForm1.SpinEdit2Change(Sender: TObject); begin n:=StrToInt(SpinEdit2.Text);// n присваивается содержимое поля редактора StringGrid1.ColCount:=n; end; procedure TForm1.Button1Click(Sender: TObject); label 1; var i,j,k,l,r:integer; begin Randomize; // инициализация датчика случайных чисел GetMem(pA,4*m); // выделение памяти для массива из m указателей for i :=1 to m do begin // формирование i-й строки массива
    { Выделение памяти для n элементов i-й строки}
    GetMem(pA^[i],SizeOf(integer)*n);
    pA^[1]^[1]:=Random(1000);// случайное целое число занести в массив
    for j:=1 to n do
    begin // формирование j-го элемента строки
    1: r:=Random(1000); // генерирование случайного числа
    for k:=1 to i do
    for l:=1 to j do
    if r=pA^[k]^[l] then // если такое число уже есть в массиве тогда...
    goto 1;
    pA^[i]^[j]:=r; // случайное число занести в массив
    end; end; for i:=1 to m do // элементы массива занести в ячейки
    for j:=1 to n do // компонента StringGrid1
    StringGrid1.Cells[j-1,i-1]:=IntToStr(pA^[i]^[j]); { Поиск min и max значений среди элементов массива} max:=pA^[1]^[1]; min:=max; for i:=1 to m do for j:=1 to n do
    if pA^[i]^[j]max then
    max:=pA^[i]^[j]; Label7.Caption:=IntToStr(min); // вывод min значения Label9.Caption:=IntToStr(max); // вывод max значения for i:=1 to m do { Освобожение памяти, занимаемой n элементами i-й строки} FreeMem(pA^[i],SizeOf(integer)*n); { Освобождение памяти, занимаемой массивом из m указателей} FreeMem(pA,4*m); end; procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState); begin with StringGrid1.Canvas do if StringGrid1.Cells[Col,Row]=IntToStr(min) then // если элемент ячейки
    begin // равен min тогда...
    Brush.Color:=clGreen; // установить цвет кисти зеленый
    FrameRect(Rect); // выделить границы ячейки заданным цветом
    end
    else
    if StringGrid1.Cells[Col,Row]=IntToStr(max) then // если элемент ячейки
    begin // равен max тогда...
    Brush.Color:=clRed; // установить цвет кисти красный
    FrameRect(Rect); // выделить границы ячейки заданным цветом
    end end; end. 9.2 Использование динамических списков Задание2: создать приложение для формирования стека, который заполняется путем ввода целых положительных чисел с клавиатуры. ............






Похожие работы:

Название:Особенности и характеристика двух основных элементов таможенного оформления
Просмотров:722
Описание: Таможенное оформление - это процедура помещения товаров и транспортных средств под определенный таможенный режим и выпуск товаров в соответствии с заявленным режимом. Таможенное оформление начинается не поздн

Название:Элементы сферической геометрии
Просмотров:993
Описание: Экзаменационный реферат по геометрии Выполнил ученик 11 «б» класса Шкерин Андрей Владимирович МОУ «Гагинская средняя общеобразовательная школа» Гагино 2008 Введение На протяжении многих веков человечеств

Название:Морковь столовая. Элементы агротехники
Просмотров:499
Описание: Отношение к факторам внешней среды. Семена моркови очень медленно прорастают. При благоприятных температурах всходы появляются на 10—15-й день после посева, а в холодную и засушливую погоду — на 25—30-й. Они начинают

Название:Роль микроэлементов в составе удобрений
Просмотров:505
Описание: Черноногов В.Г., агроном ОАО «Буйский химический завод» Элементы питания с приставкой «микро» оказывают макроэффект, если они обеспечивают необходимый баланс питания. Данное обстоятельство является ключевым

Название:Томат. Элементы агротехники
Просмотров:495
Описание: Требования к условиям окружающей среды. Томат - однолетняя культура. Стебель томатов травянистый, сочный, во влажной среде дает дополнительные корни, с возрастом становится грубым. В пазухах листьев стебель образу

 
     

Вечно с вами © MaterStudiorum.ru