ВУЗ:
Составители:
Рубрика:
68
3-я ветвь: a=3, b=6, c=1; m=6 (a<=b и c<b).
4-я ветвь: a=3, b=4, c=5; m=5 (a<=b<=c).
Формально построенное решение можно записать так: m=max(max(a,b),c).
Упражнение
. Постройте другие решения, основанные на этом же
принципе.
Второе решение можно получить так. Предположим, что максимальным из
трех заданных величин является a. Запишем ее в переменную m. Затем
последовательно сравним m с b и c и, если окажется, что m меньше значения
какой-либо из переменных, то это значение присвоим m. Это решение
основывается на втором варианте
решения предыдущей задачи.
m:=a;
if m<b
then m:=b;
if m<c
then m:=c;
Упражнения:
1. Установите, сколько ветвей в данном алгоритме и постройте для каждой
ветви тест. Подойдут ли для тестирования этого решения тесты предыдущего
решения?
2. Постройте алгоритмы, аналогичные решению 2, выбрав в качестве
начального значения для максимума переменные b и c. Сравните полученные
решения между собой. В чем сходство? Различие? Выполните тесты решения 1
на построенных алгоритмах.
Достаточно ли этих тестов? Предложите другие
тесты для ваших алгоритмов.
3. Напишите алгоритм, формальная запись которого такова:
m=max(max(a,b),max(a,c),max(b,c)). Постройте тесты для полученного
алгоритма. Сравните это решение с предыдущими.
4. Напишите алгоритм для нахождения минимального из трех.
5. Установите, какую задачу решают алгоритмы, построенные по
формальным записям: а) m=max(min(a,b),c); б) m=min(max(a,b),c). Постройте
для них тесты.
6.
Установите, какую задачу решает следующий фрагмент программы?
if a>b
then m:=a
else m:=b;
if m<c
then m:=c
Постройте для него тесты. Сравните это решение с предыдущими.
7. Установите, какую задачу решает следующий фрагмент программы?
if (a>b) and (a>c)
then m:=a { ветка 1 }
else if b>c
then m:=b { ветка 2 }
else m:=c { ветка 3 }
68 3-я ветвь: a=3, b=6, c=1; m=6 (a<=b и cb then m:=a else m:=b; if mb) and (a>c) then m:=a { ветка 1 } else if b>c then m:=b { ветка 2 } else m:=c { ветка 3 }
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »
