Реферат по предмету "Программирование"


Семантика оператора “case”

Семантика
оператора “case”.

Одной из форм
оператора выбора в языке Pascal является оператор сase. Синтаксис этого оператора приведен ниже.

сase of

: {; :}

end

Например:

сase i
mod 3 of

0: m:=0;

1: m:=-1;

2: m:=1;

end

ñase sym of

'=': k:=k+1;

'*', '+', '/', '-': ;

'!': l:=l+1;

':', ';': p:=p+1;

end

3.            сase день of

ПН, ВТ, СР,
ЧТВ, ПТН: writeln('Рабочий день');

СБ, ВСКР: writeln('Выходной день');

end

Ясно, что в
этих примерах переменная i - типа integer, переменная sym - типа char, день - перечислимого типа (ПН, ВТ, СР, ЧТВ, ПТН, СБ, ВСКР).

Действие
оператора сase
из примера 1 можно было бы описать так:

if i mod 3=0 then m:=0 else

if i mod 3=1 then m:=-1 else

if i mod 3=2 then m:=1;

Перепишем эту
последовательность вложенных условных операторов в следующем виде:

if

i mod 3=0 ® m:=0;

i mod 3=1 ® m:=-1;

i mod 3=2 ® m:=1;

end
{if}

В этой форме
условия трех альтернатив просматриваются последовательно сверху вниз и
выполняется первая альтернатива, условие которой выполнено.

Обобщим теперь
эту запись на большее число альтернатив следующим образом:

if

B1 ® S1;

B2 ® S2;

     . . .     

Bk ® Sk

end
{if}

В этом
обобщении последовательно сверху вниз просматриваются логические выражения Bi и для того i, где первым будет получено значение T, будет выполнен оператор Si. Причем обязательно хоть одно Bi должно принять значение T. Эту обобщенную форму условного оператора
обозначим IF.
Отсюда получаем.

Определение
11.1.  Семантика оператора сase:

wp(ñase, R)=($ i: 1£i£k: Bi)
Ù (" i: 1£i£k: Bi
Þ wp(Si,
R))

Отсюда должно
быть видно, что:

Всегда на
текущем состоянии выполняется хотя бы одно Bi. Другими словами, предусловие этого
оператора должно имплицировать любое Bi.

Если на текущем
состоянии выполняется Bi, то соответствующий Si перерабатывает это состояние в такое
состояние, где должно выполняться постусловие R.

Рассмотрим
пример. Написать предусловие для оператора

Sñase:

ñase a of

1: b:=c+a;

2: b:=a+1;

3: b:=a-c

end

такое, что если
этот оператор начинает работать в состоянии, удовлетворяющем этому предусловию,
то он обязательно закончит свою работу и после ее выполнения мы получим
состояние, удовлетворяющее условию R º b>1.

Другими
словами, надо вычислить

wp(Sñase, b>1).

Выпишем в
соответствии с определением

wp(Scase , b>1) = ((a=1)Ú(a=2)Ú(a=3)) Ù

((a=1) Þ wp(b:=c+a, b>1)) Ù

((a=2) Þ wp(b:=a+1, b>1)) Ù

((a=3) Þ wp(b:=a-c, b>1))

Преобразуем
каждый из предикатов (1)-(3) в соответствии с определением семантики оператора
присваивания.

Получим:

(a=1) Þ (c+a>1) º c>0

(a=2) Þ (a+1>1) º 3>1 º T

(a=3) Þ (a-c>1) º c0)) Ú (a=2) Ú ((a=3)
Ù
(c0
.

Этот предикат
выражает условие, что либо на текущем состоянии цикл заканчивается (член C0(R)),
либо за одну итерацию цикла мы получим состояние, начиная с которого цикл
закончится не более чем за k-1 итерацию (член wp(IF, Ck-1(R))).

Таким образом,
нижеприведенный предикат:

$ k: k³0: Ck(R)                           (11.1)

выражает
условия 1,2 для циклов. Однако, он мало что нам дает для понимания внутреннего
устройства цикла, семантики итераций.

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

Вернемся к
нашим примерам 9.1 и 10.1. В примере 9.1 нетрудно заметить, что условие

s=(S k: 1£k£i: 1/k)                                 (11.2)

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

(S k: 1£k£i: 1/k)

означает .

Для цикла из
примера 10.1, приведенному на рис. 11.3, инвариант выглядит так:

P: s=(Pk: 1£k0
обеспечивает проверку исходных данных на соответствие предусловию программы.
Поэтому, после строки 5 мы можем быть уверены, что любое состояние, полученное
в этой точке, будет удовлетворять предикату, написанному в виде комментария -
{(nÎ N)Ù(n>0)}.

   Комментарий в конце 7 строки определяет
состояния вычислительного процесса непосредственно перед входом в цикл.
Комментарий после заголовка цикла (строка 8) - { s=Sk :
0 0) = ?


S5: if a > b then a:=a-b
else


          if b







2. if i=0 then j:=0 else j:=r;


{?}





wp (S6 , x £ y) = ?


S6: if x > y then begin
t:=x;x:=y;y:=t


                                             end;







  
{i=n Ù j=m}


  
if i=0 then j:=0;



{?}





Вычислить:


wp(x:=2*y+3, х=13)


wp(x:=х+y,
х0, b=0}






Цикл.

Проверка цикла.

Доказать, что Р
до входа в цикл

"i: 1 £ i £ n
:  {PÙBi} S {P}

PÙØBBÞR

Доказать,что в
следующих циклах Р - инвариант и цикл заканчивается в нужном состоянии R:

1.

{0 £ n }

i:=0 ;

{P: 0 £ i £ n Ù xÏ b [0: i-1]}

while (i

{R: (0 £ i £ n Ù x=
b[i])Ú( i = n Ù xÏ b [0:
i-1])}

2.

{0

i:=1 ;

{P: 0

while  2*i £ n  do 
i:=2*i ;

{R: 0
Список
литературы

Для подготовки
данной работы были использованы материалы с сайта http://www.ergeal.ru/


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Исследование влияния физкультурного образования родителей на формирование физкультурного образования младшего школьника
Реферат Элита России: история становления и политический портрет
Реферат Ідейно-художні особливості трагедії Есхіла “Прометей закутий”. Образ Прометея
Реферат Блок керування для блока первинного центрування зображення
Реферат Автоматизация фильтровального отделения установки 39/2 (Депарафинизации масел)
Реферат Інтегрований курс «Література» (російська та світова) Билет №1 На примере произведения Ж. Б. Мольера «Мещанин во дворянстве» раскройте особенности классицистической комедии. На конкретных примерах покажите особенности «золотого века русской поэзии»
Реферат планирование прибыли предприятия на примере нефтебазы
Реферат Деяния Святых Апостолов
Реферат Международные экономические отношения России с развивающимися странами
Реферат Коммерческий шпионаж
Реферат Политическое поведение
Реферат Транспортные сети. Задача о максимальном потоке в сети
Реферат Методика преподавания искусства авторской куклы на кружке декоративно-прикладного искусства
Реферат Типы и режимы воспроизводства населения
Реферат Германия и Франция в 1945-1991 годах