Контрольная работа: Базис стандартной и рекурсивной схемы. Верификация программы
Задание 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<=M
F0:=F1; F1:=F2; F2:=F0+F1 | серия переприсваиваний
S:=S+F2;
кончается
S:=S–F2 | из S вычитается последнее значение F2, превосходящее M
Конец
Исполнение алгоритма
F0 | F1 | F2 | S | F2<M |
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. оператор присваивания – F0 :=1; F1 :=1; F2 :=2; S:=4; F0 :=F1 ; F1 :=F2 ; F2 :=F0 +F1 ; S:=S+F2 ; S:=S–F2 ;
4. условный оператор (тест) – логическое выражение; F2 <=M;
--> ЧИТАТЬ ПОЛНОСТЬЮ <--