Лекция 1
|
|
|
Введение в язык программирования Паскаль
|
|
1. |
Общие сведения о языке. |
|
Язык Pascal (Паскаль) был разработан в 70-х годах
20-го века профессором Швейцарского федерального института
технологии в Цюрихе Никалаусом Виртом. Этот язык получил свое
название в честь великого французского математика и физика Блеза
Паскаля, который в 1642 году изобрел счетную машину для
арифметических операций – паскалево колесо. Язык разрабатывался,
прежде всего, для целей обучения программированию, но этим не
ограничена сфера его применения. Основными достоинствами Паскаля
являются легкость при изучении и наглядность программ. Кроме
того, в языке Паскаль отражена концепция структурного
программирования, имеется богатый набор различных типов данных и
программные средства, позволяющие доказывать правильность
написанных программ. |
|
В 1984 году на рынке программных продуктов
появляется интегрированная система программирования Turbo Pascal.
До этих пор предпочтение отдавалось языку программирования Basic
– простому, дешевому и легко усваиваемому. Паскаль же был языком
для избранных – аппаратно зависимым, дорогим и сложным в
обращении. С появлением среды Turbo Pascal положение резко
изменилось. Начиная с 6-ой версии, система Turbo Pascal обладает
такими качествами, как: |
|
-
|
многооконный и многофайловый режим работы; |
|
-
|
встроенные средства верификации данных и
программ; |
|
-
|
поддержка работы манипулятора мышь; |
|
-
|
применение объектно-ориентированного
программирования; |
|
-
|
наличие большой библиотеки модулей и т.п. |
|
В 1992 году фирма Borland International выпустила
2 пакета программирования на языке Паскаль: Borland Pascal 7.0 и
Turbo Pascal 7.0. |
|
2. |
Общие правила записи программы |
|
При записи программы на языке программирования
Паскаль необходимо придерживаться некоторых общепринятых
соглашений: |
|
1) |
служебные слова, значение которых зарезервировано
раз и навсегда, нельзя использовать ни для каких других целей
(для обозначения имен переменных, для заголовка программы, для
имени процедуры или функции, определенной пользователем и т.п.);
|
|
2) |
заглавные и прописные буквы не различаются; |
|
3) |
буквы русского алфавита могут быть использованы
только в комментариях или в строковых выражениях. |
|
Общая структура паскаль-программы может быть
представлена в виде следующей схемы: |
|
var <раздел описания переменных>; |
|
3. |
Основные элементы языка. |
|
Любой язык программирования есть совокупность
трех составляющих: набора символов (алфавита), правил
образования (синтаксис) и истолкования (семантика)
конструкций из символов для задания алгоритмов. |
|
Основные элементы, составляющие алфавит языка
Паскаль, можно разбить на несколько групп в соответствии с их
смысловыми значениями: |
|
-
|
основные символы (буквы
латинского и русского алфавитов, цифры, знаки арифметических
операций, знаки отношений, кавычки, точка, запятая, точка с
запятой, двоеточие, апостроф, скобки и т.п.); |
|
-
|
служебные
слова
(and, array, begin, case и
т.п.);
|
|
-
|
стандартные идентификаторы
(true, false, integer, sin, abs и т.п.). |
|
В разделе операторов программы команды
определяют, какие действия должны быть выполнены над данными. С
каждым элементом данных обычно связаны имя и
значение.
|
|
Имя
используется для обозначения элемента данных. В качестве имени в
языке Паскаль используется идентификатор – последовательность
букв латинского алфавита и цифр, начинающаяся с буквы. Все
идентификаторы, используемые в программе, обязательно должны
быть определены, т.е. описаны в соответствующем разделе
программы. |
|
В качестве данных в паскаль-программе могут
использоваться постоянные и
переменные величины. Значение постоянной величины (константы)
не изменяется в процессе выполнения программы. |
|
Значение
элемента данных определяется типом данных. В языке Паскаль
существует 4 стандартных типа данных: |
|
значения этого типа данных лежат в диапазоне от
-32768 до 32767. |
|
Целые числа в языке Паскаль записываются в
обычном виде. Над ними определены следующие операции: сложение
(+), вычитание (-), умножение (*), деление (/), нахождение целой
части от деления (div) и остатка от деления (mod). Результат
всех операций, кроме деления, целое число. |
|
К типу integer относятся некоторые стандартные
функции: нахождение предыдущего элемента в множестве (pred),
нахождение последующего элемента (succ), модуль числа (abs),
квадрат числа (sqr) и др. |
|
Существует несколько ограничений и расширений
целого типа: |
|
shortint (-128..127);
longint (- 2 млрд.
.. 2 млрд.);
byte (0.. 255); word (0..65535).
|
|
В языке Паскаль существует два способа записи
вещественный чисел: |
|
-
|
с фиксированной десятичной точкой; |
|
-
|
с плавающей десятичной точкой (в экспоненциальной
форме) вида mEn, т.е. m*10n. |
|
Например: 314E-2; 2.76E11; .5E-3 |
|
Операции +, -, *. / выполняются с принятой в
данном компьютере точностью и не всегда дают точный результат. |
|
3) |
Boolean – логический или булевский
|
|
Множество значений данного типа – это {true,
false}. |
|
В языке паскаль определены 6 операций отношения
(<, >, <=, >=, =, <>) и логические операции: отрицание (not),
логическое умножение – конъюнкция (and), логическое сложение –
дизъюнкция (or). С помощью этих операций строятся выражения
отношения, значения которых относятся к логическому типу данных.
|
|
Значением переменной символьного типа является
символ. Множество символов отвечает следующим требованиям: |
|
-
|
любой символ имеет свой порядковый номер; |
|
-
|
порядковые номера цифр 0..9 упорядочены по
возрастанию и следуют друг за другом; |
|
-
|
порядковые номера букв также упорядочены по
возрастанию, но не обязательно следуют друг за другом. |
|
Константы символьного типа записываются в языке
Паскаль в виде символов, заключенных в апострофы. Например: 'a',
'1', 'z', 'ш'. |
|
Над данными символьного типа определены только
операции отношения. |
|
К символьному типу относятся некоторые
стандартные функции языка Паскаль: нахождение порядкового номера
символа (ord), нахождение символа по его порядковому номеру (chr).
|
|
4. |
Структура программы на языке Паскаль. |
|
uses <раздел подключения внешних модулей>; |
|
label <раздел описания меток>; |
|
const <раздел описания констант>; |
|
type <раздел описания типов>; |
|
var <раздел описания переменных>; |
|
procedure <раздел описания пользовательских
процедур>; |
|
function <раздел описания пользовательских
функций>; |
|
<раздел операторов или основной блок
программы> |
|
Метки перечисляются обычным списком, константы и
типы описываются в стиле: <идентификатор>=<значение>, переменные
перечисляются с указанием своих типов: <имя>:<тип>. |
|
Комментарии к
программе служат для пояснения и представляют собой обычный
текст, заключенный в фигурные скобки. |
|
|