Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ситкин. Информатика. Программирование в DELPHI

.pdf
Скачиваний:
142
Добавлен:
18.07.2019
Размер:
1.49 Mб
Скачать

Form1

Label1

Button1

Edit1

Label2

LabeledEdit1

Label3

 

Memo1

 

 

 

 

Рис. 1.7

Вывод фамилии в Label2 свяжем со щелчком (событием OnClick) по кнопке Button1. Для этого, выделив компонент Button1, выберем в окне Object Inspector вкладку Events и выполним двойной щелчок в поле имени процедуры обработки события OnClick (рис. 1.6). В от-

крывшемся шаблоне процедуры между словами begin и end допол-

ним её текст

procedure TForm1.Button1Click(Sender: TObject);

begin

Label2.Caption 'работу выполнил(а) '+Edit1.Text;

end;

Данная процедура изменяет значение свойства Caption компонента Label2, заменяя пустую запись метки на «работу выполнил», добавляя содержимое (свойство Text) редактируемого поля Edit1, т.е. фамилию.

Вывод номера группы в Memo1 свяжем со щелчком по форме.

Аналогично, но теперь для Form1 в окне Object Inspector на вкладке

Events выполним двойной щелчок в поле имени процедуры обработки события OnClick. В открывшемся шаблоне процедуры между словами begin и end дополним её текст

21

procedure TForm1.FormClick(Sender: TObject);

begin

Memo1.Text 'Группа № '+LabeledEdit1.Text;

end;

Вторая процедура вписывает в поле Memo1 «Группа №» и содержимое (свойство Text) редактируемого поля с меткой LabeledEdit1, т.е. номер группы. Обе процедуры поочерёдно разместятся в модуле проекта, текст которого отображает редактора кода Unit1.pas (рис. 1.8).

Рис.1.8

22

Рис. 1.10
Рис. 1.9

Помимо модуля программный код генерируется и в головной программе. Для его просмотра следует дать команду из меню команд Project View Source, текст отобразится в редакторе кода (рис. 1.9).

Текст полностью сгене-

рирован средой и не требует вмешательства программиста. Головная программа обеспечива-

ет инициализацию при-

ложения и вывод на

экран формы, при этом модуль Unit1 с описанием формы подключает-

ся к головной программе автоматически.

Компиляция и запуск проекта на исполнение

Запуск проекта на исполнение осуществляется из меню Run ко-

мандой Run или щелчком на панели инструментов по пиктограмме При этом перед запуском происходит компиляция проекта. Если в програм-

мном коде есть синтакси-

ческие ошибки, то прило-

жение не запустится, их следует устранить. При успешной компиляции создаётся файл с именем

проекта с расширением .ехе, который представляет собой самостоя-

тельное приложение его можно запускать вне среды программиро-

23

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

ровать. Пример работы нашего приложения представлен на рис. 1.10.

Структура и сохранение проекта

Проект состоит из нескольких файлов:

1)файл головной программы (dpr-файл) это главный файл проекта, его следует открывать для редактирования проекта;

2)файл модуля (pas-файл);

3)файл описания формы (dfm-файл);

4)файл описания проекта (dof-файл);

5)файл ресурсов (res-файл);

6)файл конфигурации (cfg-файл);

7)исполняемый файл (exe-файл) готовое к работе приложение.

При сохранении проекта программист сохраняет файл модуля и файл головной программы (проект). Остальные файлы среда сохраня-

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

Для сохранения проекта следует дать команду из меню команд File Save Project as, если проект ранее не сохранялся, то откроется окно Save Unit1 as, где следует создать или найти ранее созданную папку проекта, раскрыть её и сохранить в ней модуль. Затем откроет-

ся окно Save Project as, где следует сохранить проект, причём имя проекта должно отличаться от имени модуля. Для сохранения изме-

нений в уже сохранённом ранее проекте следует дать команду File Save all.

24

Задание

Разработать проект для ввода на форму фамилии и номера груп-

пы и их вывода на эту же форму. Использовать компоненты и собы-

тия в соответствии с вариантом задания (табл. 1. 10).

 

 

 

 

 

 

Таблица 1.10

 

 

 

Варианты заданий

 

 

 

 

 

 

 

 

 

 

Компоненты для ввода

Компоненты для вывода

Событие для вывода

в

фамилии

№ группы

фамилии

№ группы

фамилии

 

№ группы

1

Label + Edit

LabeledEdit

Edit

Label

щелчок

 

щелчок

по форме

 

по кнопке

 

 

 

 

 

 

2

LabeledEdit

Label + Edit

окно

Label

щелчок по

 

щелчок по

сообщения

кнопке1

 

кнопке 2

 

 

 

 

 

3

LabeledEdit

Label+Memo

Label

Label

щелчок

 

щелчок

по кнопке

 

по форме

 

 

 

 

 

 

4

Label + Edit

Label + Edit

Label

окно сооб-

щелчок

 

дв. щелчок

щения

по кнопке

 

по форме

 

 

 

 

 

5

LabeledEdit

Label + Edit

Memo

Label

щелчок по кнопке

6

Label +

Label + Edit

Label

Edit

щелчок

 

щелчок

Memo

по форме

 

по кнопке

 

 

 

 

 

7

Label + Edit

LabeledEdit

Label

дв-ой щелчок по форме

8

LabeledEdit

LabeledEdit

окно

Label

щелчок по кнопке

сообщения

 

 

 

 

 

 

 

9

Label + Edit

Label+Memo

Label

окно со-

щелчок по

 

щелчок по

общения

кнопке1

 

кнопке2

 

 

 

 

 

Содержание отчёта

цель работы и задание;

текст модуля;

пример работы приложения с указанием компонентов формы;

выводы по работе.

Контрольные вопросы

1.Перечислите окна Delphi. Укажите их назначение.

2.Что такое событие, процедура его обработки, как её назначить?

3.Какова программная и файловая структура проекта?

25

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

ЛИНЕЙНЫЙ АЛГОРИТМ

Цель работы приобретение умений программирования арифметических выражений по линейному алгоритму.

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

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

Типы данных

Программа может оперировать с данными разных типов: це-

лыми и вещественными числами, отдельными символами и строками символов, логическими величинами и др. Тип данных определяет множество допустимых значений, множество допустимых операций над данными типа, форматы представления данных. Характеристики основных типов данных представлены в табл. 2.1 2.5.

 

 

 

Таблица 2.1

Характеристики целочисленных типов данных

 

 

 

Имя типа

Диапазон значений

Память, байт

Byte

0 255

1

Word

0 65535

2

Shortint

128

127

1

Smallint

32768

32767

2

Longint, Integer

2147483648

2147483647

4

Int64

263 263 1

8

Longword

0 4294967295

4

26

 

 

 

Таблица 2.2

 

Характеристики вещественных типов данных

 

 

 

 

 

Имя типа

Диапазон значений

Значащих цифр

Память, байт

Single

1,5·10 45 3,4·1038

7 8

4

Double, Real

5·10 324 1,7·10308

15 16

8

Real48

2,9·10 39 1,7·1038

11 12

6

Extended

3,6·10 4951 1,1·104932

19 20

10

 

 

 

Таблица 2.3

 

Характеристики символьных типов данных

 

 

 

 

Имя типа

Диапазон значений

Память, байт

Char

Символы кодовой таблицы ANSI

1

Widechar

Символы кодовой таблицы UNICODE

2

 

 

 

Таблица 2.4

 

Характеристики строковых типов данных

 

 

 

 

Имя типа

Диапазон значений

 

String

Строка до 255 символов кодовой таблицы ANSI

Widestring

Строка символов кодовой таблицы UNICODE

 

 

 

Таблица 2.5

 

Характеристики логического типа данных

 

 

 

 

Имя типа

Диапазон значений

Память, байт

Boolean

False, True

1

Целочисленные, логический и символьные типы относят к по-

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

ственные (пользовательские) типы данных на основе стандартных. К

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

27

тип диапазон (интервальный тип), задаётся своим минималь-

ным и максимальным значениями и может быть определён на основе любого порядкового типа, например, 1..12 целые числа от 1 до 12

или 'a'.. 'z' буквы латинского алфавита;

перечисляемый тип, например, color = (red, blue, green).

Все указанные выше типы, кроме строкового, относят к про-

стым типам, но также существуют структурированные типы (масси-

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

Константы и переменные

Константа элемент данных, значение которого определено до начала работы программы и не изменяется в процессе выполнения программы. Объявление констант имеет вид

const имя_константы1 = значение1 ;

....………………………………….

имя_константыN = значениеN ;.

Имена констант выбирает программист. Пример объявления const a = 10; //целочисленная

b= 3.24; //вещественная

c= 1.4E 03; //вещественная в экспоненциальной форме

Sym_S = 'S'; //символьная

sym9 = '9'; //символьная, это не число

Name = 'Maslak'; //строковая

d = '99'; //строковая, это не число

Значения символьных и строковых констант заключаются в апостро-

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

28

объявлять их. Имена рекомендуется вводить в случаях, когда кон-

станта встречается в нескольких местах программного кода. В каче-

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

 

Таблица 2.6

Некоторые коды служебных символов

 

 

Код символа

Значение (действие)

#0

Пустой символ

#8

Клавиша Backspace

#9

Клавиша Tab

#10

Перевод строки

#13

Клавиша Enter

#32

Клавиша пробела

Переменная ячейка памяти с именем, предназначенная для хранения данных, которыми оперирует программа. В отличие от кон-

станты, переменная не имеет значения до начала работы программы.

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

(т.е. в переменную), «затирает» предыдущее, т.е. в любой момент времени переменная имеет только одно, текущее, значение. Все пере-

менные перед использованием должны быть объявлены в формате

var имя_переменной11 , .., имя_переменной1N : имя_типа1 ;

……………………………………………………………………..

имя_переменнойN1 , .., имя_переменнойNN : имя_типа N ;.

Имена переменных выбирает программист. Пример объявления var m, n, k:integer;

x, y:real; dig:0..9;

s1, s2:string;

29

Присвоить значение переменной можно оператором присваивания

имя_переменной := значение ; или

имя_переменной := выражение ;.

Во втором случае сначала вычисляется значение выражения, а затем оно присваивается переменной слева. Тип значения или выражения должен соответствовать объявленному типу переменной. Назначать тип переменной нужно исходя из диапазона возможных значений, ко-

торые она будет принимать во время работы программы.

Арифметические операции

Арифметические операции определяют действия, которые сле-

дует выполнить над операндами. Порядок выполнения операций определяется их приоритетом, но может быть изменён скобками.

Правила записи арифметических операций и формирование типа ре-

зультата их выполнения представлены в табл. 2.7.

 

 

 

 

Таблица 2.7

 

Арифметические операции

 

 

 

 

 

 

 

Операция

Знак

 

Тип

операндов

 

результата

 

 

 

Сложение

+

Целый

 

Целый

Вещественный

 

Вещественный

 

 

 

Вычитание

 

Целый

 

Целый

Вещественный

 

Вещественный

 

 

 

Умножение

*

Целый

 

Целый

Вещественный

 

Вещественный

 

 

 

Деление

/

Целый

 

Вещественный

Вещественный

 

Вещественный

 

 

 

Целочисленное

div

Целый

 

Целый

деление

 

 

 

 

 

Взятие остатка от

mod

Целый

 

Целый

целочисл. деления

 

 

 

 

 

30