- •Курс лекций Язык программирования Turbo Pascal
- •Тема 1 «Языки программирования»
- •Тема 2 «Основные понятия языка»
- •2.1 Алфавит языка
- •2.2 Основные определения языка
- •2.3 Служебные слова
- •2.4 Стандартные имена
- •2.5 Идентификатор
- •2.5 Элементы данных
- •Тема 3 «Общая структура программы на языке Turbo Pascal»
- •3.1 Общая структура программы на Паскале.
- •3.2 Некоторые правила оформления программ
- •Тема 4 «Типы данных, выражения»
- •4.1. Типы данных
- •4.2 Целочисленные типы данных
- •4.3 Вещественные типы данных
- •4.4 Символьный тип данных
- •4.5 Булевский тип (Логический) данных
- •4.6 Перечисляемый тип.
- •4.7 Интервальный тип.
- •4.8 Выражения.
- •1. Умножение, деление;
- •3. Сложение, вычитание.
- •1) Арифметические операции;
- •2) Операции отношений;
- •3) Логические операции.
- •4.9 Объявление констант
- •4.10 Объявление переменных
- •Тема 5 «Операторы для записи линейных процессов»
- •5.1 Оператор присваивания
- •5.2 Оператор ввода числовых данных
- •5.3 Оператор вывода числовых данных
- •5.4 Вывод числовых данных с форматом и без формата
- •1. Вывод данных без формата.
- •2. Вывод данных с форматом.
- •Контрольные вопросы и задания
- •Тема 6 «Разветвляющиеся вычислительные процессы»
- •6.1 Типы разветвляющихся алгоритмов
- •6.2 Оператор выбора case
- •Тема 7 «Операторы цикла»
- •7.1. Типы циклических процессов
- •7.2 Цикл с известным числом повторений for
- •Оператор повтора for.
- •Домашнее задание:
- •7.3 Итерационные циклы
- •7.4 Оператор цикла с предварительным условием
- •7.5 Оператор цикла с последующим условием Repeat
- •Домашнее задание:
- •8.1 Модуль crt. (Процедуры и функции управления экраном)
- •8.2 Константы цветов.
- •Процедуры управления цветом.
- •Тема № 9: «Структурированные типы данных»
- •9.1. Массивы
- •9.2. Записи
- •9.2.1. Оператор присоединения
- •9.2.2. Записи с вариантами.
- •9.3. Множества
- •9.4. Строки
- •9.4.1. Основные операции
- •9.4.2. Доступ к элементам строковых данных
- •9.4.3. Пустой стринг
- •9.4.4. Функции преобразования
- •9.4.5. Стандартные процедуры и функции
- •Тема № 10: Работа с файлами
- •10.1. Доступ к файлам
- •10.1.1. Имена файлов
- •Инициация файла
- •10.2.Процедуры и функции для работы с файлами
- •10. 3. Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Тема № 11: «Процедуры и функции»
- •11.1. Процедуры
- •11.2. Функции
- •Тема №12: Указатели и динамическая память.
- •12.1. Выделение и освобождение динамической памяти.
- •Тема № 13: Модули.
- •13.1.Компиляция модулей.
- •13.2. Стандартные модули.
- •13.2.1.Модуль crt.
- •13.2.2. Модуль Graph
- •13.2.3. Модуль Overlay
- •Задания для самостоятельной работы по теме «линейные алгоритмы»
- •Задания для самостоятельной работы по теме «разветвляющиеся алгоритмы»
- •Задания для самостоятельной работы по теме «циклические алгоритмы»
- •Задания для самостоятельной работы «векторы»
- •Задания для самостоятельной работы «строки»
- •Задания для самостоятельной работы «процедуры и функции»
- •Задания для самостоятельной работы «записи»
- •Задания для самостоятельной работы по теме «множества»
- •Задания для самостоятельной работы по теме «файлы»
- •Задания для самостоятельной работы по теме «модуль graph»
- •Задания для самостоятельной работы по теме «модули, определяемые пользователем»
4.4 Символьный тип данных
Значениями символьного типа являются элементы конечного и упорядоченного набора символов ASCII, которое состоит из 256 упорядоченных определенным образом символов. Символ заключается в апострофы, которые обозначают константу символьного типа. Пример: ‘s’, ‘A’, ‘*’.
Значения в памяти занимают 1 байт. Для представления самого апострофа, его значение удваивается. Пример: ‘’’’
Определены функции преобразования:
ORD(S) |
дает порядковый номер S в упорядоченном множестве ASCII |
CHR(I) |
дает символ, стоящий под номером I в упорядоч. множестве ASCII |
Очевидно, что: CHR(ORD(S))=S, ORD(CHR((I))=I
Пример: CHR(66)=’A’; ORD(‘:’)=58; CHR(67)=’B’; ORD(‘8’)=56;
Определены операции отношения,
(результат логического типа). <, >, =, <=, >=, <>
Пусть С1 и С2 некоторые символы, тогда С1<С2, если ORD(С1)< ORD(С2).
Применимы функции PRED (S) и SUCC(S):
Пример: PRED (‘B’)=’A’ SUCC(‘9’)=’:’
SUCC(‘B’)=’C’ PRED(‘9‘)=’8’
Справедливы равенства:
PRED (S)=CHR(ORD(S)-1) и SUCC(S)=CHR(ORD(S)+1)
4.5 Булевский тип (Логический) данных
Логические данные используются при проверки правильности условия и при сравнении величин. Результат может оказаться истинным TRUE(истина) или ложным FALSE (ложно). Значения занимают 1 байт памяти.
Для сравнения величин используются операции отношения: <, <=, =, <>, >=, >, причем FALSE <TRUE. Например: 5>3 дает истину (true), 5=3 – ложь (false).
Определены функции преобразования:
ORD(FALSE)=0 ORD(TRUE)=1
Применимы функции PRED (S) и SUCC(S):
SUCC(FALSE)= TRUE PRED(TRUE)=FALSE
SUCC(TRUE)= неопределенно PRED(FALSE)=TRUE
Определены логические операции: AND,OR, NOT
OR или AND выполняются над двумя величинами, NOT – над одной.
операция |
действие |
выражение |
NOT |
Логическое отрицание |
Not(A)_ |
AND |
Логическое умножение |
(А)And(B) |
OR |
Логическое сложение |
(А)Or(b) |
A |
B |
(A) and (B) |
(A) or (B) |
Not (A) |
Not (B) |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
Результат операции OR – истина, если хотя бы одна из величин имеет значение истина. Результат операции AND – истина, если истины обе величины.
4.6 Перечисляемый тип.
Перечисляемый тип определяется как упорядоченный набор идентификаторов, заданных путем их перечисления. При этом список идентификаторов, разделенных запятой, указывается в круглых скобках.
Например: перечисляемый тип DAY(день недели) содержит идентификаторы Monday (понедельник),Tuesday (вторник),..., Sunday (воскресенье). Объявление перечисляемого типа DAY будет выглядеть следующим образом:
Type
Day = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Каждое значение в списке получает свой порядковый номер, начиная с нуля, поэтому к этому типу применима функция Ord
Ord (Monday)=0, Ord (Tuesday)=1 и т.д.
Существенным недостатком перечисляемых типов данных является то, что их значения не могут вводится оператором ReadLn и выводится оператором WriteLn. Чтобы устранить этот недостаток, приходится объявлять дополнительные служебные переменные.
