Перечень и описание лабораторных работ по Информатике

Перечень и описание лабораторных работ по Информатике

Для студентов 1-го курса факультета ТСС

На 1-й семестр, 2012 год.

1.«Основы работы с оболочкой и языком Delphi»

2.«Программирование в Delphi ввода и вывода информации для Windows»

3.«Использование стандартных и пользовательских модулей, процедур и функций»

4.Создание и использование записей и файлов разных типов

План выполнения лабораторных работ

Работа Выдача Выполнение Защита
4..6
6..8
8..10
10..12
12..14
Зачет    
       

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

«Основы работы с оболочкой и языком Delphi/Lazarus.»

Цель работы: исследование оболочки Delphi (Lazarus),методики создания, редактирования, компиляции, запуска и сохранения простейшей программы.

1. Задание на лабораторную работу.

1.1. Ознакомиться с запуском оболочки Delphi(Lazarus), структурой основного экрана Delphi(Lazarus).

1.2. Создать, откомпиллировать и исполнить простейшую программу на языкеDelphi(Lazarus).

1.3. Исследовать работу справочной системы на своем примере.

1.4. Проанализировать полученные результаты и оформить отчет по лаб. Работе.

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

Указания к п.1.1.

Изучить описание оболочки Delphi (Lazarus), изложенное в пп. 3.1- 3.2.

Указания к п.1.2.

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

Выполнить следующие действия:

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

ü Запустить среду программирования Delphi(Lazarus).

ü Разместить на заготовке формы хотя бы одну кнопку.

ü В Инспекторе объектов выделить закладку Events (События) и создать обработчик события нажатия на кнопку, выбрава двойным нажатием на закладке Events событие OnClick.

ü Написать текст программы в обработчике события нажатия на кнопку. В качестве вариантов реакции программы на нажате кнопки могут быть: изменение цвета, местоположения кнопки или самой формы, изменение шрифта или его параметров и др.

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

ü Запустить программу на компилляцию и выполнение.

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

Указания к п.1.3.

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

Указания к п. 1.4.

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

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

3. Краткое описание оболочки Delphi(Lazarus).

Основные понятия Объектно-Ориентированного Программирования (ООП).

Класс – особый тип записи, который имеет в своем составе поля, методы (процедуры или функции для операций над полями) и свойства. Такой тип называется объектным типом:

Type

TMyObject = class(Tobject) {описание класса MyObject}

MyField : Integer; {поле}

Function MyMethod : Integer; {метод}

End;

Чтобы использовать новый тип в программе надо объявить переменную этого типа – Объект (экземпляр класса):

Var

MyObject : TMyObject;

У Объекта имеются поля, методы, свойства.

Свойство – поле, но доступное не напрямую, а через методы. Примеры свойств: цвет, ширина, высота, шрифт, видимость, доступность и др.

Событие – реакция программы на определенные действия пользователя. Событие дает о себе знать через изменение одного из параметров. Примеры событий: нажатие указателем мыши на объекте, перемещение мыши, нажатие клавиши и др.

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

Компоненты бывают визуальными (для организации интерфейса с пользователем: кнопки, списки, окна редактирования и др.) и невизуальными (для доступа к системным ресурсам).

Форма – визуальный компонент, обладающий свойствами окна Windows и служащий для размещения других компонентов. Каждая форма представлена двумя файлами (*.pas и *.dfm).

Дополнительные элементы

Кроме вышеперечисленных элементов среды программирования имеются еще три группы:

· Меню (Menu System)

· Панель с кнопками для быстрого доступа (SpeedBar)

· Редактор картинок (Image Editor)

Меню предоставляет быстрый и гибкий интерфейс к среде Delphi, потому что может управляться по набору “горячих клавиш”. Это удобно еще и потому, что здесь используются слова или короткие фразы, более точные и понятные, нежели иконки или пиктограммы. Вы можете использовать меню для выполнения широкого круга задач; скорее всего, для наиболее общих задач вроде открытия и закрытия файлов, управления отладчиком или настройкой среды программирования.

SpeedBar находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите что появится подсказка, объясняющая назначение данной иконки.

Редактор Картинок, работает аналогично программе Paintbrush из Windows. Вы можете получить доступ к этому модулю выбрав пункт меню Tools | Image Editor. Редактор Картинок можно использовать для создания картинок для кнопок, иконок и др. визуальных частей для программы.

Стандартные компоненты

На первой странице Палитры Компонент размещены объекты важные для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно.

· TMainMenuпозволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.

· TPopupMenuпозволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши.

· TLabelслужит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.

· TEdit- стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.

· TMemo -иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в Clipboard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят).

· TButtonпозволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом (подчеркнуто то, что нужно написать вручную):

· TCheckBoxотображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов.

· TRadioButtonпозволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton.

· TListBoxнужен для показа прокручиваемого списка. Классический пример ListBox’а в среде Windows - выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox’е.

· TComboBoxво многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен выпадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла.

· TScrollbar - полоса прокрутки,появляется автоматически в объектах редактирования, ListBox’ах при необходимости прокрутки текста для просмотра.

· TGroupBoxиспользуется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB).

· TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса.

· TScrollBoxпредставляет место на форме, которое можно скроллировать в вертикальном и горизонтальном направлениях. Пока Вы в явном виде не отключите эту возможность, форма сама по себе действует так же. Однако, могут быть случаи, когда понадобится прокручивать только часть формы. В таких случаях используется TScrollBox.

Это полный список объектов на первой странице Палитры Компонент. Если Вам нужна дополнительная информация, то выберите на Палитре объект и нажмите клавишу F1 - появится Справочник с полным описанием данного объекта.

Проект Delphi (Lazarus)

Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них относятся к управлению проектом из среды и напрямую программистом не меняются. Вот эти файлы :

· Главный файл проекта, изначально называется PROJECT1.DPR (LPR).

· Первый модуль программы /unit/, который автоматически появляется в начале работы. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN.PAS.

· Файл главной формы, который по умолчанию называется UNIT1.DFM (LFM), используется для сохранения информации о внешнем виде главной формы.

· Файл PROJECT1.RES (UNIT.LRS) содержит иконку для проекта, создается автоматически.

· Файл, который называется PROJECT1.OPT по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом. Например, установленные Вами директивы компилятора сохраняются здесь.

· Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства.

Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES, OPT и DSK.

После компиляции программы получаются файлы с расширениями:

DCU - скомпилированные модули

EXE - исполняемый файл

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

~PA, ~DP - backup (сохраненные копии) файлы Редактора.

События в Delphi

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

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

Объекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой набор свойств и свое поведение - набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть, например, в Инспекторе Объектов на странице событий. (На самом деле, на этой странице представлен список свойств, которые имеют тип вроде TMouseMoveEvent и представляют из себя процедуры-обработчики событий. Существует соглашение по названиям данных свойств. Например, OnDblClick соответствует двойному щелчку мыши, а OnKeyUp - событию, когда нажатая клавиша была отпущена.) Среди набора событий для различных объектов из VCL есть как события, портируемые из Windows (MouseMove, KeyDown), так и события, порождаемые непосредственно в программе (DataChange для TDataSource).

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

Простейшие события, на которые иногда нужно реагировать - это, например, события, связанные с мышкой (они есть практически у всех видимых объектов) или событие Click для кнопки TButton. Предположим, что вы хотите перехватить щелчок левой кнопки мыши на форме. Чтобы сделать это - создайте новый проект, в Инспекторе Объектов выберите страницу событий и сделайте двойной щелчок на правой части для свойства OnClick. Вы получите заготовку для обработчика данного события:

procedure TForm1.FormClick(Sender: TObject);

begin

end;

Напишите здесь следующее:

procedure TForm1.FormClick(Sender: TObject);

begin

MessageDlg('Hello', mtInformation, [mbOk], 0);

end;

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

При возникновении события, операционная система передает не только уведомление о нем, но и некоторую связанную с ним информацию. Например, при возникновении события “нажата левая кнопка мыши” программа информируется о том, в каком месте это произошло. Если вы хотите получить доступ к такой информации, то должны вернуться в Инспектор Объектов и создать обработчик события OnMouseDown:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Canvas.TextOut(X, Y, 'X='+IntToStr(X)+' Y='+IntToStr(Y));

end;

Запустите программу, пощелкайте мышкой на форме. Как видите, в Delphi очень просто отвечать на события. И не только на события, связанные с мышкой. Например, можно создать обработчик для OnKeyDown (нажата клавиша):

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

MessageDlg(Chr(Key), mtInformation, [mbOk], 0);

end;

Итак, если подвести итог, то должно стать ясным следующее:

· Windows является системой ориентированной на события;

· События в Windows принимают форму сообщений;

· В недрах VCL Delphi сообщения Windows обрабатываются и преобразуются в более простую для программиста форму;

· Обработка событий в Delphi сводится к написанию для каждого объекта своих обработчиков;

· События в программе на Delphi вызываются не только сообщениями Windows, но и внутренними процессами.

Создание нового проекта

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

Для создания нового проекта после работы с предыдущим следует выбрать в меню опцию: File\New Application.

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

Первый шаг - создать поддиректорию для программы. Лучше всего создать директорию, где будут храниться все Ваши программы и в ней - создать поддиректорию для данной конкретной программы. Например, Вы можете создать директорию MYCODE и внутри нее - вторую директорию TIPS1, которая содержала бы программу, над которой Вы только что работали.

После создания поддиректории для хранения Вашей программы нужно выбрать пункт меню File | Save Project. Сохранить нужно будет два файла. Первый - модуль (unit), над которым Вы работали, второй - главный файл проекта, который "владеет" Вашей программой. Сохраните модуль под именем MAIN.PAS и проект под именем TIPS1.DPR. (Любой файл с расширением PAS и словом “unit” в начале является модулем.)

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

1. Какими файлами представлен проект в Delphi ?

2. Что такое объект и его свойства ? Приведите примеры свойств различных объектов.

3. Что такое событие для объекта ? Каким образом можно использовать при программировании события ?

4. Каковы две основные функции Инспектора Объектов ?

5. Для чего нужна Палитра Компонентов ?

6. Что общего и в чем различия между заготовкой формы и компонентами ?

7. Что позволяет редактировать Редактор Кода ?

8. Перечислите компоненты, с помощью которых можно вводить информацию в программу при ее выполнении.

9. Перечислите компоненты, способные выводить информацию пользователю в ходе выполнения приложения.

Лабораторная работа 3

«Программирование в Delphi ввода и вывода информации для Windows»

Цель работы: Изучить и практически освоить методы ввода и вывода числовой и текстовой информации на экран монитора и дисковые средства ПК.

Задание на лабораторную работу.

1.5. Изучить правила объявления переменных и констант.

1.6. Изучить способы ввода-вывода чисел и строк на монитор.

1.7. Изучить способы ввода-вывода чисел и строк на диск.

1.8. Применить изученное в п.1.1-1.3 в своей программе, расширив ее разделами объявления переменных, расчетом значений с использованием арифметических операций, а также с применением операций ввода-вывода.

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

2.1. Указания к п.1.1. Изучить по п. 3.1. правила объявления переменных.

2.2. Указания к п.1.2. Изучить по п.3.2 способы ввода-вывода чисел и строк на монитор.

2.3. Указания к п.1.3. Изучить по п.3.3 способы ввода-вывода чисел и строк в файл.

2.4. Указания к п.1.4.

- Открыть ваш проект.

- На заготовке формы разместить компоненты для ввода и вывода информации (см.п.3.2) и кнопку 1 для активизации расчета и ввода-вывода, а также кнопки 2 и 3 для записи информации в файл и чтения из него.

- Объявить численные переменные, необходимые для расчета заданной функции (см.п.3.1).

- В обработчике события нажатия кнопки 1 создать тексты:

o Ввода исходных данных для расчета функции через подготовленные компоненты для ввода.

o Расчета заданной функции с использованием стандартных арифметических функций.

o Вывода результатов расчета на подготовленные компоненты вывода.

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

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

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

- Сохранить созданный проект.

- Показать текст программы преподавателю.

- Запустить проект на выполнение и показать преподавателю.

3. Объявление, ввод и вывод данных.

3.1. Данные в Delphi. Переменные и константы. Выражения и операции.

Алфавит и словарь языка.

Программа на языке Delphi формируется с помощью конечного набора знаков, образующих алфавит языка, и состоит из букв, де­сятичных и шестнадцатеричных цифр. Специальных символов.

В качестве букв используются прописные и строчные буквы ла­тинского алфавита:

ABCDEFGH I J KLMNOPURSTUVWXYZ abcdefghijkl mnopqrstuvwxyz и знак подчеркивания; в качестве десятичных цифр: 0123456789. Шестнадцатеричные цифры строятся из десятичных цифр и букв от А до F .

При написании программ применяются специальные символы:

+ плюс . {} фигурные скобки - минус . точка * звездочка , запятая / дробная черта : двоеточие = равно ; точка с запятой     > больше ' апостроф < меньше # номер [ ] квадратные скобки $ знак денежной единицы ( ) круглые скобки " тильда @ коммерческое а пробел (не имеет обозначения)

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный смысл в программе. Разделителем может служить пробел, символ конца строки, комментарий. Слова подразделяются на зарезервиро­ванные слова, стандартные идентификаторы и идентификаторы поль­зователя.

Зарезервированные слова являются составной частью языка, имеют фиксированное начертание и раз и навсегда определенный смысл. Зарезервированные слова версии языка Delphi для персо­нальных ЭВМ приведены в следующем списке:

absolute end ini ine procedure type

and external interface program unit

array file interrupt record until

begin for label repeat uses

case forward mod set var

const function nil shi while

div goto not shr with

do if of string xor

down to implementation or then

else in packed to

Стандартные идентификаторы служат для обозначения заранее определенных разработчиками языка типов данных, констант, про­цедур и функций. Например, стандартный идентификатор Sin вызыва­ет функцию, вычисляющую синус заданного угла. Любой из стандарт­ных идентификаторов в отличие от зарезервированных слов можно переопределить, ни это чаще всего приводит к ошибкам. Поэтому на практике стандартные идентификаторы лучше использовать без ка­ких-либо изменений.

Идентификаторы пользователя применяются для обозначения меток, констант, переменных, процедур и функций, определенных самим программистов! Правильно выбранные идентификаторы значи­тельно облегчают чтение и понимание программы, а также уменьшают вероятность появления ошибок при модификации программ. Например, значение даты удобнее обозначить идентификатором Data, чем прос­то буквой D или любым другим символом.

Существуют общие правила написания идентификаторов:

1.Идентификатор начинается только с буквы или знака подчерки­вания (исключение составляют метки, которые могут начинаться и цифрой, и буквой).

2.Идентификатор может состоять из букв, цифр и знака подчер­кивания (пробелы, точки и другие специальные символы при написа­нии идентификаторов недопустимы).

3.Между двумя идентификаторами должен быть по крайней мере, один пробел.

4.Максимальная длина идентификатора 127 символов, но значимы только первые 63 символа,

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

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

Как и другие языки программирования, Delphi интерпретирует данные как константы или переменные, следовательно, в программе каждый элемент данных является константой либо переменной. Конс­танты и переменные определяются идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений.

Константами называются элементы данных, значения которых ус­тановлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значения констант слу­жит зарезервированное слово const.

Формат: Const <идентификатор> = значение константы;

Пример: Const a = 1.618;

Переменные в отличие от констант могут менять свои значения в процессе выполнения программы. Каждая переменная и константа принадлежат к определенному типу данных. Тип констант автомати­чески распознается компилятором без предварительного описания. Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Для описания переменных предназначено зарезервированное слово var.

Формат: Var <идентификатор> : <тип>;

Пример: Var vova, lena : real;

Типы данных.

Общие сведения.

Каждый элемент данных относится к одному из конечного множес­тва типов, допустимых для конкретной версии языка программирова­ния. Тип - это множество значений, которые могут принимать объ­екты программы, и совокупность операции, допустимых над этими значениями. Например, значения 1 и 2 относятся к целочисленному типу. их можно складывать, умножать и выполнять другие арифмети­ческие операции. Для описания типа в общем слу­чае используется зарезервированное слово Type.

Формат: Type <Имя типа> = значения типа>.

Все типы данных разделяются на две группы: скалярные (прос­тые) и структурированные (составные). Скалярные типы в свою очередь подразделяются на стандартные и пользовательские, стан­дартные типы предлагаются пользователям разработчиками системы Turbo Delphi.

К стандартным скалярным относятся целочисленные, веществен­ные, литерные, булевские типы данных и указатели.

Данные целочисленных типов могут быть представлены как в де­сятичной. так и в шестнадцатеричной системах. Если число предс­тавлено в шестнадцатеричной системе перед ним без пробела запи­сывается знак S. Диапазон изменении шестнадцатеричных чисел от $0000 до $FFFF.

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

Вещественные десятичные числа с фиксированной точкой записы­ваются по обычным правилам арифметики. Целая часть от дробной отделяется десятичной точкой. Если десятичная точка отсутствует, число считается целым. Перед числом может находиться знак "+" или "-•' Если знак отсутствует, по умолчанию число считается по­ложительным .

Пример:

Целое десятичное число

Вещественное число

-12.3 - отрицательное вещественное число

Вещественные десятичные числа в форме с плавающей точкой представлены в экспоненциальном виде: тЕ+р, где т - мантисса (целое или дробное число с десятичной точкой), Е- означает '•де­сять в степени", р - порядок (целое число),

Пример:

5.18E+02= 5.18 * 102 = 518

Пользовательские типы - перечисляемый и интервальный - разра­батываются самим программистом.

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

3.1.3.2. Скалярные типы данных.

Целочисленные типы. Целочисленные типы данных представляют собой значения, ко­торые могут использоваться в арифметических выражениях и зани­мать в памяти от 1 до 4 байт.

Тип Диапазон Требуемая память (бит)
Byte 0..255
Shortint -128..127
Smallint -32768..32767
Integer -32768..32767
Longint -2147483648..
Word 0..65535

Пример:

Var

XI, Х2 : byte;

YI : integer;

Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и за­нимают в памяти от 4 до 6 байт. Delphi допускает представление вещественных значении в виде как с плавающей, так и с фиксиро­ванной точкой.

Тип Диапазон Мантиса Требуемая память  
real 2.9*10-39..1.7*1038 11-12
single 1.5*10-45..3.4*1038 7-8
double 5.0*10-324..1.7*10308 15-16
extended 3.4*10-4932..1.1*104932 19-20

Пример:

Var

XI, Х2 : real;

YI : double;

Cимвольный тип определяется множеством значений кодовой таблицы. Для переменной литерного типа требуется один байт.В программе значения переменных и констант типа char должны быть заключены в апострофы, например, 'А' обозначает букву А, ' ' - пробел, ';' - точку с запятой.

Пример: Var

Ch : char;

Let, Zrat: char;

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

Конечные строкибывают двух типов: ShortString (состоит из 255 символов) и String[ ] (в квадратных скобках указывается количество символов в строке).

Бесконечные строки задаются ключевым словом String.

Пример: Var

S1 : String;

S2, s3: String[27];

S4: ShortString;

Булевский тип представлен двумя значениями: True (истина) и False (ложь), он широко применяется в логических выражениях и выражениях отновения и занимает 1 байт. Пример:

Var

Flag1, Flag2: boolean;

Общие сведения.

Переменные и константы всех типов используются в выражениях. Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами, например, в вы­ражении (Х+У-Z) Х,У и Z - операнды; +,- - знаки опе­раций сложения и вычитания. В простейшем случае выражение может состоять из одной переменной или константы. Круглые скобки ста­вятся так же, как и в обычных арифметических выражениях для уп­равления ассоциативностью и порядком выполнения операций.

Операции в языке Delphi подразделяются на арифметические, отношения, логические (булевские), операцию @, строковые и др. Выражения соответственно называются арифметическими, отношения, булевскими, строковыми и т.д. в зависимости от того, какого типа операнды и операции в них используются.

Операции могут бытьунарными и бинарными. В первом случае операция относится к одному операнду и всегда записывается перед ним, во втором операция выражает отношение между двумя операнда­ми и записывается между ними. Например, -А - унарная операция, X+Y - бинарная.

Приоритет операций.

Выполнение каждой операции происходит с учетом ее приоритета:

1. @, not Первый (высший)

2. *, /, div, nod, and, shi, shr Второй

3. +, -, or, xor Третий

4. =, о, <, >, . <=, >=, in Четвертый (низший)

Для определении старшинства операций имеются четыре основных правила:

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

2.Операция, находящаяся между двумя операциями с равными при­оритетами, связывается с той операцией, которая находится слева.

3.Выражение, заключенное в скобки,перед выполнением вычисля­ется, как отдельный операнд.

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

Стандарные функции

Для выполнения часто встречающихся вычислений и преобразований дан­ных в Object Pascal существуют стандартные функции.

Арифметические функции

Арифметические функции позволяют выполнять различные вычисления. Например, функция sqrt вычисляет значение квадратного корня. Подробнее об арифметических функциях будет изложено в лабораторной работе 3.

3.2.1.2. Функции преобразования типов

Функции преобразования типов наиболее часто используются в инструкци­ях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода диалогового окна значение переменной типа real, необходимо сначала получить изображение числа, являющегося значением данной переменной. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление выражения действительного типа, указанного при вызове функции.В таблице перечислены наиболее часто используемые функции преобразо­вания типов.

Функции преобразования типов

Функция Значение
Chr (n) Символ ANSI с номером n
IntToStr (n) Преобразование целого n в строку.
FloatToStr(n) Преобразование вещественного n в строку.
FloatToStrF(n,f,l,m) Преобразование вещест­венного n в строку по формату. При вызове функции указываются: f — формат (способ изображения); l —точность (нужное общее количество цифр); m — количество цифр после десятичной точки
StrToInt (s) Преобразование строки s в целое число.
StrToFloat (s) Преобразование строки s в вещественное число.
Round (n) Целое, ближайшее к n
Trunc(n) Целая часть от n
Frac(n) Дробная часть вещественного n
Int (n) Целая часть вещественного n

Ввод данных

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

Ввод из окна ввода

Ввод данных из окна ввода осуществляется вызовом функции InputBox, воз­вращаемым значением которой является строка, введенная пользователем. В общем виде инструкция для ввода данных с использованием функции InputBox выглядит так:

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

где

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

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

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

Значение — текст, находящийся в поле ввода в момент появления окна ввода на экране.

Например, в программе пересчета веса из фунтов в килограммы инструкция ввода количества фунтов может выглядеть так:

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

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

1. На экран монитора выводится окно ввода.

2. В поле ввода вводится (набирается на клавиатуре) число.

3. Затем необходимо нажать одну из командных кнопок окна ввода:

• Щелчок на кнопкеОК присваивает переменной s значение, соответ­ствующее введенной строке

• Щелчок на кнопкеCancel присваивает переменной s предопределен­ное значение, указанное при вызове функции inputBox в качестве ее аргумента (в данном примере переменной s будет присвоено '', т. е. пустая строка)

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

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

funt:=StrToFloat(s);

3.2.2.2. Ввод из поля диалогового окна

Ввод данных из поля ввода диалогового окна осуществляется обращением к свойству Te

Наши рекомендации