Что такое отладка и тестирование программы



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

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

Нашу программу, например, можно протестировать на значении N = 6. На экране должно получиться:

Введите число букв: 6
Из 6 букв можно составить 720 слов.

6. Проведение расчетов и анализ полученных результатов - этот этап технологической цепочки реализуется при разработке практически полезных (не учебных) программ. Например, программы "Расчет прогноза погоды". Ясно, что ею будут пользоваться длительное время, и правильность ее работы очень важна для практики. А поэтому в процессе эксплуатации эта программа может дорабатываться и совершенствоваться.

Практические задания

1. Как блок-схемой и на алгоритмическом языке представляется команда цикла с предусловием?

2. Как программируется цикл с предусловием на Паскале?

3. Почему алгоритм вычисления N1 должен быть циклическим?

4. Из каких этапов состоит работа программиста по решению задачи на компьютере?

5. Что такое математическая формализация задачи?

6. Что такое отладка программы? Что называется тестом?

7. Составьте алгоритм вычисления суммы всех натуральных чисел, не превышающих заданного натурального числа N. Проверьте алгоритм трассировкой. Напишите программу на Паскале.

8. Дано целое число X и натуральное N. Составьте алгоритм вычисления XN. Проверьте алгоритм трассировкой. Напишите программу на Паскале.

 

Контрольные вопросы

1. Каковы назначение и возможности системы программирования?

2. Как запустить программу на трансляцию и выполнение?

3. Как обозначается начало и конец программы?

4. Из каких разделов состоит программа на языке Паскаль?

5. Как в языке Паскаль осуществляется вывод на экран?

6. Для чего предназначен оператор присваивания?

7. Как вывести на экран значение переменной?

 

Список литературы

1.Аляев Ю.А. Тюрин С.Ф. Дискретная математика и математическая логика. — М.: Финансы и статистика, 2006. — 368 с.
2.Варпаховский Ф.Л. Элементы теории алгоритмов. - М., Просвещение, 1970. - 25 с. (МГЗПИ)
3.Гуц А.К. Математическая лоrика и теория алrоритмов. - Омск: Издательство Наследие. Диалог-Сибирь, 2003. - 108 с.
4.Босс В. Лекции по математике. Т. 6: От Диофанта до Тьюринга. - М.: КомКнига, 2006. - 208 с.
5.Босс В. Лекции по математике. Т. 10: Перебор и эффективные алгоритмы: Учебное пособие. — М.: Издательство ЛКИ, 2008. - 216 с.

Практическое занятие № 23  Массовая и индивидуальная задача

Тема программы: Задачи и алгоритмы

Цели работы:

1) Обобщить теоретические знания по теме «Задачи и алгоритмы».

2) Рассмотреть алгоритмы решений заданий теме « Задачи и алгоритмы», решить задачи в ОС МЕГАПЛАН.

3) Формировать тактичность; терпимость; умение доказать свою точку зрения при работе в коллективе.

Время выполнения: 2 часа.

Теоретические основы

Массовая задача

Под массовой задачей (или просто задачей) будем понимать некоторый
общий вопрос, на который следует дать ответ:

- Есть ли в задаче гамильтонов цикл?

- Существует ли в графе клика мощности не менее K?

Задача задается следующей информацией:

1) списком всех ее параметров;

2) формулировкой свойств, которым должен удовлетворять ответ

Индивидуальная задача получается из массовой присвоением конкретных значений всем параметрам.

Алгоритмы

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

Будем выделять

· точные алгоритмы, которые для любой индивидуальной задачи всегда дают точное решение;

· приближенные алгоритмы с гарантированной оценкой точности;

· аппроксимационные схемы — семейство алгоритмов, позволяющих получать решения с любой наперед заданной точностью e  > 0, время работы которых растет с ростом величины 1/e ;

· итерационные методы локального поиска (метаэвритстики), для которых вероятность получить точное решение растет с ростом числа итераций;

· быстрые конструктивные эвристики без гарантии получить точное решение или решение с заданной погрешностью.


Дата добавления: 2018-02-28; просмотров: 838; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!