- •Часть 2
- •Лабораторная работа № 6. Программирование циклических вычислительных процессов. Итерационные циклы
- •Отладка модулей проекта
- •Отладка синтаксических ошибок
- •Отладка логических ошибок
- •Итерационные циклы
- •Текст модуля UnIterate
- •Пример создания приложения
- •Сохранение проекта
- •Размещение компонентов на Форме
- •6.4. Выполнение индивидуального задания
- •Лабораторная работа № 7. Программирование с использованием строк
- •Краткие теоретические сведения
- •7.1.1. Символьные типы
- •7.1.2. Строковые типы
- •7.1.3. Процедуры и функции для работы со строками
- •Применение компонентов ListBox и ComboBox для работы со строками
- •7.3. Пример создания приложения
- •7.3.1. Сохранение проекта
- •7.3.2. Размещение компонентов на Форме
- •7.3.3. Создание процедуры-обработчика события активизации Формы FormActivate.
- •7.3.4. Создание процедуры-обработчики события ComboBox1KeyPress
- •7.3.5. Создание процедуры-обработчики события нажатия клавиши «мыши» ComboBox1Click
- •7.3.6. Работа с приложением
- •7.4. Текст модуля UnStr
- •7.5. Выполнение индивидуального задания
- •С использованием записей
- •8.1. Краткие теоретические сведения
- •8.2. Пример создания приложения
- •8.2.1. Указания по созданию приложения
- •8.2.2. Размещение компонентов по Форме
- •8.2.3.Создание процедур обработки событий FormCreate и ButtonClick
- •8.2.4. Работа с приложением
- •8.2.5. Текст модуля UnZap
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа № 9. Програмирование с использованием файлов
- •9.1. Краткие теоретические сведения
- •9.2. Пример создания приложения
- •9.2.1. Указания по созданию приложения
- •9.2.2.Размещение компонентов по Форме.
- •9.2.3.Создание процедур обработки событий
- •9.2.4. Текст модуля UnFile
- •9.2.5. Работа с приложением
- •9.3. Выполнение индивидуального задания
- •Лабораторная работа № 10. Программирование с использованием функций и процедур. Процедурные типы. Создание модулей
- •10.1. Краткие теоретические сведения
- •10.1.1. Объявление и описание функций и процедур
- •10.1.2. Различные варианты передачи параметров в функции и процедуры
- •10.1.3. Процедурные типы
- •Текст модуля UnFancProc
- •Текст модуля UnModul
- •Выполнение индивидуального задания
- •Лабораторная работа № 11. Программирование с использованием динамических структур данных
- •11.1. Краткие теоретические сведения
- •11.1.1. Указатели
- •11.2. Использование динамических переменных
- •Пример создания приложения
- •11.3.1. Сохранение проекта
- •Размещение компонентов на Форме
- •11.3.3. Создание процедуры обработки событий FormCreate
- •Текст модуля UnDinMas
- •11.5. Выполнение индивидуального задания
- •Лабораторная работа № 12. Программирование с использованием средств для построения и отображения графиков
- •12.1. Методика построения графиков с помощью компонента tChart
- •12.2. Пример написания программы
- •12.2.1. Настройка формы
- •12.2.2. Работа с компонентом tChart
- •12.2.3. Написание программы обработчика события создания формы
- •12.2.4. Написание программ обработчика событий нажатия на кнопки
- •12.3. Модуль программы построения и отображения графиков
- •12.4. Выполнение индивидуального задания
- •Приложение 1 п1. Свойства и методы компонентов п1.1. Общие свойства компонентов
- •2. Компоненты страницы standard
- •3. Компоненты страницы additional
- •4. Компоненты страницы dialogs
- •П2. Простые типы данных языка object pascal
- •П3. Процедуры и функции для работы со строками
- •Литература
П2. Простые типы данных языка object pascal
П2.1. .Целые типы
Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать 1, 2 или 4 байта.
Название |
Длина, байт |
Диапазон значений |
Byte |
1 |
0...255 |
Shortint |
1 |
-128...+127 |
Smallint |
2 |
-32 768. ..+32 767 |
Word |
2 |
0...65 535 |
Integer |
4 |
-2 147 483 648. ..+2 147 483 647 |
Longint |
4 |
-2 147 483 648...+2 147 483 647 |
Cardinal |
4 |
0... 2147483647 |
К целочисленным типам применимы следующие процедуры и функции:
Обращение |
Тип результата |
Действие |
abs (х) |
х |
Возвращает модуль х |
chr (Byte) |
Char |
Возвращает символ по его коду |
dec(x[,i]) |
— |
Уменьшает значение х на i, а при отсутствии 1 - на 1 |
inc(x[,i]) |
— |
Увеличивает значение v на i, а при отсутствии i - на 1 |
Hi (word) |
Byte |
Возвращает старший байт аргумента |
Hi(integer) |
Byte |
Возвращает третий по счету байт |
Lo(integer) |
Byte |
Возвращает младший байт аргумента |
Lo (word) |
Byte |
Возвращает младший байт аргумента |
Odd(Longlnt) |
Boolean |
Возвращает True, если аргумент - нечетное число |
Random(word) |
— |
Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0...(word) |
sqr (х) |
x |
Возвращает квадрат аргумента |
swap (integer) |
Integer |
Меняет местами байты в слове |
swap(word) |
Word |
Меняет местами байты в слове |
П2.2. .Логические типы
К логическим относятся типы Boolean, ByteBool, Bool, WordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Object Pascal для совместимости с Windows: типы Boolean и ByteBool занимают по 1 байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта. Значениями логического типа может быть одна из предварительно объявленных констант: False (ложь) или True (истина). Для них справедливы правила:
0rd( False) = 0;
Ord(True) <> 0;
Succ(False) = True;
Pred(True) = False.
П2.3. Символьный тип данных
Символьные типы предназначены для хранения одного символа. Ниже приведена таблица символьных типов.
Тип |
Размер в байтах |
Что может хранить |
ANSIChar |
1 |
Один символ ANSI |
WideChar |
2 |
Один символ Unicode |
Char |
2 |
Сейчас эквивалентен ANSIChar. В будущих версияхDelphi может быть эквивалентен WideChar |
Наличие двух разных типов – ANSIChar и WideChar связано с двумя различными множествами символов: ANSI, каждый символ которого занимает 1 байт, и Unicode, каждый символ которого занимает 2 байта. Первые 256 символов в этих множествах одинаковые и соответствуют символам ASCII от 0 до 255.
Для кодировки в Windows используется код. Первая половина символов с кодами 0...127 постоянна и содержит в себе служебные коды и латинский алфавит. Вторая половина символов с кодами 128...255 меняется для различных шрифтов. Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами.
Родовым (т.е. обеспечивающим максимальную производительность) является тип Char, который в настоящее время эквивалентен типу ANSIChart. К типу Char применимы операции отношения, а также встроенные функции.
П2.4. Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые oн может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками.
Функции, поддерживающие работу с типами-диапазонами:
High (X) - возвращает максимальное значение типа-диапазона, к котором принадлежит переменная X; Low (X) - возвращает минимальное значение типа-диапазона.
П2.5. Вещественные типы
Значения вещественных типов определяют произвольное число лишь некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.
Название |
Длина, байт |
Кол-во значащих цифр |
Диапазон значений |
Примечание |
Real |
6 |
11...12 |
2,9*10-39...1,7*1039 |
При наличии сопроцессора использовать нежелательно, т.к. замедляет работу |
Single |
4 |
7. ..8 |
1,5*10-45... 3,4*1038 |
- |
Double |
8 |
15...16 |
5,0*10-324...1,7*10308 |
- |
Extended |
10 |
19...20 |
3,4*10-4951…1,1*104932 |
Применяется наиболее часто |
Comp |
8 |
19...20 |
-263…+263-1 |
Дробная часть отсутствует |
Currency |
8 |
19...20 |
±922337203685477,5807 |
Длина дробной части 4 десятичных разряда |
Для работы с вещественными типами имеются стандартные функции:
Обращение |
Тип параметра |
Тип результата |
Примечание |
Abs(x) |
Вещественный, целый |
Тип аргумента |
Модуль аргумента |
АгсТаn(х) |
Вещественный |
Вещественный |
Арктангенс (в радианах) |
Cos(x) |
Вещественный |
Вещественный |
Косинус (в радианах) |
Ехр(х) |
Вещественный |
Вещественный |
Экспонента |
Frac(x) |
Вещественный |
Вещественный |
Дробная часть числа |
lnt(x) |
Вещественный |
Вещественный |
Целая часть числа |
Ln(x) |
Вещественный |
Вещественный |
Логарифм натуральный |
Pi |
--- |
Вещественный |
=3.141592653... |
Random |
— |
Вещественный |
Псевдослучайное число, равномерно распределенное в диапазоне 0...[1] |
Random(x) |
Целый |
Целый |
Псевдослучайное целое число, равномерно распределенное в диапазоне 0. ..x |
Randomize |
— |
— |
Инициация генератора псевдослучайных чисел |
Sin (x) |
Вещественный |
Вещественный |
Синус (в радианах) |
Sqr(x) |
Вещественный |
Вещественный |
Квадрат аргумента |
Sqrt(x) |
Вещественный |
Вещественный |
Корень квадратный |
П2.6. Тип Дата-Время
Тип дата - время определяется идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Над данными типа TDateTime определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов.
Приложение 3
