Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль Методичка.doc
Скачиваний:
4
Добавлен:
16.08.2019
Размер:
277.5 Кб
Скачать

1.2. Типовая структура алгоритмического языка

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

Исполнителем алгоритма может быть простое устройство (например, калькулятор) или более сложное по возможностям и функциям (например, ПК). В ПК могут быть установлены разные программные средства, называемые программными пакетами и позволяющие более или менее подробно описывать необходимую последовательность действий.

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

Общая структура алгоритмического языка приведена на листе РМ2 (и на плакате).

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

  1. Алфавит языка, т.е. те символы, которые используются в данном языке. Например, в русском языке не используются латинские буквы. Для большинства алгоритмических языков общим является использование латинских букв (заглавных и строчных), арабских цифр от 0 до 9, а также специальных знаков. Причем часто заглавные и строчные одноименные буквы не различаются. К спецзнакам в разных алгоритмических языках относят разные наборы символов, но всегда в их число входят символы арифметических действий:

+ сложение,

 вычитание,

* умножение,

/ деление,

= равенство ,

а также знаки: точка, запятая, точка с запятой, двоеточие, квадратные и круглые скобки, знаки больше, меньше, апостроф, пробел и подчерк ( _ ).

Использование символов типа @, $ и «двойных кавычек» и их смысл зависят от конкретного алгоритмического языка. В Паскале эти символы не используются.

  1. Первичные структуры языка (слова), т.е. сочетания символов, имеющие смысл. Например, на русском языке не имеет смысла слово «якыз».

  2. Конструкции языка (предложения). Это правильные с точки зрения синтаксиса сочетания первичных структур. Например, в английском языке повествовательные и вопросительные предложения четко различаются по последовательности подлежащего и сказуемого.

  3. Программные единицы аналогичны литературным произведениям а языках общения. Например, проза, поэзия, драматургия. В алгоритмических языках существуют 2 основных формы программных единиц: основная программа (или просто программа) и подпрограммы, используемые для реализации вспомогательных алгоритмов. Необходимо запомнить, что для каждой подпрограммы оформляется отдельная блок-схема.

Рассмотрим подробно первичные структуры языка Паскаль

Величина – это неделимая единица информации, обрабатываемая в программе.

Величины могут быть двух видов: константы и переменные.

1. Константы – не изменяют значения в программе. Константы могут быть разных типов: числовые, символьные и булевы (логические).

Числовые константы в свою очередь делятся на:

- целые (integer) . Например: - 37, 258;

- вещественные (real) отличаются возможностью иметь в записи дробную часть, которая отделяется от целой части не запятой, а точкой (во всех алгоритмических языках). Для них возможны два представления. Рассмотрим на примерах:

38.25 -0.00012 789.0 – «естественная форма» или запись с фиксированной точкой;

3.825Е1 -1.2Е-4 7.89Е2 – те же числа в полулогарифмической форме записи или записи с плавающей точкой.

Преобразование числа выполняется следующим образом:

38,25 = 0,3825*102 =3,825*101

затем фрагмент 101 заменяется латинской буквой Е, получим 3.825Е1. Здесь 3,825 – мантисса, а 1 – десятичный порядок.

Запись, в которой одна цифра размещается в целой части, называется нормализованной.

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

Символьные константы выделяются апострофами и могут быть двух типов:

- один символ (char). Например, ‘A’ ‘9’ ‘*’

-строка символов (string ).

Например, ‘Алла’ ‘Dlina’ ‘Введите значения x:’ ‘ V=’

Отметим, что:

  1. в строковых константах заглавные и строчные буквы различаются;

  2. если в строковой константе требуется использовать апостроф, то он удваивается.

Например, ‘мушкетер Д’’Артаньян’

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

Ячейка памяти – это последовательность байтов, предназначенная для хранения константы и имеющая назначенную (декларируемую) структуру.

Идентификатор (имя) переменной – это последовательность латинских букв и цифр, начинающаяся с буквы (что характерно для всех алгоритмических языков), длина не ограничена, но существенны (различаются) только первые 63 символа. Допускается использование подчерка.

Спецзнаки и пробелы внутри идентификаторов и чисел не допускаются.

Например, F23 Klass_10_A x E95

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

3. Ключевые слова – это слова, имеющие специальное назначение и не используемые как идентификаторы.

Например, begin начало

end. конец программы

program заголовок программы

Они будут изучены позже.

4. Метки – это имена, присваиваемые операторам программы. Они будут рассмотрены позже.

5. Элементарные функции – это набор часто используемых математических функций, используемый в программах, позволяющий определить значение результата для конкретного значения аргумента. Общее свойство элементарных функций - наличие круглых скобок, ограничивающих аргумент. Например,

Sin(x) синус аргумента типа real, результат типа real .

Abs(x) модуль (абсолютная величина) аргумента типа real, результат типа real.

Список основных элементарных функций приведен в раздаточном материале (лист РМ3) .

6. Выражения в Паскале предназначены для формирования результата определенных действий над величинами. Выражения состоят из имен переменных, констант и функций, разделенных знаками операций. Выражения могут быть арифметическими (результат - число) или логическими (результат – логическое значение «истина» или «ложь»).

Перечислим спецзнаки, участвующие в выражениях:

- логические: - арифметические:

= равно + сложение

< > не равно - вычитание

> больше * умножение

< меньше / деление

> = не меньше div целочисленное деление

< = не больше mod остаток целочисленного деления

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

Перечислим еще знаки и их сочетания, используемые в программах на Паскале:

{ } или (* *) ограничивают комментарии

[ ] ограничивают индексные выражения для массивов

: разделяет имена переменных и описание их типа

; определяет конец конструкции языка

: = знак присваивания

, разделитель элементов любых списков

. . разделитель границ диапазона

Для дальнейшего изучения конструкций Паскаля рассмотрим этапы обработки программы в компьютере:

1) запись текста программы в компьютер, т.е. формирование входного файла с расширением .PAS

2) трансляция входного файла, т.е. перевод его со входного языка на внутренний язык ПК (язык Ассемблера), в результате чего формируется файл с расширением .OBJ

3) компоновка, т.е. обнаружение наличия подпрограмм и их подключение, в результате чего формируется исполняемый файл с расширением .EXE

4) выполнение программы, причем результаты появляются на экране или записываются в выходной файл в зависимости от операторов в программе.

Рассмотрим подробно конструкции языка Паскаль

1. Комментарии – это строки в программе, предназначенные для облегчения чтения текста программы. Они не нужны для выполнения программы. Комментарии ограничиваются фигурными скобками и могут располагаться в любом месте в тексте программы. Например,

{ начало текста программы }

2. Операторы – это основные части программы, которые должны соответствовать следующим правилам:

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

- Каждый оператор заканчивается точкой с запятой.

- Операторы могут располагаться на отдельной строке или несколько операторов – на одной строке. Если оператор не умещается на строке, то его можно перенести на следующую строку в любом месте, где допустим пробел.

- несколько операторов могут объединяться в один при помощи операторных скобок

BEGIN {операторы}

END;

Операторы делятся на:

- выполняемые, которые при трансляции преобразуются в набор команд. Часто только эти конструкции и называют операторами;

- декларации, которые нужны транслятору (программе, выполняющей трансляцию) для правильного распределения памяти и не порождают никаких дополнительных команд.