Turbo Pascal

51
Turbo Pascal

description

Turbo Pascal. СОСТАВ ЯЗЫКА. Обычный разговорный язык состоит из четырех основных элементов: символов, слов, c ловосочетаний предложений. Алгоритмический язык содержит подобные элементы : слова - элементарные конструкции, словосочетания - выражения, предложения - операторы. Оператор. - PowerPoint PPT Presentation

Transcript of Turbo Pascal

Page 1: Turbo Pascal

Turbo Pascal

Page 2: Turbo Pascal

СОСТАВ ЯЗЫКА Обычный разговорный язык состоит из четырех

основных элементов: символов, слов, cловосочетаний предложений.

Алгоритмический язык содержит подобные элементы: слова - элементарные конструкции, словосочетания - выражения, предложения - операторы.

Page 3: Turbo Pascal

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

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

Последовательность символов

Выражения

Оператор

Page 4: Turbo Pascal

ОПИСАНИЕ ЯЗЫКА Описание символов заключается в

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

понимают правила их образования. Описание выражений-это правила

образования любых выражений, имеющих смысл в данном языке.

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

Page 5: Turbo Pascal

СИНТАКСИС и СЕМАНТИКА Синтаксические определения

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

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

Page 6: Turbo Pascal

СИМВОЛЫ ЯЗЫКА Буквы, цифры и специальные символы-составляют

алфавит ТУРБО ПАСКАЛЬ: включает следующий набор основных символов:

Пробел и 26 латинских букв: A-Z, a-z _ 0 1 2 3 4 5 6 7 8 9 знаки операций:+ - * / = <> < > <= >= := @ ограничители: . , ' ( ) [ ] (. .) { } (* *) .. : ; спецификаторы: ^ # $ служебные (зарезервированные) слова

Page 7: Turbo Pascal

Элементарные конструкции языка имена, числа строки.

Page 8: Turbo Pascal

Имена Имена (идентификаторы) называют элементы

языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты.

Имя - это последовательность букв и цифр, начинающаяся с буквы. В именах может использоваться символ _ подчеркивание. Имя может содержать произвольное количество символов, но значащими являются 63 символа.

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

A b12 r1m SIGMA gamma I80_86

Page 9: Turbo Pascal

Числа Числа в языке ПАСКАЛЬ обычно записываются

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

опущен.Целые числа записываются в форме без десятичной точки: 217 -45 8954 +483

Действительные числа записываются в форме с десятичной точкой или в экспоненциальной форме с использованием десятичного порядка, который изображается буквой Е: 28.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16

Page 10: Turbo Pascal

Числа ПАСКАЛЬ допускает запись целых

чисел и фрагментов действительных чисел в форме с порядком в шестнадцатеричной системе счисления: $7F $40 $ABC0

Page 11: Turbo Pascal

Строки Строки в языке ПАСКАЛЬ - это

последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа.

'СТРОКА' 'STRING' 'ПРОГРАММА' 'АД''ЮТАНТ' '1235'

Page 12: Turbo Pascal

Тип определяет: возможные значения переменных,

констант, функций, выражений, принадлежащих к данному типу;

внутреннюю форму представления данных в ЭВМ;

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

Page 13: Turbo Pascal

Типы данных В языке ПАСКАЛЬ существуют скалярные и

структурированные типы данных. К cкалярным типам относятся стандартные

типы и типы, определяемые пользователем. Стандартные типы включают целые (byte,

word, shortint, integer, longint), действительные (real, single, double, extended, comp), символьные (char, string), логические (boolean) и адресный типы (pointer).

Типы, определяемые пользователем - перечислимый (leto, ocen, zima, vecna) и интервальный (0..9).

Page 14: Turbo Pascal

Типы данных Структурированные типы имеют

четыре разновидности: массивы (array [..] of type), множества (set of type), записи (record fields:type; end;) и файлы (text, file of type).

Кроме перечисленных, TURBO PASCAL включает еще два типа - процедурный и объектный (object fields; methods; end;)

Page 15: Turbo Pascal

Типы данных В языке ПАСКАЛЬ введены понятия

эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными

(идентичными), если выполняется одно из двух условий: Т1 и Т2 представляют собой одно и то же имя

типа; тип Т2 описан с использованием типа Т1 с

помощью равенства или последовательности равенств.

Page 16: Turbo Pascal

Типы данных Типы являются совместимыми, если:

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

В ТУРБО ПАСКАЛЬ ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам.

Page 17: Turbo Pascal

Константа и переменная Константа – это величина, значение которой

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

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

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

Page 18: Turbo Pascal

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

Венгерская нотация - это соглашение о наименованиях переменных и функций. Соглашение широко используется при программировании на языках PASCAL, C и в среде WINDOWS.

rV, arVector[1..20], sName, iCount

Page 19: Turbo Pascal

Принципы венгерской нотации 1. Имена переменных и функций должны

содержать префикс, описывающий их тип; 2. Имена переменных и функций записываются

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

3. Префиксы записываются малыми буквами, первая буква каждого слова - заглавная, префиксы и слова записываются либо слитно, либо через символ _ (подчеркивание).

Page 20: Turbo Pascal

Операция- это элементарное действие обработки данных. Операции ЭВМ по типу объектов, к которым они

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

Логические операции включают операции И (and), ИЛИ (or) и НЕ (not).

Операции отношения или сравнения включают операции сравнения на =, , >, , <, .

Page 21: Turbo Pascal

Выражение– это запись на языке программирования,

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

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

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

Page 22: Turbo Pascal

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

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

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

Page 23: Turbo Pascal

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

некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций.

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

2. операции типа умножения * / div mod and shl shr

3. операции типа сложения + - or xor

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

Page 24: Turbo Pascal

Стандартные функции Ord(‘Z’)-Код символа (=90) Chr(90)-Символ, указанного кода (=’Z’) Odd(6)-Логическое значение истина, если

число нечетное, или ложь, если число четное (=False)

Pred(34)-Предыдущий символ или число (=33) Succ(33)-Следующий символ или число (=34)

Page 25: Turbo Pascal

Abs(-5)-Абсолютное значение числа (=5) Sqr(2)-Квадрат числа (=4) Sqrt(4)-Корень квадратный из числа (=2) Sin(pi)-Синус числа (=0) Cos(pi/2)-Косинус числа (=0) Arctan(0) -Арктангенс числа (=0) Exp(0) – Степень числа e (=1) Ln(1) – Натуральный логарифм числа (=0) Exp(n* ln (a)) Возведение a (a>0) в степень n

Page 26: Turbo Pascal

Int(3.45)-Целая часть (=3) Frac(3.45)-Дробная часть (=0.45) Round(3.45)-Целое число без округления (=3) Trunc(2.5)-Целое число округленное до

ближайшего целого числа (=3) Random(2)-Случайным образом полученное

целое число из диапазона [0..N-1] (=0 или =1) Random-Вещественное число из диапазона от

0 до 1

Page 27: Turbo Pascal

Concat(‘Я’, ’ и ’, ’мы’)-Строка, объединяющая эти значения (=’Я и мы’)

Length(‘мама’)-Длина строки (=4) Pos(‘м’,’мама’)-Позиция подстроки в строке

(=1) Copy(’мама’, 1, 2)-Копирует из строки,

начиная с указанной позиции, заданное число символов (=‘ма’)

Page 28: Turbo Pascal

Inc (I)-Та же переменная, увеличенное на указанное число шагов или на 1, если не указан шаг (i:=i+1)

Dec (I,10)-Та же переменная, уменьшенное на указанное число шагов или на 1, если не указан шаг (i:=i-10)

Insert (‘!’, S, 1)-Вставляет подстроку в строку, начиная с указанной позиции (S:=‘!’+S)

Delete (S, 1, 2)-Удаляет из строки, начиная с указанной позиции, заданное число символов (если S:=’Ok!’, то после delete S:=’!’)

Str (5.6, S)-Преобразует число в строку (S:=’5.6’;) Val (‘5.6’, K, code)-Преобразует строку в число

(K:=5.6; code:=0;)

Page 29: Turbo Pascal

Операции ввода и вывода Терминальное устройство - это устройство, с

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

Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие стандартными последовательными файлами INPUT и OUTPUT.

Page 30: Turbo Pascal

Процедура Read Эти файлы разбиваются на строки

переменной длины, отделяемые друг от друга признаком конца строки. Конец строки задается нажатием клавиши ENTER.

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

Page 31: Turbo Pascal

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

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

Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода.

Page 32: Turbo Pascal

Формат вывода целых чисел и строк Элемент списка вывода имеет вид А:К, где А -

выражение или строка, К - выражение либо константа целого типа.

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

Page 33: Turbo Pascal

Формат вывода действительных чисел Элемент списка вывода может иметь вид

А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа.

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

Page 34: Turbo Pascal

Оператор– это законченное предложение языка

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

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

Page 35: Turbo Pascal

Оператор присваивания предписывает присваивание переменной значения вычисленного выражения

переменная:= выражение; Управляющие операторы

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

Page 36: Turbo Pascal

Управляющие операторы Оператор последовательность объявляет

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

Begin

оператор1;

оператор2;

end;

Page 37: Turbo Pascal

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

Goto метка; If лог. выражение then оператор1 else оператор2; Case выражение of

знач1:оператор1;знач2:оператор2

else оператор3end;

Цикл предписывает многократное выполнение одной и той же последовательности действий.

Page 38: Turbo Pascal

Циклы Цикл с параметром предписывает многократное

выполнение одной и той же последовательности действий при значениях параметра в интервале от начального до конечного значений с заданным шагом. For параметр:=нач.значение to кон.значение do оператор;

Цикл с постусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия после тела цикла: Repeat оператор until лог.выражение;

Цикл с предусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия перед телом цикла: While лог.выражение do оператор;

Page 39: Turbo Pascal

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

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

Page 40: Turbo Pascal

Структура программы Описательная часть алгоритма (заголовок и

раздел описаний) Program {имя программы}; Uses {список модулей}; Label {список меток}; Const {список констант}; Type {список типов, заданных пользователем}; Var {список переменных с описанием их типов}; Procedure {описание процедуры}; Function {описание функции};

Page 41: Turbo Pascal

Структура программы Реализующая часть алгоритма (раздел

операторов) Begin

{операторы языка}

End.

Page 42: Turbo Pascal

Ключи компиляции Они позволяют управлять режимом

компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим).

Page 43: Turbo Pascal

Ключи компиляции {$E+} - эмулировать математический

сопроцессор; {$F+} - формировать дальний тип вызова

процедур и функций; {$N+} - использовать математический

сопроцессор; {$R+} - проверять выход за границы

диапазонов. {$I имя файла} - включить в текст

компилируемой программы названный файл.

Page 44: Turbo Pascal

Первая программаProgram TRIANG; var A, B, C, S, P: Real; begin Read(A,B,C); WriteLn(A,B,C); P:=(A+B+C)/2; S:=Sqrt(P*(P-A)*(P-B)*(P-C)); WriteLn('S=', S:8:3) end.

Page 45: Turbo Pascal

Работа в среде ТУРБО ПАСКАЛЬ Для выполнения программы на языке

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

программы - с помощью программы - компилятора создают

выполняемый код программы - с помощью программы – отладчика проводят

пошаговую реализацию программы и контроль данных.

Интегрированная среда Turbo Pascal работает как многооконный редактор, как среда по выполнению и отладки программ.

Page 46: Turbo Pascal

Для запуска среды используются следующие файлы, которые размещаются в каталоге Olimp\Pascal7\Bin\: Turbo.exe Turbo.tpl Turbo.tph Turbo.cfg Turbo.dsk Tpc.exe Tpx.exe

Page 47: Turbo Pascal

Turbo.exe

Page 48: Turbo Pascal

Клавиши и команды F10 - Выход в меню File, New - Создание нового окна для редактирования File, Save (F2) - Сохранение в файл File, Open… (F3) - Открыть файл в текущее окно File, Save as… - Сохранить под именем файла File, Change dir… - Изменить текущий каталог File, Exit (Alt+X) - Выход

Page 49: Turbo Pascal

Edit, Undo (Alt+BackSpace) - Отмена предыдущего действия

Edit, Cut (Shift+Delete) - Вырезать выделенный фрагмент

Edit, Copy (Ctrl+Insert) - Скопировать выделенный фрагмент

Edit, Paste (Shift+Insert) - Вставить выделенный фрагмент

Edit, Clear (Ctrl+Delete) - Очистить выделенный фрагмент

Page 50: Turbo Pascal

Window, Close (Alt+F3) - Закрыть активное окно

Window, Zoom (F5) - Развернуть окно Window, Size/Move (Ctrl+F5) - Перейти в режим

изменения размера и местоположения текущего окна

Window, Next (F6) - Перейти к следующему окну Window, Previous (Shift+F6) - Перейти к

предыдущему окну Window, List … (Alt+0) - Перейти к списку

открытых окон Go to window (Alt+№ окна ) - Перейти в окно

под заданным №

Page 51: Turbo Pascal

Compile, Compile (Alt+F9) - Компилировать Run, Run (Ctrl+F9) - Выполнить или продолжить выполнение программы Run, Step over (F8) - Выполнить один шаг программы Run, Trace into (F7) - Выполнить один шаг программы с заходом в

процедуры и функции пользователя Run, Go to cursor (F4) - Выполнить программу до местоположения

курсора Run, Program reset (Ctrl+F2) -Остановить выполнение программы

Ctrl+Break - Прервать выполнение программы Debug, User screen (Alt+F5) - Перейти на экран пользователя для

просмотра результата выполнения программы Debug, Add watch…(Ctrl+F7) - Добавить в окно Watch контрольные

значения Breakpoints On/Off (Ctrl+F8) - Добавить/отключить точки останова Help, Index (Shift+F1) - Вывод окна помощи в виде предметного указателя Help, Topic search (Ctrl+F1) - Вывод окна помощи по текущему слову