12+  Свидетельство СМИ ЭЛ № ФС 77 - 70917 Контактная и правовая информация
 
Педагогическое сообщество
УРОК.РФ
УРОК
Материал опубликовала
Демидова Екатерина Васильевна478
Россия, Калининградская обл., Багратионовск

Урок 2 (2 часа)

Типы алгоритмов. Трансляторы
Отладка и тестирование программы

План урока

Тема: Типы алгоритмов. Трансляторы. Отладка и тестирование программы

Обучающие цели:

определить уровень усвоения понятий алгоритма, его типов и форм;

продолжить формирование знаний об этапах разработки программы;

сформировать понятия программа, программирование;

классифицировать и охарактеризовать языки программирования;

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

познакомить с тестированием и отладкой программы как этапами анализа результата.

Тип урока: урок изучения нового материала

ФОПД: фронтальная

Методы:

 объяснительно-иллюстративный, репродуктивный, частично-поисковый.

(по характеру познавательной деятельности)

Ход урока:

Организационный момент.

Актуализация знаний.

Усвоение новых знаний и способов действий.

Первичная проверка понимания.

Этап коррекции знаний и способов действий.

Информация о домашнем задании.

Подведение итогов. Рефлексия

Конспект урока

Программа. Программирование.
Трансляторы. Отладка и тестирование программы

Организационный момент

Приветствие, отметить отсутствующих.

Актуализация знаний

Дайте определение понятию «Исполнитель».

На какие виды делятся исполнители? Приведите по 3 примера по каждому виду.

Перечислите способы записи алгоритма.

Каким СКИ обладают следующие исполнители:

  1. студент;

    бухгалтер.

 

Усвоение новых знаний и способов действий

Типы алгоритмов

Известны три типа алгоритмов – линейные, разветвляющиеся, циклические.

Линейный тип алгоритмов

Алгоритмы, в которых команды выполняются последовательно друг за другом, независимо от каких-либо условий, называются алгоритмами линейного типа.

Задача: вычислить площадь круга, если известен радиус.

Дано: R - радиус круга.

Найти: S - площадь круга.

Решение: S=3,14 R2


 

Словесная форма записи алгоритма

Прочесть значение R.

Умножить значение R на 3,14.

Умножить результат второго действия на значение R.

Записать полученный результат как значение S.

Разветвляющийся тип алгоритмов

Решение задач не всегда можно представить в виде линейного алгоритма.

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

При графическом способе ветвление организуется с помощью логического элемента (ромб), имеющего один вход и два выхода. Назначение логического элемента – проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь «Да» или «Нет».

Задача: вычислить .

Дано: х – значение аргумента.

Найти: у – значение функции.

Решение:

y= x, если х0

-x, если х<0

Словесная форма записи алгоритма

Прочесть значение х

Если х>0, то у: = х иначе у: = -х

Записать значение у

Выделяют полную и неполную условную конструкцию.

Циклический тип алгоритмов

При составлении алгоритмов решения достаточно большого круга задач нередко возникает потребность в неоднократном повторении одних и тех же команд.

Алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов), называется алгоритмом циклического типа.

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

Программа

Для автоматизации процесса решения задачи алгоритм должен быть записан на компьютере. Команды, предназначенные для ЭВМ необходимо записывать в понятной ей форме. С этой целью применяются языки программирования – искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру.

Программа – это алгоритм (набор команд), записанный на языке программирования.

Программа представляет собой набор единиц информации – байтов.

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

Язык программирования – это фиксированная система обозначений и правил для описания алгоритмов и структур данных.

Программирование – это процесс составления алгоритма решения поставленной задачи на языке программирования, ее тестирование (проверка соответствия поставленной задаче) и отладка (исправление ошибок).

Этапы разработки программы

Написание исходного текста программы на языке программирования.

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

Перевод программы с языка программирования на язык машинных кодов называется трансляцией. Выполняется он специальными программами – трансляторами.

Все трансляторы разделяют на три вида: интерпретатор, компилятор, ассемблер.

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

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

Если процесс преобразования программы в машинный код осуществляется покомандно, то он называется интерпретацией. За это отвечают интерпретаторы.

Для перевода языков низкого уровня в машинные коды существуют ассемблеры.

3. Анализ результата

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

Отладка – это процесс выявления и исправления ошибок.

Виды ошибок, возникающих в процессе разработки программы:

синтаксические;

логические;

динамические.

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

Логические – связанные с неправильной разработкой или реализацией алгоритма. Данные ошибки выявляются в процессе тестирования программы.

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

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

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

Итак, обнаружение синтаксических ошибок осуществляется на этапе компиляции программы компилятором. А за обнаружение логических и динамических ошибок отвечает программа, контролирующая процесс выполнения программы, которая называется отладчик.

Первичное понимание и коррекция знаний

Фронтальная беседа по вопросам:

1. назовите типы алгоритмов

2. приведите примеры алгоритмов

3. Что такое программа

4. Что такое программирование

5. Перечислите этапы разработки программ

6. Чем интерпретатор отличается от компилятора.

При необходимости (неправильные ответы), разъяснять ошибки и исправлять их.

Домашнее задание

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

Подведение итогов. Рефлексия

1. Спросить остались ли у кого вопросы. (по возможности ответить на них)

2. Попросить на доске нарисовать смайл, который отражает их эмоциональное состояние на конец урока.

3. Похвалить ребят за продуктивный урок.

4. Попрощаться.

"Алгоритмизация" окно Turbo Pascal - в качестве фона

Опубликовано в группе «УРОК.РФ: группа для участников конкурсов»

Комментарии (0)

Чтобы написать комментарий необходимо авторизоваться.