Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Общий вид условного оператора:




ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ ПО КУРСУ «ИНФОРМАТИКА»

 

Для студентов инженерных специальностей

 

Структура программы на Паскале

 

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

Заголовок;

Блок описаний;

Блок операторов.

Заголовок имеет следующий вид:

program < имя программы >;

Имя программы должно начинаться с буквы (латинской) и содержать до 8 символов (латинские буквы, цифры, символ подчеркивания).

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

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

§ метки (описание начинается со служебного слова label);

§ константы (описание начинается со служебного слова const);

§ нестнадартные типы (описание начинается со служебного слова type);

§ переменные (описание начинается со служебного слова var);

§ функции и процедуры (описание начинается со служебных слов function и procedure);

Блок операторов начинается со служебного слова begin и содержит операторы программы, разделенные точкой с запятой. Заканчивается блок операторов служебным словом end с точкой.

 

Основные типы данных

 

Каждый тип даных определяет множество допустимых значений. Некоторые типы в языке присутствуют изначально:

Тип integer. Числовые целочисленные значения в диапазоне от –32768 до 32767.

Тип real. Вещественные (действительные) числа в диапазоне от до .

Тип char. Символы (буквы латинские и русские, прописные и строчные, цифры, значки), которые имеются на клавишах клавиатуры.

Тип boolean. Логический тип. Только два возможных значения: true (истина) и false (ложь).

В языке Паскаль требуется, чтобы каждая величина была приписана к некоторому типу. Типы констант распознаются по их написанию (число без десятичной точки – целый тип, число с десятичной точкой – вещественный тип, символ, взятый в апострофы – символьный тип). Типы переменных указываются при их описании. Например:

var i,j:integer;x,y:real;

(i, j – целые, x, y – вещественные числа).

 

3. Оператор присваивания. Арифметические и логические выражения.

 

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

< имя переменной >:=< значение >

Слева от знака:= стоит одиночная переменная, справа может стоять выражение соответствующего типа.

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

Основные операции языка Паскаль:

 

Операция Тип операндов Тип результата
+, –, * integer integer
+, –, * real real
/ integer, real real
div, mod integer integer
and, or, not boolean boolean
>, >=, <, <=, =, <> integer, real, char, boolean boolean

 

Операции различаются по своему приоритету. Операции более высокого приоритета исполняются раньше операций низшего приоритета. Имеются четыре группы операций различного приоритета (от высшего к низшему):

1. not;

2. *, /, div, mod, and;

3. +, –, or;

4. >, >=, <, <=, =, <>.

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

Кроме операций на языке Паскаль имеются еще стандартные (встроенные) функции:

 

Функция Тип аргумента Тип результата Описание
abs(x) integer integer
abs(x) real real
sqr(x) integer integer
sqr(x) real real
sqrt(x) real real
sin(x) real real sin x
cos(x) real real cos x
arctan(x) real real arctg x
exp(x) real real
ln(x) real real ln x
odd(x) integer boolean нечетность
round(x) real integer округление до ближайшего целого
trunc(x) real integer округление путем отбрасывания дробной части
ord(a) любой дискретно-упорядоченный integer порядковый номер
chr(n) integer char восстанавливает символ по порядковому номеру
succ(a) любой дискретно-упорядоченный он же следующий по порядку
pred(a) любой дискретно-упорядоченный он же предшествующий по порядку

 

Условные операторы.

 

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

Общий вид условного оператора:

а) полный вид:

if < условие > then < оп.1 > else < оп.2 >;

б) усечённый вид: if < условие > then < оп.1 >;

где < условие > - некоторое выражение логического типа,

< оп.1 > и < оп.2 > - некоторые операторы языка Паскаль.

Действие условного оператора:

а) Полный вид: сначала вычисляется выражение < условие >. Если результат есть истина (true), то выполняется < оп.1 >, если результат есть ложь (false), то выполняется < оп.2 >.

Блок-схема:


б) Усечённый вид: вычисляется < условие >. Если результат есть истина, то выполняется < оп.1 >. Если результат есть ложь, то никакого действия не происходит.

Блок схема:

 

 



Замечание 1. В качестве < оп. 1 > и < оп. 2 > по синтаксису языка Паскаль может присутствовать только один оператор. Если же при выполнении (или невыполнении) заданного условия надо выполнить сразу несколько операторов, то они должны быть объединены в один составной оператор (блок операторов) посредством операторных скобок begin и end:

begin

< последовательность операторов,

отделенных друг от друга точкой с запятой >

end;

 
 

Замечание 2: Операторы < оп.1 > и < оп.2 > сами могут включать в себя условные операторы. В этом случае любая встретившаяся часть else соответствует ближайшей к ней слева части then.

 
 

Пример. Дана область D (см. рисунок).

 

Даны два вещественных числа x и y, рассматриваемые как координаты точки на плоскости. Вычислить величины u и v по следующему праввилу: u =1, v =0, если точка (x, y) принадлежит D; u =0, v =1, если точка (x, y) не принадлежит D.

       
   
 

Решение. Основное в данной задаче – правильно записать условие принадлежности точки области D. Разобьём область D на две части D1 и D2, то есть D=D1 È D2.

Тогда условие “(x,y) принадлежит D ” можно записать как “(x,y) принадлежит D1 ” либо “(x,y) принадлежит D2 ”, где “(x,y) принадлежит D1 ” означает что:

1) (x,y) лежит внутри окружности с центром в начале коордиат радиусом 1;

2) (x,y) лежит левее оси Y;

3) (x,y) лежит выше оси X.

 
 

Это эквивалентно системе неравенств:

которая на языке Паскаль записывается так:

(x*x+y*y<=1) and (x<=0) and (y>=0).

Аналогично, условие “(x,y) принадлежит D2 ” означает, что:

1) (x,y) лежит ниже гипотенузы прямоугольного треугольника D2;

2) (x,y) лежит правее оси Y;

3) (x,y) лежит выше оси X,

 
 

что эквивалентно системе неравенств

которая на языке Паскаль записывается так:

(y<=1-x) and (x>=0) and (y>=0)

Окончательно, условие “(x,y) принадлежит D” записывается так:

((x*x+y*y<=1)and(x<=0)and(y>=0))or

((y<=1-x)and(x>=0)and(y>=0))

Программа:

program pr1;

var x,y:real;

u,v:integer;

Begin

writeln(¢введите x,y¢);

read(x,y);

if ((x*x+y*y<=1) and (x<=0) and (y>=0)) or

((y<=1-x) and (x>=0) and (y>=0)) then

Begin

u:=1;

v:=0

End else

Begin

u:=0;

v:=1

end;

writeln(¢u=¢,u,¢_v=¢,v)

End.

Циклы

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...