
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Строковый тип данных
- •Описание констант
- •Операция присваивания
- •Приоритет операций
- •Оператор присваивания
- •Совместимость и преобразование типов
- •Элементарный ввод-вывод
- •Лекция 5 Выражения
- •Математические операции
- •Логические операции
- •Операции отношения
- •Приоритет операций
- •Основные математические функции
- •Уменьшает значение числа X на y. Если число y не указано, то уменьшение происходит на 1. Циклы
- •Арифметические циклы
- •Итерационные циклы с предусловием
- •Итерационные циклы с постусловием
- •Операторы завершения цикла
- •Операторы ветвления и цикла Условный оператор if
- •Оператор множественного выбора Case
- •Операторы цикла
- •Операторы ветвления и цикла
- •Условный оператор if
- •Оператор множественного выбора Case
- •Операторы цикла
- •Лекция 7. Подпрограммы: процедуры и функции
- •Пример 27
- •Обмен данными
- •4.2. Множества
- •4.2.1. Объявление типа множества
- •4.2.2. Операции над множествами
- •4.2.3. Пример использования множества
- •Пример 33
- •4.3. Строки
- •4.3.1. Объявление типа String
- •4.3.2. Операции над строковыми переменными
- •4.3.3. Встроенные процедуры и функции обработки строк
- •Пример 34
- •4.1. Матрица
- •4.1.1. Ввод-вывод элементов матрицы
- •4.1.2. Определение индексов элементов матрицы
- •Записи Объявление типа записи
- •Вложенные записи
- •Массивы записей
- •Пример обработки массива записей
- •Определение и особенности файлов
- •Доступ к компонентам файла
- •Текстовый файл
- •Чтение из текстового файла
- •Запись в текстовый файл
- •Файлы в Тубо Паскаль
- •Файловые процедуры и функции
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Графика Турбо Паскаля
- •Записи Объявление типа записи
- •Вложенные записи
- •Массивы записей
- •Пример обработки массива записей
- •Статические и динамические памяти переменные
- •Объявление указателей
- •Выделение и освобождение динамической памяти
- •Операции с указателем
- •Пример 41
- •Связанные списки
- •Понятие бинарные деревья. Операции над бинарными деревьями
- •Применение бинарных деревьев
- •Сравнение рекурсии и итерации
- •Пример 51
- •Реализация объектно-ориентированного подхода в турбо-паскале
- •Алгоритмическая и объектная декомпозиция
- •Объектный тип в Турбо-Паскале
- •Способы наследования и переопределения
- •Виртуальные методы
- •Модуль c r t
- •Модуль g r a p h
Операция присваивания
Оператор присваивания кодирует базовую операцию присваивания и является наиболее употребимым оператором языка. С помощью этого оператора можно присвоить некоторой переменной значение выражения, например:
var A, B: real; N : integer; . . . N := 100; B := -3.7; N := N+1; A := 2*B/0.5; |
В качестве символа присваивания используют “:=”. Оператор выполняется в соответствии с базовой операцией присваивания: вычисляется значение выражения, стоящего справа от символа присваивания, после чего переменная, указанная в левой части оператора, получает вычисленное значение.
Приоритет операций
Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:
унарная операция not, унарный минус -, взятие адреса @
операции типа умножения: * / div mod and
операции типа сложения: + - or xor
операции отношения: = <> < > <= >= in
Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.
Оператор присваивания
Оператор присваивания кодирует базовую операцию присваивания и является наиболее употребимым оператором языка. С помощью этого оператора можно присвоить некоторой переменной значение выражения, например:
var A, B: real; N : integer; . . . N := 100; B := -3.7; N := N+1; A := 2*B/0.5; |
В качестве символа присваивания используют “:=”. Оператор выполняется в соответствии с базовой операцией присваивания: вычисляется значение выражения, стоящего справа от символа присваивания, после чего переменная, указанная в левой части оператора, получает вычисленное значение. При этом надо соблюдать совместимость типов (см. 2.5.2.). Подчеркнем, что в операторе присваивания слева всегда стоит переменная, а справа - выражение. Выражение представляет собой константы, переменные, функции, объединенные знаками операций. Частным случаем выражения является просто константа, переменная или вызов функции. Тип такого выражения совпадает с типом операнда. В более общем случае, если выражение состоит из нескольких операндов, его тип определяется типом операндов и видом операций. Примеры выражений:
175 I Sin(X) + 2.5 / Y |
Поясним смысл некоторых операций на примере:
var X: real; Y: integer; . . . X := 1/2; X= 0.5; Y := 1 Div 2; Y= 0; Y := 1 Mod 2; Y= 1; ! Y := 1/X; {Запрещенная операция, т.к. тип выражения real, а тип переменной – integer} |
В Паскале отсутствует операция возведения в степень, однако это ограничение преодолевается использованием известного соотношения:
Приведем примеры правильных выражений в операторах присваивания:
var X, Y: real; I, J, A, B: integer; F : boolean; . . . A := Trunc(8.87) Div 3; { A= 2} F := Succ( Odd(19)); { F= FALSE} X := +7.69; Y := -3.4; I := Trunc(X); { I = 7 } J := Trunc(Y); { J = -3} I := Round(5.75); { I = 6} J := Round(-7.5); { J = -8} Y := Exp(1.0/3.0 * Ln(X)); |