Охарактеризовать алфавит, идентификаторы и структуру типов данных языка программирования Pascal

Наимен.функц. Результ. Вычисл-я Наимие фун. Резуль. Выч-ия
abs(x) абсолютное значение (модуль) x Sqr(x) значение х в квадрате
sin(x) синус x (в радианах) Exp(x) значение экспоненты в степени х
cos(x) косинус x (в радианах) Ln(x) натуральный логарифм х
arctan(x арктангенс х Frac(x) дробная часть х
Sqrt(x) квадратный корень из х Int(x) целая часть х

При записи программ языка Pascal разрешены следующие символы:

· буквы латинского алфавита от А до Z (в любом регистре), а также знак подчеркивания _;

· цифры от 0 до 9;

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

· пары символов (их нельзя разделять пробелами) <> <= >= := .. (* *) (. .)

Также при создании программ могут использоваться некоторые зарезервированные слова, например: array, begin, end и др.

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

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

Идентификаторы могут иметь длину до 127 символов, но значащими являются только первые 63 символа. Идентификатор должен начинаться с буквы или символа подчеркивания, не должен содержать пробелов и специальных символов, например: K, SUM, _P, N1.

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

Охарактеризовать алфавит, идентификаторы и структуру типов данных языка программирования Pascal - student2.ru

I – параметр цикла N – количество повторов цикла
Рисунок Структура типов данных языка Pasca

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

Примеры простых типов языка Pascal: целый тип Integer (диапазон допустимых значений от –32768 до 32767), длинное целое Longint (диапазон значений от –2147483648 до 2147483647), вещественный тип Real, логический тип Boolean, символьный тип Char.

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

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

К арифметическим операциям языка программирования Pascal относятся сложение (+), вычитание (-), умножение (*), деление (/), целая часть от деления (div), нахождение остатка от деления (mod). Операции div и mod записываются по тем же правилам, что и обычные арифметические операции, но при этом, например, 7 div 3=2; 7 mod 3=1;

Основными логическими операциями языка Pascal являются логическое «и» (and), логическое «или» (or), отрицание (not);

Приоритет выполнения операций в выражениях:

1) унарная операция not;

2) мультипликативные операции *, / , div, mod, and;

3) аддитивные +, - , or;

4) операции отношений (больше (>), меньше (<), равно (=), неравно (<>), больше либо равно (>=), меньше либо равно (<=)).

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

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

При записи выражений языка Pascal также могут использоваться различные встроенные процедуры и функции. Наиболее часто употребляемые функции называют стандартными; они не требуют предварительного описания в программе.

Примеры стандартных математических функций языка Pascal:

Например, математическое выражение Охарактеризовать алфавит, идентификаторы и структуру типов данных языка программирования Pascal - student2.ru записывается на языке Pascal как SQRT(ABS(SIN(X))).

44 Охарактеризовать структуру программ языка Pascal

Общая структура программ языка Pascal имеет вид:

· Заголовок программы;

· Раздел подключения модулей;

· Раздел описаний;

· Раздел исполняемых операторов.

Заголовок программы создается при помощи служебного слова program и имеет вид program nаме, где nаме – задаваемое автором имя программы. Заголовок программы несет чисто смысловую нагрузку и может отсутствовать, однако его рекомендуется использовать для быстрого распознавания нужных программ.

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

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

· описание меток (осуществляется с помощью служебного слова label);

· описание констант (с помощью служебного слова const);

· описание типов (с помощью слова type);

· описание переменных (при помощи слова var);

· описание процедур (с помощью служебного слова procedure);

· описание функций (с помощью слова function).

Раздел исполняемых операторов начинается с ключевого слова begin и заканчивается словом end с точкой на конце (end.). Данный раздел представляет собой выполняемую часть программы. Операторы могут располагаться при этом в строках программы произвольно, в любом количестве в одной строке. Обязательное условие – все операторы программы должны отделяться друг от друга символом «;» («точка с запятой»).

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

45 Охарактеризовать оператор присваивания и операторы ввода и вывода данных языка программирования Pascal. Привести форматы вывода данных

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

Примеры присваивания: а:=21; х:=a mod 2; y:=sin(x); z:=x+y;

Для организации ввода данных в языке Pascal используется процедура Read.

В общем случае данная процедура имеет вид Read(a1, а2, а3, … ), где a1, а2, а3, … - список вводимых переменных, например, Read(x, y).

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

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

Кроме процедуры Read, Pascal допускает использование процедуры ввода ReadLn (сокращение от ReadLine). Различие между данными процедурами состоит в том, что после выполнения ReadLn дальнейшее считывание данных будет осуществляться с новой строки, т.е. осуществляется переход к следующей строке экрана.

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

В Pascal данная процедура записывается как Write(p1, p2, р3, …), где p1, p2, р3, … - список констант и/или переменных, разделенных запятой, например, Write ('Сумма=', S).

Процедура Write осуществляет вывод значений выражений, приведенных в списке, на текущую строку до ее заполнения. Для перехода к следующей строке экрана используется процедура WriteLn (сокращение от WriteLine).

В процедурах вывода Write и Writeln имеется возможность задания ширины полей вывода данных. Например, если s:=71.341893, то при использовании формата вывода вида Writeln(s:5:2) вывод s будет производиться в форме с фиксированной точкой в 5 позиций (включая отрицательный знак и точку), из которых 2 позиции будет отведено для вывода цифр дробной части, т.е. в виде 71.34.

При выводе значений переменных целого типа задается количество позиций для числа (включая отрицательный знак), например, Writeln(i:8). В случае вывода значений символьных и строковых переменных формат определяет число позиций для вывода значения текста.

Если формат вывода не задавать, то значения целых и строковых переменных выводятся полностью, а вещественных - в форме с плавающей точкой с количеством цифр, соответствующих типу переменной, т.е. парой чисел вида <мантисса>Е<порядок>. Символ «Е» при этом имеет значение «умножить на 10 в степени».

46 Охарактеризовать операторы ветвления языка Pascal

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

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

Охарактеризовать алфавит, идентификаторы и структуру типов данных языка программирования Pascal - student2.ru

Рисунок Блок-схема алгоритма ветвления

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

IF <условие> THEN <оператор 1> ELSE <оператор 2>;

Здесь IF, THEN, ELSE – зарезервированные слова (если, то, иначе), <условие> – логическое выражение, <оператор1> и <оператор2> – простые либо составные операторы.

Логические выражения могут принимать одно из двух значений: TRUE (истина) и FALSE (ложь). Простейшими логическими выражениями являются выражения отношения, например, Х<5.

Пример. Определить, принадлежит ли заданное вещественное число х интервалу [0.5, 1.5].

Решение задачи:

program pr;

var x:real;

begin

writeln('введите x');

readln(x);

if (x>=0.5) and (x<=1.5) then writeln('принадлежит') else writeln('нет');

end.

Часть «ELSE оператор2» может не использоваться. Данную форму оператора IF называют сокращенной.

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

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

Вид оператора выбора:

CASE <выражение> OF

A1 : <оператор 1>;

A2 : <оператор 2>;

...

AN : <оператор N>

ELSE <оператор N+1>

END;

Любой из указанных операторов <оператор 1>, <оператор 2> и т.д. может являться как простым, так и составным оператором; <выражение> может иметь любой порядковый тип.

47 Привести общий вид и пример использования оператора цикла с параметром FOR языка программирования Pascal

Блок-схема, соответствующая циклу с параметром языка Pascal, представлена на рисунке.Здесь i – параметр цикла; i0 – начальное значение параметра; iT – конечное значение параметра.

Охарактеризовать алфавит, идентификаторы и структуру типов данных языка программирования Pascal - student2.ru

Рисунок Блок-схема цикла с параметром

Оператор цикла с параметром имеет следующий формат:

For i:=i0 to iT do <оператор>;

Здесь For, to, do– зарезервированные слова («для», «до», «выполнить»);

i – параметр цикла - переменная типа INTEGER (точнее, в общем случае, любого порядкового типа);

i0, iT - начальное и конечное значение – выражение того же типа;

<оператор> - простой или составной оператор языка Pascal, образующий тело цикла (повторяющуюся последовательность действий).

Шаг приращения параметра при этом постоянен и равняется +1, число повторений <оператора> при этом составляет iT- i0+1.

Пример. Вычислить функцию f=x+e-x при х=0, 1, 2, …, 10.

Возможный текст программы:

program calc_f;

var f: real;

x: integer;

begin

for x:=0 to 10 do

begin

f:=x+exp(-x);

writeln(‘x=’, x, ‘f=’, f);

end

end.

Существует и другая форма записи оператора For, при которой шаг приращения параметра принимает значение –1. В этом случае оператор For будет иметь вид For i:=i0 downto iT do <оператор>;

Наши рекомендации