Урок №2. Выполнение алгоритмов компьютером. Блок-схемы алгоритмов.
Цели урока:
помочь учащимся получить представление об выполнение алгоритмов компьютером, блок-схемах алгоритмов;
воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.
развитие познавательных интересов, навыков работы на компьютере, самоконтроля, умения конспектировать.
Оборудование:
доска, компьютер, компьютерная презентация.
План урока:
1. Орг. момент. (1 мин)
2. Проверка знаний. (5 мин)
3. Теоретическая часть. (15 мин)
4. Практическая часть. (15 мин)
5. Д/з (2 мин)
6. Вопросы учеников. (5 мин)
7. Итог урока. (2 мин)
Ход урока:
1. Орг. момент.
Приветствие, проверка присутствующих. Объяснение хода урока.
2. Проверка знаний.
1. Определение алгоритма.
2. Свойства алгоритма.
3.Определение исполнителя алгоритма.
4. Способы записи алгоритма.
3. Теоретическая часть.
Решение задач с помощью компьютера включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера.
Процесс разработки программы
Разработку программы можно разбить на следующие этапы:
1. Постановка задачи: сбоp информации о задаче; фоpмулиpовка условия задачи; опpеделение конечных целей pешения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т.п. ).
2. Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; pазpаботка математической модели; разработка структур данных.
3. Составление алгоритма решения задачи: выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
выбоp тестов и метода тестиpования; проектирование алгоритма.
4. Написание текста программы: выбор языка программирования;
уточнение способов организации данных; запись алгоpитма на выбpанном языке пpогpаммиpования.
5. Отладка программы. Отладка программы — это процесс устранения ошибок из текста программы. Все ошибки делятся на синтаксические и логические. При наличии синтаксических ошибок (ошибок в написании операторов) программа не запускается. Подобные ошибки исправляются проще всего.
Примеры синтаксических ошибок: пропуск знака пунктуации; несогласованность скобок; неправильное формирование оператора; неверное образование имен переменных; неверное написание служебных слов; отсутствие условий окончания цикла; отсутствие описания массива и т.п.
6.Логические ошибки — это ошибки, при которых программа работает, но неправильно, выдавая не те результаты, которые ожидает разработчик или пользователь. Логические ошибки исправить сложнее, чем синтаксические, иногда для этого приходится переписывать отдельные участки программы, а иногда перерабатывать весь алгоритм.
7. Тестирование программы- синтаксическая отладка; отладка семантики и логической стpуктуpы; тестовые pасчеты и анализ pезультатов тестиpования;
совершенствование пpогpаммы.
Тестирование программы — процесс выявления ошибок в ее работе.
Процессы отладки и тестирования сопровождаются неоднократным запуском программы на выполнение. Процесс запуска может быть осуществлен только после того, как введенная в компьютер программа на алгоритмическом языке или Pascal будет переведена в двоичный машинный код и создан исполняемый файл.
Процесс перевода текста программы в машинный код называют трансляцией. Все трансляторы делятся на два класса:
• интерпретаторы — трансляторы, которые переводят каждый оператор программы в машинный код и по мере перевода операторы выполняются процессором;
• компиляторы переводят всю программу целиком, и если этот перевод прошел без ошибок, то полученный двоичный код можно запускать на выполнение.
Если в качестве транслятора выступает компилятор, то процесс перевода текста программы в машинный код называют компиляцией.
При переводе программы с языка Pascal в машинный код используются именно компиляторы .
Рассмотрим основные этапы обработки компилятором программы на языке Pascal.
1. Компилятор анализирует, какие внешние библиотеки нужно подключить, разбирает текст программы на составляющие элементы, проверяет синтаксические ошибки и в случае их отсутствия формирует объектный код (в Windows — файл с расширением .obj, в Linux — файл с расширением .o). Получаемый на этом этапе двоичный файл (объектный код) не включает в себя объектные коды подключаемых библиотек.
2. На втором этапе компоновщик подключает к объектному коду программы объектные коды библиотек и генерирует исполняемый код программы. Этот этап называется компоновкой, или сборкой, программы. Полученный на этом этапе исполняемый код можно запускать на выполнение.
На сегодняшний день существует множество компиляторов языка Pascal, среди которых можно выделить компиляторы языка Pascal разработки фирмы Borland (Borland Pascal), а также свободно распространяемые кроссплатформенные компиляторы языка Free Pascal и среду визуального программирования Lazarus.
Существует множество ошибок, которые транслятор выявить не в состоянии, если используемые в программе операторы сформированы верно. Приведем примеры таких ошибок.
Логические ошибки: неверное указание ветви алгоритма после проверки некоторого условия; неполный учет возможных условий; пропуск в программе одного или более блоков алгоритма.
Ошибки в циклах: неправильное указание начала цикла; неправильное указание условий окончания цикла; неправильное указание числа повторений цикла; бесконечный цикл.
Ошибки ввода-вывода; ошибки при работе с данными: неправильное задание тип данных; организация считывания меньшего или большего объёма данных, чем требуется; неправильное редактирование данных. Ошибки в использовании переменных: использование переменных без указания их начальных значений; ошибочное указание одной переменной вместо другой.
Ошибки при работе с массивами: массивы предварительно не обнулены; массивы неправильно описаны; индексы следуют в неправильном порядке.
Ошибки в арифметических операциях: неверное указание типа переменной (например, целочисленного вместо вещественного); неверное определение порядка действий; деление на нуль; извлечение квадратного корня из отрицательного числа; потеря значащих разрядов числа.
Все эти ошибки обнаруживаются с помощью тестирования.
8. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.
9. Сопровождение программы: доработка программы для решения конкретных задач; составление документации к pешенной задаче, к математической модели, к алгоpитму, к пpогpамме, к набору тестов, к использованию.
Большинство программ создаются для решения какой-либо задачи. Решение задачи достигается благодаря обработке информации или данных. Поэтому как программист вы должны знать:
как ввести информации в программу (ввод);
как хранить информацию в программе (данные);
как указать правильные команды для обработки данных (операции);
как передать обратно данные из программы пользователю (вывод).
Вы можете упорядочить команды таким образом, чтобы:
некоторые из них выполнялись только, если выполняется некоторое условие или ряд условий (условное выполнение);
другие выполнялись повторно некоторое число раз (циклы);
третьи выделялись в отдельные части, которые могут быть выполнены в разных местах программы (подпрограммы).
Таким образом, перечислены все семь основных элементов программирования; ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы. Этот список не является исчерпывавшим, однако, он содержит те элементы, которые обычно присущи всем программам (и языкам программирования).
Ввод
Это означает считывание значений, поступавших с клавиатуры, с диска или из порта ввода/вывода.
Данные
Это константы, переменные и структуры, содержащие числа (целые и вещественные), текст (символы и строки) или адреса (переменных и структур).
Операции
Операции осуществляют присваивание значений, и комбинирование (сложение, деление и так далее) и сравнение значений (равные, не равные и так далее).
Вывод
Это означает запись информации на экран, на диск или в порт ввода/вывода.
Условное выполнение
Условное выполнение предполагает выполнение набора команд в случае, если выполняется (является истинным) некоторое условие (если это условие не выполняется, то эти команды пропускается или же выполняется другой набор команд) или если некоторый элемент данных имеет некоторое специальное значение или значение из некоторого спектра.
Циклы
Благодаря циклам некоторый набор команд выполняется повторно или фиксированное число раз или пока является истинным некоторое условие; или пока некоторое условие не стало истинным.
Подпрограммы
Подпрограммы представляют собой наборы инструкций, которые имеют самостоятельное имя и которые могут быть выполнены из любого места программы при обращении к ним по имени.
Блок-схема
А сейчас разберем графический способ представления алгоритмов СХЕМОЙ называют наглядное графическое изображение алгоритма, когда отдельные его действия (этапы) изображаются при помощи различных геометрических фигур (блоков), а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры.
Рассмотрим перечень условных обозначений, наиболее часто используемые для представления алгоритмов в графической форме. Для решения задач школьникам их вполне достаточно.
Необходимо также отметить, что представленные в перечне геометрические фигуры, в соответствии с логикой решения задачи, в блок-схеме алгоритма соединяются линиями связи. На концах последних должны обязательно присутствовать стрелки, если их направление снизу вверх или справа налево, то есть отличное от стандартного направления (сверху вниз и слева направо), когда стрелки могут и отсутствовать.
Использование блок-схем дает возможность: наглядно отобразить базовые конструкции алгоритма; сосредоточить внимание на структуре алгоритма, а не на синтаксисе языка; анализировать логическую структуру алгоритма; преобразовывать алгоритм методом укрупнения (сведения к единому блоку) или детализации – разбиения на ряд блоков; использовать принцип блочности при коллективном решении сложной задачи; осуществить быструю проверку разработанного алгоритма (на уровне идеи); разобрать большее число учебных задач.
1. начало алгоритма 6. оператор выбор
2. конец алгоритма 7. цикл пока
3. операторы 8. цикл для
4. операторы ввода, вывода 9. цикл с параметр
5. условный оператор
4. Практическая часть.
АиПО: компьютер с установленной ОС Линукс .
Цель работы: научится создавать
Ход работы
Задание 1.
Пример 1. Дан алгоритм в виде блок-схемы. Найти А, В, С, D, если изначально:
а) А=0, В=0, C=5, D=10; б) А=0, В=5, C=0, D=10; в) А=10, В=20, C=6, D=4; г) А=10, В=10, C=4, D=0. | |
Результат работы алгоритма определяется с помощью
трассировочных таблиц (а, б, в, г):
а) А=0, В=0, C=5, D=10.
Шаг | опрация | А | B | C | D |
1 | Ввод А,В,С, D | 0 | 0 | 5 | 10 |
2 | D:=С | 0 | 0 | 5 | 5 |
3 | С:=В | 0 | 0 | 0 | 5 |
4 | В:=А | 0 | 0 | 0 | 5 |
5 | Вывод А,В,С, D | 0 | 0 | 0 | 5 |
5. Домашнее задание:
1.Выучить конспект.
2. Угринович Н.Д. Информатика и ИТ. Учебник для 9 класса.§4.1.2,Стр.108-1109 . Стр .
3.Ответить на вопросы стр.108-109
6.Вопросы учеников.
Ответы на вопросы учащихся.
7.Итог урока.
Подведение итога урока. Выставление оценок.