Алгоритмизация и программирование
Алгоритмы. Основы алгоритмизации
1.68M
Категория: ПрограммированиеПрограммирование

Алгоритмы. Основы алгоритмизации и программирования

1. Алгоритмизация и программирование

Автор курса:
Шамак Виктория Александровна
старший преподаватель

2. Алгоритмы. Основы алгоритмизации

01
Алгоритмы. Основы алгоритмизации
Основные свойства алгоритма

3.

Алгоритм и алгоритмизация
Алгоритм – последовательность чётко определённых действий,
выполнение которых приводит к решению задачи.
3

4.

Алгоритм и алгоритмизация
Алгоритмизация – процесс составления пошагового плана (алгоритма)
для решения какой-либо задачи с помощью компьютера и
программирования.
Этапы решения задач.
1. Постановка задачи.
2. Формализация задачи.
3. Создание алгоритма решения.
4. Составление программы.
5. Тестирование и отладка программы.
4

5.

Атрибуты алгоритма
Имя.
Входные и выходные данные.
Начало и конец алгоритма.
Команды (действия, операторы).
5

6.

Свойства алгоритма
Дискретность;
Определенность (детерминированность);
Результативность (конечность);
Массовость.
6

7.

Способы представление алгоритмов
Словесноформульный
Псевдокод
Графический
7

8.

Базовые конструкции
линейная (следование);
ветвление (полная, неполная и множественные формы);
цикл (с предусловием, с постусловием, с параметром).
8

9.

Основные приемы разработки алгоритма
Метод пошаговой детализации – программированием сверху-вниз.
Метод восходящего программирования – программирование снизу-
вверх.
9

10.

Тестирование и отладка алгоритмов
Фирма Hewlett-Packard установила процентное соотношение ошибок,
обнаруживаемых в ПО на разных стадиях разработки.
10

11.

Тестирование алгоритмов
Тестирование алгоритма с помощью различных тестовых наборов данных
позволяет выявить его логические ошибки.
Структурное
тестирование
Функциональное
тестирование
11

12.

Контрольные тесты
Специально подобранные задачи с заранее известными
результатами.
Проверить все возможные варианты невозможно из-за их
бесконечности.
Тестируют ключевые случаи – так называемые точки бифуркации.
Для простых алгоритмов правильный выбор тестов позволяет
полностью оценить их работу.
12

13.

Трассировка
Трассировка – метод пошагового контроля значений переменных и
состояний алгоритма с помощью таблиц, в которых каждая строка отражает
текущее состояние, а столбцы – параметры алгоритма.
Облегчает понимание и отладку, позволяя выявлять ошибки при
пошаговом выполнении и анализе логики алгоритма.
Трассировочные таблицы удобно использовать при тестировании циклов
для проверки корректности входа, своевременного выхода и отсутствия
зацикливания.
Пример
трассировки
13

14.

Верификация, валидация и отладка
Верификация – теоретическое обоснование правильности работы
алгоритма:
логико-математического доказательства;
сопоставления с эталонными данными;
оценивая, насколько алгоритм соответствует заданной модели.
14

15.

Верификация, валидация и отладка
Валидация – проверка соответствия продукта требованиям пользователя
и системы:
обычно охватывая весь программный комплекс;
проводится на заключительных этапах разработки;
включает различные виды испытаний.
15

16.

Верификация, валидация и отладка
Процесс проверки включает:
верификацию и валидацию на всех этапах проектирования;
функциональное тестирование с трассировочными таблицами и
специально подобранными тестами.
16

17.

Верификация, валидация и отладка
Процесс поиска и исправления (явных или неявных) ошибок в алгоритме
называется отладкой алгоритма.
Основные задачи:
обнаружение ошибок;
диагностика и локализация ошибок;
исправление ошибок и корректировка алгоритмов.
17
English     Русский Правила