
- •Кафедра с а п р
- •Часть 1
- •1. Алфавит языка Паскаль
- •Данные в языке Паскаль
- •2.1 Порядковые типы данных
- •2.1.1 Целые типы данных
- •2.1.2 Логический тип данных
- •Символьный тип данных
- •2.1.4 Перечислимый тип данных
- •Ограниченный тип данных
- •2.2 Вещественные типы данных
- •3. Структура программ на языке TurboPascal
- •Описание меток
- •Описание переменных
- •Var имя переменной : тип;
- •Описание типов
- •Описание простых и типизированных констант
- •Арифметические выражения
- •Логические выражения
- •Оператор присваивания
- •Составной оператор
- •Процедуры ввода и вывода данных
- •Линейные алгоритмы и программы
- •Операторы условной и безусловной передачи управления
- •Алгоритмы и программы с разветвлением
- •10. Оператор выбора
- •11. Операторы циклов
- •11.1 Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Циклические алгоритмы и программы
- •Вариант 3
- •Использование циклических алгоритмов и программ для вычисления суммы членов ряда
- •При составлении алгоритма и программы будем считать, что точность
- •Массивы и их описание
- •Var Имя_массива: Array[t1] of [t2];
- •Var Имя_массива: Имя_типа_массива;
- •12.1 Работа с одномерными массивами
- •12.2 Работа с двумерными массивами
- •Текст программы
- •Варианты заданий
- •Строковый тип данных. Операции над строками
- •Множества в Паскале, их описание. Операции над множествами
- •Var Имя множества:Set of базовый тип;
- •Var Имя множества:Имя типа;
- •Тип данных - записи, их описание и использование. Оператор присоединения
- •1. Var Имя записи:record
- •Var Имя записи:Имя типа для записи;
- •15.1 Работа с массивом из записей
- •16 Подпрограммы
- •16. 1 Процедуры. Описание процедур. Область действия имён Локальные и глобальные параметры
- •16.2 Подпрограммы типа function, их описание
- •17. Задача сортировки: алгоритмы и программы
- •Сортировка выбором
- •Обменная сортировка
- •Сортировка слиянием
- •18 Задача поиска: алгоритмы и программы
- •18.1 Линейный поиск
- •Двоичный поиск
Описание типов
В простейших случаях тип переменных указывается явно, при их описании в разделе Var:
Var Имя переменной: тип;
Можно сопоставить типу некоторое имя и описать его в разделе Type:
Type Имя типа = Тип;
Например:
Type Diapason = 1..1000;
T_days = 1..31;
T_symbol = 'a'..'z';
T_Month = (j,f,mr,ap,may,jn,jl,ag,s,o,n,d);
Это дает возможность программисту определять и использовать свои собственные типы, а не стандартные.
Далее можно имена типов, введенные в подразделе Type использовать в подразделе Var:
Var
i,i,n:Diapason;
Day:T_days;
Sim,ch:T_symbol;
Mes:T_Month;
Описание простых и типизированных констант
Простые константы могут быть заданы явно своим значением (0.5, 0, 100, 3.14, 'A', -5 и т.п.) или обозначены именем и в этом случае константы должны быть описаны в подразделе Const:
Const Имя константы = Значение;
Например:
Const
N=200; A=0.5; sym='*';
В качестве значений константы могут быть использованы целые и вещественные числа, строки символов, идентификаторы других констант, константные выражения.
Например:
Const
Max=100;
Min=10;
S=(Max+Min) div 2;
Кроме простых констант используют так называемые типизированные константы или переменные со стартовым значением. Они занимают промежуточное положение между простыми константами и переменными, что отражается в следующих их свойствах:
Типизированные константы описываются в подразделе Const своим именем.
Они, как и константы, получают свое начальное значение.
Аналогично переменным, они имеют тип, который задается при их описании.
Они могут, как переменные, получать новые значения, в процессе работы программы.
Таким образом, название "константа" достаточно условное. Типипзированные константы можно использовать как обычные переменные, но им присваиваются начальные значения.
Описание типизированных констант:
Const
Имя типизированной константы: Тип = Типизированная константа;
В
свою очередь, понятие типизированной
константы может включать одно из:
Обычная константа
Константа ссылочного типа
Идентификатор программы
Изображение массива
Изображение множества
Изображение записи
Изображение объекта
Примеры:
Const
Max:integer=999;
Min:real=-0.01;
Index:1..1000=1;
Примеры более сложных типизированных констант (массивов, множеств, записей) будут приведены при описании соответствующих типов.
Замечание: простые константы могут использоваться в описании других констант или типов, а типизированные нет!
Арифметические выражения
Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.
Все данные, входящие в арифметические выражения, должны быть одного типа, хотя иногда допускается использовать в одном выражении данные целого и вещественного типов.
При построении арифметических выражений следует учитывать следующие правила:
Выражение записывается в строчку. Например, выражение:
на Паскале будет записываться следующим образом:
(2*a*x+3*b*y-4*x)/(2.5*(a+b+c))
Скобки в арифметических выражениях только круглые. Число открывающихся скобок должно равняться числу закрывающихся скобок.
Нельзя записывать два знака операций подряд, без скобок, например в выражении:
следует
записать: (3*a+b)/(-x).
Порядок выполнения арифметических операций слева направо в соответствии со старшинством операций:
1) значения функций; 2) *, /, div, mod; 3) +, -.
Рассмотрим порядок вычисления на примере:
Представленное выражение будет вычисляться в седующем порядке:
Вычисление функции Sin(x);
a*Sin(x); 3) Cos(y); 4) b*cos(y); 5) aSin(x)+b*Cos(y);
6) SQR(aSin(x)+b*Cos(y)) - получено значение в числителе;
Вычисление x/y; 8) Sin(x/y); 8) a*a; 9) b*b; 10) SQR(a*a+b*b);
11) SQR(a*a+b*b)*Sin(x/y) - получено значение в знаменателе;
12) числитель/знаменатель - получен результат.