Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие_Алгоритмизация

.pdf
Скачиваний:
43
Добавлен:
23.02.2015
Размер:
1.26 Mб
Скачать

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL

Язык Паскаль был разработан Николасом Виртом (Швейцария) в конце

70-х годов прошлого века как учебный язык для студентов и был назван в честь французского математика и философа Блеза Паскаля (1623 – 1662).

Приемы работы в интегрированной среде Турбо Паскаль

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

(integration – объединение отдельных элементов в единое целое) средой программирования, так как она включает в себя редактор, компилятор и отладчик.

Для запуска среды Турбо Паскаль нужно загрузить файл turbo.exe,

находящийся, как правило, в каталоге C:\TP\BIN.

Текстовый редактор, встроенный в интегрированную среду, разрешает размещать в строке до 249 символов. Однако не рекомендуется вводить более

126 символов, составляющих операторы программы, так как компилятор не рассматривает более длинные строки. Позиции от 127 до 249 можно использовать для размещения комментариев. Комментарии к программе пишутся в фигурных скобках {}.

Для перехода из состояния редактирования в главное меню используется клавиша F10. Строка меню содержит следующие заголовки:

­File позволяет выполнять все основные операции с файлами

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

­Edit позволяет выполнять все основные операции редактирования текста (копировать, вставлять, удалять фрагменты текста, а также восстанавливать первоначальный вариант редактируемого текста);

­Search позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного фрагмента новым;

30

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

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

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

­Debug содержит команды, облегчающие процесс поиска ошибок в программе (Breakpoints – точки остановки, окно отладки Watch, окно используемых подпрограмм, окно регистров, окно выходных результатов и некоторые другие);

­Options позволяет установить необходимые для работы параметры компилятора и интегрированной среды Турбо Паскаль 7.0;

­Window позволяет выполнять все основные операции с окнами

(открывать, закрывать, перемещать, изменять размер);

­Help позволяет получить имеющуюся в системе справочную

информацию.

Для удобства работы с программой Турбо Паскаль можно воспользоваться «горячими клавишами»:

­F1 – вызов справки;

­F2 – сохранение файла;

­F3 – открытие файла;

­F6 – переход к следующему окну;

­Ctrl + F9 – компиляция и выполнение программы;

­Alt + F5 – просмотр результата выполнения программы;

­Alt + X – выход из приложения.

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

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

31

Таблица 3

 

Примеры кодов ошибок при компиляции программы

 

 

Код

Сообщение об ошибке

 

 

2

Identifier expected – ожидается идентификатор (в этом месте должен

находиться идентификатор)

 

 

 

3

Unknown identifier – неизвестный идентификатор (этот

идентификатор не был описан)

 

 

 

 

Type mismatch – несоответствие типов

 

Причины, вызвавшие появление данного сообщения, могут быть

 

следующие:

 

несовместимы типы переменной и выражения в операторах

 

присваивания

26

несовместимые типы фактического и формального параметров в

 

 

обращении к процедуре или функции

 

тип выражения, несовместимый с типом индекса при

 

индексировании массива

 

несовместимые типы операндов в выражении

 

 

57

THEN expected – ожидается оператор THEN

 

 

89

“)” expected – ожидается символ “)”

 

 

 

Division by zero – деление на ноль

200

(в программе при операции деления MOD или DIV предпринимается

 

попытка деления на ноль)

 

 

Алфавит языка

Программа на языке Паскаль может содержать следующие символы:

латинские буквы А, В, С, …, х, y, z;

цифры 0, 1, 2, …, 9;

специальные символы +, –, /, =, <>, [], ., (), ;, :, {}, $, #, _, @, „ ‟.

Клексическим единицам языка относятся идентификаторы и ключевые

(зарезервированные) слова.

32

Идентификаторы – это имена программ, типов, констант, переменных,

функций, процедур и других объектов программы.

Идентификаторы представляют собой совокупность букв, цифр и символа подчеркивания.

Зарезервированные слова – это служебные слова, которые могут быть использованы только по своему прямому назначению. Таких слов всего 48 (and, begin, if, else, end, const, array, var, of и др.).

Для отделения друг от друга идентификаторов используются разделители

(пробел, точка с запятой, переход на новую строку и др.)

Данные в языке Турбо Паскаль

Константы и переменные

Данные языка Паскаль можно разделить на константы и переменные.

Константы – это объекты, которые не изменяют своего значения в процессе выполнения программы. В Паскале они описываются с помощью служебного слова const.

const

х=15;

а=-31.5;

с=’*’;

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

Var

a, b: real;

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

Типы данных

Типы данных в Паскале разделяются на скалярные и структурированные.

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

33

Стандартные типы включают: целочисленный, вещественный,

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

перечислимый и интервальный.

Целочисленные типы определяют константы, переменные и функции,

значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ.

 

 

 

Таблица 4

 

Целочисленные типы данных

 

 

 

 

Тип

 

Диапазон

Размер (в байтах)

 

 

 

 

Byte

 

0...255

1

 

 

 

 

Word

 

0…65535

2

 

 

 

 

Integer

 

-32768…32767

2

 

 

 

 

Shortint

 

-128…127

1

 

 

 

 

Longint

 

2147483648…2147483647

4

 

 

 

 

Вещественные типы определяют те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.

 

 

Таблица 5

 

Вещественные типы данных

 

 

 

 

Тип

Диапазон

Размер (в байтах)

 

 

 

 

 

Real

2.9E-39…1.7E38

6

 

 

 

 

 

Single

1.5E-45…3.4E38

4

 

 

 

 

 

Double

5E-324…1.7E308

8

 

 

 

 

 

Extended

3.4E-49321…1E4932

10

 

 

 

 

 

Символьный тип представляет собой любой символ из множества ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Он занимает 1 байт и описывается с помощью служебного слова char. В тексте программы значения переменных и константы символьного типа должны быть заключены в апострофы.

34

Логический тип (boolean) определяет те данные, которые могут принимать логические значения TRUE и FALSE.

Перечислимый тип задается непосредственным перечислением значений,

которые может принимать переменная данного типа. Например: var

a, b: (red, blue, green);

Интервальный тип позволяет задавать две константы, которые определяют границы изменения переменных данного типа. Например:

var

a: 1..10;

К структурированным типам данных относятся массивы, строки, записи,

файлы и множества.

Массив – это совокупность данных одного и того же типа. Для описания массивов используется служебное слово array. Например:

var

a: array[1..10] of integer;

Строки – последовательность символов. При использовании в выражениях строка заключается в апострофы. Для описания переменных строкового типа используется служебное слово string. Например:

var

a: string[10];

Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов, имеющих разные типы данных. Для описания «записей» используется служебное слово record. Например:

Type

Anketa= record FIO: string[30]; god: integer; tel: string[13] end;

35

var x: Anketa;

Множество – ограниченный, неупорядоченный набор различных элементов одинакового типа. Множественный тип задается с помощью двух служебных слов SET и OF, после которых указывается базовый тип. Например:

Type

M=set of 'A'..'F';

Z= set of '0'..'9';

var

n: M; x: Z;

Файл – это именованная область памяти компьютера. На языке Паскаль можно создавать три типа файлов: текстовый, типизированный,

нетипизированный, которые в программе объявляются следующим образом: var

x : text;

y : file of integer; z : file.

Операции и функции в языке Турбо Паскаль

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

Таблица 6

 

Арифметические операции

 

 

 

Операция

 

Действие

 

 

 

+

 

Сложение

 

 

 

-

 

Вычитание

 

 

 

*

 

Умножение

 

 

 

/

 

Деление

 

 

 

36

Окончание табл. 6

1

2

 

 

Div

Целая часть от деления

 

 

Mod

Остаток от деления

 

 

And

«И»

 

 

Shl

Сдвиг влево

 

 

Shr

Сдвиг вправо

 

 

Or

«ИЛИ»

 

 

Xor

Исключающее «ИЛИ»

 

 

-

Отрицание

 

 

Not

Логическое отрицание

 

 

Операции отношения выполняют сравнение двух операндов. Определены следующие операции отношения: <, >, =, <=, >=, < >.

Логические операции выполняются над данными логического типа. В

табл. 7 представлены основные логические операции: not – отрицание, and –

«логическое И», or – «логическое ИЛИ».

 

 

 

 

 

Таблица 7

 

 

Логические операции

 

 

 

 

 

 

 

А

В

 

A or (ИЛИ) B

A and (И) B

not (НЕ)A

 

 

 

 

 

 

Истина

Истина

 

Истина

Истина

Ложь

 

 

 

 

 

 

Истина

Ложь

 

Истина

Ложь

Ложь

 

 

 

 

 

 

Ложь

Истина

 

Истина

Ложь

Истина

 

 

 

 

 

 

Ложь

Ложь

 

Ложь

Ложь

Истина

 

 

 

 

 

 

Используя операции отношения, арифметические и логические операции,

можно строить логические выражения. Например,

((S > 10) and (D = 3)) or (S > 25)

В Паскале используются арифметические функции, представленные в табл. 8.

37

n ln x

Таблица 8

 

Функции языка Паскаль

 

 

 

 

Обозначение

 

 

Действие

Abs(x)

Модуль числа

 

 

 

 

Sin (x)

Функция синус

 

 

 

 

Cos (x)

Функция косинус

 

 

 

 

Arctan (x)

Функция арктангенс

 

 

 

 

Pi

Пи

 

 

 

 

Exp (x)

Экспонента, ех

 

 

 

 

Ln (x)

Функция натурального логарифма

 

 

 

 

Sqr (x)

Х2

 

 

 

Sqrt (x)

 

 

 

 

х

 

 

Int (x)

Целая часть числа

 

 

Frac (x)

Дробная часть числа

 

 

Round (x)

Округление числа х

 

 

Trunc (x)

Отсекание дробной части числа х

 

 

Random

Случайное число от 0 до 1

 

 

Random (n)

Случайное число от 0 до n

 

 

 

 

В Паскале отсутствуют некоторые арифметические функции (например,

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

tg (x)

sin(x)

,

ctg (x)

cos(x)

,

arcsin( x) arctg (

 

1 x2

 

cos(x)

sin(x)

 

x

 

 

 

 

 

 

 

 

Для того чтобы возвести число Х в степень n, можно либо перемножить число само на себя, либо воспользоваться формулой

Хn=en ln (x) при x > 0 или Хn= – e при x < 0.

Например, X1/3 на Турбо Паскале запишется как exp (1/3 * ln ( x )).

) .

n раз

38

Структура программы

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

Заголовок программы начинается со служебного слова program, имени программы и точки с запятой.

Раздел описаний содержит разделы:

констант;

типов;

переменных;

процедур и функций.

Тело программы начинается со служебного слова begin, затем следуют операторы языка Паскаль. Операторы языка отделяются друг от друга точкой с запятой. Заканчивается тело программы служебным словом end.

Таким образом, программа на языке Паскаль имеет следующую структуру:

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

uses <подключаемые библиотеки>; const <описания констант>;

var <описания переменных>; type <описания типов>;

begin

<операторы языка> end.

Простейшие операторы языка Паскаль

Оператор присваивания

Оператор присваивания в общем виде имеет следующую структуру:

<имя переменной>:=<выражение>;

Примеры использования оператора присваивания:

а:= с; c:=’x’; y:=sin(x)+cos(x); s:=0;

39