Annotation: Решение типовых задач по проектированию, тестированию и трассировке алгоритмов (программ), обучение реферированию и Интернет–поиску по этой теме
Задачи
- Спроектировать нисходящим методом алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: разбить на две задачи, указанные в условии задачи, затем каждую – на новые подзадачи и т.д.
- Спроектировать восходящим методом алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: отправляться от простых задач нижнего уровня – добавление к предыдущему значению суммы нового слагаемого, переход к новому слагаемому (строке, столбцу), переход к новой строке (столбцу).
- Спроектировать модульно и структурно алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: модули – суммирование элементов строки M1(k, n, s1), суммирование элементов столбца M2(m, n, s2).
- Протестировать на полном тестовом наборе алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: в полный тестовый набор входят тесты а) n – некорректно задано; б) n=1 ; в) n>1 и т.д.
- Составить нисходящим методом алгоритм вычисления наибольшего и наименьшего из заданного ряда чисел. Указание: разбить на две задачи, указанные в условии задачи, затем каждую – на новые подзадачи и т.д.
- Составить нисходящим методом алгоритм нахождения количества чисел ряда не превосходящих среднего арифметического этого ряда. Указание: разбить на задачу поиска среднего и задачу поиска количества чисел, затем разбить их вновь на подзадачи и т.д.
- Протестировать алгоритм сортировки ряда на минимально необходимом наборе тестов. Указание: набор включает а) n – некорректно, б) n>1 и ряд произвольный; в) n>1 и ряд упорядочен по возрастанию; г) n>1 и ряд упорядочен по убыванию.
- Произвести трассировку алгоритма сортировки ряда для некоторого теста. Указание: "шапка" таблицы содержит объекты i, x[i], j, x[j], x[i]<x[j], y (буфер обмена).
- Определить функцию фрагмента алгоритма, записать его кратко, а также выполнить его трассировку при указанных начальных данных:
х:=а[0];
for i:=1 to n do
x:=x*s+а[i];
writeln(х);.
Начальные данные: n=4, а[i]=i, s=2, i=0, 1, 2, 3,4. Указание: вспомнить схему Горнера.
- Определить функцию фрагмента алгоритма, записать его кратко, а также выполнить его трассировку при указанных начальных данных:
b:=0;
с:=1;
for i:=1 to n do
if (i<n/2)
then b:=b+а[i]
else с:=с*а[i];.
Начальные данные: n=8, а[i]=i, i=1, 2, ..., 8. Указание: условие i<n/2 позволяет выполнять команды b:=b+a[i], c:=c*a[i] лишь для первой половины ряда.
Темы научных исследований и рефератов (Интернет-листов)
- Нисходящее проектирование алгоритмов (программ).
- Восходящее проектирование алгоритмов (программ).
- Структурное проектирование алгоритмов (программ).
- Модульное проектирование алгоритмов (программ).
- Тестирование алгоритмов (программ).
- Верификация алгоритмов (программ).
- Трассировка алгоритмов (программ).
- Отладка программ.
- Сопровождение программ.
- Разработка программных комплексов.