
- •Часть 1
- •Предмет и задачи информатики
- •История эвм
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Операционная система
- •Кодирование Двоичный код
- •Кодирование чисел
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Представление цвета в машинной графике
- •Кодирование звуковой информации
- •Прикладное программное обеспечение Системы обработки текстов
- •Интегрированный пакет Microsoft Office
- •Текстовый процессорWord
- •Создание в документе листа Microsoft Excel
- •О рисунках и других графических объектах
- •Закрепление областей листа
- •Скрытие и отображение столбцов и строк
- •Выделение фрагментов документа
- •Ввод данных с клавиатуры
- •Ввод текста
- •Ввод чисел
- •Ввод формул с клавиатуры
- •Установка границ ячеек
- •Работа с диаграммами
- •Работа с базами данных Основные понятия
- •Объекты базы данных
- •Запросы
- •Страницы
- •Макросы и модули
- •Безопасность баз данных
- •Технологии программирования
- •Алгоритм, программа
- •Интегрированная среда разработки приложений в Delphi
- •Стандарт и диалекты языка
- •Основы Паскаля
- •Основные понятия языка Алфавит
- •Имена и идентификаторы
- •Программные элементы
- •Описания
- •Раздел констант
- •Типизированные константы
- •Переменные
- •Функции и процедуры
- •Правила записи текста программы
- •Концепция данных
- •Основные типы данных Целые типы
- •Битовые операции
- •Вещественные типы
- •Тип дата-время
- •Символьные типы
- •Логические типы
- •Выражения
- •Оператор присваивания
- •Составной оператор
- •Раздел меток
- •Оператор перехода
- •Пустой оператор
- •Раздел типов
- •Условный оператор
- •Перечислимые типы (перечни)
- •Оператор варианта
- •Ограниченные типы
- •Операторы цикла
- •Операторы цикла с параметром
- •Оператор цикла с постусловием
- •Оператор цикла с предусловием
- •Регулярные типы (массивы)
- •Многомерные массивы
- •Комбинированные типы (записи)
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •ПроцедураExit
- •Процедурные типы
- •Множественные типы
- •Оглавление
- •Часть 1
Оператор перехода
Оператор перехода записывается следующим образом
<оператор перехода>::=goto <метка>
Он позволяет изменить естественный порядок выполнения операторов и перейти к выполнению программы, начиная с оператора, помеченного данной меткой
Запрещен переход внутрь любого производного оператора и с одной альтернативы на другую в выбирающем операторе.
Использование операторов перехода может повысить эффективность программы, но ухудшает ее наглядность, затрудняет понимание и проверку, а тем самым снижает ее надежность. Использование оператора перехода считается плохим стилем программирования.
Пустой оператор
Пустой оператор не задает никаких действий, кроме определения своего преемника, которым является следующий по порядку оператор. Синтаксически непомеченному пустому оператору соответствует отсутствие каких-либо символов.
<пустой оператор>::=<пусто>
<пусто>::=
Пустой оператор – полноправный оператор и может присутствовать везде, где в синтаксическом определении фигурирует понятие оператор. Пустой оператор отделяется от других операторов точкой с запятой.
Пример. begin 22:; i:=0; end
Здесь записано три оператора: помеченный меткой 22 пустой оператор, оператор присваивания i:=0 и следующий за ним непомеченный пустой оператор.
Наиболее часто пустой оператор используется для того, чтобы пометить в программе некоторую точку, на которую должен осуществиться переход, но где не нужно выполнять какие-либо действия.
Пример.
begin
1:;2:x:=0;
3:end;
Раздел типов
В программе наряду со встроенными типами можно вводить и другие типы значений. В отличие от встроенных каждый такой тип должен быть явно задан. Ему дается имя, после чего для указания требуемого типа достаточно указать его имя.
<раздел типов>::=<пусто>| type<описание типа>{;<описание типа>};
<описание типа>::=<имя типа>=<тип>
<тип>::=<имя типа>|<задание типа>
В алгоритмическом языке с каждым типом связаны:
структура программного элемента, т.е. интерпретация памяти;
множество допустимых значений;
совокупность возможных операций с ним.
Задавая тип, нельзя задать операции над его данными.
Ранее были рассмотрены стандартные типы значений, которые определены самим языком и не должны вводиться в программе. Программист может вводить в употребление и другие, удобные для него типы значений. Простейшие из них – перечислимые и ограниченные типы. Оба эти класса относятся к скалярным типам, т.е. каждое их значение состоит из единственного данного (является тривиальной структурой).
Условный оператор
Для задания разветвляющихся вычислительных процессов служат выбирающие операторы, которые относятся к производным операторам.Условный операторотносится к числу выбирающих и в Паскале имеетдве формы – полную и сокращенную.
<полный условный оператор>::= if<логическое выражение>then
<оператор>else<оператор>
Здесь if,then,else– служебные слова.
Полный условный операторвыглядит следующим образом
if B then S1 else S2 ,
где B– логическое выражение, аS1иS2– операторы.
Выполнение такого условного оператора сводится к выполнению одного из входящих в него операторов S1или S2. ЕслиB=true, то выполняется S1, еслиB=false, то – S2.
В сокращенной форме условного оператора отсутствует альтернативная часть с else, т.е.
<сокращенный усл опер.>::=if<лог. выраж.> then<оператор>
и if B then S1
Если B=true, то выполняется S1, еслиB=false, то никаких иных действий, кроме вычисления значения B, не производится.
Наличие сокращенной формы условного оператора требует большой осторожности при использовании условных операторов.
Например, оператор вида if A then if B then S1 else S2
можно истолковать двумя спосовами
I. if B then begin if B2 then S1 end else S2
II. if B then begin if B2 then S1 else S2 end
По правилам Паскаля имеет место вторая трактовка, т.е. считается, что каждый символ elseсоответствует первому предшествующему ему символуthen. Во избежание недоразумений и ошибок рекомендуется в подобных случаях четко выделять желаемую форму путем использования операторных скобокbeginиend.