Языки программирования высокого уровня
Программы, написанные на языках программирования высокого уровня (Pascal, Basic, С и др.), как правило, имеют строго определенную структуру. Эта структура программы определяется синтаксисом языка программирования. Общая структура программ выглядит так:
Декларационная часть. Может включать:
Заголовок программы/модуля как в Паскале (Program – для программ, Unit – для модуля), может не иметь заголовка Basic, С.
Глобальные директивы компилятора (Pascal) нет в Basic, С.
Объявление глобальных меток.
Объявление глобальных констант.
Объявление глобальных типов.
Объявление глобальных переменных.
Раздел текстов процедур/функций.
Заголовок процедуры/функции.
Список используемых параметров (для функции и тип возвращаемого результата).
Тело процедуры/функции.
Раздел основного блока программы.
Пример. Общий вид процедуры для языков Basic и Pascal представлен в таблице 1.
Таблица 1. Общий вид процедуры для языков программирования Pascal и Basic
Basic |
Pascal |
Sub <имя_процедуры> (аргументы) ………………………………………. тело процедуры ………………………………………. End Sub
|
procedure <имя_процедуры> (аргументы); ………………………………………. begin тело процедуры ………………………………………. end; |
В языках программирования высокого уровня определены следующие типы данных: логический тип; целые числа; числа с плавающей точкой; строки, символы (char), массивы (array). Целые числа, числа с плавающей точкой и строки, как правило, могут быть представлены в разных форматах (таблица 2). Для массивов используется любой встроенный тип данных.
Пример. Объявление одномерного массива.
Имя_массива: array [Нижний_Индекс… Верхний_Индекс] of Тип_Элементов
Таблица 2. Основные типы данных для языков программирования Pascal и Basic
Тип данных |
Диапазон, (диапазон значащих цифр) |
Размер (в байтах) | |
Basic |
Pascal | ||
Логический тип | |||
Boolean |
True, False |
2 | |
Целые числа | |||
ShortInt |
- |
- 128…127 |
1(со зн.) |
Integer |
-32768…32767 |
2 (со зн.) | |
Long, LongInt |
- 2147483648…2147483647 |
4 (со зн.) | |
Int64 |
- |
-263…263 |
8 (со зн.) |
Byte |
0…255 |
1 | |
Word |
- |
0…65535 |
2 |
Long Word |
- |
0…4294967295 |
4 |
Числа с плавающей точкой | |||
Real48 |
- |
2.9 10-39 .. 1.7 1038 (11-12) |
6 |
Real |
- |
5.0 10-324 .. 1.7 10308 (15-16) |
8 |
Single |
1.5 10-45 .. 3.4 1038 (7-8) |
4 | |
Double |
5.0 10-324 .. 1.7 10308 (15-16) |
8 | |
Extended |
- |
3.6 10-4951 .. 1.1 104932 (19-20) |
10 |
Comp |
- |
-263+1 .. 263 -1 (19-20) |
8 |
Currency |
-922337203685477.5808.. 922337203685477.5807 (19-20) |
8 | |
|
|
|
|
Строки | |||
String |
255 символов (ASII) |
|
2 |
ShortString |
- |
255 символов (ASII) |
2…256 |
AnsiString |
- |
231 символов (ANSI) |
4…2 GB |
WideString |
- |
230 символов (Unicode) |
4…2 GB |
Для обработки данных в языках программирования высокого уровня определены различные операторы:
операторы присваивания;
математические (деление, умножения, сложения, вычитания, целочисленное деление, остаток от деления, циклический сдвиг вправо, циклический сдвиг влево и др.);
логические (логическое и поразрядное «НЕ», логическое и поразрядное «И», логическое и поразрядное «ИЛИ», логическое и поразрядное исключающее «ИЛИ», вхождение во множество и др.);
сравнения (больше, меньше, равно, не равно, больше или равно, меньше или равно и др.)
получения адреса;
операций над строками.
Кроме операторов для обработки данных в языках программирования высокого уровня имеются различные встроенные функции и процедуры, которые можно разбить на следующие категории:
математические (функции возвращающие: абсолютное значение числа, косинуса, синуса, случайное число и др.);
строковые (преобразование в строчные буквы строки символов, выделение стоки, преобразование строчных букв в прописные, операции поиска, копирования и др.);
даты и времени (возврат текущей даты, номера года, месяца, дня недели и др.);
преобразования типов данных (числовых данных в строковые, действительного в целое (с округлением));
операций над файлами (создания, открытия, перезаписи, добавления записи и др.).