Конспект урока по информатике на тему «Приемы отладки программ. Трассировка программ»
план-конспект урока по информатике и икт (11 класс)

Игошкина Юлия Викторовна

Конспект урока по информатике на тему «Приемы отладки программ. Трассировка программ»

Скачать:

ВложениеРазмер
Файл priemy_otladki_programm.docx312.76 КБ

Предварительный просмотр:

Конспект урока по информатике на тему «Приемы отладки программ. Трассировка программ»

Цель: познакомить учащихся с понятием «отладка», «Трассировка программ ».

Задачи урока:

развивающие:

- способствовать развитию логического мышления учащихся, познавательного интереса, памяти, внимательности;

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

воспитательные:

- содействовать воспитанию информационной культуры учащихся, формированию самостоятельности при решении задач.

Ход урока.

  1. Организационный момент.
  2. Повторение ранее изученной темы.
  3. Изучение новой темы.
  4. Итог урока.
  5. Домашнее задание.

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

Поиск и исправление ошибок в программе называют её отладкой.

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

Важно помнить, что одна допущенная ошибка может стать причиной «обнаружения» других предполагаемых ошибок (например, если в начале алгоритма вы забыли объявить тип используемой переменной, то возникнут ошибки при её последующем использовании). Поэтому ошибки надо исправлять с начала алгоритма и каждый раз, исправив очередную ошибку, повторять проверку программы заново: возможно, какие-то из ранее обнаруженных ошибок исчезнут сами собой.

Второй шаг отладки — проверка правильности работы программы на каком-то одном типовом примере. Цель этой проверки — убедиться, что в программе не допущено семантических (смысловых) ошибок.

Такую проверку можно выполнить путём трассировки программы — её пробного выполнения вручную для конкретных исходных данных, с контролем получаемых значений переменных на каждом шаге. Эти значения переменных удобно записывать в виде таблицы, которую называют таблицей трассировки.

Приведём пример трассировки программы вычисления факториала натурального числа:

НАЧАЛО

ВВОД N

F = 1

ПОКА N > 1 выполнять:

F = F * N N = N - 1

КОНЕЦ ПОКА

ВЫВОД F

КОНЕЦ

Проведём трассировку программы для значения N, равного 6. Моменты изменения значений переменных будем для наглядности выделять серым фоном. Заметим, что в остальных случаях в строках таблицы повторяются те значения переменных, которые были получены ранее и в данный момент сохраняются в них. Если же переменная ещё не имеет никакого значения, в соответствующей ячейке таблицы ставится прочерк.

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

В последней строке таблицы трассировки, соответствующей команде вывода результата, для соответствующей переменной (F) мы видим полученное значение (720).

Проверяем его правильность, зная математическую формулу расчета факториала:

6! = 6*5*4-3’2*1 = 720.

Совпадение результата, полученного при трассировке программы, со значением результата, вычисленным по исходной математической формуле, показывает, что алгоритм для выбранного исходного значения работает правильно. Однако это не гарантирует его правильную работу при всех возможных исходных данных. Поэтому необходим третий шаг отладки программы — её тестирование.

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

Так, для программы, связанной с математическими расчётами, необходимо предусмотреть следующие варианты исходных данных:

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

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

Если программа предполагает ввод нескольких исходных данных, то необходимо предусмотреть в наборе тестов все возможные их комбинации.

Разработка корректного и полного набора тестов для каждой отлаживаемой программы представляет собой отдельную, достаточно сложную задачу. Однако сделать это необходимо. Иначе варианты исходных данных, приводящие к сбою в работе программы, могут выявиться уже при работе с ней её пользователей.

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

Вопросы и задания

  1. Что такое отладка программы? Для чего она нужна?
  2. Перечислите основные этапы отладки программы. Опишите назначение каждого этапа и характер обнаруживаемых с его помощью недочётов программы.
  3. Что такое таблица трассировки? Как она составляется? Приведите свой пример программы и составленной для неё таблицы трассировки.
  4. Как формируется набор тестов для тестирования программы? Какие варианты исходных данных рекомендуется включать в этот набор тестов?
  5. Приходилось ли вам при работе на компьютере сталкиваться со сбоями в работе программ? Как вы считаете — вызвано ли это недостаточно тщательным тестированием этих программ при их разработке? Предположите, какие меры разработчику этих программ потребовалось (или потребуется) предпринять для исправления этих ошибок и оцените примерные затраты на это исправление.


По теме: методические разработки, презентации и конспекты

План – конспект занятия по информатике по теме: "Язык программирования Pascal. Составление программ."

План – конспект занятия по информатике по теме: "Язык программирования Pascal. Составление программ." Повторение материала и составление программ по рисунку....

Конспект урока по информатике на тему "Простейшие программы"

Конспект урока по информатике на тему "Простейшие программы"...

Конспект урока по информатике по теме "Техника безопасности в кабинете информатики. Информация в живой и неживой природе"

Цели урока:научить правильно и безопасно организовывать своё рабочее место и деятельность на уроке, дать первые основные понятия информации в живой и неживой природе, информатике;воспитание информацио...

Конспект урока по информатике на тему «Приемы отладки программ. Трассировка программ»

Конспект урока по информатике на тему «Приемы отладки программ. Трассировка программ»...

Конспект урока по информатике на тему «Пакеты прикладных программ»

Конспект урока по информатике на тему «Пакеты прикладных программ»...

Конспект урока по информатике на тему «Пакеты прикладных программ»

Конспект урока по информатике на тему «Пакеты прикладных программ»...