Реферат по предмету "Информатика"


Базис стандартной и рекурсивной схемы Верификация программы

Министерство РФ по связи и информатизации
«Поволжская государственная академия телекоммуникаций и информатики»
Кафедра «программного обеспечения информационных технологий»







































КОНТРОЛЬНАЯ РАБОТА ПО КУРСУ:
«Теория вычислительных процессов»

































2010
Задание 1
Построить базис стандартной схемы;
Реализовать стандартную схему в графовой и линейной формах;
Составить интерпретацию для заданной стандартной схемы;
6
Расчет суммы чисел Фибоначчи
Расчет суммы первых четырех чисел Фибоначчи
Числа Фибоначчи (Fi) определяются по формулам F0 = F1 = 1; Fi = Fi –1 + Fi –2 при i = 2, 3,… (каждое очередное число равно сумме двух предыдущих).
Вычислим сумму первых четырёх чисел Фибоначчи, которые не превосходят заданного натурального числа М. Зададим число M = 4.
алгоритм Фибоначчи (аргумент целое М,результат целое S)
дано | M>0
начало цел F0, F1, F2
F0:=1; F1:=1; F2:=2
S:=4 | 4 – сумма первых трех чисел Фибоначчи
начинается пока F2
F0:=F1; F1:=F2; F2:=F0+F1 | серия переприсваиваний
S:=S+F2;
кончается
S:=S–F2 | из S вычитается последнее значение F2, превосходящее M
Конец
Исполнение алгоритма
F0
F1
F2
S
F2
1
1
2
4
+
1
2
3
4+3
+
2
3
5
7+5
− (кц)






12-5=7


Базис класса стандартных схем программ
Полный базис класса стандартных схем состоит из 4-х непересекающихся, счетных множеств символов и множества операторов — слов, построенных из этих символов.
Множества символов полного базиса:
1. X = {F0, F1, F2, S, M} — множество символов, называемых переменными;
2. Множество функциональных символов; верхний символ задает местность символа; нульместные символы называют константами и обозначают начальными буквами латинского алфавита a, b, c...;
3. Множество предикатных символов; нульместные символы называют логическими константами;
4. {program, uses, var, begin, end} — множество специальных символов.
Множество операторов включает пять типов:
1. начальный оператор — слово вида start(F0, F1, F2), где F0, F1, F2 — переменные, называемые результатом этого оператора;
2. заключительный оператор — слово вида stop(S), S — терм; вхождения переменных в терм S называются аргументами этого оператора;
3. операторприсваивания– F:=1; F1:=1; F2:=2; S:=4; F:=F1; F1:=F2; F2:=F+F1; S:=S+F2; S:=S–F2;
4. условный оператор (тест) – логическое выражение; F2
5. оператор петли — односимвольное слово While.
Графовая форма стандартной схемы на рис. 1.
Рис. 1
Линейная форма стандартной схемы
TurboPascal
Program SummaFib;
Uses Crt;
Var M, {zadannoe chislo}
F0, F1, F2, {3 posledovatelnyh chisla Fibonachchi}
S: Integer; {summa chisel Fibonachi}
BEGIN
ClrScr;
Write('Vvedite naturalnoe M: ');
ReadLn(M);--PAGE_BREAK--
F0:=1; F1:=1; F2:=2;
S:=4; {4 — summa pervih 3-h chisel Fibonachchi}
Write('Chisla Fibonachchi, ne prevoshodyaschie ', M, ' :', F0:4, F1:4);
While F2
begin
F0:=F1; F1:=F2; Write(F1: 4);
F2:=F0+F1; S:=S+F2;
end;
S:=S-F2; {vychitanie iz summy poslednego chisla, kotoroe prevoshodit M}
WriteLn; WriteLn;
WriteLn('OTVET: Summa etih chisel ravna = ', S); ReadLn
END.
Задание 2
Построить базис рекурсивной схемы;
Составить интерпретацию для заданной рекурсивной схемы (рис. 2);
Составить протокол выполнения программы;
6
Составить рекурсивную программу-функцию подсчета количества всех положительных делителей натурального числа n.
Рассчитать количество делителей для числа 10.
Рис. 2
TURBO PASCAL
program Chislo;
uses crt;
type r=array[1..10] of integer;
var
d,x:integer;
a:r;
y:integer;
begin
clrscr;
y:=1;
textcolor(6);
write('NAHOZHDENIE DELITELEJ');
gotoxy(2,2);
textcolor(9);
write('Vedite chislo, u kotorogo nado najti kolichestvo delitelej: ');
readln(x);
textcolor(6);
write ('Deliteli chisla ' ,x, ': ');
for d:=1 to x div 2 do
begin
textcolor(9);
if x mod d=0 then begin
write(d,' ');
inc(y);end;end; {Y:= Y + 1}
writeln(x);
textcolor(5);
write('Kolichestvo delitelej: ' ,y);
readln;
end.
Результат работы PASCAL-программы (рис. 3)
/>
Рис. 3



Задание 3



Разработать алгоритм программы, решающей поставленную задачу;
Составить стандартную схему программы и записать полученную программу в линейной форме (рис. 4);
Для каждого оператора программы, записанного в линейной форме определить слабейшие предусловия.



6
Расчет суммы чисел Фибоначчи
Рис. 4
Turbo Pascal
Program SummaFib;
Uses Crt;
Var M, {Zadannoe chislo}
F0, F1, F2, {3 posledovatelnyh chisla Fibonachchi}
S: Integer; {Summa chisel Fibonachch}
BEGIN
ClrScr;
Write('Vvedite naturelnoe chislo M: ');
ReadLn(M);
F0:=1; F1:=1; F2:=2;
S:=4; {4 — summa pervyh 3-x chisel Fibonachchi}
Write('Chisla Fibonachchi, ne prevoshodyaschie ', M, ' :', F0:4, F1:4);
While F2
begin
F0:=F1; F1:=F2; Write(F1: 4);
F2:=F0+F1; S:=S+F2;
end;
S:=S-F2; {vychitanie iz summy poslednego chisla, kotoroe prevoshodit M}
WriteLn; WriteLn;
WriteLn('O T V E T: Summa etih chisel ravna ', S); ReadLn
END.
Результаты работы Pascal-программы (рис. 5).
/>
Рис. 5
Слабейшие предусловия операторов:
1. начальный оператор— слово вида start(F, F1, F2), где F= 1, F1= 1,
F2 — переменные, называемые результатом этого оператора;    продолжение
--PAGE_BREAK--
2. заключительный оператор— слово вида stop(S), где S= 2 — терм; вхождения переменных в терм Sназываются аргументами этого оператора;
3. оператор присваивания – F0:=1; F1:=1; F2:=2; S:=4; F0:=F1, где F1=1; F1:=F2, где F2=2; F2:=F0+F1, где F0=1, F1=1; S:=S+F2, где S=4, F2=3; S:=S–F2, где S=4, F2=2;
4. условный оператор (тест) – логическое выражение; F2
M>1;
5. оператор петли — односимвольное слово While. Слабейшее предусловие такое же, как в условном операторе.
Задание 4
Разработать алгоритм программы, решающей поставленную задачу;
Составить стандартную схему программы и записать полученную программу в линейной форме (рис. 6);
Используя метод индуктивных утверждений и правила верификации Хоара произвести верификацию программы.
6
Расчет произведения чисел Фибоначчи
Рис. 6
Turbo Pascal
Program ProizFib;
Uses Crt;
Var M, {zadannoe chislo }
F0, F1, F2, {tri posledovatelnyh chisla Fibonachchi}
S: Integer; {summa chisel Fibonachchi}
R: Real; {proizvedenie chisel Fibonachchi}
BEGIN
ClrScr;
Write('Vvedite naturalnoe chislo M: ');
ReadLn(M);
F0:=1; F1:=1; F2:=2;
S:=4; {4 — summa pervyh 3-x chisel Fibonachchi}
R:=2; {2 — proizvedenie pervyh 3-x chisel Fibonachchi}
Write('Chisla Fibonachchi, ne prevoshodyaschie ', M, ' :', F0:4, F1:4);
While F2
begin
F0:=F1; F1:=F2; Write(F1: 4);
F2:=F0+F1; S:=S+F2; R:=R*F2
end;
S:=S-F2; {vychitanie iz summy poslednego chisla, kotoroe prevoshodit M}
R:=R/F2; {Delenie iz proizvedeniya chisla, kotoroe prevoshodit M}
WriteLn; WriteLn;
WriteLn('O T V E T: Summa etih chisel ravna: ', S); ReadLn;
WriteLn; WriteLn;
WriteLn('O T V E T: Proizvedenie etix chisel ravno: ', R); ReadLn
END.
Результаты работы Pascal-программы (рис. 7).
/>
Рис. 7
Задание 5



Составить алгоритм выполняемого процесса;
Определить множества условий и событий для процесса;
Построить сеть Петри для моделируемого процесса.



6
Работа банкомата в режиме выдачи наличных денежных средств
Условиями для рассматриваемой системы являются:
а) банкомат ждет;
б) запрос поступил и ждет;
в) банкомат обрабатывает запрос;
г) запрос обработан.
Событиями для этой системы являются:
1.Запрос поступил.
2. Банкомат начинает обработку запроса.
3. Банкомат заканчивает обработку запроса.
4. Результат обработки выдаются деньги клиенту.
Для перечисленных событий можно составить следующую таблицу их пред- и постусловий (рис. 8).
Событие
Предусловия
Постусловия
1
2
3
4
нет
а, б
в
г
б
в
г, а
нет
/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>

Рис. 8
Предусловие выполняется для события 2.


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

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

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

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

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

Реферат Разработка бизнес-плана по расширению производства для действующей организации
Реферат Реферат Беларуская ССР у гады новай эканамічнай палітыкі
Реферат Black Bart Essay Research Paper Black Bart
Реферат Thoreau Essay From Walden Pond Essay Research
Реферат История табакокурения в России
Реферат Владимирский собор в Киеве
Реферат Українська літературна мова: формування, норми та стилі. Ділова українська мова.
Реферат Научно-техническая революция и ее влияние на ход общественного развития
Реферат План мероприятий по химической защите растений в хозяйстве ОАО ск Белореченское
Реферат My Hair Turned Green Essay Research Paper
Реферат Психические растройства (на примере произведения О. Уайльда "Портрет Дориана Грея")
Реферат 7. Декрет Кабінету міністрів України Про систему валютного регулювання І валютного контролю
Реферат Химическая промышленность, ее отраслевой состав и значение в народном хозяйстве страны (РФ)
Реферат Dreamer
Реферат Modern Vs Ancient Essay Research Paper Modern