|
Основные понятия языка программирования Турбо Паскаль
Основные понятия языка программирования Турбо Паскаль
11 Основные понятия языка программирования Турбо ПаскальПлан1. Некоторые сведения о системе программирования Турбо Паскаль.2. Структура программы на Паскале.3. Элементы языка Турбо Паскаль.4. Арифметические операции и выражения.5. Стандартные функции.6. Оператор присваивания.1. Некоторые сведения о системе программирования Турбо ПаскальЯзык Паскаль был разработан в 1971 году Никласом Виртом первоначально для целей обучения программированию. В настоящее время он получил широкое распространение по ряду объективных причин.Во-первых, по своей идеологии Паскаль наиболее близок к современной методике и технологии программирования. В частности, он достаточно полно отражает идеи структурного программирования, что довольно хорошо видно даже из основных управляющих структур языка.Во-вторых, Паскаль хорошо приспособлен для применения технологии разработки программ сверху-вниз (пошаговой детализации).В-третьих, Паскаль содержит большое разнообразие различных структур данных, что обеспечивает простоту алгоритмов, а следовательно снижение трудоемкости при разработке программ.Система программирования Turbo Pascal предназначена для выполнения этапов решения задачи на алгоритмическом языке Паскаль и включает в себя три главные компоненты: 1) редактор текстов; 2) компилятор; 3) исполнительную систему.С помощью встроенного в систему текстового редактора можно формировать в памяти любые тексты, не только программы на Паскале. В частности, это могут быть исходные данные решаемой задачи в текстовой форме. Текст программы, созданный редактором, можно сохранить на диске в виде файла с именем следующего формата <имя файла>.раs, где pas -- это стандартное расширение имени файла, созданного системным редактором. Имя файла задается пользователем. Компиляция - это процесс перевода программы на язык машинных команд. Компилятор переводит программу с языка Паскаль на язык машинных команд. При этом проверяется соответствие программы правилам языка программирования (синтаксический и семантический контроль). При обнаружении ошибки компьютер выдает сообщение о ней пользователю и прекращает работу. В результате компиляции Turbo Pascal создает исполняемый файл с тем же именем, что и файл, содержащий программу, но с расширением ехе. Впоследствии этот файл может быть выполнен, как любой другой исполняемый файл.Выполнение программы остается под контролем исполнительной системы. Она, в частности, помогает обнаружить ошибку в программе, если при исполнении произошел сбой. Пользователю сообщается причина сбоя и указывается место, где он случился в Паскаль-программе, происходит автоматический возврат в режим редактирования.Turbo Pascal позволяет редактировать, компилировать, компоновать и выполнять Паскаль-программы. При этом пользователю предоставляется высокая скорость компиляции, удобство работы с компьютером и мощная библиотека процедур и функций.2. Структура программы на ПаскалеПрограмма на Паскале в общем случае состоит из нескольких файлов. Один из них содержит главную программу, а остальные - модули. Главная программа состоит из заголовка, блока и заканчивается точкой -- признаком конца программы. В свою очередь, блок содержит разделы описаний и раздел операторов. В общем случае «скелет» программы можно представить следующим образом:{ Спецификация программы }program <имя программы> (заголовок программы);uses (раздел объявления модулей);label (раздел объявления меток);const (раздел объявления констант);type (раздел объявления типов);var (раздел объявления переменных);procedure (function) (раздел объявления подпрограмм: процедур или функций);begin <операторы > (раздел операторов, обязательная часть);end.Все указанные разделы отделяются друг от друга точкой с запятой.Раздел операторов должен обязательно присутствовать в любой программе и является основным. Предшествующие разделы носят характер описаний и не обязательно содержаться в программе.Заголовок программы состоит из зарезервированного слова program и имени программы (со списком параметров, заключенных в круглые скобки). Завершается заголовок точкой с запятой.В Turbo Pascal имеются особенности в структуре программы. Так, заголовок программы необязателен и игнорируется компилятором. Порядок размещения разделов произвольный, можно создавать несколько одинаковых разделов. Единственное правило, которое необходимо выдерживать, - в любом месте программы можно использовать лишь элементы (метки, типы, константы, переменные, подпрограммы и т. д.), которые были определены ранее по тексту программы или являются предопределенными элементами языка. Исключением из этого правила может быть лишь определение типа-указателя через неопределенный до этого тип. Однако этот тип в дальнейшем должен быть обязательно определен.Операторы в разделе операторов отделяются друг от друга точкой с запятой. Перед end точка с запятой не ставится, однако ее наличие не является ошибкой, а лишь означает присутствие между последним исполняемым оператором и служебным словом end еще одного оператора - пустого оператора. Заканчивается программа словом end, после которого обязательно ставится точка.В начале программы необходимо располагать ее спецификацию - комментарий в фигурных скобках, содержащий назначение программы, данные о программисте, дату создания программы.Язык программирования Паскаль является языком структурного программирования. В нем есть все необходимые управляющие конструкции для структурного построения программы. Наглядность такому построению придает структуризация внешнего вида текста программы. Основной используемый для этого прием -- сдвиги строк, которые должны подчиняться следующим правилам:§ конструкции одного уровня вложенности записываются на одном вертикальном уровне (начинаются с одной позиции в строке);§ вложенная конструкция записывается смещенной по строке на несколько позиций вправо относительно внешней для нее конструкции.3. Элементы языка Турбо ПаскальАлфавит языка состоит из множества символов, включающих:– Латинские буквы: от A до Z (прописные) и от а до z. (строчные);– Знак подчеркивания _;– Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;– Специальные символы: + -- * / (знаки арифметических операций), = <> <= >= (операции отношения), : = (операции присваивания), [ ] . , ( ) : ; { } ^ @ $ # ` (ограничители). К спецсимволам относятся служебные слова, смысл которых определен однозначно (begin, end, for, div и т.д.).– Пробел -- символ пробела (ASCI1-32) и все управляющие символы кода ASCII (от 0 до 31).Идентификаторы. Идентификатором называется символическое имя определенного программного объекта. Такими объектами являются имена констант, переменных, типов данных, процедур и функций, программ. Идентификатор -- это любая последовательность букв и цифр, начинающаяся с буквы. В Турбо Паскале к буквам приравнивается также знак подчеркивания. Строчные и прописные буквы в идентификаторах и служебных словах не различаются. Например: max, MAX, MaX и mAx -- одно и то же имя. Длина идентификатора может быть произвольной, но значащими являются только первые 63 символа.Комментарии. Конструкции, заключенные в фигурные скобки {} или в скобки вида (* *) являются комментариями, могут занимать несколько строк и игнорируются компилятором.Строка, начинающаяся с символов {$ или (*$, является директивой компилятора. За этими символами следует мнемоника команды компилятора. Буквы русского алфавита употребляются только в комментариях, в литерных и текстовых константах.4. Арифметические операции и выраженияЗнаки операций предназначены для обозначения тех или иных арифметических, логических или других действий. Они бывают двух типов: состоящие из небуквенных символов (например, +, -, * и т.д.) и буквенные операции (например, not, mod, div и т. д.), представляющие собой зарезервированные слова. Операции над данными делятся на унарные (применимые к одному операнду) и бинарные (применимые к двум операндам). Приведем примеры бинарных арифметических операций (в таблице буква I обозначает целые типы, R -- вещественные типы):|
Знак | Выражение | Типы операндов | Тип результата | Операция | | + | А+В | R,RI,I I,R; R,I | RI R | Сложение | | - | А-В | R,RI,I I,R; R,I | RI R | Вычитание | | * | А*В | R,RI,I I,R; R,I | RI R | Умножение | | / | А/В | R,RI,I I,R; R,I | RR R | Вещественное деление | | Div | A div B | I, I | I | Целое деление | | Mod | A mod B | I, I | I | Остаток от деления | | | Арифметическое выражение задает порядок выполнения действий над числовыми величинами. Арифметические выражения содержат арифметические операции, функции, операнды, круглые скобки. Одна константа или одна переменная -- простейшая форма арифметического выражения.Порядок выполнения операций в арифметическом выражении подчиняется трем правилам:1. Правилу скобок. Оно гласит, что первыми выполняются операции в скобках. Если имеется несколько пар вложенных скобок, вычисления начинаются с самых внутренних скобок.2. Правилу учета приоритета операций: вначале вычисляются значения функций, затем выполняются операции умножения и деления и в последнюю очередь - операции сложения и вычитания.3. Правилу следования: операции одинакового старшинства (приоритета) выполняются слева направо в порядке их следования.Пример. Цифрами сверху указан порядок выполнения операций:Выражение имеет целый тип, если в результате его вычисления получается величина целого типа. Выражение имеет вещественный тип, если результатом его вычисления является вещественная величина.5. Стандартные функцииВ качестве операндов в выражении, кроме констант и переменных, можно использовать стандартные функции. Аргументы функций обязательно заключаются в круглые скобки. Приоритет выполнения функции выше, чем приоритет выполнения арифметических операций. Рассмотрим стандартные функции Турбо Паскаля (в таблице буква I обозначает целые типы, R -- вещественные типы):|
Обращение | Тип аргумента | Тип результата | Тип действия | | pi | - | R | Число ? | | abs(x) | I, R | I, R | Модуль (абсолютная величина) числа х | | sqr(x) | I, R | I, R | Квадрат х | | sqrt(x) | I, R | R | Корень квадратный из х (х?0) | | sin(x) | I, R | R | Синус х (х в радианах) | | cos(x) | I, R | R | Косинус х (х в радианах) | | arctan(x) | I, R | R | Арктангенс х (результат в радианах) | | exp(x) | I, R | R | Экспонента е в степени х (е?2,71828) | | ln(x) | I, R | R | Натуральный логарифм х (x>0) | | trunc(x) | R | I | Целая часть х | | int(x) | I, R | R | Целая часть х | | round(x) | R | I | Округление х до ближайшего целого | | frac(x) | I, R | R | Дробная часть х | | random | - | I | Случайное число [0,1) | | random(x) | I | R | Случайное число [0,х) | | dec(x,[n]) | I | I | Уменьшение х на n, при отсутствии n - на 1 | | inc(x,[n]) | I | I | Увеличение х на n, при отсутствии n - на 1 | | odd(x) | Longint | Boolean | true, если значение x нечетное; false, если x четное | | ord(x) | любой порядковый | Longint | Порядковый номер значения х в его типе. Если х - символ, то функция возвращает код символа | | pred(x) | любой порядковый | тот же, что для x | Предыдущее относительно х значение в его типе | | succ(x) | любой порядковый | тот же, что для x | Следующее относительно х значение в его типе | | chr(x) | Byte | Char | Определяет символ с указанным кодом (х - число, определяющее код символа) | | | Турбо Паскале не содержит некоторые часто используемые математические функции, поэтому при их вычислении используют эквивалентные математические формулы:|
Функция | Эквивалентная математическая формула | Запись в программе | | ax | | exp(x*ln(a)) | | tg(x) | | sin(x)/cos(x) | | arcsin(x) | | arctan(x/sqrt(1-x*x)) | | arccos(x) | | arctan(sqrt(1-x*x)/x) | | logax | | ln(x)/ln(a) | | | При возведении в небольшую целую степень вместо операции возведения в степень рекомендуется использовать операцию умножения, поскольку возведение в степень выполняется на несколько порядков дольше умножения и не позволяет обрабатывать отрицательные аргументы.6. Оператор присваиванияЗначение переменной может быть задано или изменено с помощью оператора присваивания, который имеет вид: <имя>:=<выражение>;где <имя> - это имя переменной или функции; := - знак операции присваивания.Оператор присваивания позволяет заменить текущее значение переменной, стоящей слева от знака присваивания, новым значением, задаваемым выражением, стоящим справа. С правой стороны располагается выражение, которое после вычисления дает некоторое значение. С левой стороны указывается имя переменной, которой это значение присваивается. Данное обстоятельство позволяет использовать с левой и правой стороны знака присваивания имя одной и той же переменной. Пусть, например, имеются следующие операторы:Varх, а : real;. . . . .х:=2.5; а:=1.25;х:=х+а;После выполнения этих операторов переменная х будет иметь значение 3.75, так как первоначально произойдет вычисление выражения х + а в виде сложения двух констант: 2.5+ 1.25 = 3.75, а затем это значение присваивается переменной х (предыдущее значение х, равное 2.5, заменится новым - 3.75).Следует обратить внимание на следующее правило: типы переменной и выражения должны быть одинаковыми. Исключение составляет случай, когда выражение имеет целый тип, а переменная -- вещественный.
|
|