- •«Паскаль»
- •Этапы полготовки и решения задач на компьютере.
- •Алгоритм. Основные свойства. Способы представления алгоритмов
- •Язык программирования Паскаль. Структура языка. Алфавит языка. Классификация данных и операторов.
- •Встроенные процедуры и функции языка Паскаль. Структура программы на языке Паскаль.
- •Var «список- объявлений переменных»
- •Сложные типы данных
- •Var а,в : mn ; { Переменные типа: mn }
- •Обработка данных
- •Организация обработки данных
- •Ввод-вывод данных. Основные виды работ с файлами любых типов. Основные понятия. Классификация файлов
- •Модульное программирование
- •Связанные структуры
- •Очередь
- •Объектно-ориентированное программирование
- •Инкапсуляция (Определение объекта)
- •Наследование и переопределение. Принцип конструирования программ
- •Полиморфизм
Var а,в : mn ; { Переменные типа: mn }
С : SET OF '0'..'9'; {диапазон символьных данных}
SIM : SET OF 'A'..'Z'; { " " }
SEZON : SET OF VRGODA;{перечисляемого типа }
SEZ : SET OF VESNA..OSEN;{диапазон перечисл. типа}
INTEG : SET OF 0..255;{диапазон целого типа}
где MN, VRGODA - имена типов: множества и перечисляемого типа; А, В, С, SIM, SEZON, SEZ, INTEG - имена переменных типа SET.
Множества-константы строятся в виде конструктора: списка значений элементов множества, заключенных в квадратные скобки. Значения элементов списка разделяются запятыми. В списке значений может быть выражение, результат которого равен элементу базового типа множества, и константы диапазонного типа. Частным случаем выражения может быть имя переменной, константа базового типа или пустой список значений.
Обработка данных
Оператор присваивания.
Основное назначение программы состоит в выполнении тех действий по обработке данных, которые требуются для решения поставленной задачи. Как правило, решение любой задачи представляет собой процесс формирования результатов из заданных исходных данных. Правила формирования результатов задаются на языке Паскаль с помощью выражений. Оператор присваивания - один из основных операторов языка. Он определяет процесс вычисления нового значения с помощью выражения и запоминание полученного значения в ОП переменной.
Форма оператора присваивания:
А:= В;
где А - имя переменной, левая часть оператора присваивания;
В - выражение для вычисления нового значения, правая часть оператора присваивания; результат выражения должен быть совместим с типом переменной А.
В качестве переменной А может быть имя простой переменной любого типа, элемента массива, элемента записи или имя множества. При пересылке сложных типов данных это может быть имя массива или записи.
Классификация и правила вычисления выражений.
Выражение - это правило (формула) для вычисления нового значения. Выражения на языке Паскаль могут быть 7 видов: арифметические, сравнения, логические, символьные, строковые, над множествами и смешанные.
Выражение строится из операндов, операций и круглых скобок, с помощью которых можно задать требуемый порядок выполнения его операций. В качестве операндов могут быть константы, переменные и функции.
Результатом выполнения выражения является значение арифметического или логического типа, строка или множество. Тип результата определяется как типом операндов, так и типом операций, выполненных над операндами. Над разными типами данных допустимы различные совокупности типов операций.
Арифметические выражения - это аналог алгебраических выражений математики. Арифметические выражения используются:
в операторах присваивания;
в качестве фактических параметров процедур и функций;
в операторах заголовков цикла;
в списках данных операторов вывода.
К арифметическим данным применимы встроенные процедуры и функции.
Вызов |
Возвращаемый результат |
abs (у) |
Модуль аргумента; тип результата совпадает с типом целым или вещественным аргумента и может быть |
arctan (x) |
Арктангенс (угол в радианах) |
sin (x) |
Синус (угол в радианах) |
cos (x) |
Косинус (угол в радианах) |
exp (x) |
Экспонента - ех |
int (x) |
Целая часть числа |
ln(x) |
Логарифм натуральный |
sqr (y) |
Квадрат аргумента; тип результата совпадает целым или вещественным с типом аргумента и может быть |
sqrt (x) |
Корень квадратный аргумента |
Pi |
Значение pi с точностью до 20 знака |
round (x) |
Округляет х до ближайшего целого значения, имеющего длинный целый тип |
trunc (x) |
Формирует целую часть числа х в виде значения, имеющего длинный целый тип |
frac (x) |
Формирует дробную часть числа х в виде значения, имеющего вещественный тип |
inc (z [,n]) |
z, увеличенное на 1 или на п, если п есть |
dec (z [,n]) |
z, уменьшенное на 1 или на п, если п есть |
Выражения сравнения
Выражение отношения (сравнения) - это 2 операнда, связанных операцией сравнения. Операндами отношений могут быть выражения, результат которых - значения любого простого типа, строка или множество.
Типы обоих операндов должны быть совместимыми. Тип результата сравнения - логический, т. е. значение TRUE и FALSE.
Выражения сравнения можно использовать:
в условных операторах;
в операторах присваивания;
в качестве фактических параметров процедур и функций;
в списках данных операторов вывода.
Операция |
Действие |
Операнды |
= |
Равно |
Любой простой тип, строка или множество |
<> |
Не равно |
|
< |
Меньше |
|
<= |
Меньше или равно |
|
> |
Больше |
|
>= |
Больше или равно |
|
IN |
Принадлежность к множеству |
Левый операнд - выражение любого ординального типа, совместимого с типом базовых элементов правого операнда; правый операнд - величина типа множества: константа или переменная с базовыми элементами того же типа, что и левый операнд |
Логические выражения.
Логическое выражение - это средство алгебры логики. Логические выражения применяются для анализа, т. е. определения истинности или ложности определенных ситуаций. Используются логические выражения в языке Паскаль там же, где и выражения сравнения. Логические выражения строятся из допустимых операндов и логических операций.
Логические операции в порядке приоритета от высшего к низшему:
NOT (HE) -отрицание;
AND (И) - логическое умножение;
OR (ИЛИ) - логическое сложение;
XOR (исключающее ИЛИ) - сложение по модулю 2.
Логические операции применимы к операндам логического и целого типа. Операндами логических операций могут быть: логические переменные, логические константы, функции, результат которых - логическое значение, и результаты операций отношения. Тип результата логического выражения над логическими операндами логический, т. е. значение TRUE или FALSE.
Операнд-1 |
Операнд-2 |
Результат операций |
|||
NOT |
AND |
OR |
XOR |
||
F |
F |
Т |
F |
F |
F |
F |
Т |
Т |
F |
Т |
Т |
Т |
F |
F |
F |
Т |
Т |
Т |
Т |
F |
Т |
Т |
F |
где F = FALSE; T = TRUE.
Выражения над символами.
К типу CHAR применимы операции отношения, конкатенации и встроенные функции ORD, PRED и SUCC. Функция CHR(I) формирует значение символа, код которого равен I, где I - выражение над целыми, значение результата которого может быть от 0 до 255.
Например: CHR(65) = 'A'; CHR(55) = '7'; CHR(186) = '|'; CHR(26) = EOF; CHR(ORD(C)) = С ;
Конкатенация - это операция сцепления строк и символов, представляется она символом +. Результат конкатенации - строка, сформированная присоединением к значению левого операнда значения правого операнда, длина которой равна сумме длин сцепленных строк.
Например: 'А' + 'В' = 'АВ';
Строковые выражения
К строковым данным применимы операции отношения и конкатенации и ряд процедур и функций. Строковые выражения предназначены в основном для формирования текстов с помощью операции + - конкатенации.
Операндами строкового выражения могут быть строки и символы (CHAR), представленные переменными, константами или функциями.
Операции отношения выполняются над строковыми данными посимвольно. Если одна сравниваемая строка длиннее другой, то недостающие символы короткой строки дополняются пробелами.
Например:
VAR R : BOOLEAN; SI, S2 : STRING[10];
... SI :='AB'; S2 := 'ABC'; R := S2 > SI;
... IF SI < S2 THEN ...
К строкам применим ряд встроенных процедур и функций.
Вызов |
Tun результата |
Назначение |
LENGTH (ST) |
Integer |
Функция; возвращает длину строки ST |
CONCAT (S1[,S2,...,SN]) |
String |
Функция; возвращает строку, представляющую собой сцепление строк параметров: SI, S2, ..., SN |
COPY (ST, N, K) |
|
Функция; копирует из строки ST К символов начиная с символа с номером N |
DELETE (ST, N, K) |
|
Процедура; удаляет из строки ST К символов начиная с символа с номером N |
INSERT (SUBST, ST, N) |
|
Процедура; вставляет подстроку SUBST в строку ST начиная с символа с номером N |
POS (SUBST, ST) |
Integer |
Функция; производит поиск подстроки SUBST в строке ST и возвращает номер позиции, с которой она начинается в ST; если подстрока не найдена, возвращается 0 |
VAL (ST, X, CODE) |
Integer или REAL |
Процедура; преобразует строку символов ST во внутреннее представление целого или вещественного числа X; если преобразование успешно, CODE=0; или CODE равен номеру позиции в ST, где обнаружен ошибочный символ |
STR (X [:W [:D]], ST) |
String |
Процедура; преобразует число X типа REAL или INTEGER в строку символов ST так, как это делает WRITELN |
Выражения над множествами
Переменные множественного типа могут быть слева и справа от знака присваивания := , если они принадлежат идентичным типам: А:= В;
где А - переменная типа множества; В - выражение множественного типа.
Значения множественного типа в процессе обработки данных формируются с помощью выражений над множествами. Операндами выражений могут быть переменные и константы (конструкторы) множественного типа.
Объединением двух множеств (A + B) является множество, состоящее из элементов, входящих хотя бы в одно из множеств. Разностью двух множеств (А - B) является множество, состоящее из элементов множества А, не входящих в множество В. Пересечением двух множеств (A * B) является множество, состоящее из элементов, одновременно входящих в множество А и в множество В.
Смешанные выражения
Смешанные выражения - это выражения, в которых используются различные типы операций и операндов. Последовательность их выполнения определяется их приоритетом. Приоритет выполнения операций в последовательности убывания приоритета дан в начале данного раздела.
Операции одного ранга выполняются в последовательности их написания слева направо. Операции разных рангов - в порядке их приоритета. Так как операции отношения самые низкоприоритетные, в случае, если результат операции отношения должен быть операндом логической операции, отношение должно быть заключено в круглые скобки.
В смешанных выражениях тип результата последней операции определяет тип результата всего выражения.
Лекция №4.
