- •Программирование на языке Паскаль
- •Основы визуального программирования 67
- •Введение. Структура программы. Типы данных
- •Структура программы в зыке Паскаль
- •Комментарии
- •Раздел описания переменных
- •Имена идентификаторов в языке Паскаль
- •Типы данных в языке Паскаль
- •Вещественные типы
- •Целые типы
- •Оператор ввода
- •Составной оператор
- •Условный оператор
- •Выражения
- •Арифметические операции
- •Логические выражения
- •Логические операции
- •Приоритеты операций
- •Стандартные математические и арифметические функции
- •Структурированные операторы
- •Оператор выбора case
- •Оператор цикла for
- •Оператор цикла while
- •Inc(n); { Увеличение значения пременной n на 1 }
- •Оператор цикла repeat
- •Тип массив
- •Строковый тип
- •Процедуры и функции для работы со строками
- •Типизированные константы
- •Процедуры и функции
- •Обращение к процедурам и функциям
- •Процедуры и функции. Процедурные типы. Тип указатель
- •Модификаторы var и const в описании формальных параметров
- •Локальность и область действия
- •Процедурные типы
- •Тип указатель
- •Нулевой указатель
- •Работа с текстовыми файлами. Тип запись. Алгоритмы сортировки
- •Файловые типы
- •Процедуры и функции для работы с текстовыми файлами
- •Стандартные текстовые файлы
- •Тип запись
- •Обращение к элементам записи
- •Алгоритмы сортировки
- •Алгоритмы сортировки
- •Алгоритмы сортировки сравнениями
- •Объектно-ориентированное программирование. Структура программного модуля
- •Тип данных «объект»
- •Тип данных «класс»
- •Классификация стилей программирования
- •Структура программного модуля
- •Основы визуального программирования
- •Элемент управления «Поле ввода»
- •Элемент управления «Кнопка»
- •Элемент «Метка»
- •Элемент «Группа переключателей»
- •0:ShowMessage('Выбран вариант 1');
- •1:ShowMessage('Выбран вариант 2');
- •2:ShowMessage('Выбран вариант 3');
- •Основы визуального программирования
- •Элемент «Изображение»
- •Виды изображений
- •Класс tPicture
- •Класс tBitmap
- •Оператор with
- •Класс tCanvas
- •Библиографический список
- •620002, Екатеринбург, Мира, 19
Целые типы
Название |
Знаковый |
Размер |
Возможные значения |
|
Integer |
да |
DOS: 2 байта (16 битов) Delphi: 4 байта (32 бита) |
–32768..32767 –2147483648..2147483647 |
–215..215–1 –231..231–1 |
Cardinal |
нет |
Delphi: 4 байта (32 бита) |
0..4294967295 |
0..232 |
Shortint |
да |
1 байт (8 битов) |
–128..127 |
–27..27–1 |
Smallint |
да |
2 байта (16 битов) |
–32768..32767 |
–215..215–1 |
Longint |
да |
4 байта (32 бита) |
–2147483648..2147483647 |
–231..231–1 |
Int64 |
да |
Delphi: 8 байтов (64 бита) |
≈ –9.2∙1018..9.2∙1018 263=9223372036854775808 |
–263..263–1 |
Byte |
нет |
1 байт (8 битов) |
0..255 |
0..28–1 |
Word |
нет |
2 байта (16 битов) |
0..65535 |
0..216–1 |
Longword |
нет |
Delphi: 4 байта (32 бита) |
0..4294967295 |
0..232–1 |
Представления типа Integer (а также и некоторых других типов, которые будут рассмотрены в дальнейшем) зависит от платформы, на которой производится компиляция программы. Например, в 16-битной системе MS‑DOS этот тип занимает 16 битов памяти, а в среде Delphi, которая работает в 32-битной системе Windows, тип Integer имеет размер 32 бита. В зависимости от этого он позволяет представлять различные диапазоны целых чисел.
Некоторые типы (как Cardinal, Int64 и Longword) определены только для 32-битных программ в среде Delphi.
Вещественные типы
Название |
Размер |
Возможные значения |
Количество значащих цифр |
Real |
DOS: 6 байтов (48 битов) Delphi: как Double |
≈ 2.9∙10–39..1.7∙1038 |
11–12 |
Single |
Delphi: 4 байта (32 бита) |
≈ 1.5∙10–45..3.4∙1038 |
7–8 |
Double |
1 байт (8 битов) |
≈ 5.0∙10–324..1.7∙10308 |
15–16 |
ExtENDed |
2 байта (16 битов) |
≈ 3.6∙10–4951..1.1∙104932 |
19–20 |
Comp |
4 байта (32 бита) |
–263..263–1 |
19–20 |
Currency |
Delphi: 8 байтов (64 бита) |
≈ –9.2∙1014..9.2∙1014 |
19–20 |
Тип Real применялся в ранних версиях языка Паскаль, в Delphi он работает как Double. Для обеспечения обратной совместимости в Delphi имеется тип Real48, который работает как старый Real.
Тип Comp представляет целые числа от –263 до 263–1, но не является порядковым, а реализован как вещественный тип.
Тип Currency – это вещественные числа с фиксированной запятой с точностью 4 десятичных разряда, фактически представляет числа от 263/104 до (263–1)/104, т.е. хранится как тип Comp, а при выполнении с ним операций автоматически делится на 104.
Раздел описания констант
Синтаксис
CONST
<Имя 1> = <Значение 1>;
<Имя 2> = <Значение 2>;
∙ ∙ ∙
<Имя N> = <Значение N>;
<Имя 1>, <Имя 2>, …, <Имя N> – имена описываемых констант, <Значение 1>, <Значение 2>, …, <Значение N> – константы или выражения-константы.
Пример
CONST
E = 2.7182818284590452354;
Str = 'Строковая константа';
HalfLen = (Length(Str)+1) div 2;
Выражения-константы
Выражения-константы могут являться либо константами, либо выражениями, в которых содержатся только константы и не могут употребляться переменные и функции, кроме следующих стандартных функций языка Паскаль: Abs, Chr, Hi, Length, Lo, Odd, Ord, Pred, Ptr, Round,
SizeOf, Succ, Swap, Trunc.
Исполнительная часть
Исполнительная часть программы на языке Паскаль начинается ключевым словом BEGIN, заканчивается словом END (с точкой) и содержит последовательность операторов, разделенных между собой точкой с запятой.
-
Простые и структурированные операторы. Выражения
Операторы языка Паскаль
Все операторы языка Паскаль делятся на простые и структурированные.
Примерами простых операторов являются рассматриваемые далее оператор присваивания и операторы ввода и вывода. Структурированные операторы содержат простые или структурированные операторы внутри себя.
Оператор присваивания
( Синтаксис
<Имя переменной> := <Выражение>
Тип значения выражения должен либо совпадать с типом переменной, либо являться преобразуемым к типу переменной. Например, целочисленное значение можно преобразовать к вещественному типу, но не наоборот. Символьное значение можно преобразовать к строковому, но нельзя к целому или вещественному и т.д.
Оператор вывода
Синтаксис
Write[Ln](<Список выражений>);
В списке выражений через запятую может перечисляться любое количество значений, которые необходимо вывести на экран. Оператор WriteLn, как и Write, выводит на экран значения указанных выражений, но в отличие от оператора Write после этого переводит курсор на следующую строку. Для каждого выражения можно дополнительно указать формат вывода.
Синтаксис формата вывода
<Выражение>[:<Минимальная длина>[:<Точность>]]
<Минимальная длина> и <Точность> – целые числа. Если длина значения выражения при выводе на экран будет меньше, чем указанная минимальная длина, то оно будет дополнено слева соответствующим количеством пробелов. Точность задает количество десятичных знаков, которые будут напечатаны при выводе вещественных чисел. Если точность не указана, вещественные числа выводятся в экспоненциальной форме.
Пример
WriteLn(Pi,Sqrt(2)/2);
WriteLn('Sin(Pi/4)=',Sin(Pi/4):1:5);
Результат выполнения
3.14159265358979E+0000 7.07106781186548E-0001
Sin(Pi/4)=0.70711
