БОЛЬШАЯ НАУЧНАЯ БИБЛИОТЕКА  
рефераты
Добро пожаловать на сайт Большой Научной Библиотеки! рефераты
рефераты
Меню
Главная
Налоги
Начертательная геометрия
Оккультизм и уфология
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование и комп-ры
Радиоэлектроника
Региональная экономика
Режущий инструмент
Реклама и PR
Ресторанно-гостиничный бизнес бытовое обслуживан
Римское право
Русский язык культура речи
РЦБ ценные бумаги
САПР
Сексология
Семейное право
Социология
Страховое право
Строительство архитектура
Таможенное право
Теория государства и права
Технология
Таможенная система
Транспорт
Физика и энергетика
Философия
Финансы деньги и налоги
Физкультура и спорт
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика и эстетика
Сочинения по литературе и русскому языку
Рефераты по теории государства и права
Рефераты по теории организации
Рефераты по теплотехнике
Рефераты по товароведению
Рефераты по трудовому праву
Рефераты по туризму
Рефераты по уголовному праву и процессу
Рефераты по управлению
Рефераты по менеджменту
Рефераты по металлургии
Рефераты по муниципальному праву
Биографии
Рефераты по психологии
Рефераты по риторике
Рефераты по статистике
Рефераты по страхованию
Рефераты по схемотехнике
Рефераты по науке и технике
Рефераты по кулинарии
Рефераты по культурологии
Рефераты по зарубежной литературе
Рефераты по логике
Рефераты по логистике
Рефераты по маркетингу
Рефераты по международному публичному праву
Рефераты по международному частному праву
Рефераты по международным отношениям
Рефераты по культуре и искусству
Рефераты по кредитованию
Рефераты по естествознанию
Рефераты по истории техники
Рефераты по журналистике
Рефераты по зоологии
Рефераты по инвестициям
Рефераты по информатике
Исторические личности
Рефераты по кибернетике
Рефераты по коммуникации и связи
Рефераты по косметологии
Рефераты по криминалистике
Рефераты по криминологии
Новые или неперечисленные
Без категории

Программирование на Object Pascal в среде Delphi

Программирование на Object Pascal в среде Delphi

Лабораторная работа №1

Программирование линейных алгоритмов

Цель лабораторной работы: изучить основные элементы визуальной среды,

освоить использование простейших компонентов DELPHI для ввода/вывода

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

1.1.Визуальная среда DELPHI

При запуске DELPHI на экране появляется панель интерфейса,

показанная на рис. 1.1. Среда DELPHI визуально реализуется в виде

нескольких одновременно раскрытых на экране монитора окон. Количество,

расположение, размер и вид окон может изменяться программистом.

Главное окно всегда присутствует на экране и предназначено для

управления процессом создания приложения.

Главное меню содержит все необходимые средства для управления

проектом.

Пиктограммы главного меню облегчают доступ к наиболее часто

применяемым командам.

Палитра Компонентов обеспечивает доступ к набору библиотечных

программ среды DELPHI, которые описывают некоторый элемент (компонент),

помещенный программистом в окно Формы. Каждый компонент имеет определенный

набор свойств, которые программист может выбирать и изменять по своему

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

шрифта и др. Свойства компонентов приведены в HELP.

Окно Инспектора Объектов предназначено для изменения свойств

выбранных компонентов и состоит из двух страниц. Страница Properties

(Свойства) предназначена для изменения необходимых свойств компонента.

Страница Events (События) – для определения реакции компонента на то или

иное событие (например, щелчок кнопки “мыши ”).

Окно Формы представляет собой интерфейс проектируемого Windows-

приложения. В это окно на этапе проектирования приложения помещаются

необходимые компоненты, которые разработчик берет из Палитры Компонентов.

Каждой Форме проекта соответствует модуль (Unit), текст которого на языке

Object Pascal размещается в окне Редактора Кода.

Окно Редактора Кода предназначено для просмотра, создания и

редактирования текстов модулей проекта. При первоначальной загрузке в окне

Редактора Кода находится текст модуля, содержащий минимальный набор

операторов для нормального функционирования пустой Формы в качестве Windows-

приложения. При размещении некоторого компонента в окне Формы, текст модуля

автоматически дополняется необходимыми операторами.

Обо всех происходящих в системе событиях, таких как создание Формы,

нажатие кнопки мыши или клавиатуры и т.д., ядро Windows информирует окна

путем посылки соответствующих сообщений. Среда DELPHI принимает и

обрабатывает сообщения с помощью обработчиков событий (например, щелчок

кнопки “мыши” – событие OnClick, создание Формы – OnCreate). Наиболее часто

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

|Таблица 1.1 |

|Событие |Описание события |

|OnActivate |Возникает при активизации Формы |

|OnCreate |Возникает при создании Формы. В обработчике данного события|

| |следует задавать действия, которые должны происходить в |

| |момент создания Формы, например установка начальных |

| |значений. |

|OnClick |Возникает при нажатии кнопки мыши в области компонента. |

|OnDblClick |Возникает при двойном нажатии кнопки мыши в области |

| |компонента |

|OnKeyPress |Возникает при нажатии клавиши на клавиатуре. Параметр Key |

| |имеет тип Char и содержит ASCII-код нажатой клавиши |

| |(клавиша Enter клавиатуры имеет код #13, клавиша Esc - #27 |

| |и т.д.). Обычно это событие используется в том случае, |

| |когда необходима реакция на нажатие одной из клавиш. |

|OnKeyDown |Возникает при нажатии клавиши на клавиатуре. Обработчик |

| |этого события получает информацию о нажатой клавише и |

| |состоянии клавиш Shift, Alt и Ctrl, а также о нажатой |

| |кнопке мыши. |

Для создания обработчика события программисту необходимо раскрыть

список компонентов в верхней части окна Инспектора Объектов и выбрать

необходимый компонент. Затем, на странице Events Инспектора Объектов,

нажатием левой клавиши мыши выбрать название обработчика и дважды щелкнуть

по его правой (белой) части. В ответ DELPHI активизирует окно Редактора

Кода модуля и покажет заготовку процедуры обработки выбранного события. Для

каждого обрабатываемого события в тексте модуля организуется процедура

(procedure), между ключевыми словами begin и end которой программист на

языке Object Pascal записывает требуемый алгоритм обработки события.

Переключение между окном Формы и окном Редактора Кода осуществляется

кнопкой главного меню с пиктограммой [pic] или клавишей F12.

1.2. Пример создания приложения

Задание: создать Windows-приложение для вычисления выражения

[pic] .

Численные значения данных x, y и z занести с клавиатуры в соответствующие

поля панели интерфейса. Один из возможных вариантов панели интерфейса

создаваемого приложения показан на рис. 1.2.

1.2.1. Сохранение проекта

В процессе проектирования приложения DELPHI создает несколько файлов

- проект. Каждый проект целесообразно хранить в отдельной, заранее

созданной папке. С помощью подходящего приложения Windows создадим папку и

назовем ее, например, LAB1.

Для сохранения проекта откройте в главном меню пункт File и щелкните

“мышью” на опции Save Project As…(Сохранить проект как…). Сначала DELPHI

откроет панель диалога Save Unit1 As (Сохранить модуль как) для сохранения

модуля проекта. В этой панели найдем созданную папку LAB1 и сохраним в ней

модуль под именем, например, UnLinAlg. Обратите внимание на то, что DELPHI

по умолчанию присвоит этому файлу тип Delphi unit c расширением *.pas.

Затем откроется панель диалога Save Project1 As . Назовем наш проект,

например, PrLinAlg и сохраним его в этой же папке. Здесь DELPHI даст файлу

тип Delphi project и расширение *.dpr. Убедитесь в том, что главное окно

DELPHI теперь называется PrLinAlg, окно главного файла проекта-

PrLinAlg.dpr, а окно модуля проекта- UnLinAlg.pas.

Старайтесь давать файлам осмысленные имена вместо однообразных Unit1

и Project1, предлагаемых DELPHI.

Чтобы избежать потери файлов проекта в аварийных ситуациях связанных,

например, с выключениием питания, зависании системы и т.д., рекомендуется

периодически сохранять проект, используя пиктограмму [pic] главного меню

или опцию Save All в меню File.

1.2.2. Настройка окон

Чтобы работать с окном, необходимо сделать его активным, щелкнув

“мышью” в любом месте окна. У активного окна заголовок становится

выделенным, например, на рис. 1.1 активным является окно Редактора Кода.

Окна Формы и Редактора Кода модуля в правом верхнем углу имеют кнопки

управления, которые предназначены: [pic] -для свертывания окна в

пиктограмму, [pic] -для разворачивания окна на весь экран и возвращения к

исходному размеру [pic], [pic] -для закрытия окна.

С помощью “мыши”, захватывая одну из кромок окна или выделенную

строку заголовка, отрегулируете нужные размеры окон Формы, Редактора Кода,

Инспектора Объектов и их положение на экране.

1.2.3. Изменение заголовка Формы

Новая Форма имеет одинаковые имя (Name) и заголовок (Сaption) -

FORM1. Начинающим программистам имя Формы менять не рекомендуется, т.к. оно

используется в тексте модуля.

Для изменения заголовка активизируйте окно Инспектора Объектов и на

странице Properties в свойстве Caption замените заголовок Form1 на

Лаб. работа №1-Линейный алгоритм. Убедитесь, что одновременно

изменился заголовок окна Формы.

1.2.4. Размещение компонентов на Форме

Будем размещать компоненты на Форме так, чтобы они соответствовали

панели, показанной на рис 1.2.

[pic]

Для нанесения надписей на Форму используется компонент Label. Выберите в

Палитре Компонентов на странице Standard пиктограмму [pic] компонента Label

и щелкните на ней “мышью”. Затем в нужном месте Формы щелкните “мышью” -

появится надпись Label1. В свойстве Caption Инспектора Объектов замените

надпись Label1 на Введите значение X:. В свойстве Font подберите шрифт.

Аналогично нанесите на Форму остальные надписи. Щелкнув “мышью” на любом из

размещенных компонентов, отрегулируйте его местоположение на Форме и

размер.

Для ввода/вывода данных в простейших случаях используются компоненты

Edit и Memo. Компонент Edit применяется в тех случаях, когда данные

представляются одной строкой. Если данные представляют собой несколько

строк, то используется компонент Memo.

Для создания полей ввода численных значений переменных x, y и z

используем компонент Edit. Выберите в Палитре Компонентов на странице

Standard пиктограмму [pic] и разместите компонент Edit в нужных местах

Формы так же, как Вы это делали с компонентом Label.

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

Компонентов на странице Standard пиктограмму [pic], поместите компонент

Memo на Форму и откорректируйте его местоположение и размеры.

1.2.5. Написание процедуры обработки события создания Формы (FormCreate)

Если программист желает, чтобы при появлении панели интерфейса на

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

должен учесть, что при запуске приложения возникает событие - создание

Формы (OnCreate). Создадим процедуру обработки этого события, которая

занесет начальные значения переменных x, y, z в поля Edit1, Edit2 и Edit3

соответственно, а в поле Memo1 поместит строку Лабораторная работа №1 –

Линейный алгоритм. Для этого дважды щелкните мышью на любом свободном месте

Формы. На экране появится текст модуля UnLinAlg, в котором DELPHI

автоматически создает заготовку процедуры-обработчика события создания

Формы: Procedure TForm1.FormCreate(Sender:TObject). Между операторами begin

и end этой процедуры вставьте операторы, которые выполняют необходимые

действия (текст модуля приведен в п.1.2.7).

1.2.6. Написание процедуры обработки события нажатия кнопки Button1

(Button1Click)

Поместим на Форму кнопку, нажатие которой приведет к вычислению

выражения. Выберите в Палитре Компонентов на странице Standart пиктограмму

[pic] компонента Button. В свойстве Caption Инспектора Объектов замените

надпись на кнопке Button1 на Вычислить. В свойстве Font подберите шрифт.

Отрегулируйте положение и размер кнопки. Затем дважды щелкните “мышью” на

кнопке, после чего курсор установится в тексте процедуры-обработчика

события нажатия кнопки Button1 : Procedure

TForm1.Button1Click(Sender:TObject). Внимательно наберите операторы этой

процедуры, используя текст модуля UnLinAlg.

1.2.7. Текст модуля UnLinAlg

Unit UnLinAlg;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Memo1: TMemo;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

// Процедура обработки события создания Формы:

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:='0.4'; // начальное значение X

Edit2.Text:='8.75e-2'; // начальное значение Y

Edit3.Text:='-19.63'; // начальное значение Z

Memo1.Clear; // очистка Memo1

// Вывод строки в Memo1:

Memo1.Lines.Add('Лабораторная работа №1 - Линейный алгоритм');

end;

// Процедура обработки события нажатия кнопки Button1:

procedure TForm1.Button1Click(Sender: TObject);

var

x,y,z,a,b,c,u : extended; // объявление локальных переменных

begin

x:=StrToFloat(Edit1.Text); // X присваивается содержимое Edit1

y:=StrToFloat(Edit2.Text); // Y присваивается содержимое Edit2

z:=StrToFloat(Edit3.Text); // Z присваивается содержимое Edit3

// Вычисляется выражение

a:=sqrt(x)-y*y*y;

b:=sin(a)/cos(a);

c:=Exp(5*Ln(b));

u:=c+exp(y/z)*sin(z*z);

Memo1.Lines.Add('X = '+Edit1.Text+' Y = '+Edit2.Text+

' Z = '+Edit3.Text); // контрольный вывод X, Y, Z в Memo1

// Вывод результата в Memo1:

Memo1.Lines.Add(' U = '+FloatToStrF(u,ffFixed,8,3));

end;

end.

Данные, с которыми работают компоненты Edit и Memo, имеют тип String.

Поэтому в процедуре TForm1.Button1Click при присваивании содержимого полей

Edit1,Edit2,Edit3 переменным X,Y,Z c помощью функции StrToFloat

осуществляется преобразование данных типа String в действительные значения

с плавающей точкой типа Extended. Если необходимо работать с данными

целого типа, используется функция StrToInt.

При выводе данных в Memo1 используется метод Add свойства Lines,

причем для преобразования данных из действительного значения в строковое и

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

FloatToStrF.

1.2.8. Работа с приложением

Для запуска созданного приложения нажмите пиктограмму [pic] главного

меню или клавишу F9. При этом происходит компиляция модулей и, если нет

ошибок, компоновка проекта и создание выполняемого файла PrLinAlg.exe. На

экране появляется панель интерфейса приложения (рис.1.2).

Щелкните “мышью” на кнопке “Вычислить” и в поле Memo1 появляется

результат. Измените исходные значения x, y, z в полях Edit и снова нажмите

кнопку ”Вычислить”. Убедитесь, что в поле Memo1 отображаются новые

результаты. Завершить работу приложения можно нажатием кнопки [pic] в

правом верхнем углу панели интерфейса.

В случае нештатного функционирования приложения восстановить

первоначальный режим работы с проектом можно путем выбора в меню Run опции

ProgramReset или нажать клавиши Ctrl+F2.

1.3. Выполнение индивидуального задания

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

Уточните условие задания, количество и типы исходных данных. В соответствии

с этим оформите дизайн панели интерфейса проектируемого приложения,

установите необходимое количество полей Edit, тексты заголовков на Форме,

размеры шрифтов, а также типы переменных и функции преобразования при вводе

и выводе результатов.

Индивидуальные задания

1. [pic]

При x=14.26, y=-1.22, z=3.5([pic] t=0.564849.

2. [pic]

При x=-4.5, y=0.75([pic],z=0.845[pic] u=-55.6848.

3. [pic]

При x=3.74[pic], y=-0.825, z=0.16[pic] v=1.0553.

4. [pic]

При x=0.4[pic] ,y=-0.875, z=-0.475[pic] w=1.9873.

5. [pic]

При x=-15.246, y=4.642[pic], z=20.001[pic] [pic]=-182.036.

-----------------------

3

4

5

6

Рис.1.2

Label1

Label2

Label3

Рис.2.1

1- главное окно; 2 – главное меню, 3 – пиктограммы главного меню,

4 - окно Инспектора Объектов; 5 – окно Редактора Кода,

6- окно пустой Формы; 7 – Палитра Компонентов.

Label4

2

1

7

Edit1

Edit2

Edit3

Button1

Memo1





17.06.2012
Большое обновление Большой Научной Библиотеки  рефераты
12.06.2012
Конкурс в самом разгаре не пропустите Новости  рефераты
08.06.2012
Мы проводим опрос, а также небольшой конкурс  рефераты
05.06.2012
Сена дизайна и структуры сайта научной библиотеки  рефераты
04.06.2012
Переезд на новый хостинг  рефераты
30.05.2012
Работа над улучшением структуры сайта научной библиотеки  рефераты
27.05.2012
Работа над новым дизайном сайта библиотеки  рефераты

рефераты
©2011