Анализ задачи.
1. Входные данные. Из условия задачи следует, что входными данными являются два вещественных числа a и b.
2. Результат. Результатом работы алгоритма является вывод значения, равного наибольшему из двух чисел.
3. Формулы. Чтобы найти наибольшее из двух вещественных чисел, необходимо сравнить их.
Проектирование алгоритма.
Детализируем общую блок-схему (см. рис. 1.7): запишем входные данные в явном виде.
Тестирование алгоритма.
При тестировании расставим на алгоритме контрольные точки A, B, C, D (рис. 1.9). При движении по алгоритму активная точка исполнителя проходит не все контрольные точки!
Рис. 9. Алгоритм нахождения наибольшего из двух чисел
Тест 1. Зададим значения двух переменных a = 4, b = 3. Протестируем алгоритм и запишем значения переменных в контрольных точках (табл. 1.3). Полученная последовательность контрольных точек показывает, по каким ветвям выбора проходит исполнитель: точка С пропущена.
Проектирование алгоритма.
Детализируем общую блок-схему (см. рис. 1.7):
|
|
1) напишем входные данные в явном виде;
2) выведем сообщение о величине суммы.
Заметим, что текущее слагаемое суммы (п. 1) имеет вид i. Тогда сумму можно накопить в сумматоре, если:
1) присвоить сумматору начальное значение S = 0;
2) прибавлять к сумматору в цикле переменную i, изменяя ее от 1 до n.
Способ 1. Алгоритм с использованием структуры «цикл-пока».
Результат проектирования представлен на рис. 1.10.
Тестирование алгоритма.
При тестировании расставим на алгоритме контрольные точки A, B, C, D (рис. 1.10). Зададим количество суммируемых первых натуральных чисел n = 4. Получим значение суммы первых пяти натуральных чисел S = 10. Протестируем алгоритм и запишем значения переменных в контрольных точках (табл. 1.5).
Тестирование алгоритма нахождения суммы ряда
(структура «цикл-пока»)
Контрольная точка | Значения данных |
A | n = 4 |
B | n = 4, S = 0, i = 1 |
условие | 1 < = 4 – истина (да) |
С | n = 4, S = 1, i = 2 |
условие | 2 < = 4 – истина (да) |
С | n = 4, S = 3, i = 3 |
условие | 3 < = 4 – истина (да) |
С | n = 4, S = 6, i = 4 |
условие | 4 < = 4 – истина (да) |
С | n = 4, S = 10, i = 5 |
условие | 5 < = 4 – ложь (нет) |
D | n = 4, S = 10, i = 5 |
Способ 2. Алгоритм с использованием структуры «цикл-до».
Результат проектирования представлен на рис. 1.11.
Тестирование алгоритма.
При тестировании расставим на алгоритме контрольные точки A, B, C, D (рис. 1.11).
Рис. 1.11. Алгоритм нахождения суммы ряда (структура «цикл-до»)
Зададим количество суммируемых первых натуральных чисел n = 4. Получим значение суммы первых пяти натуральных чисел
S = 10. Протестируем алгоритм и запишем значения переменных в контрольных точках (табл. 1.6).
|
|
Таблица 1.6
Тестирование алгоритма нахождения суммы ряда
(структура «цикл-до»)
Контрольная точка | Значения данных |
A | n = 4 |
B | n = 4, S = 0, i = 1 |
С | n = 4, S = 1, i = 2 |
условие | 2 > 4 – ложь (нет) |
С | n = 4, S = 3, I = 3 |
условие | 3 > 4 – ложь (нет) |
С | n = 4, S = 6, i = 4 |
условие | 4 > 4 – ложь (нет) |
С | n = 4, S = 10, i = 5 |
условие | 5 > 4 – истина (да) |
D | n = 4, S = 10, i = 5 |
Способ 3. Алгоритм с использованием структуры «цикл с параметром».
Результат проектирования представлен на рис. 1.12.
Рис. 1.12. Алгоритм нахождения суммы ряда (структура «цикл с параметром»)
Тестирование алгоритма.
При тестировании расставим на алгоритме контрольные точки A, B, C, D (рис. 1.12). Зададим количество суммируемых первых натуральных чисел n = 4. Получим значение суммы первых пяти натуральных чисел S = 10. Протестируем алгоритм и запишем значения переменных в контрольных точках (табл. 1.7).
Тестирование алгоритма нахождения суммы ряда
(структура «цикл с параметром»)
Контрольная точка | Значения данных |
A | n = 4 |
B | n = 4, S = 0 |
С | n = 4, i = 1, S = 1 |
С | n = 4, i = 2, S = 3 |
С | n = 4, i = 3, S = 6 |
С | n = 4, i = 4, S = 10 |
D | n = 4, i = 4, S = 10 |