Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
23
Добавлен:
10.02.2015
Размер:
173.57 Кб
Скачать

Ветвь «моделирование и электронные таблицы»

Изучаемые вопросы:

  1. Что такое математическая модель.

  2. Понятия: компьютерная математическая модель, численный эксперимент.

  3. Пример реализации математической модели на электронной таблице.

Тема может быть рассмотрена как:

  1. Материал для углубленного изучения электронных таблиц в базовом курсе 7-9.

  2. Материал базового курса 10-11 элективного или профильного курса.

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

Характерные признаки компьютерной математической модели:

  1. Наличие реального объекта моделирования.

  2. Наличие количественных характеристик объекта (входных и выходных параметров).

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

  4. Реализация модели с помощью определенных компьютерных средств.

Затем ученикам приводятся примеры различных реальных систем и коллективно подтверждается или опровергается что эти системы являются компьютерными математическими моделями.

Этапы компьютерного математического моделирования могут быть сформулированы так же в коллективной работе:

  1. Выделение количественных характеристик моделируемой системы, существенных для решения задач.

  2. Получение математических формул связывающих эти характеристики.

  3. Определение способа решения математической задачи и выбор средств для её решения на компьютере.

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

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

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

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

Научиться управлять объектом или процессом и определять наилучшие способы управления при заданных целях и критериях эти модели называются оптимизационными.

  1. спрогнозировать прямые и косвенные последствия реализации заданных способов и форм, воздействие на объект (прогнозирование). Прогностические модели. Затем учитель приводит примеры различных компьютерных математических моделей созданных с определенной целью. Выделяют так же игровые, имитационные и другие классы моделей. Цели могут достигаться порознь, а могут сочетаться в одной модели. Далее с учащимися обсуждается каждый из этапов построения математической модели и решаются конкретные задачи. Использование электронных таблиц в математическом моделировании старшей школы отражено в задачнике практикуме 2 Семакина. Гейн 10-11. Угринович – компьютерное моделирование.

Линия алгоритмизации и программирования.

Методические рекомендации по изучению ветви «Алгоритмизация»

Изучаемые вопросы:

  1. определение алгоритма.

  2. свойства алгоритма.

  3. типы алгоритмических задач.

  4. основные требования к учебным исполнителям алгоритмов.

  5. описание архитектуры учебного исполнителя.

  6. типовые учебные задачи.

  7. способы описания алгоритмов.

  8. ЭВМ – исполнитель алгоритмов.

  9. понятие: величина, характеристики величин.

  10. действия, выполняемые над величинами.

Новые понятия темы: алгоритм, свойства алгоритмов, исполнители алгоритмов, система команд исполнителя, формальное исполнение алгоритмов, основные алгоритмические конструкции, вспомогательные алгоритмы.

Изучение алгоритмизации в школе может иметь цели:

  1. развитие алгоритмического стиля мышления.

  2. обучение программированию.

Алгоритмическое мышление – это искусство размышлять, умение планировать свои действия, способность предусматривать различные обстоятельства и поступать в соответствии с ними.

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

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

Проанализируем это определение, в нем содержится:

  1. основные понятия, связанные с алгоритмом: исполнитель, данные, результаты.

Исполнитель это тот объект или субъект, для управления которым составляется алгоритм. Основной характеристикой исполнителя с точки зрения управления, является система команд исполнителя (СКИ - Конечное множество команд, которое понимает исполнитель). Начальное знакомство учеников с понятием алгоритм, учитель часто начинает с не формальных алгоритмов.

В учебнике Звонкина «Алгоритмика 5-7» предложен следующий переход от не формальных алгоритмов к формальным алгоритмам.

Разбирается задача волк, коза капуста.

Эти действия «ски» крестьянина. Можно привести пример игры в шахматы. Шахматные правила точно говорят что позволено делать шахматисту. Однако есть существенное различие. Шахматисту во время игры приходится принимать собственное решение, а исполнитель не принимает никаких решений самостоятельно. Он только выполняет команды которые мы вставляем в его программу. Программа это алгоритм записанный на языке исполнителя. Далее необходимо перейти к обозначениям и синтаксису, обратив внимание учащихся на то, что одну и ту же мысль, можно выразить по разному. Например, мы можем написать.

  1. главные свойства алгоритма:

…………………………

……………………..

Основные Типы учебных алгоритмических задач:

  1. полнить роль исполнителя алгоритма.

Например: алгоритм игры «Баше»

  1. определить исполнителя и систему команд для данного вида работы.

  2. определить СКИ этого исполнителя.

  3. в рамках данной СКИ, построить алгоритм.

  4. определить необходимый набор исходных данных для решения задачи.

Такие задания относятся к проблеме постановки задач. Для выполнения требования алгоритма требуется полный набор исходных данных. Это могут быть какие-то материальные объекты или информация. Учащиеся могут приступить к освоению алгоритмизации еще до момента выхода на компьютер. Основное достоинство этого подхода в том что он позволяет сосредоточить всё внимание учащихся на основных моментах связанных с формированием алгоритмического мышления. А не на усвоение синтаксисного языка программирования. При этом подходе учащиеся смогут осознать сам процесс решения задачи и понять как четко описанные формальные алгоритмы могут быть использованы в качестве средств решения задач. При формировании навыков алгоритмизации можно использовать самые различные виды заданий. Учащимся могут быть предложены доклады по теме: алгоритмическая система «Поста», алгоритмическая система «Тьюринга».

Методика обучению алгоритмизации.

Главная цель данной темы – обучение учащихся структурной методике построению алгоритма.

В настоящее время разработано достаточно большое кол-во различных исполнителей. Для обучения школьников алгоритмизации подходит любая из программ – исполнителей. При выборе исполнителя учитель должен придерживаться следующих критериев: это должен быть исполнитель работающий в среде, этот исполнитель должен имитировать процесс управления неким реальным объектом. В СКИ должны быть все структурные команды управления. Исполнитель должен позволять использовать вспомогательные алгоритмы. При описании любого исполнителя алгоритмов необходимо выделять следующие его характеристики: среда, режим работы, система команд, данные. Совокупность таких характеристик называют архитектурой исполнителя. Рассмотрим в качестве примера архитектуру исполнителя «кукарача».

Среда исполнителя: на экране присутствуют 3 основных элемента среды исполнителя.

Режимы работы исполнителя: режим работы – это определенное состояние в котором могут выполняться определенные действия. Здесь присутствуют след. Режимы.

СКИ – это команды управления ТАРАКАНОМ!

Обучение алгоритмизации.

Рекомендации учителю

2.

Как известно, одним из важнейших дидактических принципов в методике обучения, является принцип наглядности. За каждым изучаемым понятием в сознании ученика должен закрепиться какой-то визуальный образ. Успешность обучения алгоритмизации при использовании учебных исполнителей объясняется именно наличием таких образов. Но в случае числовых данных нужны специальные методы визуализации. Надо показать учащимся как меняются данные, в каком порядке выполняются команды. Успешность в программировании во многом зависит от того, удастся ли учителю создать в сознании учеников визуальный образ архитектуры компьютера исполнителя. Использование УК помогает решению этой задачи. Составляя вычислительный алгоритм на языках высокого уровня, ученики в своём понимании архитектуры, могут отойти от деталей адресации ячеек памяти, типов регистров процессора и тп. Но представление об общих принципах работы ЭВМ должно остаться.

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

Компьютер работает с информацией. Информация, обрабатываемая компьютерной программой, называется данными. Величина – это отдельный информационный объект, отдельная единица данных. Команды в компьютерной программе определяют действия выполняемые над величинами. По отношению к программе, данные делятся, на исходные, результаты, и промежуточные. Важнейшим понятием, которое должны усвоить ученики, является следующее: всякая величина занимает своё определённое место в памяти ЭВМ – ячейку памяти. В сознании учеников должен закрепиться образ ячейки памяти сохраняющей величину. У всякой величины имеется 3 основных характеристики: Имя, значение, тип. На уровне машинных команд, всякая величина идентифицируется адресом ячейки памяти, а её значение – двоичный код, в этой ячейке.

В алгоритмах и языках программирования величины делятся на константы и переменные. Константа – не изменяемая величина, и в алгоритме она представляется собственным значением. Переменные величины могут изменять свои значения в ходе выполнения программы представляются символическими именами. Ученики должны знать что и константа, и переменная занимают ячейку памяти, а значения этих величин определяется двоичным кодом в этой ячейке. Понятие величина является фундаментальным для программирования. В каждом языке программирования существует своя концепция типов данных, своя система типов, однако в любой языков входит минимальный набор основных типов данных: целый, вещественный, логический, символьный. С типом величины связанно 3 её свойства: множество допустимых значений, множество допустимых операций, форма внутреннего представления. Есть еще 1 вариант классификации данных: классификация по структуре. Данные делятся на простые и структурированные. Для простых величин справедливо утверждение: одна величина – одно значение. Для структурированных: одна величина – множество значений. К структурированным величинам относятся массивы, строки, множества…. В базовом курсе структурированные величины, как правило, не рассматриваются.

3.

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

Основными понятиями программирования является понятие переменной и присваивания. Процесс решения вычислительной задачи это процесс последовательного изменения значений переменных. В итоге в определенных переменных получается искомый результат. Переменные получают определенные значения в результате присваивания. Из числа команд входящих в ски «присваивание» выполняют команды ввода и команды присваивания. Есть еще третий способ присваивания – передача значений через параметры под программы. Педагогический опыт показывает что в большинстве случаев непонимание некоторыми учениками программирования происходит от не понимания смысла присваивания. Команда присваивания имеет следующий вид: <переменная> := (выражение). Знак « := » надо читать как «присвоить». Это инструкция которая обозначает следующий порядок действий.

  1. вычислить выражение.

  2. присвоить полученное значение переменной.

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

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

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

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

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

Для алгоритма:

  1. линейные алгоритмы: вычисления по формулам.

  2. ветвящиеся алгоритмы: поиск наибольшего и наименьшего значения из нескольких данных, сортировка 2х-3х значений, диалог с ветвлением.

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

Для исполнителя:

  1. я сам

  2. другой человек

  3. компьютер

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

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

  1. среда. Среда системы программирования – обстановка на экране (системная оболочка) в которой работает пользователь. Учитель должен показать и описать ученикам оболочку именно той системы программирования с которой класс будет работать. В процессе работы ученики освоят её практически. Современные системы не просто транслируют или выполняют программу, но и погружают учащихся в диалоговую среду. Это мощное методически оправданное действие учебной деятельности. Синтаксический анализ. Учитель должен познакомить (описать и продемонстрировать) с характерными режимами работы системы программирования.

  1. Режим редактирования текста программ.

  2. режим компиляции.

  3. режим исполнения

  4. режим работы с файлами.

  5. режим отладки программ.

  6. система команд. Учитель должен познакомить учащихся с системой комант в каждом из режимов.

Для системы программирования данными являются файлы с текстами программ связанной с решаемой задачей.

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

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

Например таблица для тестирования алгоритма вычисления периметра треугольника в котором предусматривается отследить введение некорректных данных.

№ теста

Провер. Ел.

данные

результаты

а

в

с

1

Равносторонний

3

3

3

9

2

Равнобедренный

3

3

5

11

3

Прямоугольный

3

4

5

12

4

Нодопустимые знач

1

3

-1

Не существует

5

Вырожденный

2

0

0

Не существует

6

Вырожденный

3

3

6

Не существует

Наиболее эффективными методами обучения программированию это проблемный. Дифференцированное обучение.

Исследовательский метод.

Проэктный.

Для организации учебной деятельности можно предлоить учащимся следующие задания:

  1. определить базовые структуры входящие в алгоритм и принципы их соединения.

  2. найти контр пример указывающий на логическую или семантическую ошибку в алгоритме.

  3. указать область правильной работы алгоритма.

  4. найти соответствие между фрагментами блок схем псевдо кода и программ.

  5. определить назначение фрагмента алгоритма.

  6. найти результат для конкретных входных данных.

  7. оформить часть алгоритма как вспомогательный.

  8. заменить алгоритм, заменив некоторые алгоритмические конструкции. Например заменить цикл «пока» циклом «до».

  9. решить задачу другим способом.

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