Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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

I. Оператор присваивания

Он предназначен для вычисления нового значения некоторой величины.

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

Формат записи:

<имя переменной> := <выражение>;

 

Например, x := x + 1;

y := 25.789E+3;

II. Оператор перехода

Он предназначен для изменения порядка выполнения операторов программы.

Формат записи:

goto <Метка>;

 

В качестве меток можно использовать:

- целые числа 0..9999,

- любые идентификаторы.

Примеры меток: 34, m1, metka2, out.

 

Метка должна быть предварительно объявлена в разделе объявлений.

Метка должна быть уникальной.

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

Переход допускается только в пределах блока (программа, подпрограмма).

Например:

label m; //раздел объявлений метки

-------------------------------------------- //раздел исполнения

goto m; // обращение к метке

--------------------------------------------

m: <Оператор>; // действия, предусмотренные алгоритмом

Структурированные операторы – конструкции, построенные по определенным правилам из других операторов.

I. Составной оператор

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

Begin

P1; //оператор 1

.......

Pn; //оператор n

end;

Отдельные операторы внутри составного, отделяются друг от друга точкой с запятой ;.

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

Наиболее часто используется в условных операторах и операторах цикла.

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

В программе условие – это выражение логического типа (Boolean), которое может принимать одно из двух значений True (истина) или False (ложь).

Примеры простых условий:

sqr(x)-10*x>=5 // выражение x2 -10·x³5?

summa<1000 // значение переменной Summa < 1000?

x mod 2 = 0 // остаток от деления x на 2 равен 0?

Примеры сложных условий:

(day=6) or (day=7) // день суббота или воскресенье

(sum>100) and (day=7) //скидка на товар стоимостью более 100у.е. в воскресный день

(m=1) and (d>=1) and (d<=10) //дни с 1 по 10 в первом месяце.

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

 

Условный оператор if...then...else

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

 

I. Полная форма оператора if...then...else

 
 


if <логическое выражение> then <оператор1>

else <оператор2>;

if - если,

then - то,

else - иначе,

В общем виде, когда надо выполнить несколько действий, оператор if… записывается следующим образом:

if <условие> then

begin

//инструкции1, которые надо выполнить,

//если условие истинно.

End

Else

Begin

//инструкции2, которые надо выполнить,

//если условие ложно.

End;

 

Выполняется оператор if следующим образом:

1. Вычисляется значение условия (правда или ложь?);

2. Если условие истинно (true), то выполняются инструкции, следующие за словом then. На этомвыполнение операции if завершается, инструкции, следующие за словом else, не будут выполнены. Если условие ложно (false), то выполняются инструкции, следующие за словом else.

Задача. Поиск максимального числа из двух чисел x и y.

 
 


// 1-й вариант решения

if x>y then max:=x

else max:=y;

 

 

II. Сокращенная форма оператора – if...then

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

if <выражение> then <оператор>;

 

// 2-й вариант решения

max:=x;

if x<y then max:=y;

 

III. Вложенные операторы if...then...else…

 
 


if <Условие1> then <op1>

Else

if <Условие2> then <op2>

else <op3>;

 

 

Рекомендуется части then и else одного

условного оператора начинать с одного и того же столбца.

Задача. Вычислить значение функции:

Правило: так как условный оператор if является единым предложением, то ни перед then, ни перед else точку с запятой ставить нельзя.

 

При помощи логических операций AND (логическое «И») и OR (логическое «ИЛИ») из простых условий можно строить сложные.

Например:

 

1) 2)

 

Примеры записи условия:

1) if (x<=b) and (x>=a) then <выражение C1>

else <выражение C2>;

2) if (x<a) or (x>b) then <выражение C2>

else <выражение C1>;

Условный оператор case … of… end

Применяется для множественного ветвления на произвольное число направлений.

С его помощью можно выбрать вариант из любого количества вариантов.

Оператор состоит из выражения, называемого селектором, списка вариантов и необязательной ветви else.

Формат записи:

case <селектор> of

<список n1>: p1;

<список n2>: p2;

.....…………....;

<список nn>: pn;

[ else p]

End;

 

case of - выбор из,

n1, n2,..nn - константы,

p1, p2,.. pn - операторы.

Селектор - выражение порядкового типа, значение которого определяет

дальнейший ход выполнения программы.

Список состоит из перечня констант:

Например: 1, 3, 7. или

часть констант списка представляет собой интервал:

Например: ’ A ’ .. ’ Z ’ или 1 .. 12

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

Например:

Можно использовать селекторы целого (integer, byte) или символьного (char) типа.

Нельзя использовать селекторы Longint и строкового типа.

Пример оператора варианта:

case Color of

Red: X := Y+3;

Yellow: X := Y-2;

Green: X := Y;

end;

Задача. Программа принимает с клавиатуры код клавиши и в зависимости от ее номера выводит на дисплей текстовый комментарий.

Var

Symbol: Char;

Begin

Readln(Symbol);

case Symbol of

' A ' .. ' Z ': Writeln ('Zaglavnay bukva ', Symbol);

' a ' .. ' z ': Writeln ('Strochnay bukva ', Symbol);

еlse Writeln ('Cod ASCII ', Symbol);

end; Readln

end.

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

case <селектор> of

<список n1>: begin

//инструкции1

End;

<список n2>: begin

//инструкции2

End;

<список nn>: begin

//инструкции nn

End;

Else

Begin

//инструкции

End;

End;

 
 

 

 


Выполняется инструкция следующим образом:

 

1. Сначала вычисляется значение выражения-селектора.

2. Значение выражения-селектора последовательно сравнивается с константами из списка констант.

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

4. Если значение выражения-селектора не совпадает ни с одной константой из списка, то, выполняется последовательность инструкций, следующая за else.

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

Задача.

Используя оператор выбора, вычислить значения функции:

 

 

program Example;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Var

A: integer;

x,y: real;

label 10;

Begin

writeln('Vvedite x');

readln(x);

10:writeln('Vvedite parameter А');

readln(A);

Case A o f

0:y:=cos(x);

1:y:=(x-10)*8;

-1:y:=A*7*x;

Else

Begin

writeln('A vvedeno ne verno! Vvedite -1 ili 0 ili +1');

goto 10;

end;

end;

writeln(' А=', А);

writeln(' ********************************* ');

writeln(' * x= ', х:8:3, ' * y= ', y:8:3, ' *');

writeln(' ********************************* ');

readln

End.

<== предыдущая лекция | следующая лекция ==>
Джордж Гордон Байрон | Лекция 9. Номенклатура дел


Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных