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

Программирование Часть 1 - ТурбоПаскаль

.pdf
Скачиваний:
27
Добавлен:
29.03.2016
Размер:
599.33 Кб
Скачать

МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА С.П. КОРОЛЕВА (НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)»

И. Е. ДАВЫДОВ, А.А. ХРАМОВ

Программирование.

Основы работы в среде Турбо Паскаль

Электронный курс лекций

С А М А Р А

2012

2-

УДК 629.78 (075) ББК 39.6 К 138

Авторы: Давыдов Игорь Евгеньевич, Храмов Андрей Александрович

Компьютерная вёрстка И. Е. Давыдов

Давыдов, И. Е., Храмов, А.А. Программирование. Основы работы в среде Турбо Паскаль [Электронный ресурс] : электрон. курс лек-

ций / И. Е. Давыдов, А.А. Храмов; Минобрнауки России, Самар. гос. аэрокосм. ун-т им. С. П. Королёва (Нац. исслед. ун-т). - Электрон. текстовые и граф. дан. (1,35 Мбайт). - Самара, 2012. - 1 эл. опт. диск (CD-ROM). - Систем. требования: ПК Pentium; Windows 98 или выше.

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

Данный научно–образовательный контент разработан в обеспечение учебной подготовки студентов факультета заочного обучения специальности … «…».

Конспект лекций предназначен для изучения студентами 1 курса. Подготовлено на кафедре космического машиностроения.

© Самарский государственный аэрокосмический университет, 2012

3-

1. ЗНАКОМСТВО СО СРЕДОЙ ТУРБО ПАСКАЛЬ

1.1. Общие данные

Система программирования Турбо Паскаль представляет собой единый модуль двух частей: ком-

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

ющей повышению эффективности создания программ.

Название языка программирования было образовано следующим образом: название «Турбо» - это торговая марка разработчика системы Турбо Паскаль фирмы Borland International, Inc. (США), «Пас-

каль» – название широко распространённого языка программирования. Соответственно, «Турбо Пас-

каль» – это система программирования на языке Паскаль, разработанная фирмой Borland.

Система Турбо Паскаль (Turbo Pascal) позволяет: создавать тексты программ, компилировать их

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

Система Turbo Pascal (ТР) состоит из множества файлов, основные из которых:

-TURBO.EXE - содержит готовую к работе диалоговую систему программирования ( в нее входят текстовый редактор, компилятор, компоновщик, загрузчик);

-TURBO.TPL - основная библиотека ТР;

-TURBO.HLP - справочная служба.

Для запуска программы Turbo Pascal 7.0 необходимо запустить файл Turbo.ехе. После загрузки

системы экран монитора визуально будет разделён на три части:

1.Главное меню.

2.Основное, или рабочее, окно.

3.Строка, в которой указывается назначение основных функциональных клавиш.

Кроме окна (окон) редактора, в Турбо Паскале используются также окна: отладочного режима,

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

Курс «Программирование. Основы работы Турбо Паскаль» изучает среду программирования Turbo Pascal 7.0. В основу лекций положен материал, описанный в книге Фаронова В.В. /…/, и может рас-

сматриваться как справочное руководство, которым будет руководствоваться студент, разрабатываю-

щий собственные программы.

1.2. Функциональные клавиши Турбо Паскаль

Функциональные клавиши используются для управления средой Турбо Паскаль. Они обозначают-

ся F1, F2, …, F12.

4-

Опишем некоторые из них:

F1 - помощь;

F2 - сохранение редактируемого текста на диске;

F3 - загрузка текста с диска в окно редактирования;

F4 - используется в отладочном режиме: начать или продолжить исполнение программы и оста-

новиться перед исполнением той её строки, на которой стоит курсор;

F5 - распахнуть активное окно на весь экран;

F6 - сделать активным следующее окно;

F9 - компилировать программу, но не выполнять ее;

F10 - переход к верхнему меню;

CTRL-F9 - выполнить прогон программы (компилировать ее и выполнить);

ALT-F5 - просмотр результатов выполнения программы.

ALT-X - выход из системы Турбо Паскаль.

Полное описание функциональных клавиш содержится в списке приведённой литературы.

2. ЗНАКОМСТВО С ЯЗЫКОМ ТУРБО ПАСКАЛЬ

2.1. Алфавит языка Turbo Pascal

Алфавит языка Turbo Pascal содержит:

1.латинские строчные и прописные буквы, а также символ подчеркивания «_», который при-

равнен к буквам;

2.цифры;

3.символ пробел;

4.символы с кодами от 0 до 31 (управляющие коды);

5.специальные символы: + - * / = < > [ ] . , ( ) : ; ^ @ { } $ # ‘

6.составные символы: <= >= <> := (* *) (. .) ..

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

тельно буквой, большие и маленькие буквы в именах объектов считаются одинаковыми).

В языке Turbo Pascal есть зарезервированные слова, которые, так же нельзя использовать в каче-

стве имен чего-либо (например begin, end, var, for, while, repeat и т.д.).

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

Алгоритм – последовательность действий со строго определенными правилами выполнения.

Программа – это набор инструкций для вычислительных машин и устройств.

5-

Виды программ – компьютерные программы, программы управления роботами, станками и дру-

гими программируемыми устройствами.

Языки программирования – языки для записи программ для вычислительных машин и устройств (Turbo Pascal, Basic, Delphi и т.д.).

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

Линейные алгоритмы – линейная последовательность операторов и операций.

Ветвящиеся алгоритмы – алгоритмы с альтернативным выбором действий и групп операций.

Циклические алгоритмы – алгоритмы с циклическим повторением действий и групп операций.

Вспомогательные алгоритмы – алгоритмы решения определенных подзадач, состоящие из групп

операций.

2.2.Структура программы на языке Turbo Pascal

Всреде Турбо Паскаль игнорируются различия в высоте букв, если только это не связано с тек-

стовыми константами. Первая строка программы начинается словом program и содержит объявление имени программы. Слово Program зарезервивованно в в Турбо Паскале, т.е. не может использоваться ни в каких иных целях, кроме как для объявления имении программы. В Турбо Паскале имеется множество зарезервированных слов /…/. Ни одно из них нельзя использовать в качестве идентификатора (имени)

какого-либо объекта программы – переменной, константы и т.д. Первая строка заканчивается раздели-

телем - точкой с запятой. Этот разделитель в Турбо Паскале отмечает конец оператора или описания.

Использование данного разделителя позволяет распологать несколько операторов на одной строке.

Укрупнённо тело программы будет иметь следующий вид:

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

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

const <описание констант>; {комментарий} label <описание меток>;{комментарий}

var <описание переменных>;{комментарий} <описание подпрограмм>;{комментарий}

begin

<операторы>;{комментарий}

end.

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

ров. Соответственно, самая короткая программа на языке Turbo Pascal выглядит так: begin end.

6-

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

Переменные в программе объявляются в разделе, начинающимся словом var.

Константа - не изменяет своего значения в процессе выполнения программы, она может быть за-

дана явно своим значением или обозначена именем. Константы в программе объявляются в разделе,

начинающимся словом const.

Имя (идентификатор) переменной или константы задается латинскими буквами и арабскими циф-

рами.

Комментарий – это текст в фигурных скобках, на работу программы не влияет. Комментарий предназначен для удобства работы программиста.

2.3. Типы данных

Описание переменных в программе проводится по следующему алгоритму:

<имя переменной>: <имя типа>; (можно указывать несколько имен переменных через запятую)

В Турбо Паскале переменные могут задаваться в соответствии со следующими типами. byte – целое число в диапазоне 0 ... 255;

shortint – целое число в диапазоне -127..127; word – целое число в диапазоне 0..65535; integer – целое число в диапазоне -32768..32767;

longint – целое число в диапазоне -2147483648..2147483647; real – вещественное число;

char – символ или #<код>;

boolean – логический тип {true,false}.

Таблица 2.1. – Типы данных и соответствующие им диапазоны значений.

Тип

 

Диапазон значений

 

 

 

Целый

ShortInt

-128...127

 

 

 

 

Integer

-32768 ...32767

 

 

 

 

Longint

-2147483648 ...

 

 

2147483647

 

 

 

 

Byte

0 .... 255

 

 

 

 

Word

0 ... 65535

 

 

 

Вещественный

Real

2,9 10-39..... 1,7 1038

 

 

11..12 значащих цифр

 

 

 

 

 

 

 

-

 

 

 

 

 

7

 

 

 

 

Single

7..8 значащих цифр

 

 

 

 

 

 

 

 

Double

15..16 значащих цифр

 

 

 

 

 

 

 

 

Extended

19..20 значащих цифр

 

 

 

 

 

 

 

 

 

Comp

19..20 значащих цифр

 

 

 

 

 

 

Логический

Boolean

TRUE

 

 

 

 

FALSE

 

 

 

 

 

 

Cимвольный

 

Char

1 символ

 

 

 

 

 

 

Строковый

 

String

Массив символов, по умолча-

 

 

 

 

нию длина 256 символов.

 

 

 

 

 

 

Массивы

 

array

 

 

 

 

 

 

 

 

Записи

 

record

 

 

 

 

 

 

 

 

Множества

 

set

 

 

 

 

 

 

 

 

Файлы

 

file

 

 

 

 

 

 

 

 

Указатели

pointer

 

 

 

 

 

 

 

 

 

Таблица 2.2 - Стандартные математические функции

 

 

 

 

 

 

abs(x)

 

Абсолютное значение х, т.е. х

 

 

 

 

 

 

 

exp(x)

 

Значением функции является е в степе-

 

 

 

 

ни х.

 

 

 

 

 

 

 

 

sin(x) и cos(x)

 

Значение синуса или косинуса х, х

 

 

 

 

должен задаваться в радианах.

 

 

 

 

 

 

 

arctan(x)

 

Арктангенс х.

 

 

 

 

 

 

 

ln(x)

 

Натуральный логарифм х (х>0)

 

 

 

 

 

 

 

sqr(x)

 

Квадрат х.

 

 

 

 

 

 

 

sqrt(x)

 

Квадратный корень из х.

 

 

 

 

 

 

 

random(x)

 

Случайное число из диапазона

 

 

 

 

0<=...< x

 

 

 

 

 

 

 

 

Pi

 

Значение пи.

 

 

 

 

 

 

 

odd(x)

 

Значение функции true, если х нечетен,

 

 

 

 

и false в противном случае.

 

 

 

 

 

 

 

inc(x,n)

 

Значением является х увеличенное на

 

 

 

 

n.

 

 

 

 

 

 

 

 

dec(x,n)

 

Значением является х уменьшенное на

 

 

 

 

 

 

 

 

-

 

8

 

 

n.

 

 

 

int(x)

 

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

 

 

 

frac(x)

 

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

 

 

 

trunc(x)

 

Целая часть в форме longint.

 

 

 

round(x)

 

Значение х округленное до следующего

 

 

целого числа.

 

 

 

 

2.4 Операции над переменными

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

чение. В общем виде эта операция выглядит так:

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

Где «:=» - символ операции присваивания.

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

Пример:

begin

i:=0; {значение переменной i становится равным нулю}

a:=b+c;{ значением переменной а будет число, равное сумме значений переменных b и c} j:=j+1; {значение переменной j увеличится на единицу}

end.

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

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

Арифметические операции над переменными real и integer. В Турбо Паскале есть следующие

арифметические операции над real и integer:

«+ » - сложение;

«- » - вычитание;

«* » - умножение;

«/ » - деление вещественное;

«div » - деление целочисленное.

9-

Наличие двух операций деления подтверждает один из основных принципов работы в Турбо Пас-

кале: программист должен явно подтверждать компилятору, что готов к возможным последствиям пре-

образования типов.

Для данных типа integer в Турбо Паскале есть так же операция – mod, т.е. получение остатка от целочисленного деления.

Над символами и строками символов определена единственная операция – сцепление двух строк.

Операция обозначается символом « + ».

Например, программа

Var

St: string;

Begin

St:= ‘Turbo’+’-‘+’Pascal’;

Writeln(st);

End.

Напечатает строку

Turbo-Pascal

Все остальные действия над строками и символами реализуются с помощью встроенных процедур и функций /…/.

Над переменными типа real, integer, char, string определены следующие операции сравнения

(отношения):

«= » - равно;

«<> » - не равно;

«< » - меньше;

«> » - больше;

«<= » - меньше или равно;

«>= » - больше или равно.

В Турбо Паскале определены следующие логические операции:

«not » - логическое НЕ;

«and » - логическое И;

«or » - логическое ИЛИ;

«xor » - исключительное ИЛИ.

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

лые числа, то результат логической операции тоже целое число. Логические операции над логическими

10-

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

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

Таблица 2.2.- Приоритет операций

Приоритет

Операция

 

 

1

Not, @

 

 

2

*, /, div, mod,and, shi, shr

 

 

3

+, -, or, xor

 

 

4

=, <>, <, >, <=, >=, in

 

 

Примечание: Операции @ (получение адреса объекта), in (принадлежность к множеству), shi и shr (сдвиги операндов) описаны в приведённой литературе.

2.5.Операторы языка

2.5.1.Составной оператор

Составной оператор – это последовательность произвольных операторов программы, заключён-

ных в операторные скобки – зарезервированные слова begin … end. Составной оператор позволяет со-

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

рехода Goto). Глубина вложений может быть произвольной:

begin

……………..

begin

……………..

begin

…………….

end;

……………..

end;

…………….

end;

2.5.2. Условный оператор