УМК_ПрОА_3
.pdfглавной программы внутри объектов.
Результат выполнения лабораторной работы: Вы ознакомились с основами технологии объектно-ориентированного программирования и языка С++: типовыми действиями с простыми и сложными типами данных, операторами ввода-вывода. Вы получили представление об особенностях особого типа данных – класс как совокупность свойств и методов (функций), научились описывать объекты данного класса,
инициализировать их свойства и использовать методы объектов для обеспечения доступа к свойствам объектов.
Форма представления результатов лабораторной работы: папка с файлами.
Основы программирования на языке Turbo Pascal
Структура программы представлена на рис. 3.8.
Программа на языке TurboPascal
Структура
Заголовок (Имя программы)
Раздел объявления меток
Раздел объявления констант
Раздел объявления типов
Раздел объявления переменных
Раздел объявления процедур и функций
Тело программы
Синтаксис (запись на языке)
PROGRAM Name;
LABEL a, m;
CONSTANT n=10;
TYPE Boolean = (False, True);
VAR i:byte;
POCEDURE Name_1(par_1,…,par_k);
FUNCTION Name_2(par):type;
BEGIN
…
END.
Рис. 3.8 Структура программы на языке TurboPascal
159
Классификация данных представлена на рис. 3.9
Данные
Константы |
|
Переменные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Статические типы данных |
|
Динамические типы данных |
|
Процедурные типы данных |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Указатель |
|
|
|
|
|
Процедура |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Массив |
|
|
|
|
|
|
Procedure |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Function |
|
||
|
|
|
|
Простые типы |
|
Структурированные типы |
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Целые |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Массив |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Shortint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Array |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
Integer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Строка |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Longint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
String |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Word |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Byte |
|
|
|
|
|
|
Запись |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Record |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Логический |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Boolean |
|
|
|
|
|
|
Множество |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Set of |
|
|
|
|
|
|
|
|
|
||||
|
|
|
Символьный |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Char |
|
|
|
|
|
|
Файл |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
File of |
|
|
|
|
|
|
|
|
|
||||
|
|
|
Перечисляемый |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
имя = (idf1,…idfN) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Тип-диапазон |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
имя =min…max |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вещественные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Real |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Single |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Double |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
Extended |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.9 Классификация типов данных в языке Turbo Pascal
Таблица 3.20 Тип данных целые числа
160
Тип |
Диапазон |
Формат |
Размер в |
|
|
|
байтах |
Shortint |
-128 … 127 |
Знаковый |
1 |
Integer |
-32768 ... 32767 |
Знаковый |
2 |
Longint |
-2147483648 … 2147483647 |
Знаковый |
4 |
Byte |
0 … 255 |
Беззнаковый |
1 |
Word |
0… 65535 |
Беззнаковый |
2 |
Синтаксис описания целых переменных |
VAR |
|
|
|
|
X: integer; |
|
|
|
i: byte; |
|
Таблица 3.21 Тип данных вещественные числа |
|
|
|
|
|
|
|
Тип |
Диапазон |
Число значащих цифр |
Размер в |
|
|
|
байтах |
Real |
2.9*10-39 … 1.7*1038 |
11-12 |
6 |
Single |
1.5*10-45 … 3.4*1038 |
7-8 |
4 |
Double |
5.0*10-324 … 1.7*10308 |
15-16 |
8 |
Extended |
3.4*10-4932 … 1.1*104932 |
19-20 |
10 |
Comp |
-263+1…263-1 |
19-20 |
8 |
Синтаксис описания вещественных |
VAR |
|
|
переменных |
|
X: real; |
|
|
|
Y: single; |
|
Таблица 3.22 Простые типы данных
Тип |
|
|
Наименование |
|
Размер в |
|
|
Значения |
Синтаксис описания |
|
|
|
|
|
|
|
байтах |
|
|
|
|
Логический |
|
Boolean |
|
1 |
|
True, False |
VAR |
|||
|
|
|
|
|
|
|
|
|
|
flag: Boolean; |
Символьный |
|
Char |
|
|
1 |
|
ASCII - символы |
VAR |
||
|
|
|
|
|
|
|
|
|
|
letter: Char; |
Перечисляемый |
|
<имя типа> |
|
- |
|
Набор |
TYPE |
|||
|
|
|
|
|
|
|
|
идентификаторов |
Season = («Зима», |
|
|
|
|
|
|
|
|
|
|
|
«Весна», «Лето», |
|
|
|
|
|
|
|
|
|
|
«Осень»); |
|
|
|
|
|
|
|
|
|
|
|
Диапазон |
|
|
<имя типа> |
|
- |
|
Min…Max |
TYPE |
||
|
|
|
|
|
|
|
|
|
|
Temperature = |
|
|
|
|
|
|
|
|
|
|
(36..39); |
|
|
|
|
|
|
|
|
|||
Таблица 3.23 Структурированные типы данных |
|
|
||||||||
|
|
|
|
|
||||||
Тип |
Наимено- |
Назначение |
|
Синтаксис описания |
||||||
|
вание |
|
|
|
|
|
|
|
||
Массив |
Array |
|
Содержит фиксированное |
TYPE |
|
|||||
|
|
|
|
количество |
|
|
|
Matrix = array[1..3, 1..2] of |
||
|
|
|
|
упорядоченных |
|
Shortint; |
|
|||
|
|
|
|
однотипных элементов, |
|
|
||||
|
|
|
|
снабженных индексами. |
|
|
||||
|
|
|
|
Бывает одномерным и |
|
|
|
|||
|
|
|
|
многомерным. |
|
|
|
|||
Строка |
String |
|
Является разновидностью |
VAR |
|
161
|
|
массива символов. |
Document: string[1200]; |
|
|
Содержит произвольный |
January: string[10] = |
|
|
текст. |
‘Январь’; |
Запись |
Record |
Включает набор полей |
TYPE |
|
|
разного типа. |
Data = record {тип – дата |
|
|
|
рождения} |
|
|
|
Year: Integer; |
|
|
|
Month: 1 .. 12; |
|
|
|
Day: 1 .. 31; |
|
|
|
end; |
Множест |
Set |
Множество возможных |
TYPE |
во |
|
сочетаний объектов |
Alfa = set of ‘A’ .. ‘Z’; |
|
|
исходного множества. |
Count = set of (Plus, |
|
|
Minus, Mult, Divid); |
|
|
|
|
|
|
|
|
Ten = set of 0 .. 9; |
|
|
|
Number = set of ‘0’ .. ‘9’; |
|
|
|
|
Файл |
File |
Последовательность |
TYPE |
|
|
элементов одного типа, |
Number = file of Integer; |
|
|
расположенных на |
Symbol = file of ‘A’ .. |
|
|
‘Z’; |
|
|
|
внешнем устройстве. |
|
|
|
|
|
|
|
Число элементов в файле |
|
|
|
не объявляется. |
|
Таблица 3.24 Процедурные типы данных |
|
||
|
|
|
|
Тип |
Наимено- |
Назначение |
Синтаксис описания |
|
вание |
|
|
Процеду |
Procedure |
Предназначена для |
Procedure <имя процедуры> |
ра |
|
выполнения законченной |
(<список формальных параметров>); |
|
|
последовательности |
PROCEDURE Name_1 (VAR Symbol: |
|
|
действий. |
|
|
|
Char; K: Integer); |
|
Функция |
Function |
Предназначена для |
FUNCTION Factorial(N: Byte): |
|
|
вычисления параметра. |
Longint; |
|
|
|
X:=Factorial(5); {вызов функции} |
Конструирование выражений
Выражение – это синтаксическая единица языка, определяющая способ
вычисления некоторого значения. Выражения формируются из:
констант,
переменных,
функций,
знаков операций,
круглых скобок. Константы
Константами называются параметры программы, значения которых не
меняются в процессе ее выполнения.
CONST
162
<имя константы 1> = <значение 1>; <имя константы 2> = <значение 2>; <имя константы N> = <значение N>;
Переменные Переменными называются параметры программы, значения которых
могут изменяться в процессе ее выполнения. Все переменные должны быть определены с указанием их типов:
в разделе объявления переменных программы,
в разделе объявления переменных подпрограммы,
в разделе объявления переменных модуля,
в заголовке подпрограммы.
VAR
<список переменных 1>: <тип 1>; <список переменных 2>: <тип 2>; <список переменных N>: <тип N>;
Стандартные функции
Таблица 3.25 Стандартные арифметические функции
Функция |
|
Назначение |
|
|
|
Тип результата |
|||
Abs (X) |
|
Абсолютное значение аргумента |
|
Совпадает с типом X |
|
||||
Arctan (X) |
|
Арктангенс аргумента |
|
|
|
Вещественный |
|
|
|
Cos (X) |
|
Косинус аргумента |
|
|
|
Вещественный |
|
|
|
Exp (X) |
|
Е в степени х |
|
|
|
Вещественный |
|
|
|
Frac (X) |
|
Дробная часть числа |
|
|
|
Вещественный |
|
|
|
Int (X) |
|
Целая часть числа |
|
|
|
Вещественный |
|
|
|
Ln (X) |
|
Натуральный логарифм |
|
|
|
Вещественный |
|
|
|
Pi |
|
Значение величины |
|
|
|
Вещественный |
|
|
|
|
|
|
Pi=3.1415926535897932385 |
|
|
|
|
|
|
Sin (X) |
|
Синус аргумента |
|
|
|
Вещественный |
|
|
|
Sqr (X) |
|
Квадрат аргумента |
|
|
|
Совпадает с типом X |
|
||
Sqrt (X) |
|
Квадратный корень аргумента |
|
|
Вещественный |
|
|
||
Таблица 3.26 Функции преобразования типов |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||
Функция |
|
|
Назначение |
|
|
Аргумент |
Тип результата |
||
Chr (X) |
|
Преобразование ASCII-кода в |
Целый тип в диапазоне |
Символ, |
|||||
|
|
символ |
(0..255) |
|
соответствующий |
||||
|
|
|
|
|
|
|
|
коду |
|
High (X) |
|
Получение максимального |
Параметр или |
1. |
Макс. значение |
||||
|
|
значения величины |
идентификатор |
|
величины |
||||
|
|
|
|
1. |
порядкового типа, |
2. |
Макс. значение |
||
|
|
|
|
2. |
типа-массива, |
|
индекса |
||
|
|
|
|
3. |
типа-строки, |
3. |
Объявленный |
||
|
|
|
|
4. |
открытый массив |
|
размер строки |
163
|
|
|
|
|
|
|
4. |
Кол-во |
|
|
|
|
|
|
|
|
|
|
элементов |
|
|
|
|
|
|
|
|
|
массива минус |
|
|
|
|
|
|
|
|
|
1 |
Low (X) |
|
Получение минимального |
|
|
|
|
|
||
|
|
значения величины |
|
|
|
|
|
|
|
Ord (X) |
|
Получение индекса любого |
|
|
|
|
|
||
|
|
порядкового типа |
|
|
|
|
|
|
|
Round |
|
Округление вещественного |
|
|
|
|
|
||
(X) |
|
числа до ближайшего целого |
|
|
|
|
|
||
Trunc (X) |
Получение целой части |
|
|
|
|
|
|||
|
|
вещественного числа |
|
|
|
|
|
||
Таблица 3.27 Функции для величин порядкового типа |
|
||||||||
|
|
|
|
|
|
|
|||
Функция |
|
Назначение |
|
Аргумент |
|
Тип результата |
|||
Odd (X) |
|
Проверка величины X |
на |
|
|
|
|||
|
|
|
нечетность |
|
|
|
|
|
|
Pred (X) |
|
Определение |
предыдущего |
|
|
|
|||
|
|
|
значения X |
|
|
|
|
|
|
Succ (X) |
|
Определение |
последующего |
|
|
|
|||
|
|
|
значения X |
|
|
|
|
|
|
Операции
арифметические;
логические;
операции с битами информации;
операции со строками;
операции отношения;
адресная операция @.
Арифметические операции (применимы только к величинам целых и вещественных типов).
Таблица 3.28 Арифметические операции
Знак |
Операция |
Типы операндов |
Тип результата |
+ |
Сложение |
Целые |
Целый |
|
|
Хотя бы один |
Вещественный |
|
|
вещественный |
|
- |
Вычитание |
Целые |
Целый |
|
|
Хотя бы один |
Вещественный |
|
|
вещественный |
|
* |
Умножение |
Целые |
Целый |
|
|
Хотя бы один |
Вещественный |
|
|
вещественный |
|
/ |
Деление |
Целые или вещественные |
Вещественный |
164
Div |
Деление целых |
Целые |
Целый |
||
|
чисел |
|
|
|
|
Mod |
Остаток от деления |
Целые |
Целый |
||
|
целых чисел |
|
|
|
|
Таблица 3.29 Операции отношений |
|
|
|
||
|
|
|
|
|
|
|
Знак |
|
Операция отношения |
||
|
= |
|
Равно |
|
|
|
<> |
|
Не равно |
|
|
|
< |
|
Меньше |
|
|
|
<= |
|
Меньше или равно |
|
|
|
>= |
|
Больше или равно |
|
|
|
> |
|
Больше |
|
|
Операторы управления последовательностью программы
Операторы языка описывают алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы – последовательность операторов, разделенных точкой с запятой.
Классификация операторов представлена на рис. 3.10
Операторы
Простые
(не содержат других операторов)
Структурированные
(состоят из других операторов)
|
|
|
|
|
|
|
|
|
|
|
Оператор присваивания |
|
|
|
Составной оператор begin-end |
||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Обращение к процедуре |
|
|
|
Условный оператор IF |
||
|
|
|
|
|
|
|
|
|
|
|
Оператор безусловного перехода |
|
|
|
Условный оператор CASE |
||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Пустой оператор |
|
|
|
Оператор цикла REPEAT |
||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оператор цикла WHILE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оператор цикла FOR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оператор над записями WITH |
|
|
|
|
|
|
|
|
Рис. 3.10 Операторы управления последовательностью выполнения программы
165
Таблица 3.30 Структурированные операторы
Оператор |
Наимено- |
Назначение |
|
Синтаксис описания |
|
||
|
вание |
|
|
|
|
|
|
Составной |
BEGIN- |
Объединяет |
|
BEGIN |
|
|
|
|
END |
последовательность |
|
<оператор 1>; |
|
||
|
|
операторов в логический |
|
<оператор 2>; |
|
||
|
|
|
<оператор N> |
|
|||
|
|
блок (логические скобки) |
END; |
|
|||
|
|
|
|
|
|||
Условный |
IF |
Реализует |
|
IF s THEN a |
|
|
|
|
|
алгоритмическую |
ELSE b; |
{полная развилка} |
|||
|
|
конструкцию РАЗВИЛКА |
IF s THEN a; |
{укороченная |
|||
|
|
и изменяет порядок |
|||||
|
|
развилка} |
|
|
|||
|
|
выполнения операторов в |
|
|
|
|
|
|
|
зависимости от истинности |
|
|
|
|
|
|
|
или ложности некоторого |
|
|
|
|
|
|
|
условия |
|
|
|
|
|
Условный |
CASE |
Реализует выбор варианта |
CASE s OF |
|
|
||
|
|
из любого количества |
|
C1: Instruction 1; |
|
||
|
|
вариантов |
|
|
C2: Instruction 2; |
|
|
|
|
|
|
CN: Instruction N; |
|
||
|
|
|
|
|
|
||
|
|
|
|
ELSE Instruction |
|
||
|
|
|
|
END; |
|
|
|
Оператор |
REPEAT |
Выполнение цикла, |
REPEAT |
|
|
||
цикла |
|
состоящего из любого |
|
Instruction 1; |
|
||
|
|
числа операторов, с |
|
Instruction 2; |
|
||
|
|
|
… |
|
|
||
|
|
неизвестным заранее |
|
|
|
||
|
|
|
Instruction N |
|
|||
|
|
числом повторений. Тело |
UNTIL s; |
|
|
||
|
|
цикла выполняется хотя |
|
|
|
|
|
|
|
бы один раз. Выход – при |
|
|
|
|
|
|
|
истинности логического |
|
|
|
|
|
|
|
выражения |
|
|
|
|
|
Оператор |
WHILE |
Организует |
выполнение |
WHILE s DO |
|
|
|
цикла |
|
одного |
оператора |
|
Instruction; |
|
|
|
|
неизвестное заранее число |
|
|
|
|
|
|
|
раз. |
|
|
|
|
|
|
|
Выход – ложность |
|
|
|
|
|
|
|
логического выражения, |
|
|
|
|
|
|
|
которое проверяется в |
|
|
|
|
|
|
|
начале каждой итерации. |
|
|
|
|
|
|
|
Тело цикла может не |
|
|
|
|
|
|
|
выполняться ни разу. |
|
|
|
|
|
Оператор |
FOR |
Организует |
выполнение |
FOR Param:=Start TO Finish DO |
|||
цикла |
|
одного оператора заранее |
Instruction;{если Start<Finish} |
||||
|
|
известное число раз. |
FOR |
Param:=Start DOWNTO |
Finish |
||
|
|
|
|
||||
|
|
|
|
DO |
Instruction; |
{если |
|
|
|
|
|
Start>Finish} |
|
|
|
|
|
|
|
|
|
|
|
166
Таблица 3.31 Операторы ввода-вывода
Оператор |
Наимено- |
Назначение |
Синтаксис описания |
|
вание |
|
|
Ввод с |
READ |
Ввод числа с клавиатуры и |
Var x: Integer; |
клавиатур |
|
сохранение его в x |
Read(x); |
ы |
|
|
|
Вывод на |
WRITE |
Вывод содержимого переменной |
Var x: Integer; |
экран |
|
x на экран |
x:= 25; |
|
|
|
Write (‘Значение переменной |
|
|
|
x=’, x) |
Ввод |
READ |
Из файла “File.txt” вводятся |
Var f:Text; |
(чтение) |
|
три первые числа и |
a, b, c: integer; |
данных из |
|
запоминаются в переменных a, |
ASSIGN (f, “file.txt”); |
|
b, c |
RESET(f); |
|
файла в |
|
||
|
|
READ (f, a, b, c); |
|
память |
|
|
CLOSE (f); |
Вывод |
WRITE |
В существующий файл |
Var f:Text; |
(добавлени |
|
“File.txt” добавляется |
a, b, c: integer; |
е) данных |
|
“текст” |
Assign (f, “File.txt”); |
|
|
Append(f); |
|
из памяти |
|
|
|
|
|
WriteLn (f, “текст”); |
|
в файл |
|
|
CLOSE (f); |
Вывод |
WRITE |
Создается файл “File.txt” и |
Var f:Text; |
(перезапис |
|
в него записывается “текст”. |
a, b, c: integer; |
ь) данных |
|
Если файл существовал, его |
Assign (f, “File.txt”); |
|
содержимое заменяется на |
Rewrite (f); |
|
из памяти |
|
||
|
“текст” |
WriteLn (f, “текст”); |
|
в файл |
|
|
CLOSE (f); |
Основы программирования на языке С++
Структура программы на языке С++ представлена на рис. 3.22
Программа на языке C++
Структура
Заголовок
|
функцийОписание |
Имя функции |
||
|
|
|
|
|
программы |
функцииТело |
Начало |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Объявление переменных |
|
|
|
|
|
|
|
|
|
Операторы |
|
|
|
|
|
|
|
|
|
Завершение |
|
|
|
|
|
|
|
|
|
Конец |
|
|
|
|
|
|
Тело |
|
Имя функции |
|
|
|
|
|
|
|
Главная |
|
Начало |
|
|
|
|
|
||
|
Тело |
Операторы |
||
|
|
|
Объявление переменных |
|
|
|
|
|
|
|
|
|
Конец |
|
|
|
|
|
|
Синтаксис (запись на языке)
#include <iostream.h>
float Name(float R)
{
int i,j;
R=10;
return (R);
}
void main(void)
{
int i,j; float A;
cout<<Name(A)<<endl;
}
167
Рис. 3.22 Структура программы на языке С++
Классификация данных языка С++
Таблица 3.34 Базовые типы данных
Тип |
Диапазон |
Формат |
Размер в |
|
|
|
|
|
байтах |
|
Числовые типы данных |
|
|
|
void |
|
Пустой |
|
|
unsigned |
0…65535 |
Беззнаковый |
|
2 |
int |
-32768 ... 32767 |
Знаковый |
|
2 |
long |
-2147483648 … 2147483647 |
Знаковый длинный |
4 |
|
float |
-3,4E-38…3,4E+38 |
Знаковый с плавающей |
4 |
|
|
|
точкой |
|
|
double |
-1,7E-308…1,7E+308 |
Знаковый с плавающей |
8 |
|
|
|
точкой двойной длины |
|
|
Синтаксис описания числовых переменных |
int i; |
|
|
|
|
|
float x,y,z; |
|
|
|
Символьный тип данных |
|
|
|
char |
-128…127 |
Коды символов |
|
1 |
Синтаксис описания символьных переменных |
char c; |
//символ |
|
|
|
|
char s[64]; |
// строка символов |
Классификация данных в языке С++ представлена на рис. 3.23
168