Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование 14.12.2011.doc
Скачиваний:
91
Добавлен:
07.02.2015
Размер:
833.54 Кб
Скачать

6. Язык программирования Pascal abc.

Pascal – это язык программирования.Построен подобно языкуАлгол, который в свое время ввел понятия «тип данных» и принципы структурного программирования. Название «Паскаль» – язык получил в честь известного математика Блеза Паскаля.

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

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

На рис. представлены окна среды Pascal АВС.

Рис. Окна среды Pascal АВС

Служебные слова не могут быть использованы в качестве имен.

7. Алфавит языка. Идентификаторы и служебные слова.

Алфавит языкаPascal ABC состоит из букв, цифр, специальных символов и неиспользуемых символов.

К буквам относятся большие и малые буквы латинского алфавита. При этом Pascal ABC не различает одноименные большие и малые буквы, если только они не входят в символьное или строковое выражение. Буквой является также знак подчеркивания « _ ».

К цифрам относятся арабские цифры от 0 до 9 и шестнадцатеричные цифры.

Чтобы отличить десятичное число от шестнадцатеричного, перед последним ставят знак доллара $.

Специальные символы включают в себя разделители, знаки пунктуации и знаки операций. Комментарием называется любая последовательность символов, заключенная в фигурные скобки: {это комментарий}. Вместо фигурных скобок можно использовать пары символов (* и *). Комментарий во время выполнения программы игнорируется. Основное назначение комментария – пояснение к тексту программы. Комментарием является также последовательность символов, стоящая после пары символов // и до конца строки.

Знаки пунктуации:

( ) (* *) [ ] (. .) { } “ , . : ; // := .. ^ @ $ #

Знаки операций:

+ – * / = <> <= >=

Идентификаторыслужат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания «_».

Для оформления конструкций языка необходимы служебные слова. Список всех служебных слов языка Pascal ABC приведен ниже:

8. Структура программы. Ввод и вывод. Форматы вывода

Программа на языке Pascal ABC представляет собой файл с расширением .pasследующего вида:

program имя программы;

раздел подключения модулей

раздел описаний

begin

операторы

end.

Первая строка называется заголовком программы и не является обязательной.

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

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

Операторы отделяются друг от друга символом «точка с запятой».

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

Модуль в Pascal ABC представляет собой файл со следующим содержанием:

unit имя модуля;

раздел подключения модулей

раздел описаний

end.

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

Раздел описанияпеременных начинается со служебного словаvar, после которого следуют строки вида

список имен переменных: тип;

Имена в списке перечисляются через запятую. Например:

var

a,b,c: integer;

d: real;

e,f: integer;

s,s1: string;

ch: char;

Раздел описания именованных константначинается со служебного словаconst, после которого следуют строки вида

имя константы = значение;

или

имя константы: тип = значение;

Например:

const

Pi = 3.14;

Count = 10;

Name = 'Mike';

DigitsSet = ['0'..'9'];

Arr: array [1..5] of integer = (1,3,5,7,9);

Arr2: array [1..2,1..2] of real = ((1,2),(3,4));

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

Раздел описания типовначинается со служебного словаtype, после которого следуют строки вида

имя типа = тип;

позволяющие программисту создавать собственные типы.

Ввод и вывод данных. Форматы вывода.

Для вывода в окно вывода используются стандартные процедуры writeиwriteln. Они могут вызываться как без параметров, так и со списком параметров.

Процедура writelnпосле вывода своих параметров осуществляет переход на следующую строку.

В процедурах вывода writeиwritelnпосле каждого выводимого значения типа может указываться формат вывода, представляющий собой двоеточие, после которого следует целое число или выражение. Это число или выражение задает ширину поля вывода, то есть количество позиций, от водимых под выводимое значение. Если длина выводимого значения меньше ширины поля вывода, то выводимый текст дополняется слева пробелами до нужной ширины; в результате выводимое значение выравнивается по правому краю. Если длина выводимого значения больше ширины поля вывода, то формат вывода игнорируется.

Например, если a, b – целые переменные, то при выполнении операторов

a:=-2437; b:=13555;

writeln(a:6,'Привет!':9);

writeln(b:1);

в окно вывода будет выведен следующий текст:

-2437 Привет!

13555

Для вещественных и комплексных значений можно также использовать формат :m:n, гдеmиn– целые значения. Значениеmзадает ширину поля вывода, а значениеnколичество знаков после десятичной точки.

Например:

writeln(-14.859:10:3); // ___-14.859

writeln(-14.859:10:5); // _-14.85900

writeln(-14.859:10:2); // ____-14.86

writeln(-14.859:10:0); // _______-15

writeln(-14.859:10:7); // -14.8590000

writeln((0,1):10:1); // _(0.0,1.0)

(здесь символом _ изображены пробелы).

Для ввода с клавиатуры используются стандартные процедуры readиreadln. Они могут вызываться как без параметров, так и со списком параметров. Параметры в списке перечисляются через запятую и должны быть переменными простого типа (кроме перечислимого типа и интервального типа, построенного на базе перечислимого) либо типаstring. Процедураreadlnпосле ввода пропускает данные до конца текущей строки ввода.