Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сапоги на шпорах для ИИП (update version).docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
132 Кб
Скачать
☆

1) 26 Латинских строчных и 26 латинских прописных букв:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

2) подчеркивание: _

3) 10 цифр: 0 1 2 3 4 5 6 7 8 9

4) знаки операций: + - * / = <> < > <= >= := @

5) ограничители: . , ' ( ) [ ] (. .) { } (* *) .. : ;

6) спецификаторы: ^ # $

7) Служебные (зарезервированные) слова:

MOD, AND, ARRAY, STRING, FOR, THEN, NOT, TO, BEGIN, FUNCTION, TYPE, CASE, GOTO, OF, CONST, IF, OR, UNTIL, USES, VAR, DIV, INDEX, PROCEDURE, DO, PROGRAM, WHILE, DOWNTO, ELSE, END.

8) пробелы (диапазон кодов от 0 до 32). Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.

СКАЛЯРНЫЕ ТИПЫ ДАННЫХ

К скалярным типам относятся стандартные типы и типы, определяемые пользователем.

К стандартным типам относятся целые, действительные, логические, символьный и адресный типы.

ЦЕЛЫЕ типы представляют собой значения, которые могут использоваться в арифметических выражениях и занимать память от 1 до 4 байт. Например, Integer, Byte.

ДЕЙСТВИТЕЛЬНЫЕ типы представляют собой вещественные значения, которые используются в арифметических выражениях. Допускается представление вещественных значений как в виде с плавающей, так и с фиксированной точкой. Например, Real, Single.

ЛОГИЧЕСКИЙ тип (Boolean) определяет те данные, которые могут принимать логические значения TRUE и FALSE. В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа:

ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два и четыре байта соответственно.

СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора. Символьная константа, например, может записываться как один символ, заключенный в апострофы.

АДРЕСНЫЙ тип (Pointer) определяет переменные, которые могут содержать значения адресов данных или фрагментов программы. Для хранения адреса требуются два слова (4 байта), одно из них определяет сегмент, второе - смещение.

Типы, определяемые пользователем, - перечисляемый и интервальный.

ПЕРЕЧИСЛЯЕМЫЙ тип задается непосредственно перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.

Перечисляемый тип описывается в разделе описания типов, который начинается со служебного слова type. Переменные перечисляемого типа могут быть описаны в разделе описания переменных, который начинается со слова var. Переменные и константы перечисляемого типа не могут быть элементами списка ввода или вывода.

ИНТЕРВАЛЬНЫЙ тип позволяет задавать две константы –это минимальное и максимальное значения для данной переменной. Значения констант разделены двумя точками. Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Обе константы должны принадлежать одному из стандартных типов (тип real здесь недопустим). Значение первой константы должно быть обязательно меньше значения второй. При использовании в программах интервальных типов данных может осуществляться контроль за тем, чтобы значения переменных не выходили за границы, введенные для этих переменных в описании интервального типа.

СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов. В языке Паскаль допускаются следующие структурированные типы данных: строки, массивы, множества, записи, файлы.

Тип-массив представляет собой фиксированное количество упорядоченных однотипных компонентов, снабженных индексами. Чтобы задать тип-массив, используется зарезервированное слово array, после которого следует указать тип индекса (в квадратных скобках) и далее после слова of - тип самих компонент.

Тип-строка - последовательность символов произвольной длины (до 255 символов). Строку можно рассматривать и как массив символов. У типа-строки в квадратных скобках может быть указан его размер (от 1 до 255).

Тип-запись включает ряд компонент, называемых полями, которые могут быть разных типов. При задании типа-записи после зарезервированного слова record следует перечислить все поля с указанием через двоеточие их типов и завершить задание типа словом end. Поля отделяются друг от друга точкой с запятой. Количество полей записи может быть любым.

Для задания типа-множества следует использовать зарезервированные слова set и of, а затем указать элементы этого множества, как правило, в виде перечисления или диапазона.Число элементов исходного множества не может быть больше 256, а порядковые номера элементов должны находиться в пределах от 0 до 255.

Тип-файл представляет собой последовательность компонент одного типа, расположенных на внешнем устройстве. Число компонент в файле не объявляется. Для задания типа-файла следует использовать зарезервированные слова file и of, после чего указать тип компонент файла. Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никаких операций. Их можно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т. д.).

Наиболее простыми формами АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ являются: целая или действительная константа без знака; целая или действительная переменная; элемент массива целого или действительного типа; функция, принимающая целое или действительное значение. Другие арифметические выражения составляются из вышеперечисленных простых форм путем применения круглых скобок и арифметических операций. В Паскале сесть следующие арифметические операции: сложение, вычитание, умножение, деление, целочисленное деление, остаток от целочисленного деления. 

Простейшими видами ЛОГИЧЕСКИХ ВЫРАЖЕНИЙ являются следующие: логическая константа; логическая переменная; элемент массива логического типа; выражение отношения. Результатом выполнения логического выражения является логическое значение True или False. Операндами служат данные только булевского типа. Другие логические выражения строятся из вышеперечисленных путем применения логических операций и круглых скобок. В Паскале определены следующие логические операции: not - логическое НЕ; and - логическое И; or - логическое ИЛИ; xor - исключительное ИЛИ.

В языке ПАСКАЛЬ принят следующий ПРИОРИТЕТ ОПЕРАЦИЙ:

1. унарная операция (унарный минус not, взятие адреса @)

2. операции типа умножения (мультипликативные) * / div mod and

3. операции типа сложения (аддитивные) + - or xor

4. операции отношения = <> < > <= >= in

Порядок выполнения нескольких операций равного приоритета устанавливается компилятором из условия оптимизации кода программы и не обязательно слева направо. При исчислении логических выражений операции равного приоритета всегда вычисляются слева направо.

ПРОСТЫЕ ОПЕРАТОРЫ – оператор присваивания и операторы ввода и вывода информации.

Оператор ПРИСВАИВАНИЯ

В операторе присваивания слева всегда стоит имя переменной, а справа – значение, например:А:=В;

Где А – имя переменной, В – значение как таковое, выражение, переменная, константа или функция.Типы переменных А и В должны совпадать или быть совместимыми для присваивания.

Оператор присваивания неэквивалентен математическому знаку равенства.

СОСТАВНОЙ ОПЕРАТОР.

Составной оператор является простейшей формой структурирования последовательности действий, т.е. позволяет объединить некоторые действия и рассматривать их в дальнейшем, как единое целое (один оператор):

Begin

<список операторов>

end

ВВОД И ВЫВОД ИНФОРМАЦИИ

Ввод информации осуществляется с помощью оператора процедуры Read, после которого в круглых скобках указывается имя переменной или параметр. Этой переменной будет присвоено значение, вводимое с клавиа­туры. Набор на клавиатуре сопровождается при этом “эхо-сигналом”, т.е. на экране видеотерминала появляется изображение вводимых символов. Когда в программе встречается оператор ввода, её действие приостанавливается до тех пор, пока не будут внесены исходные данные. При вводе числовых значений два числа считаются разделёнными, если между ними есть хотя бы один пробел, символ табуляции или конца строки. После ввода последнего значения следует нажать enter.Разновидностью оператора read является оператор ReadLn. Он может использоваться без параметров. Разница заключается в том, что после считывания последнего в списке значения для одного оператора данные для следующего оператора будут считываться с начала новой строки.

Вывод информации на экран видеотерминала осуществляется с помо­щью оператора Write. Существует также его разновидность Writeln. В обоих случаях на экран будет выведено значение переменной или резуль­тата выражения, который будет предварительно вычислен. Кроме того, параметром может быть конструкция <строка>, т. е. последовательность символов, взятая в апострофы. В последнем случае на экран будет выведена сама последовательность символов без каких-либо изменений.

В тексте программы оператору Read должен предшест­вовать оператор Write, с помощью которого подсказка для ввода с клавиатуры и выводится на экран.

Форматированный вывод информации.

В операторах write и writeln имеется возможность указать ширину поля вывода. Для целых и строковых выражений она указывается через двоеточие после имени выводимой переменной или выражения.При выводе вещественных значений кроме ширины поля вывода через двоеточие надо указывать число позиций, необходимое для дробной части числа. Форматированный вывод вещественных чисел позволяет увидеть значения на экране в формате с фиксированной точкой.

ОСНОВНЫЕ УПРАВЛЯЮЩИЕ СТРУКТУРЫ - базовые конструкции следования, ветвления, циклов с предусловием и с постусловием.

Следование предписывает выполнение указанных действий в естественном порядке, без пропусков и повторений.

Ветвление позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

Базовая структура  "цикл" обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. В общем случае количество повторений тела цикла должно быть каким-либо способом задано. Иначе такой процесс будет бесконеч­ным. Бывают циклы с параметром, циклы с предусловием и циклы с постусловием.

УСЛОВНЫЙ ОПЕРАТОР (if) позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса.

Вставка: Условные операторы позволяют выбрать для выполнения один из составных операторов (или не выбрать ни одного).

Структура условного оператора имеет следующий вид:

if <условие> then <оператор1> else <оператор2>;

где if/ then/ else - зарезервированные слова (если, то, иначе);

<условие> - произвольное выражение логического типа;

<оператор1>, <оператор2> - любые операторы языка.

Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть False (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>.

Условными называются выражения, имеющие одно из двух возможных значений: истина или ложь. Такие выражения чаще всего получаются при сравнении переменных с помощью операций отношения =, <>, >, >=, <, <=. Сложные логические выражения составляются с использованием логических операций and (логическое И), or (логическое ИЛИ) и not (логическое НЕ).

Часть else <оператор2> условного оператора может быть опущена (неполное ветвление). Тогда при значении True условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается:

Любая встретившаяся часть else соответствует ближайшей к ней сверху по тексту программы части then условного оператора.

Частой ошибкой является точка с запятой после then.

ОПЕРАТОР ВАРИАНТА (case)

С помощью оператора варианта можно описать действия, ко­торые связаны с множественными ветвлениями. Параметром, по которому осуществляется выбор, служит ключ выбора - выражение любого порядкового типа.

Структура оператора выбора такова:

case <ключ_выбора> of <список_выбора> [else <операторы>] end;

Здесь <список_выбора> - одна или более конструкций вида:

<константа_выбора> : <оператор>;

<константа_выбора> - константа того же типа, что и выражение <ключ_выбора>;

Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности операторов <список_выбора> отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <операторы> можно опускать. Тогда при отсутствии в списке выбора нужной константы ничего не произойдет, и оператор выбора просто завершит свою работу.

Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми.

ЦИКЛ С ПАРАМЕТРОМ в языке Паскаль имеет такую структуру:

for <параметр цикла> := <нач_знач> to <кон знач> do <оператор>;

Здесь for, to, do - зарезервированные слова (для, до, выполнить);

<параметр_цикла> - переменная типа Integer (точнее, любого порядкового типа); <нач_знач> - начальное значение - выражение того же типа; <кон_знач> - конечное значение - выражение того же типа; <оператор> - произвольный оператор.

При выполнении оператора for вначале вычисляется выражение <нач_знач> и осуществляется присваивание <параметр_цикла> := <нач_знач>. После этого циклически повторяется:

  • проверка условия <параметр_цикла> <= <кон_знач>; если условие не выполнено, оператор for завершает свою работу;

  • выполнение оператора <оператор>;

  • наращивание переменной <параметр_цикла> на единицу.

Согласно синтаксичесическому определению телом цикла for может служить только один оператор. Од­нако эта проблема уже рассматривалась. Если в качестве тела цикла должен исполь­зоваться список операторов, достаточно заменить его конструкцией <составной опе­ратор>.

Цикл с параметром может быть записан также в следующей форме:

for <параметр цикла> := <нач_знач> downto <кон знач> do <оператор>;

В этом случае происходит не наращивание, а уменьшение значения параметра на единицу при каждом проходе (начальное значение должно быть больше конечного).

ЦИКЛ С ПРЕДУСЛОВИЕМ – пока

Цикл с предпроверкой условия:

while <условие> do <оператор>;

Здесь while, do - зарезервированные слова {пока [выполняется условие], делать), <условие> - выражение логического типа; <оператор> - произвольный оператор.

Если выражение <условие> имеет значение True, то выполняется <оператор>, после чего вычисление выражения <условие> и его проверка повторяются. Если <условие> имеет значение False, оператор while прекращает свою работу.

Особенностью цикла с преду­словием является то, что его тело может не выполниться ни разу (условие проверяется до входа в тело цикла). В цикле пока ставится условие продолжения действий.

ЦИКЛ С ПОСТУСЛОВИЕМ – до

Цикл с постпроверкой условия:

repeat <тело цикла> Until <условие>;

Здесь repeat, until - зарезервированные слова (повторять [до тех пор}, пока [не будет выполнено условие]); <тело_цикла> - произвольная последовательность операторов; <условие> - выражение логического типа.

Операторы <тело_цикла> выполняются хотя бы один раз, после чего вычисляется выражение <условие>: если его значение есть False, операторы <тело_цикла> повторяются, в противном случае оператор repeat... until завершает свою работу.

Перед until ставить точку с запятой необязательно.

Для цикла с постусловием характерно то, что его тело обязательно выполниться хотя бы один раз. В цикле до ставится условие выхода из цикла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]