Программирование в Delphi

Borland Delphi – среда быстрой разработки, строго типизированный объектно-ориентированный язык, базирующийся на Object Pascal. Процедуры обработки событий OnClick и OnKeyPress. Создание исполняемого exe-файла из файлов проекта при помощи компилятора.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 17.02.2013
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Казанский государственный технический университет им. А.Н. Туполева

Кафедра технологий машиностроительных производств

Программирование в Delphi

Курс лекций

Л.Т. Моисеева

Казань 2010

Оглавление

  • Предисловие
  • Лекция 1. Начало работы
  • 1.1 Компоненты
  • 1.2 Событие и процедура его обработки
  • 1.3 Сохранение проекта
  • 1.4 Контрольные вопросы к лекции 1
  • Лекция 2. Символы и строки
  • 2.1 Символы
  • 2.2 Строки
  • 2.3 Контрольные вопросы к лекции 2
  • Лекция 3. Окна ввода и вывода. Инструкции языка
  • 3.1 Инструкция if
  • 3.2 Инструкция case
  • 3.3 Контрольные вопросы к лекции 3
  • Лекция 4. Циклы
  • 4.1 Инструкция for
  • 4.2 Инструкция while
  • 4.3 Инструкция repeat
  • 4.4 Контрольные вопросы к лекции 4
  • Лекция 5. Массивы
  • 5.1 Использование компонента Memo
  • 5.2 Многомерные массивы
  • 5.3 Контрольные вопросы к лекции 5
  • Лекция 6. Процедуры и функции
  • 6.1 Функция
  • 6.2 Процедура
  • 6.3 Контрольные вопросы к лекции 6
  • Лекция 7. Создание модуля. Файлы
  • 7.1 Вывод в файл
  • 7.2 Ввод из файла
  • 7.3 Конец файла
  • 7.4 Контрольные вопросы к лекции 7
  • Лекция 8. Вывод графика
  • 8.1 Контрольные вопросы к лекции 8
  • Литература

Предисловие

Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. В настоящее время программистам стала доступна очередная версия пакета Delphi - Borland Delphi 7 Studio. delphi pascal файл компилятор

Delphi 7 Studio позволяет создать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. Подробную информацию о структуре, составе и возможностях пакетов Borland Delphi 7 Studio можно найти на сайте Borland (www.borland.com/delphi).

Лекция 1. Начало работы

Вид экрана после запуска Delphi несколько необычен. Вместо одного окна на экране появляются пять (Рис. 1):

- главное окно - Delphi 6;

- окно стартовой формы - Form 1;

- окно редактора свойств объектов - Object Inspector;

- окно просмотра списка объектов - Object Tree View;

- окно редактора кода - Unit1.pas.

Рис. 1

Окно редактора кода почти полностью закрыто окном стартовой формы.

В главном окне находится меню команд, панели инструментов и палитра компонентов.

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

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

В окне редактора кода, которое можно увидеть, отодвинув в сторону окно формы, следует набирать текст программы. В начале работы над новым проектом это окно содержит сформированный Delphi шаблон программы.

Работа над новым проектом начинается с создания стартовой формы. Так на этапе разработки программы называются диалоговые окна.

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

При создании формы в первую очередь следует изменить значение свойства Caption (Заголовок). Чтобы это сделать, нужно в окне Object Inspector щелкнуть мышью на строке Caption, в результате чего будет выделено текущее значение свойства, в строке появится курсор, и можно будет ввести текст.

Положение диалогового окна на экране после запуска программы соответствует положению формы во время ее разработки.

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

1.1 Компоненты

Данные с клавиатуры вводят в поля редактирования. Поэтому в форму надо добавить компонент Edit - поле редактирования. Наиболее часто используемые компоненты находятся на вкладке Standard (Рис. 2). Для того чтобы добавить в форму компонент, необходимо в палитре компонентов выбрать этот компонент, щелкнув левой кнопкой мыши на его пиктограмме, далее установить курсор в ту точку формы, в которой должен быть левый верхний угол компонента, и еще раз щелкнуть левой кнопкой мыши. В результате в форме появляется компонент стандартного размера.

Рис. 2

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

Каждому компоненту Delphi присваивается имя, которое состоит из названия компонента и его порядкового номера. Например, если к форме добавить два компонента Edit, то их имена будут Edit1 и Edit2.

Delphi позволяет изменить размер и положение компонента при помощи мыши.

Помимо полей редактирования в окне программы должна находиться краткая информация о программе и назначении полей ввода. Для вывода текста в форму используют поля вывода текста - компонент Label. Значок компонента Label находится на вкладке Standard (см. рис. 2).

Следует обратить внимание на свойства этого компонента AutoSize (признак того, что размер поля определяется его содержимым) и WordWrap (признак того, что слова, которые не помещаются в строке, автоматически переносятся на следующую строку). Эти свойства нужно использовать, если поле вывода должно содержать несколько строк текста. После добавления к форме компонента Label значение свойства AutoSize равно True, т.е. размер поля определяется автоматически в процессе изменения значения свойства Caption. Если вы хотите, чтобы находящийся в поле текст занимал несколько строк, то надо сразу после добавления к форме компонента Label присвоить свойству AutoSize значение False, свойству WordWrap - значение True. Затем задать требуемый размер поля. Только после этого можно ввести в свойство Caption текст, который должен быть выведен в поле.

Последнее, что надо сделать на этапе создания формы - добавить в форму командные кнопки (например, Вычислить или Завершить) - компонент Button (см. рис. 2).

1.2 Событие и процедура его обработки

Щелчок на изображении командной кнопки - это пример того, что в Windows называется событием. Событие (Event) - это то, что происходит во время работы программы. В Delphi каждому событию присвоено имя. Например, щелчок кнопкой мыши - это событие OnClick, нажатие клавиши клавиатуры - OnKeyPress.

Чтобы приступить к созданию процедуры обработки события, надо сначала выбрать компонент, для которого создается процедура обработки события. Затем в окне Object Inspector выбрать вкладку Events (События).

В левой колонке вкладки перечислены имена событий, которые может воспринимать выбранный компонент. Если для события написана процедура его обработки, то в правой колонке выводится имя этой процедуры (рис. 3, а).

Рис. 3

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

Редактор кода предоставляет программисту большой набор шаблонов: объявления массивов, классов, функций, процедур; инструкций (операторов) выбора (if, case), циклов (for, while, repeat). Для того чтобы в процессе набора текста программы воспользоваться шаблоном кода и вставить его в текст программы, нужно нажать комбинацию клавиш <Ctrl> + <J> и из появившегося списка выбрать нужный шаблон. Выбрав в списке шаблон, нужно нажать <Enter>, и шаблон будет вставлен в текст программы.

1.3 Сохранение проекта

Проект - это набор файлов, используя которые компилятор создает исполняемый файл программы (ехе-файл). В простейшем случае проект состоит из файла описания проекта (dof-файл), файла главного модуля (dpr-файла), файла ресурсов (res-файла), файла описания формы (dfm-файла), файла модуля формы, в котором находятся основной код приложения, в том числе процедуры обработки событий на компонентах формы (pas-файл), файл конфигурации (cfg-файл).

Чтобы сохранить проект, нужно из меню File выбрать команду Save All (сохранить все). Обратите внимание на то, что имена файлов модуля (pas-файл) и проекта (dpr-файл) должны быть разными. Имя генерируемого компилятором исполняемого файла совпадает с именем проекта. Поэтому файлу проекта следует присвоить такое имя, которое, по вашему мнению, должен иметь исполняемый файл программы, а файлу модуля - какое-либо другое имя, например, полученное путем добавления к имени файла проекта порядкового номера модуля. Так как проект представляет собой набор файлов, то рекомендуется для каждого проекта создавать отдельную папку.

В качестве первого примера рассмотрим проект, созданный для вычисления простейшего выражения y = ax + b.

Форма для вычисления выражения y = ax + b содержит три окна Edit, пять полей Label, две кнопки Button (рис. 4).

В окна Edit1, Edit2, Edit3 в процессе работы программы вводятся значения коэффициентов a, b и переменной х. В поле Label1 выводится значение переменной у. Щелчок по кнопке Выполнить приводит к выполнению программы, то есть умножает содержимое поля Edit1 на содержимое поля Edit3, прибавляет содержимое поля Edit2 и выводит результат в поле Label1. Кнопка Завершить завершает выполнение программы.

В табл. 1 приведены свойства полей, окон и кнопок. Показаны только те свойства, которые были изменены.

Таблица 1

Поле

Свойство

Значение свойства

Edit1, Edit2, Edit3

Text

Пустое поле

Label1

AutoSize

False

Caption

Пустое поле

Label2

Caption

a

Label3

Caption

b

Label4

Caption

x

Label5

Caption

y

Button1

Caption

Выполнить

Button2

Caption

Завершить

Текст программы приведен в листинге 1. Обычным шрифтом показан шаблон, создаваемый Delphi, жирным шрифтом выделены инструкции, написанные программистом.

unit Primer1; Листинг 1

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

// нажатие кнопки Выполнить

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,x,y:real;

begin

// получить исходные данные из полей ввода

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

x:=StrToFloat(Edit3.Text);

//вычисления

y:=a*x+b;

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

label1.Caption:=FloatToStrF(y,ffFixed,6,3);

end;

// нажатие кнопки Завершить

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

end.

Процедура TForm1.Button1Click(Sender: TObject) образуется при двойном щелчке в поле имени события OnClick в окне Object Inspector (вкладка Events).

В этой процедуре используются переменные a, b, x, y типа real. Они описаны после заголовка процедуры.

В теле процедуры (между словами begin и end) сначала необходимо перевести исходные данные из полей ввода (строковые переменные) в переменные типа real:

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

x:=StrToFloat(Edit3.Text);

Затем вычисляется выражение y:=a*x+b.

Результат присваивается свойству Caption поля Label1:

label1.Caption:=FloatToStrF(y,ffFixed,6,3);

Функция FloatToStrF преобразует переменную типа real в строковую переменную и имеет 4 параметра: имя переменной; параметр, обозначающий, что переменная будет выводиться в виде числа с фиксированной запятой; общее количество знаков (включая знак числа); количество цифр после запятой.

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

Процедура TForm1.Button2Click(Sender: TObject) образуется при двойном щелчке в поле имени события OnClick в окне Object Inspector (вкладка Events). Перед этим нужно выделить кнопку Завершить. Инструкция Form1.Close закрывает окно Form1. На этом программа прекращает свою работу.

1.4 Контрольные вопросы к лекции 1

1. Какой язык используется в Delphi в качестве языка программирования?

2. Сколько окон появляется на экране после запуска Delphi?

3. Перечислите окна, появляющиеся на экране после запуска Delphi.

4. В каком окне следует набирать текст программы?

5. С чего начинается работа над новым проектом?

6. Что такое компонент Edit?

7. Для чего используют компонент Label?

8. Для чего использует компонент Button?

9. Что нужно сделать, чтобы создать процедуру обработки события?

10. Что нужно сделать, чтобы сохранить проект?

Лекция 2. Символы и строки

2.1 Символы

Символы объявляются в разделе описаний после слова var. Инструкция объявления символьной переменной в общем виде выглядит так:

Имя: Char;

Значением переменной символьного типа может быть любой отображаемый символ:

- буква русского или латинского алфавита;

- цифра;

- знак препинания;

- специальный символ, например, "новая строка".

Переменная типа Char может получить значение в результате выполнения инструкции присваивания. Например, в результате выполнения инструкций

с 1:=`*';

c2:=c1;

переменная с 1 получает значение присваиванием константы, а переменная с 2 - присваиванием значения переменной с 1.

Переменные типа Char можно сравнивать друг с другом или с символьной константой. Можно написать:

`0' < `1' < `2' < … < `9' < `a' < `b' < `c' < `d' < …< `z' < `A' < `B' < `C' < … < `Z' < `а' < `б' < `в' < … < `я' < `А' < `Б' < `В' < … < `Я'

В тексте программы вместо символа можно указать его код, подставив перед числом оператор #. Такой способ записи используется для записи служебных символов, которые во время набора программы нельзя ввести с клавиатуры. Например, часто используемый при записи сообщений символ "новая строка" записывается так: #13 (код клавиши Enter). Часто используются функции Chr и Ord. Значением функции Chr является символ, код которого указан в качестве параметра. Например, в результате выполнения инструкции c:=Chr(32) переменной с будет присвоено значение пробел. Функция Ord позволяет определить код символа, который передается ей в качестве параметра. Например, в результате выполнения инструкции k:=Ord(`*') переменная k будет содержать число 42 - код символа *.

Программа, текст которой приведен в листинге 2, выводит таблицу кодировки букв русского алфавита. Основную работу выполняет процедура обработки события OnActivate, которая формирует и выводит в поле Label1 таблицу. Это событие происходит при активизации формы приложения, и поэтому процедура TForm1.FormActivat выполняется автоматически, сразу после появления формы на экране. Вид окна программы до и в процессе работы представлен на рис. 5.

procedure TForm1.FormActivate(Sender: TObject); Листинг 2

var

st:string; // таблица формируется как строка символов

dek:byte; // код символа

i,j:integer; // номер строки и столбца таблицы

begin

for i:=0 to 15 do // шестнадцать строк

begin

dek:=i+192; // 192 - код русской буквы А

for j:=1 to 4 do // 4 столбца

begin

st:=st+chr(dek)+'-'+IntToStr(dek)+' ';

dek:=dek+16;

end;

st:=st+#13; // переход к новой строке экрана

end;

label1.Caption:=st;

end;

2.2 Строки

Тип строковой переменной - String. Переменная строкового типа должна быть описана в разделе объявления переменных. Инструкция объявления в общем виде выглядит так:

Имя: String; или Имя: String [длина];

где

- Имя - имя переменной:

- String - ключевое слово обозначения строкового типа:

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

В тексте программы последовательность символов, являющаяся строкой, заключается в одинарные кавычки. Например, чтобы присвоить строковой переменной parole значение, нужно записать: parole:= `Большой секрет'; или parole:= `2010';

К строковым переменным и константам можно применить операцию сложения, в результате выполнения которой получается новая строка. Например, в результате выполнения инструкций

first_name:= `Иван ';

last_name:= `Иванов';

ful_name:=first_name+last_name;

переменная ful_name получит значение `Иван Иванов'.

Некоторые функции, используемые при работе со строками:

Функция length

Эта функция возвращает длину строки. Значением функции (типа integer) является количество символов, из которых состоит строка.

Процедура delete

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

delete(Строка,p,n)

где

- Строка - переменная или константа строкового типа;

- p - номер символа, с которого начинается удаляемая подстрока;

- n - длина удаляемой подстроки.

Функция pos

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

Pos(Подстрока, Строка);

где Подстрока - строковая константа или переменная, которую надо найти в строковой константе или переменной Строка.

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

p:=pos(`Пе','Санкт-Петербург');

значение переменной р будет равно 7. Если в строке нет искомой подстроки, то значение функции pos будет равно нулю.

Функция copy

Позволяет выделить фрагмент строки. В общем виде выглядит так:

copy(строка,p,n);

где

- Строка - выражение строкового типа;

- p - номер первого символа, с которого начинается выделяемая подстрока;

- n - длина выделяемой подстроки.

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

st:= `Инженер Иванов';

fam:=copy(st,9,6);

значением переменной fam, будет строка `Иванов'.

Для закрепления материала предлагается самостоятельно составить программу для вычисления корней квадратного уравнения ax2 + bx + c = 0.

Форма имеет вид, показанный на рис. 6.

В процессе работы программы необходимо сначала вычислить дискриминант по формуле b2 - 4ac. Затем проверить его знак: если дискриминант меньше нуля, в поле Label4 должна быть выведена надпись: Действительных корней нет, в противном случае в это поле должны быть выведены значения корней уравнения, вычисленные по следующим формулам (Рис. 7):

Если вы затрудняетесь в составлении проекта, посмотрите Листинг 3.

Примечание:

Наличие кнопки Завершить не обязательно. Завершить работу программы можно, закрыв окно Form1 вручную.

// нажатие кнопки Выполнить Листинг 3

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c,d:real; // коэффициенты уравнения и дискриминант

x1,x2:real; // корни уравнения

rez:boolean; // логическая переменная принимает значения true (истина) или false (ложь)

mes:string; // сообщение

begin

a:= StrToFloat(Edit1.Text); b:= StrToFloat(Edit2.Text);

c:= StrToFloat(Edit3.Text); d:=sqr(b)-4*a*c;

if d<0 then rez:=false

else begin

rez:=true;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

end;

if rez then mes:='Корни уравнения:

'+#13+'x1='+FloatToStrF(x1,ffFixed,6,3)+#13+

'x2='+FloatToStrF(x2,ffFixed,6,3)

else mes:='Действительных корней нет';

label4.Caption:=mes;

end;

// нажатие кнопки Завершить

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

2.3 Контрольные вопросы к лекции 2

1. Перечислите, что может быть значением переменной символьного типа.

2. может ли быть значением переменной символьного типа буква русского или латинского алфавита?

3. может ли быть значением переменной символьного типа цифра?

4. может ли быть значением переменной символьного типа знак препинания?

5. может ли быть значением переменной символьного типа специальный символ?

6. Где объявляются символы?

7. Что такое строка?

8. Где объявляются строковые переменные?

9. Можно ли к строковым переменным и константам применить операцию сложения?

Лекция 3. Окна ввода и вывода. Инструкции языка

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

Переменная:= InputBox(Заголовок, Подсказка, Значение);

где

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

- Заголовок - текст заголовка окна ввода;

- Подсказка - текст поясняющего сообщения;

- Значение - текст, который будет находиться в поле ввода, когда окно ввода появится на экране.

В качестве примера приведена следующая инструкция:

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','');

Окно ввода, соответствующее этой инструкции, приведено на рис. 8.

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

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','');

funt:=StrToFloat(s);

Программа может вывести результат своей работы в окно сообщения (Рис. 9).

Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDig. Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК. В общем виде инструкция вызова процедуры ShowMessage выглядит так:

ShowMessage(сообщение);

Функция MessageDig более универсальна. Она позволяет поместить в окно с сообщением один из стандартных значков, "Внимание", задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. В общем виде обращение к функции MessageDig выглядит так:

Выбор:= MessageDig(Сообщение, Тип, Кнопки, КонтекстСправки),

где

- Сообщение - текст сообщения;

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

Таблица 2

Константа

Тип сообщения

Значок

mtMarning

Внимание

mtError

Ошибка

mtInformation

Информация

mtConfirmation

Подтверждение

mtCuston

Обычное

Без значка

- Кнопки - список кнопок, отображаемых в окне сообщения. Список может состоять из нескольких разделенных запятыми именованных констант (табл. 3).

Таблица 3

Константа

Кнопка

Константа

Кнопка

mbYes

Yes

mbAbort

Abort

mbNo

No

mbRetry

Retry

mbOK

OK

mbIgnore

Ignore

mbCancel

Cancel

mbAll

All

mbHelp

Help

- КонтекстСправки - параметр, определяющий раздел справочной системы, который появится на экране, когда пользователь нажмет клавишу <F1>. Если вывод справки не предусмотрен, то значение параметра КонтекстСправки должно быть равно нулю.

В языке ObjectPascal основной программной единицей является подпрограмма. Различают два вида подпрограмм: процедуры и функции. Отличие функции от процедуры заключается в том, что с именем функции связано значение, поэтому имя функции можно использовать в выражениях. Это значение нужно присвоить переменной result, которая нигде не описывается.

В качестве примера приведена программа перевода фунтов в килограммы, использующая функцию, окно ввода и окно вывода (Листинг 4).

Форма имеет вид, показанный на рис. 10.

// нажатие кнопки Выполнить Листинг 4

procedure TForm1.Button1Click(Sender: TObject);

function FuntToKg(f:real):real;

const

K=0.4095; // 1 фунт равен 409,5 г.

begin

result:=f*K;

end;

var

funt,kg:real;

s:string;

begin

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','');

funt:=StrToFloat(s);

kg:=FuntToKg(funt);

ShowMessage(FloatToStr(kg));

end;

Самостоятельно создайте аналогичную программу для вычисления в системе СИ веса тела (Р), имеющего массу m. Используйте формулу P = m*g.

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

3.1 Инструкция if

Эта инструкция позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.

В общем виде инструкция if записывается так:

if условие

then

begin

{ здесь инструкции, которые надо выполнить, если условие истинно }

end

else

begin

{ здесь инструкции, которые надо выполнить, если условие ложно }

end;

Если между словами begin и end находится только одна инструкция, то слова begin и end можно не писать.

Если какое-либо действие должно быть выполнено только при выполнении определенного условия и пропущено, если это условие не выполняется, то слово else и следующие за ним инструкции можно не писать.

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

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

В субботу и в воскресенье стоимость уменьшается на величину скидки.

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

На рис. 11, а приведена блок-схема решения задачи. Вид диалогового окна приведен на рис. 11, б.

// нажатие кнопки Вычислить Листинг 5

procedure TForm1.Button1Click(Sender: TObject);

const

pay=0.15; // цена одной минуты разговора (руб.)

discount=0.2; // скидка 20%

var

t,s:real; // время и стоимость разговора

day:integer; // номер дня недели

begin

t:=StrToFloat(Edit1.Text);

day:=StrToInt(Edit2.Text);

s:=pay*t; // стоимость разговора

{Если день - суббота или воскресенье, то уменьшить стоимость на величину скидки}

if (day=6) or (day=7) then s:=s*(1-discount);

label3.caption:='К оплате '+FloatToStr(s)+' руб.';

end;

Часто в программе необходимо реализовать выбор более чем из двух вариантов. В этом случае можно внутри инструкции if поместить еще одну такую инструкцию. Например, известно, что для каждого человека существует оптимальное значение веса, которое может быть вычислено по формуле: Рост (см) - 100. Напишите программу, которая запрашивает вес и рост, вычисляет оптимальное значение, сравнивает его с реальным весом и выводит соответствующие сообщения. На рис. 12 приведен алгоритм программы. На рис. 13 приведено диалоговое окно. Попробуйте сначала не заглядывать в листинг 6.

// Щелчок на кнопке Вычислить Листинг 6

procedure TForm1.Button1Click(Sender: TObject);

var

w,h,opt,d:real;

begin

w:=StrToFloat(Edit1.Text); // вес

h:=StrToFloat(Edit2.Text); // рост

opt:=h-100;

d:=w-opt;

if d=0 then label3.Caption:='Вы в хорошей форме'

else

if d<0 then label3.Caption:='Вам надо поправиться на '+

FloatToStr(-d)+' кг.'

else label3.Caption:='Вам надо похудеть на '+

FloatToStr(d)+' кг.';

end;

3.2 Инструкция case

В предыдущем примере, в программе контроля веса, множественный выбор был реализован при помощи вложенных одна в другую инструкций if. Такой подход не всегда удобен, особенно в том случае, если количество вариантов хода программы велико.

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

Case Селектор of

Список 1: begin

{инструкция 1}

end;

Список 2: begin

{инструкция 1}

end;

………………………………………

СписокN: begin

{инструкция 1}

end;

else

begin

{инструкция 1}

end;

end;

где:

- Селектор - выражение, значение которого определяет дальнейший ход выполнения программы;

- СписокN - список констант. Если константы представляют собой диапазон чисел, то вместо списка можно указать первую и последнюю константы, разделив их точками.

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

В качестве примера рассмотрим программу, которая пересчитывает вес из фунтов в килограммы. Программа учитывает, что в разных странах фунт "весит" по-разному. Например, в России фунт равен 409,5 граммов, в Англии - 453,592 грамма, в Германии, Дании и Исландии - 500 граммов.

В диалоговом окне программы, изображенном на рис. 14, для выбора страны используется список Страна. Для выбора названия страны используется список - компонент ListBox. Значок компонента ListBox находится на вкладке Standard (Рис. 15).

Список стран можно написать в окне String List Editor (Рис. 16, б), которое откроется, если щелкнуть на кнопку с тремя точками в свойстве Items (Элементы списка) (Рис. 16, а).

Кроме этого компонент ListBox имеет другое важное свойство - ItemIndex (Номер выбранного элемента списка. Номер первого элемента списка равен нулю. Если ни один из элементов списка не выбран, то значение свойства равно минус единице.).

Список может быть сформирован и во время работы программы.

Текст программы приведен в листинге 7.

procedure TForm1.Button1Click(Sender: TObject); Листинг 7

var

funt,kg,k:real;

begin

case ListBox1.ItemIndex of

0: k:=0.4095; // Россия

1: k:=0.453592; // Англия

2: k:=0.56001; // Австрия

3..5,7:k:=0.5; // Германия, Дания, Исландия, Нидерланды

6: k:=0.31762; // Италия

end;

funt:=StrToFloat(Edit1.Text);

kg:=funt*k;

label4.caption:=Edit1.text+' ф. - это '+

FloatToStrF(kg,ffFixed,6,3)+' кг.';

end;

Переделайте программу стоимости междугороднего разговора, используя инструкцию case и компоненту ListBox. Внесите изменения в исходные данные: скидка в субботу - 10%, в воскресенье - 20%.

Если вы затрудняетесь, посмотрите листинг 8. На рис. 16' показано диалоговое окно в ходе составления программы и в процессе ее работе.

Сохраните переделанную программу под другим именем.

// нажатие кнопки Вычислить Листинг 8

procedure TForm1.Button1Click(Sender: TObject);

const pay=0.15; // цена одной минуты разговора (руб.)

var t,s,k:real; // время разговора, его стоимость, скидка

begin

t:=StrToFloat(Edit1.Text); // время разговора

case ListBox1.ItemIndex of // день недели

0..4: k:=0; // Рабочий день

5: k:=0.1; // Суббота

6: k:=0.2; // Воскресенье

end;

s:=pay*t*(1-k);

label4.caption:=FloatToStrF(s,ffFixed,6,2)+' руб.';

end;

3.3 Контрольные вопросы к лекции 3

1. Окно ввода - это стандартное окно, которое появляется на экране в результате вызова функции

2. Окно вывода с текстом и командной кнопкой ОК появляется на экране в результате вызова процедуры

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

4. Какого типа значение функции InputBox?

5. Из скольких возможных вариантов позволяет выбрать инструкция if?

6. Из скольких возможных вариантов позволяет выбрать инструкция case?

Лекция 4. Циклы

Алгоритмы решения многих задач являются циклическими, т.е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. В программе цикл может быть реализован при помощи инструкций for, while и repeat.

4.1 Инструкция for

В общем виде инструкция for записывается следующим образом:

For <счетчик>:=<начальное значение> to <конечное значение> do

begin

{здесь инструкции, которые надо выполнить несколько раз}

end;

где <счетчик> - переменная целого типа, изменяющаяся от <начального значения> до <конечного значения> включительно.

Если начальное значение счетчика больше конечного, то последовательность операторов между begin и end не будет выполнена ни разу. После каждого выполнения инструкций тела цикла счетчик циклов увеличивается автоматически. Переменную <счетчик> можно использовать внутри цикла (но не изменять без надобности).

Рассмотрим программу, которая вычисляет сумму первых 10 элементов ряда: 1 + 1/2 + 1/3 +… +1/i +… Диалоговое окно программы показано на рис. 17.

Здесь появился новый компонент Panel, значок которого расположен на вкладке Standard (Рис. 18).

Этот компонент служит только для украшения диалогового окна и не несет никакой функциональной нагрузки. Компоненты Edit1 и Panel2 расположены поверх компонента Panel1. Компонент Label3 для вывода результата расположен поверх компонента Panel2.

Текст программы приведен в листинге 9.

procedure TForm1.Button1Click(Sender: TObject); Листинг 9

var

i,n:integer;

s:real;

begin

n:=strToInt(Edit1.Text);

s:=0;

for i:=1 to n do s:=s+1/i;

label3.Caption:='Сумма ряда равна '+FloatToStr(s);

end;

Если в инструкции for вместо слова to записать downto, то значение счетчика будет не увеличиваться, а уменьшаться. В этом случае <начальное значение> должно быть больше <конечного значения>.

4.2 Инструкция while

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

В общем виде инструкция while записывается следующим образом:

while условие do

begin

// здесь инструкции, которые надо выполнить несколько раз

end;

где условие - выражение логического типа, определяющее условие выполнения инструкций цикла.

Для того чтобы инструкции цикла, которые находятся между словами begin и end были выполнены хотя бы один раз, необходимо, чтобы перед выполнением инструкции while значение выражения условие было истинно. Для того чтобы цикл завершился, нужно, чтобы последовательность инструкций между словами begin и end влияла на значение выражения условие (изменяла значения переменных, входящих в выражение условие).

Рассмотрим программу, которая вычисляет значение числа с точностью, задаваемой пользователем во время работы программы. В основе алгоритма лежит тот факт, что сумма ряда 1 - 1/3 + 1/5 - 1/7 + 1/9 + … приближается к значению /4 при достаточно большом количестве членов ряда. Каждый член ряда с номером i вычисляется по формуле 1/(2*i - 1) и умножается на минус единицу, если i - четное (определить, является ли i четным, можно проверкой остатка от деления на 2). Вычисление заканчивается тогда, когда значение очередного члена ряда становится меньше, чем заданная точность вычисления.

Вид диалогового окна программы во время ее работы приведен на рис. 19. Текст программы приведен в листинге 10.

procedure TForm1.Button1Click(Sender: TObject); Листинг 10

var

pi,t,e:real;

i:integer;

begin

t:=StrToFloat(edit1.Text); // точность

pi:=0;

i:=1;

e:=1; { чтобы начать цикл }

while e>=t do

begin

e:=1/(2*i-1);

if i mod 2 =0 then pi:=pi-e

else pi:=pi+e;

i:=i+1;

end;

pi:=4*pi;

label3.Caption:='ПИ равно '+FloatToStr(pi)+#13+

'Просуммировано '+IntToStr(i)+' членов ряда';

end;

4.3 Инструкция repeat

Инструкция repeat тоже используется, когда число повторений неизвестно и определяется ходом вычислений.

В общем виде инструкция repeat записывается в следующем виде:

repeat

// тело цикла

until условие;

где условие - выражение логического типа, определяющее условие завершения цикла.

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

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

procedure TForm1.Button1Click(Sender: TObject); Листинг 11

var

pi,t,e:real;

i:integer;

begin

t:=StrToFloat(edit1.Text); // точность

pi:=0;

i:=1;

e:=1; { чтобы начать цикл }

repeat

begin

e:=1/(2*i-1);

if i mod 2 =0 then pi:=pi-e

else pi:=pi+e;

i:=i+1;

end;

until e<t;

pi:=4*pi;

label3.Caption:=' ПИ равно '+FloatToStr(pi)+#13+

' Просуммировано '+IntToStr(i)+' членов ряда ';

end;

4.4 Контрольные вопросы к лекции 4

1. Для чего нужны циклы?

2. при помощи каких инструкций в программе может быть реализован цикл?

3. Сколько раз будет выполнена последовательность операторов между begin и end, если в инструкции for начальное значение счетчика больше конечного?

4. Как поведет себя значение счетчика цикла, если в инструкции for вместо слова to записать downto?

5. Когда используется инструкция while?

6. Какое значение должно иметь условие перед выполнением инструкции while, чтобы инструкции цикла, которые находятся между словами begin и end были выполнены хотя бы один раз?

7. Когда прекращается выполнение тела цикла в инструкции repeat?

Лекция 5. Массивы

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

Имя: array[нижний_индекс..верхний_индекс] of тип;

где

- Имя - имя массива;

- аrray - зарезервированное слово, обозначающее массив;

- нижний_индекс и верхний_индекс - целые константы, определяющие диапазон изменения индекса массива;

- тип - тип элементов массива.

Пример объявления массивов:

t: array[1..31] of real; k: array[0..2] of integer; name: array[1..30] of string[25];

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

Имя: array [нижний_индекс..верхний_индекс] of тип = (список);

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

Например:

Team: array[1..5] of string[10] = (`Зенит','Динамо','Спартак','Ротор','СКА');

Обратите внимание, что количество элементов списка инициализации должно соответствовать размерности массива.

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

for i:=1 to 10 do

a[i]:=0;

Для ввода массива удобно использовать компонент StringGrid, значок которого находится на вкладке Fdditional (Рис. 20).

Компонент StringGrid представляет собой таблицу, ячейки которой содержат строки символов. В табл. 4 перечислены некоторые свойства компонента StringGrid.

Таблица 4

Свойство

Определяет

ColCount

RowCount

Cells

FixedCols

FixedRows

Options.goTab

Font

ParentFont

Количество колонок таблицы

Количество строк таблицы

Соответствующий таблице двумерный массив. Ячейка таблицы, находящаяся на пересечении столбца номер col и строки номер row определяется элементом Cells[col,row]

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

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

Разрешает (True) или запрещает (False) использование клавиши <Tab> для перемещения курсора в следующую ячейку таблицы.

Шрифт содержимого таблицы.

Признак наследования характеристик шрифта формы

Пример вывода массива приведен в листинге 12. Форма проекта в процессе его работы показана на рис. 21.

В этом примере следует обратить внимание на то, что массив tabl строкового типа объявлен как глобальный, т.е. не внутри описания процедуры TForm1.Button1Click, а до нее. Кроме того, размер массива nt=5 и длина слов (элементов массива) sn=10 описаны как инициализированные константы перед объявлением массива.

const nt=5; sn=10; Листинг 12

var

tabl:array[1..nt] of string[sn]=

('Зенит','Динамо','Ротор','Спартак','СКА');

procedure TForm1.Button1Click(Sender: TObject);

var

st:string; // список команд

i:integer;

begin

// формирование списка для отображения в форме

for i:=1 to nt do st:=st+IntToStr(i)+' '+tabl[i]+#13;

// вывод списка

label1.Caption:=st;

end;

В качестве примера использования компонента StringGrid для ввода массива рассмотрим программу, которая вычисляет среднее арифметическое значение элементов массива. Диалоговое окно программы приведено на рис. 22, текст программы - в листинге 13.

В табл. 5 показаны некоторые свойства компонента StringGrid. Нужно учитывать, что колонки и строки таблицы нумеруются с нуля.

Табл. 5

Свойство

Значение

ColCount

5

FixedCols

0

RowCount

1

Options.goTabs True

procedure TForm1.Button1Click(Sender: TObject); Листинг 13

var

a:array[0..4] of real;

s:real;

i:integer;

begin

s:=0;

for i:=0 to 4 do

begin

if Length(StringGrid1.Cells[i,0])<>0

then a[i]:=StrToFloat(StringGrid1.Cells[i,0])

else a[i]:=0; // если ячейка пустая,

то соответствующий элемент массива равен 0

s:=s+a[i];

end;

s:=s/5;

label2.Caption:='Среднее арифметическое '+FloatToStr(s);

end;

5.1 Использование компонента Memo

Для ввода массива можно использовать компонент Memo, который позволяет вводить текст, состоящий из большого количества строк, поэтому его удобно использовать для ввода символьного массива. Значок компонента Memo находится на вкладке Standard (Рис. 23).

В табл. 6 перечислены некоторые свойства компонента Memo.

Таблица 6

Свойство

Определяет

Text

Lines

Текст, находящийся в поле Memo. Рассматривается как единое целое

Текст, находящийся в поле Memo. Рассматривается как совокупность строк. Доступ к строке осуществляется по номеру

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

for i:=1 to SIZE do

a[i]:= Memo1.Lines[i];

где

- SIZE - именованная константа, определяющая размер массива;

- а - массив;

- Memo1 - имя Memo-компонентов;

- Lines - свойство компонента Memo, представляющее собой массив, каждый элемент которого содержит одну строку находящегося в поле Memo текста.

Следующая программа, текст которой приведен в листинге 14, демонстрирует использование компонента Memo для ввода символьного массива.

Форма программы в процессе ее работы приведена на рис. 24, а.

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

Процедура TForm1.Button1Click, обрабатывающая щелчок по кнопке Ввод, сначала проверяет, есть ли в поле Memo1 текст. Если текст есть (в этом случае значение свойства Lines.Count больше нуля), то процедура сравнивает количество введенных строк и размер массива (массив а объявлен перед описанием процедур как глобальный массив, имеющий 5 строк). Если количество введенных строк превышает размер массива, то программа изменяет значение n, подготавливая ввод только первых пяти строк. Появляется окно (рис. 24, б), которое содержит значения элементов массива, полученные из Memo-поля. Введенный массив обрабатывается процедурой TForm1.Button2Click, осуществляющей поиск по введенному в поле Edit1 образцу. Если одна из строк массива совпадает с образцом, программа выводит окно с соответствующим сообщением (рис. 24 в).

var a:array[1..5] of string[30]; Листинг 14

procedure TForm1.Button1Click(Sender: TObject);

var

n:integer; // количество строк

i:integer;

st:string;

begin

n:=Memo1.Lines.Count;

if n=0 then

begin

ShowMessage('Исходные данные не введены!');

Exit; // Выход из процедуры

end;

if n>5 then

begin

ShowMessage('Количество строк превышает размер массива');

n:=5; // будем вводить только первые 5 строк

end;

for i:=1 to n do

a[i]:=Memo1.Lines[i-1]; // строки Memo пронумерованы с нуля

st:='Введенный массив:'+#13;

for i:=1 to n do st:=st+IntToStr(i)+' '+a[i]+#13;

ShowMessage(st);

end;

procedure TForm1.Button2Click(Sender: TObject);

var

obr:string; // образец для поиска

found:boolean; // TRUE - совпадение образца с элементом массива

i:integer;

begin

obr:=edit1.text;

found:=false; // пусть нужного элементата в массиве нет

i:=1;

repeat

if a[i]=obr then found:=TRUE else i:=i+1;

until (i>5) or (found=TRUE);

if found then ShowMessage('Совпадение с элементом № '+

IntToStr(i))

else ShowMessage('Совпадений с образцом нет');

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

Для закрепления материала составьте программу ввода массива действительных чисел и поиска в нем максимального. Форма может иметь вид, показанный на рис. 25.

Для нахождения максимального числа в массиве воспользуйтесь дополнительной переменной, которой присвойте заведомо маленькое значение, например (-124). Затем в цикле сравнивайте эту переменную с каждым элементом массива и, если она меньше очередного элемента массива, присвойте ей значение этого элемента.

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

procedure TForm1.Button1Click(Sender: TObject); Листинг 14

var

a:array[1..100] of real;

n,i,j:integer;

b:real;

s:string;

begin

b:=-1E24; // заведомо маленькое число

n:=Memo1.Lines.Count;

for i:=1 to n do

begin

...

Подобные документы

  • Delphi - среда быстрой разработки, в которой в качестве языка программирования используется типизированный объектно-ориентированный язык Delphi. Варианты программного пакета. Особенности работы, вид экрана после запуска. Описание структуры программы.

    курсовая работа [1,3 M], добавлен 25.11.2014

  • Язык Delphi как строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal, его главные особенности. Стадии создания автоматизированной системы. Листинг программы, разработка интерфейса.

    курсовая работа [933,9 K], добавлен 08.12.2011

  • Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.

    курсовая работа [1,5 M], добавлен 08.02.2011

  • Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.

    курсовая работа [40,8 K], добавлен 15.07.2009

  • Delphi как строго типизированный объектно-ориентированный язык. Общее понятие о приложении "DreamBook", его главные задачи. Модель бизнес процесса. Диаграмма прецедентов: спецификация, ограничения и отношения. Модель анализа, общий алгоритм метода.

    контрольная работа [190,4 K], добавлен 22.11.2013

  • Описание входной и выходной документации. Требования к интерфейсу Windows-приложения и информационной базе. Разработка алгоритмов обработки данных и SQL-запросов к базе данных. Язык программирования Object Pascal и среда Delphi. Используемая СУБД.

    дипломная работа [228,7 K], добавлен 25.11.2007

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

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

    курсовая работа [1,8 M], добавлен 26.05.2010

  • Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа [660,2 K], добавлен 21.05.2012

  • Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое, как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.

    курсовая работа [967,6 K], добавлен 20.05.2008

  • Free Pascal как свободная реализация языка Паскаль, совместимая с Borland Pascal и Object Pascal - Delphi, но при этом обладающая и некоторыми дополнительными возможностями. Основы алгоритмизации и программирования, создание визуальных приложений.

    учебное пособие [4,2 M], добавлен 13.12.2011

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

  • Основные понятия и структура обработчика на языке Pascal. Элективные курсы по информатике в системе профильного обучения. Элективный курс "Программирование в среде Delphi". Методические материалы по изучению программирования на языке Object Pascal.

    методичка [55,4 K], добавлен 08.12.2010

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

    курсовая работа [1,6 M], добавлен 29.05.2013

  • Методы грамматического разбора. Разработка структуры учебного транслятора на базовом языке программирования Object Pascal в среде объектно-ориентированного визуального программирования Borland DELPHI 6.0 с использованием операционной системы Windows XP.

    курсовая работа [493,8 K], добавлен 12.05.2013

  • Особенности и тонкости программирования в среде Delphi. Специфика перехода от алгоритмического решения к непосредственной программной реализации на языке Object Pascal с использованием всех необходимых средств данного языка. Анализ полученных результатов.

    реферат [246,2 K], добавлен 17.11.2012

  • История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.

    курсовая работа [970,5 K], добавлен 15.05.2014

  • Понятие многопоточности. История возникновения и развития параллельного программирования. Квазимногозадачность на уровне исполняемого процесса. Типы реализации потоков, их взаимодействие и общее ресурсы. Критические секции. Классы и процедуры в Delphi.

    курсовая работа [1,1 M], добавлен 20.09.2013

  • Элементы языка Object Pascal: идентификаторы, константы, переменные, выражения. Структура проекта Delphi. Операторы и метки. Типы данных языка OPascal. Статические и динамические массивы. Записи с вариантными полями. Совместимость и преобразование типов.

    курс лекций [385,4 K], добавлен 18.02.2012

  • Обоснование языка программирования Object Pascal и среды разработки Delphi. Создание интерфейса пользователя. Проектирование структуры и описание компонентов, использованных при разработке программного продукта. Составление инструкции пользователя.

    курсовая работа [888,7 K], добавлен 20.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.