Язык Paskal. Основные элементы языка. Структура программы

Содержание



Введение

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

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

3. Простейшие конструкции

4. Выражения

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

6. Операции

Заключение

Литература






Введение



Тема реферата "Язык Paskal. Основные элементы языка. Структура программы" по дисциплине "Вычислительная техника и основы программирования".

Цель работы – раскрыть основные понятия структуру программы; алфавит языка; простейшие конструкции; выражения; типы данных; операции; стандартные функции.

	Автором первой версии (1968 г.) алгоритмического языка Pascal является Никлаус Вирт (профессор, директор института Информатики Швейцарской высшей политехнической школы -1970г., лауреат премии Тьюринга за 1984г.).

В языке Pascal сконцентрировались многие лучшие черты языков предшественников.

	В 1992г. фирма Borland International выпустила два пакета программирования, основанные на использовании языка Pascal: Borland Pascal 7.0 и Turbo- Pascal 7.0. Первый включает три режима работы: обычный режим MS DOS, защищенный режим MS DOS и режим Windows. Второй позволяет работать только в обычном режиме MS DOS, что позволяет использовать его практически на любом современном персональном компьютере. Начинающим программистам целесообразнее начинать изучение языка именно с пакета Turbo-Pascal 7.0.

	




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

	

	Логически программа в среде Turbo-Pascal 7.0 состоит из двух частей:

	- описательной (секция определения данных);

	- исполнительной (секция определения действий).

	

	{Секция определения данных}

Label ...; {раздел определения меток}

Const ...; {раздел определения констант}

Type ...; {раздел определения новых типов}

Var ...; {раздел определения переменных}

function ...; {раздел определения программных

procedure ...; единиц}

{ Секция определения действий}

Begin

...

end.



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

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

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




Пример:







{Программа вычисления площади круга и длины окружности}



{секция определения данных}

Var R,S,D: real;

procedure OKR;

begin 

D:=2*3.1415*R

end;

{секция определения действий}

Begin

Writeln(‘Введите значение радиуса R’); 

OKR;

Writeln(‘Площадь круга =’, S);

Writeln(‘Длина окружности =’,D)

end.



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



Алфавит - совокупность допустимых в языке символов или групп символов, рассматриваемых как единое целое. В среде Turbo-Pascal 7.0 все компоненты формируются из множества символов стандарта ASCII (American Standard Code for Information Interchange).

Буквы: прописные и строчные буквы латинского алфавита: Aa, Bb, .., Zz.

Цифры: 0…9.

Специальные символы : ( ); [ ]; { }; (* *); .; ,; :; ;; @; #; ^ ; $; _; :=; ...

*) Знаки арифметических операций: +; -; *; /; div mod;

Знаки отношений: <; <=; >; >=; =; <>.

Знаки логических операций: not; and; or; xor.

*) Подробнее о назначении и использовании знаков операций см. в разд. Типы данных.

Типы данных

В состав алфавита входят также зарезервированные слова (например, begin, end, if, then, else, for и т.д.), которые воспринимаются как единый символ алфавита и могут использоваться в программах только по своему прямому назначению. Полный перечень зарезервированных слов см. [5].



3. Простейшие конструкции



Идентификатор - используется для обозначения имен переменных, констант, функций, процедур и других программных единиц. Идентификатор представляет собой любую последовательность букв, цифр и знаков, начинающуюся с буквы (распознаются идентификаторы в среде Turbo-Pascal по первым 63 символам; прописные и строчные буквы не различаются).

Пример:



Summa Неверно

ALPHA -12

Set_1 СУММА 

Game_25 25_Game



Метка - в среде Turbo-Pascal в качестве метки может использоваться либо целое число без знака из диапазона 0..9999 , либо идентификатор.

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

Пример:



M1: Y:=X + Z;

99: Write(Y);

145: end; {пустой оператор}



4. Выражения



Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения, подробнее см.[5, 14]. Выражения в среде Turbo-Pascal формируются из констант, переменных, функций, знаков операций и круглых скобок.

Пример:



(A + B) * Sin(C) {арифметическое выражение}

A + B - C <> 0 {выражение отношения}

(A - B > 0) and (C + A=0) {логическое выражение}



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



Turbo-Pascal предполагает строгую типизацию данных, то есть в программе в секции определения данных должны быть определены все типы объектов, используемых в секции определения действий.

Типы данных Turbo-Pascal










6. Операции



Стандартные

Целые

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



Тип

Диапазон

Размер, байт

Shortint

-128..127 

1

Integer

-32768..32767 

2

Ljngint

-2147483648..2147483647

4

Byte

0..255 

1

Word

0..65535 

2

 

Примеры операций, допустимых над данными целого типа



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

+

сложение;

-

вычитание;

*

умножение;

Div

деление нацело:13 Div 2=6;

Mod

остаток от деления:13 Mod 2=1.



Стандартные функции:

Dec(X,N)

изменение X на N:Dec(13,2)=15;

Inc(X)

увеличение X на 1:Inc(13)=14;

Odd(X) 

определение четности: Odd(13)=True, Odd(12)=False;

Abs(X) 

абсолютная величина X:Abs(-13)=13;

Sqr(X) 

возведение в квадрат: Sqr(2)=4.



Var X,Y:integer;

Let:byte;

...

X:=15;;Let:=10;

Y:=X mod 5;{Значение Y=0} Y:=X div 4;{Значение Y=3}

Y:=Dec(X,Let);{Значение Y=25} Y:=X-Let;{Значение Y=5}.



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

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



Тип

Диапазон

Размер, байт

Real 

2.9E-39..1.7E38

6

Single 

1.5E-45..3.4E38

4

Double 

5.0E-324..1.7E308

8

Extended

3.4E-4932..1.1E4932

10

Comp 

-9.2E18..9.2E18

8



Примеры операций, допустимых над данными вещественного типа:

Арифметические операции: +,-,*, /(деление).

Стандартные функции:

Trunc(X) возвращает целую часть X, результат целый Trunc(12.95)=12;

Round(X) округляет X до ближайшего целого Round(12.95)=13;

Int(X) возвращает целую часть X, результат вещественный

Int(12.95)=12.0;

Frac(X) возвращает дробную часть X, результат вещественный

Frac(12.95)=0.95;

Sin(X) вычисляет значение SinX;

Cos(X) вычисляет значение CosX;

Ln(X) вычисляет значение LnX; 

Exp(X) вычисляет значение экспоненциальной функции;

Sqrt(X) вычисляет значение корня квадратного из X;

Sqr(X) вычисляет значение квадрата X;

Abs(X) вычисляет модуль Х.






Var X,Y,Z:real;

...

X:=8.54;Y:=1.64E-3;

Z:=Frac(X);{Z=0.54}

Z:=Int(Y);{Z=0}



Логические (Boolean):

Логические переменные занимают 1 байт памяти и принимают одно из двух значений:



False ложь

True истина

Var Alpha:boolean;{описание типа логической переменной}

X,Y:real;

...

X:=0.5;Y:=1.5;

Alpha:=X>Y;{Alpha=False}

Alpha:=X<>Y;{Alpha=True}



Примеры операций, допустимых над данными логического типа:

Not операция логического отрицания НЕ;

And операция логического умножения И;

Or операция логического сложения ИЛИ;

Xor операция сравнения - исключительное ИЛИ.

Стандартная функция Ord(Alpha)=0 если аргумент Alpha=False и равна 1 если Alpha=True.






Таблица логических операций Var A,B:boolean;

A

B

not A

A and B

A or B

A xor B

False 

False 

True

False

False

False

False

True

True

False

True 

True

True

False

False 

False

True

True

True

True

False

True

True

False



Символьные (Char)

Символьные переменные занимают 1 байт памяти и их значениями служат символы ASCII-кода. К символьным данным применимы стандартные функции Pred, Succ, Ord.

Примеры операций, допустимых над данными символьного типа:



Var Lit1,Lit2:char;

Nom:byte;

...

Lit1:=’B’;Lit2:=Pred(Lit1);{Lit2=A}

Nom:=Ord(Lit2);{Nom=65 - ASCII-код символа ‘А’}

Lit1:=Chr(Nom);{Lit1=’A’ - обратное преобразование ASCII-кода в символ}






Заключение



В процессе написания работы были раскрыты основные понятия структуры программы; алфавит языка; простейшие конструкции; выражения; типы данных; операции; стандартные функции; приведены ряд примеров.






Литература



	Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987;

	Абрамов С.А., Зима Е.В. Начала информатики. - М.: Наука, 1988;

	Довгаль С.И., Литвинов Б.Ю., Сбитнев А.И. Персональные ЭВМ: Турбо-Паскаль V7.0, Объектное программирование, Локальные сети. (Учебное пособие).- Киев, "Информсистема сервис", 1993;

	Епанешников А.М., Епанешников В.А. Программирование в среде Turbo-Pascal 7.0 .- М.:, Диалог МИФИ, 1993;

	Йенсен К., Вирт Н. Паскаль: Руководство для пользователя. /Пер. с англ. М.Л.Сальникова, Ю.В.Сальниковой. - М.:, Компьютер, 1993;

	Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988;

	Поляков Д.Б., Круглов Н.Ю. Программирование в среде Турбо-Паскаля. - изд.МАИ., М.:, 1992;

	Прайс Д. Программирование на языке Паскаль. Практическое руководство. /Пер. с англ. - М.:, Мир, 1987;

	Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль. - М.: Наука. Гл. ред. физ.-мат. лит.,1993;

	Фаронов В.В. Турбо-Паскаль. Начальный курс – 1 кн. Практика программирования –2 кн. Учебное пособие. - М.: "Нолидж",1997;

	Эрбс Х.-Э., Штольц О. Введение в программирование на языке Паскаль./Пер. с нем. - М.:, Мир, 1989