Опубликован: 22.01.2008 | Уровень: для всех | Доступ: свободно | ВУЗ: Кабардино-Балкарский государственный университет
Практическая работа 9:

Методы разработки и анализа алгоритмов

Аннотация: Решение типовых задач по проектированию, тестированию и трассировке алгоритмов (программ), обучение реферированию и Интернет–поиску по этой теме

Задачи

  1. Спроектировать нисходящим методом алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: разбить на две задачи, указанные в условии задачи, затем каждую – на новые подзадачи и т.д.
  2. Спроектировать восходящим методом алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: отправляться от простых задач нижнего уровня – добавление к предыдущему значению суммы нового слагаемого, переход к новому слагаемому (строке, столбцу), переход к новой строке (столбцу).
  3. Спроектировать модульно и структурно алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: модули – суммирование элементов строки M1(k, n, s1), суммирование элементов столбца M2(m, n, s2).
  4. Протестировать на полном тестовом наборе алгоритм нахождения суммы элементов задаваемой строки или задаваемого столбца квадратной матрицы А. Указание: в полный тестовый набор входят тесты а) n – некорректно задано; б) n=1 ; в) n>1 и т.д.
  5. Составить нисходящим методом алгоритм вычисления наибольшего и наименьшего из заданного ряда чисел. Указание: разбить на две задачи, указанные в условии задачи, затем каждую – на новые подзадачи и т.д.
  6. Составить нисходящим методом алгоритм нахождения количества чисел ряда не превосходящих среднего арифметического этого ряда. Указание: разбить на задачу поиска среднего и задачу поиска количества чисел, затем разбить их вновь на подзадачи и т.д.
  7. Протестировать алгоритм сортировки ряда на минимально необходимом наборе тестов. Указание: набор включает а) n – некорректно, б) n>1 и ряд произвольный; в) n>1 и ряд упорядочен по возрастанию; г) n>1 и ряд упорядочен по убыванию.
  8. Произвести трассировку алгоритма сортировки ряда для некоторого теста. Указание: "шапка" таблицы содержит объекты i, x[i], j, x[j], x[i]<x[j], y (буфер обмена).
  9. Определить функцию фрагмента алгоритма, записать его кратко, а также выполнить его трассировку при указанных начальных данных:
    х:=а[0];
    for i:=1 to n do
        x:=x*s+а[i];
    writeln(х);.
    Начальные данные: n=4, а[i]=i, s=2, i=0, 1, 2, 3,4. Указание: вспомнить схему Горнера.
  10. Определить функцию фрагмента алгоритма, записать его кратко, а также выполнить его трассировку при указанных начальных данных:
    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] лишь для первой половины ряда.

Темы научных исследований и рефератов (Интернет-листов)

  1. Нисходящее проектирование алгоритмов (программ).
  2. Восходящее проектирование алгоритмов (программ).
  3. Структурное проектирование алгоритмов (программ).
  4. Модульное проектирование алгоритмов (программ).
  5. Тестирование алгоритмов (программ).
  6. Верификация алгоритмов (программ).
  7. Трассировка алгоритмов (программ).
  8. Отладка программ.
  9. Сопровождение программ.
  10. Разработка программных комплексов.
Ксения Леонова
Ксения Леонова

как проверить себя, выполняя практические задания по информатике? где смотреть ответы на поставленные задачи?

спасибо за ответ)