- •3. Система программитрования турбо паскаль
- •3.1 Окно среды разработчика
- •3.2. Элементы диалоговой среды
- •3.3. Команды редактора
- •3.4. Модули
- •4. Общие сведения о языке паскаль
- •4.1 Алфавит языка
- •4.2. Типы данных в TurboPascal 7.0
- •4.3. Операции и выражения в языке Паскаль
- •4.4 Стандартные функции в языке Паскаль
- •5. Линейные алгоритмы
- •5.1. Структура программы на языке Паскаль
- •5.2. Конструкция «следование»
- •6. Разветвляющиеся алгоритмы
- •And, * (умножение), / (деление), div, mod;
- •6.1. Операторы условных переходов
- •Var a, b, c : Real; lv : Boolean;
- •Var a, b, c : Real; lv : Boolean;
- •Var X, y : Real;
- •6.2. Оператор безусловного перехода
- •Var n, p, X : Real;
- •20: WriteLn('Факториал числа ' , n:4:2,' равен ' ,p:4:2);
- •7. Циклические алгоритмы
- •7.1. Цикл с предусловием While
- •X, xn, xk, dx, y, s, p: real;
- •7.2. Цикл с постусловием repeat
- •X1, x0, X, eps: real;
- •7.3. Цикл с параметром for
- •I: integer; c: char;
- •7.4. Принудительное завершение цикла
- •X, xn, xk, dx: real;
- •8. Символьный тип
- •8.1. Особенности символьного типа
- •8.2. Объявление символьной переменной
- •8.3. Операции с символами
- •Строковые переменные
- •9.1. Определение и типы строк
- •9.2. Упакованный строковый тип
- •9.3. Строковый тип
- •9.5. Примеры работы со строками
- •9.6. Индивидуальные задания по работе со строками и символами
- •10. Массивы
- •10.1. Организация данных в массиве
- •10.2. Объявление массивов
- •10.3. Ввод и вывод значений элементов массива
- •10.4. Подсчет количества элементов по заданному условию
- •10.5. Поиск минимального элемента массива
- •10.6. Вычисление произведения ненулевых элементов массива
- •10.7. Сортировка элементов массива
- •10.8. Заполнение массива случайными числами
- •10. 9. Индивидуальные задания по работе с массивам
- •11. Процедуры и функции
- •11.1. Понятие подпрограммы
- •11.2. Описание процедуры
- •11.3. Описание функции
- •11.4. Области действия имен
- •11.5. Индивидуальные задания по разработке процедур и функций
- •Var k,l; real;
4. Общие сведения о языке паскаль
В пособии будет рассматриваться седьмая версия Турбо Паскаля (ТР 7.0). Эта разработка американской фирмы Borland дала развитие языку ObjectPascal, который лежит в основе системы визуального программирования для Windows – Delphi.
4.1 Алфавит языка
Программа на языке Паскаль может содержать следующие символы:
Латинские буквы A, D, C, … , X, Y, Z;
Цифры 0, 1, 2, 3, …, 9;
Специальные символы +, -, / , =, <>, [ ], . , ( ), ; , :, { }, $, #, _ , @
В качестве имен программ, типов, констант, переменных модулей и других объектов языка используются идентификаторы, которые представляют собой совокупность букв, цифр и символа подчеркивания, начинающуюся с буквы или символа подчеркивания. Идентификатор не может содержать пробел. При написании могут быть использованы как прописные, так и строчные буквы. Каждое имя (идентификатор) должно быть уникальным. Длинна имени не ограничена. Если в именах первые 63 символа неодинаковые, то имена считаются различными. Большие и маленькие буквы равнозначны. Для решения задачи в любой программе выполняется обработка каких-либо данных, которые могут быть самых различных типов.
4.2. Типы данных в TurboPascal 7.0
Простые:
integer; shortint; Longint; Word; Byte;
|
Структурированные:
Строки String Указатели Pointer
|
Вещественные:
|
Диапазон значений целочисленного типа: |
|
Shortint |
-128…127 |
Integer |
-32768…32767 |
Longint |
-2147483648…2147483647 |
Byte |
0…255 |
Word |
0…65535 |
Диапазон значений вещественного типа: |
|
Real |
2.9E-39…1.7E38 |
Single |
1.5E-45…3.4E38 |
Double |
5.0E-324…1.7E308 |
Extended |
3.4E-4932…1.1E4932 |
Comp |
-9.2E+18…9.2E+18 |
Символьный тип – Значением переменной типа CHAR может быть любой символ- занимает 1 байт памяти.
Логический тип – значение переменной BOOLEAN – TRUE («Истина») или FALSE («Ложь») – занимает 1 байт памяти.
Данные языка Паскаль можно разделить на константы и переменные.
Константы не изменяют своего значения в процессе выполнения программы. Они описываются с помощью служебного слова const, за которым с помощью символа «=» присваивается значение. Одна константа от другой отделяется точкой с запятой, например:
-
Const
n = 5;
a = -20.5;
c = ‘abcd’;
Переменные могут изменять своё значение в процессе выполнения программы. Описание переменных начинается со служебного слова VAR, за которым следуют имена переменных, и через двоеточие указывается их тип, например:
-
VAR
a, b : real;
c, d : integer;
p, r : char;
В тексте программы значение переменных и констант символьного типа должны быть заключены а апострофы: ‘+’, ‘a’.
Логический (Булевый) тип данных может принимать два значения TRUE (истина) или FALSE (ложь), например:
-
d: Boolean;
Кроме стандартных скалярных типов в Турбо Паскале существуют такие скалярные типы, как перечисленный и интервальный.
Перечисленный тип задаётся непосредственным перечислением значений, который может принимать переменная данного типа, например:
Var a, b : (red,
blue, green); c: (dog, cat);
Можно сначала ввести перечислимый тип данных, а затем описать переменные этого типа.
Для создания нового типа используется служебное слово Type. Например:
Type
Color = (red,
blue, green); Var
A, b: color;
Интервальный тип данных позволяет задавать две константы, которые определяют границы изменения переменных данного типа. Значение первой константы должно быть меньше значения второй. Сами же они являются целочисленными или символьными, например:
Var
a, b,c: -7..4; x : ‘a’..’d’;
Как выше указано, можно предварительно ввести тип данных. Например:
Type x = 0..9; Var a, b: x;
К структурированным типам данных доносятся: массивы, строки, записи, файлы, множества.
Массив – совокупность данных одного и того же типа. Число элементов массива фиксируется при описании типа и в процессе выполнения программы не изменяется. Для доступа к элементу необходимо указать имя массива и его номер в квадратных скобках. Для описания массивов используется служебное слово Array. Описание переменной данного типа имеет следующий вид:
<Имя_переменной> :array [i..j1,..] of<тип элементов>
a : array[1..10]ofinteger;
Как указано выше можно сначала определить тип данных массива, а затем описывать переменные этого типа.
Строки – последовательность символов. При использовании в выражениях строка записывается в апострофы. Её длинна ограничена 255 символами. Для описания переменных строкового типа используется служебное слово string.
<Имя_переменной> :string [n], где n – длинна строковой переменной, если n не указано, то длинна строки равна 255 символам.
Записи и файлы будут рассмотрены ниже.