866649
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
+Добавить материал
и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
Дистанционные курсы профессиональной переподготовки и повышения квалификации для педагогов

Дистанционные курсы для педагогов - курсы профессиональной переподготовки от 5 480 руб.;
- курсы повышения квалификации от 1 400 руб.
Московские документы для аттестации

ВЫБРАТЬ КУРС СО СКИДКОЙ 60%

ВНИМАНИЕ: Скидка действует ТОЛЬКО до 28 февраля!

(Лицензия на осуществление образовательной деятельности №038767 выдана ООО "Столичный учебный центр", г.Москва)

Инфоурок / Другое / Презентации / Презентация по МДК.01.01. Системное программирование на тему "Отладка программы. Принципы и виды отладок"

Презентация по МДК.01.01. Системное программирование на тему "Отладка программы. Принципы и виды отладок"


Напоминаем, что в соответствии с профстандартом педагога (утверждён Приказом Минтруда России), если у Вас нет соответствующего преподаваемому предмету образования, то Вам необходимо пройти профессиональную переподготовку по профилю педагогической деятельности. Сделать это Вы можете дистанционно на сайте проекта "Инфоурок" и получить диплом с присвоением квалификации уже через 2 месяца!

Только сейчас действует СКИДКА 50% для всех педагогов на все 184 курса профессиональной переподготовки! Доступна рассрочка с первым взносом всего 10%, при этом цена курса не увеличивается из-за использования рассрочки!

ВЫБРАТЬ КУРС И ПОДАТЬ ЗАЯВКУ
библиотека
материалов
Отладка программы. Принципы и виды отладок Page * Образец заголовка
Вопросы для повторения: - Какая клавиша и кнопка позволяет откомпилировать пр...
Выполнение отладки: 1) Поставить курсор на нужную строку кода – нажать  -  По...
Page *
Написанная (вечером?) большая программа всегда содержит ошибки. Page *
Отладка (debugging) Написав определенную программу, вы должны найти и удалить...
Иногда говорят, что термин «жучок» возник в те времена, когда аппаратное обес...
1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Отлад...
1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Обычн...
Как понять, что программа действительно работает правильно? Основной вопрос о...
Программировать надо так, чтобы жучкам негде было укрыться. Главная цель – ст...
1) Подумайте об отладке, прежде чем напишете первую строку своей программы. К...
3) Старайтесь, чтобы программу было легко читать: а) хорошо комментируйте сво...
б) Используйте осмысленные имена (не означает, что длинные); в) используйте л...
д) избегайте сложных выражений (вложенных циклов, вложенных инструкций if, сл...
cout
cout
int f (int a) { if (a>0) { /* что-то делаем */ else { /* делаем что-то другое...
4. Каждое ли имя объявлено? наиболее распространенные ошибки компиляции: Page *
5. Включены ли все необходимые заголовочные файлы (например, #include "std_li...
6. Объявлено ли каждое имя до его использования? наиболее распространенные ош...
int count; /*...*/ ++Count; // Ой! char ch; /*...*/ Cin>>c; // Ой-ой! 7. Прав...
х = sqrt(y)+2 // Ой! z = х+3; 8. Поставлено ли двоеточие после каждой инструк...
После того как программа скомпилирована, а ее связи отредактированы, наступае...
Обычная проблема с консолью Windows заключается в том, что она исчезает, не д...
for (int i = 0; i
Вставить отладочный код (дополнительные инструкции вывода): int my_fct(int a,...
Вставьте инструкции для проверки инвариантов (т.е. условий, которые всегда до...
Следует знать, что наилучшего способа отладки не существует. Просто надо помн...
Следующая программа вводит температуру по шкале Цельсия и преобразует ее в шк...
double сtok(double с) // преобразует шкалу Цельсия в шкалу Кельвина { int k =...
2) Самой низкой температурой является абсолютный нуль, т.е. -273,15°С, или 0...
3) Повторите упр. 2, но на этот раз ошибку обработайте в функции ctok (). Pag...
Как определить, когда следует остановить отладку? Ясно, что отладка должна ид...
Page *

Описание презентации по отдельным слайдам:

1 слайд Отладка программы. Принципы и виды отладок Page * Образец заголовка
Описание слайда:

Отладка программы. Принципы и виды отладок Page * Образец заголовка

2 слайд Вопросы для повторения: - Какая клавиша и кнопка позволяет откомпилировать пр
Описание слайда:

Вопросы для повторения: - Какая клавиша и кнопка позволяет откомпилировать проект (на наличие синтаксических ошибок). - Где отображаются ошибки, обнаруженные в процессе компиляции программы? Page *

3 слайд Выполнение отладки: 1) Поставить курсор на нужную строку кода – нажать  -  По
Описание слайда:

Выполнение отладки: 1) Поставить курсор на нужную строку кода – нажать <Отладка> - <Выполнить до курсора> После этого программа выполняется до той строки, где курсор и строка выделяется синим цветом. Далее можно пошагово выполнять программу. Для этого надо нажимать "Следующий шаг" Можно нажать "Продолжить выполнение", тогда программа выполнится полностью... Можно посмотреть ассемблерный код в процессе остановки программы. Для этого выполнить до курсора, потом <Отладка> - <Показать окно CPU>... В Dev C++ довольно слабый Отладчик. Можно скачать OllyDbg и настроить Dev C++ так, чтобы предпоследний можно было из этой среды запустить. Page *

4 слайд Page *
Описание слайда:

Page *

5 слайд Написанная (вечером?) большая программа всегда содержит ошибки. Page *
Описание слайда:

Написанная (вечером?) большая программа всегда содержит ошибки. Page *

6 слайд Отладка (debugging) Написав определенную программу, вы должны найти и удалить
Описание слайда:

Отладка (debugging) Написав определенную программу, вы должны найти и удалить ошибки. Этот процесс обычно называют отладкой (debugging), а ошибки — жучками (bugs). Page *

7 слайд Иногда говорят, что термин «жучок» возник в те времена, когда аппаратное обес
Описание слайда:

Иногда говорят, что термин «жучок» возник в те времена, когда аппаратное обеспечение выходило из строя из-за насекомых, случайно заблудившихся среди электронных ламп и реле, заполнявших комнаты. Иногда считают, что этот термин изобрел Грейс Мюррей Хоппер, создатель языка программирования COBOL. Отладка (debugging) Page *

8 слайд 1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Отлад
Описание слайда:

1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Отладка выглядит примерно так: Page *

9 слайд 1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Обычн
Описание слайда:

1. Компилируем программу. 2. Редактируем связи. 3. Выполняем программу. Обычно эта последовательность операций выполняется снова и снова: для действительно крупных программ этот процесс повторяется сотни и тысячи раз год за годом Отладка выглядит примерно так: Page *

10 слайд Как понять, что программа действительно работает правильно? Основной вопрос о
Описание слайда:

Как понять, что программа действительно работает правильно? Основной вопрос отладки звучит так: Page *

11 слайд Программировать надо так, чтобы жучкам негде было укрыться. Главная цель – ст
Описание слайда:

Программировать надо так, чтобы жучкам негде было укрыться. Главная цель – структурировать программу так, чтобы минимизировать вероятность ошибок и максимально увеличить вероятность их обнаружения. Page *

12 слайд 1) Подумайте об отладке, прежде чем напишете первую строку своей программы. К
Описание слайда:

1) Подумайте об отладке, прежде чем напишете первую строку своей программы. Когда написано уже много строк, уже слишком поздно пытаться упростить отладку. 2) Решите, как сообщать об ошибках. Можно использовать функцию Error() и перехватывать исключение в функции main(). Практические советы по отладке: Page *

13 слайд 3) Старайтесь, чтобы программу было легко читать: а) хорошо комментируйте сво
Описание слайда:

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

14 слайд б) Используйте осмысленные имена (не означает, что длинные); в) используйте л
Описание слайда:

б) Используйте осмысленные имена (не означает, что длинные); в) используйте логичную схему кода; г) разбивайте программу на небольшие фрагменты, каждый из которых выражает определенную логическую операцию (старайтесь, чтобы функция не превышала 1-2 страниц); Практические советы по отладке: Page *

15 слайд д) избегайте сложных выражений (вложенных циклов, вложенных инструкций if, сл
Описание слайда:

д) избегайте сложных выражений (вложенных циклов, вложенных инструкций if, сложных условий и т.д.) Иногда они необходимы, но здесь часто прячутся ошибки. е) используйте, где только можно, библиотечные функции, а не собственный код (библиотеки, как правило, лучше продуманы и протестированы, чем ваши собственные программы). Практические советы по отладке: Page *

16 слайд cout
Описание слайда:

cout << "Привет, << name << '\n'; // Ой! 1. Закрыта ли кавычка строки литералов? наиболее распространенные ошибки компиляции: Page *

17 слайд cout
Описание слайда:

cout << "Привет, " << name << '\n; // Ой/ 2. Закрыта ли кавычка отдельного литерала? наиболее распространенные ошибки компиляции: Page *

18 слайд int f (int a) { if (a&gt;0) { /* что-то делаем */ else { /* делаем что-то другое
Описание слайда:

int f (int a) { if (a>0) { /* что-то делаем */ else { /* делаем что-то другое */ } } /Ой! 3. Закрыта ли фигурная скобка блока? наиболее распространенные ошибки компиляции: Page *

19 слайд 4. Каждое ли имя объявлено? наиболее распространенные ошибки компиляции: Page *
Описание слайда:

4. Каждое ли имя объявлено? наиболее распространенные ошибки компиляции: Page *

20 слайд 5. Включены ли все необходимые заголовочные файлы (например, #include &quot;std_li
Описание слайда:

5. Включены ли все необходимые заголовочные файлы (например, #include "std_lib_facilities. h")? наиболее распространенные ошибки компиляции: Page *

21 слайд 6. Объявлено ли каждое имя до его использования? наиболее распространенные ош
Описание слайда:

6. Объявлено ли каждое имя до его использования? наиболее распространенные ошибки компиляции: Page *

22 слайд int count; /*...*/ ++Count; // Ой! char ch; /*...*/ Cin&gt;&gt;c; // Ой-ой! 7. Прав
Описание слайда:

int count; /*...*/ ++Count; // Ой! char ch; /*...*/ Cin>>c; // Ой-ой! 7. Правильно ли набраны все имена? наиболее распространенные ошибки компиляции: Page *

23 слайд х = sqrt(y)+2 // Ой! z = х+3; 8. Поставлено ли двоеточие после каждой инструк
Описание слайда:

х = sqrt(y)+2 // Ой! z = х+3; 8. Поставлено ли двоеточие после каждой инструкции? наиболее распространенные ошибки компиляции: Page *

24 слайд После того как программа скомпилирована, а ее связи отредактированы, наступае
Описание слайда:

После того как программа скомпилирована, а ее связи отредактированы, наступает самый трудный этап, на котором необходимо понять, почему программа работает не так, как вы предполагали. Page *

25 слайд Обычная проблема с консолью Windows заключается в том, что она исчезает, не д
Описание слайда:

Обычная проблема с консолью Windows заключается в том, что она исчезает, не дав вам шанса увидеть, что было выведено на экран (если что-то все-таки было выведено). Одно из решений этой проблемы — вызвать функцию keep_window_open () из заголовочного файла std_lib_facilities.h в конце функции main О. Page *

26 слайд for (int i = 0; i
Описание слайда:

for (int i = 0; i<=max; ++j) { // Ой! (Дважды) for (int i=0; 0<max; ++i); // Выводим элементы вектора v cout << “v[" << i << ”]==” << v[i] << ‘\n’; 9. Часто, когда программист не видит проблемы, причина заключается в том, что вы видите не действительное, а желаемое. наиболее распространенные ошибки компиляции: Page *

27 слайд Вставить отладочный код (дополнительные инструкции вывода): int my_fct(int a,
Описание слайда:

Вставить отладочный код (дополнительные инструкции вывода): int my_fct(int a, double d) { int res = 0; cerr << "my_fct(" << a << "," << d << ") \n"; // вывод промежуточных значений // . . . какой-то код . . . cerr << "my_fct() возвращает “ << res << ‘\n’; return res; } наиболее распространенные ошибки компиляции: Page *

28 слайд Вставьте инструкции для проверки инвариантов (т.е. условий, которые всегда до
Описание слайда:

Вставьте инструкции для проверки инвариантов (т.е. условий, которые всегда должны выполняться) в подозрительные разделы. int my_complicated_f unction (int a, int b, int c) // Аргументы являются положительными и а < b < с { if (!(0<a && a<b && b<c)) // ! значит НЕ, а && значит И error ("Неверные аргументы функции mcf ") ; // . . . } наиболее распространенные ошибки компиляции: Page *

29 слайд Следует знать, что наилучшего способа отладки не существует. Просто надо помн
Описание слайда:

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

30 слайд Следующая программа вводит температуру по шкале Цельсия и преобразует ее в шк
Описание слайда:

Следующая программа вводит температуру по шкале Цельсия и преобразует ее в шкалу Кельвина. Этот код содержит много ошибок. 1) Найдите ошибки, перечислите их и исправьте программу. Page *

31 слайд double сtok(double с) // преобразует шкалу Цельсия в шкалу Кельвина { int k =
Описание слайда:

double сtok(double с) // преобразует шкалу Цельсия в шкалу Кельвина { int k = с + 273.15; return int } int main () { double с = 0; // объявляем переменную для ввода cin >> d; // вводим температуру в переменную ввода double k = ctok("c"); // преобразуем температуру Cout << k << endl ; // выводим температуру на печать } Page *

32 слайд 2) Самой низкой температурой является абсолютный нуль, т.е. -273,15°С, или 0
Описание слайда:

2) Самой низкой температурой является абсолютный нуль, т.е. -273,15°С, или 0 К. Даже после исправления приведенная выше программа выводит неверные результаты для температуры ниже абсолютного нуля. Поместите в функцию main () проверку, которая выводит сообщение об ошибке, если температура ниже -273,15°С. Page *

33 слайд 3) Повторите упр. 2, но на этот раз ошибку обработайте в функции ctok (). Pag
Описание слайда:

3) Повторите упр. 2, но на этот раз ошибку обработайте в функции ctok (). Page *

34 слайд Как определить, когда следует остановить отладку? Ясно, что отладка должна ид
Описание слайда:

Как определить, когда следует остановить отладку? Ясно, что отладка должна идти до тех пор, пока не будут выявлены все ошибки, — или нам так покажется. А как узнать, что мы нашли последнюю ошибку? Мы не знаем. Последняя ошибка — это шутка программистов. Такой ошибки не существует. В большой программе никогда невозможно найти последнюю ошибку. Page *

35 слайд Page *
Описание слайда:

Page *

Краткое описание документа:

Презентация составлена для специальности 09.02.03. Программирование в компьютерных системах для изучения профессионального модуля ПМ.01. Разработка программных модулей программного обеспечения для компьютерных систем, МДК.01.01. Системное программирование.

Язык программирования - C++, среда разработки - Dev-C++.

Некоторые сведения для презентации взяты из книги:

Бьярне Страуструп. Программирование: принципы и практика использования C++. : Пер. с англ. – М.: ООО "И.Д. Вильямс", 2011. – 1248 с.


Общая информация

Номер материала: ДВ-504725



Очень низкие цены на курсы переподготовки от Московского учебного центра для педагогов

Специально для учителей, воспитателей и других работников системы образования действуют 60% скидки (только до конца зимы) при обучении на курсах профессиональной переподготовки (124 курса на выбор).

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Подайте заявку на интересующий Вас курс сейчас: KURSY.ORG

Вам будут интересны эти курсы:

Курс повышения квалификации «Подростковый возраст - важнейшая фаза становления личности»
Курс профессиональной переподготовки «Библиотечно-библиографические и информационные знания в педагогическом процессе»
Курс «Менеджер по продажам»
Курс «Логистика»
Курс «Администратор гостиницы»
Курс повышения квалификации «Правовое обеспечение деятельности коммерческой организации и индивидуальных предпринимателей»
Курс профессиональной переподготовки «Управление персоналом и оформление трудовых отношений»
Курс повышения квалификации «Экономика предприятия: оценка эффективности деятельности»
Курс профессиональной переподготовки «Организация деятельности по подбору и оценке персонала (рекрутинг)»
Курс повышения квалификации «Применение MS Word, Excel в финансовых расчетах»
Курс повышения квалификации «Маркетинг в организации, как средство привлечения новых клиентов»
Курс повышения квалификации «Страхование и актуарные расчеты»
Курс повышения квалификации «Организация маркетинга в туризме»
Курс профессиональной переподготовки «Организация деятельности специалиста оценщика-эксперта по оценке имущества»
Курс профессиональной переподготовки «Организация процесса страхования (перестрахования)»

Благодарность за вклад в развитие крупнейшей онлайн-библиотеки методических разработок для учителей

Опубликуйте минимум 3 материала, чтобы БЕСПЛАТНО получить и скачать данную благодарность

Сертификат о создании сайта

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

Грамота за использование ИКТ в работе педагога

Опубликуйте минимум 10 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Свидетельство о представлении обобщённого педагогического опыта на Всероссийском уровне

Опубликуйте минимум 15 материалов, чтобы БЕСПЛАТНО получить и скачать данное cвидетельство

Грамота за высокий профессионализм, проявленный в процессе создания и развития собственного учительского сайта в рамках проекта "Инфоурок"

Опубликуйте минимум 20 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Грамота за активное участие в работе над повышением качества образования совместно с проектом "Инфоурок"

Опубликуйте минимум 25 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Почётная грамота за научно-просветительскую и образовательную деятельность в рамках проекта "Инфоурок"

Опубликуйте минимум 40 материалов, чтобы БЕСПЛАТНО получить и скачать данную почётную грамоту

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