Использование математических принципов в обучении информатике

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

Рубрика Педагогика
Вид курсовая работа
Язык русский
Дата добавления 22.10.2013
Размер файла 513,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Далее для простоты изложения под перестановкой понимается перестановка без повторений чисел 1, 2,…, n, обозначаемая (a1, a2,…, an). Следующие основные понятия, часто выходящие за пределы школьного курса математики, приводят к интересным алгоритмам.

Упорядочение множества перестановок. На множестве перестановок можно определить порядок. Будем говорить, что одна перестановка больше другой, если до какого-то элемента они совпадают, а следующий в первой больше, чем во второй. Например, (4, 2, 3, 1) больше, чем (4, 2, 1, 3). Такой порядок называется лексикографическим. Будем говорить, что одна перестановка непосредственно следует за другой, если она больше ее, и не существует третьей перестановки, которая была бы меньше первой, но больше второй. Вышеприведенные перестановки непосредственно следуют одна за другой. Построим алгоритм, позволяющий по данной перестановке построить непосредственно следующую. Если применить его последовательно, начиная с наименьшей перестановки (1, 2,…), то можно получить все перестановки. Такой генератор перестановок может использоваться для численного анализа различных алгоритмов сортировки и во многих других приложениях.

СЛЕДУЮЩАЯ ПЕРЕСТАНОВКА.

С1. Для i от n-1 с шагом -1 до 1 выполнить

если a(i)<a (i+1) то перейти к С2.

Закончить (исходная перестановка максимальна).

С2. (найти наименьшее число, большее а (i)).

Для j от п с шагом - 1 выполнить

если a(i)<a(j), то перейти к С3 (j заведомо больше i)

СЗ. Переставить а (i) и а (j)

С4. (перевернуть конец перестановки)

Для k от 1 до (n-i)/2 переставить a (i+k) и a (n-k+1)

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

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

Циклы. Перестановку можно рассматривать как функцию, определенную на множестве чисел (1,2,…, n) со значениями в том же множестве. Этот подход позволяет перенести на перестановки многие понятия теории функций, а также теории групп, поскольку перестановки с естественно определенным умножением образуют группу. Чтобы отличать этот подход от предыдущего, будем применять двустрочное обозначение

Перестановку можно задавать как произведение циклов. Вышеприведенная перестановка есть произведение циклов (1, 4) и (3, 2), т.е. 1 переходит в 4, 4 в 1, 2 в 3, а 3 в 2. Конечно, разложение в циклы не однозначно, поскольку ту же перестановку можно записать в виде (3, 2) (4,1). Однако на самом деле это «те же самые» циклы, и можно определить понятие канонической записи, при которой такое разложение будет однозначным (ср. каноническую запись многочлена). Отметим, что в канонической записи скобки можно опустить, поскольку они восстанавливаются однозначно.

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

Пусть задано некоторое произведение циклов. Как их перемножить? Тривиальный алгоритм прослеживает каждый элемент через все циклы. Например, если перемножаются циклы (1, 3, 6, 7) (2, 3, 4) (1, 5, 4) (6, 1, 4, 5) (2, 7), то 1 переходит в 3. 3 в 4, 4 в 1, 1 в 4, 4 неподвижно, окончательно 1 переходит в 4. Но при таком подходе придется просматривать всю формулу п раз. Существует алгоритм, позволяющий решить задачу за один просмотр формулы. Создадим вспомогательный массив Л, в начале содержащий единичную перестановку (1, 2,…. п). Будем просматривать формулу с конца, т.е. справа налево. Если очередной символ не скобка, запомним его в М, а элемент, ранее находившийся в М, поместим на его место. При символе «)», отмечающем границу цикла, в М отправляем 0 и позицию следующего числа временно запомним в KС, пока не дойдем до конца цикла - символа «(» и не узнаем, во что оно переходит.

ЦИКЛ.

Ц1. (создать массив A) для i от 1 до п A(i) i

Ц2. Взять следующий элемент (просмотр справа налево) х

если х=» (», то перейти к Ц4

если х число, то перейти к Ц3 (j - индекс х в A)

если х=»)» то M0 и перейти к Ц2

если формула исчерпана, то закончить (A- искомая перестановка)

ЦЗ. если M=0 (первый элемент после «)»), то К j, М A(j), перейти к Ц2

Ц4. A (k) M, перейти к Ц2.

Эта задача показывает важный подход к задачам символьной обработки строк, позволяющий значительно (на порядок) сократить время работы.

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

5. Выпуклые фигуры. Многие приложения, например задачи линейного программирования, приводят к необходимости строить выпуклую оболочку множества точек. Для этого достаточно найти такое подмножество данного множества точек, являющихся вершинами выпуклого многоугольника, который содержит все остальные точки множества. Легко доказать, что с точностью до порядка вершин такой многоугольник единствен. Точка принадлежит выпуклому многоугольнику, если она и все его вершины лежат по одну сторону от любого его ребра. Здесь и далее под «лежать по одну сторону» понимается принадлежность одной полуплоскости, т.е. включается и случай, когда точка лежит на прямой.

Задача построения выпуклой оболочки n точек решается по индукции. При трех точках решение очевидно. Пусть построена выпуклая оболочка первых п точек. Возьмем n +1-ю точку. Если она принадлежит построенному многоугольнику, то она не меняет выпуклой оболочки. В противном случае ее нужно включить в многоугольник. Ребра, разделяющие эту точку и вершины многоугольника, расположены в многоугольнике последовательно. Пусть (Ai, Ai+1) (Ai+1, Ai+2) …

… (Aj-1, Aj) - такая последовательность. Если она состоит из одного ребра (Ai, Ai+1), то точка включается между вершинами Ai и Ai+1, иначе вершины Ai+1,…, Aj-1 заменяются на An+1. Таким образом мы можем получить выпуклую оболочку любого числа точек.

При составлении программы трудность представляет обработка «замыкания многоугольника», ребра (AK, A1). Остальные ребра обрабатываются в цикле по номеру вершины. Чтобы не обрабатывать данное ребро отдельно, полезно продублировать его в конце массива. Отметим также, что при осуществлении алгоритма приходится то вставлять очередную вершину в список вершин многоугольника, то удалять из него одну или несколько точек. Это приводит нас к проблеме хранения списка в памяти. Вершины многоугольника образуют типичный список с двумя связями - предыдущая и последующая вершины. Возможно несколько вариантов решения. Можно удаляемые вершины отмечать каким-либо значением, и тогда при необходимости вставить новую вершину достаточно сдвинуть небольшой фрагмент массива до ближайшего пустого места. Другой способ связан с применением таблицы ссылок.

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

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

Заключение

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

Однако у большинства любознательных ребят интерес к ЭВМ часто сводится лишь к желанию как можно скорее «нажимать на кнопочки», «получать смешные картинки», играть с компьютером в «Морской бой»

Одной из важных форм укрепления интереса учащихся к информатике является правильная мотивация. Необходимо вызвать у ребят чувство сопричастности к решению важнейших государственных задач, объяснить им на интересных примерах прямую связь между показателем степени развития любой страны и ее «интеллектуальным» потенциалом. Мотивациоиный компонент должен, по нашему мнению, в разнообразной форме присутствовать не только на первых уроках, но и в течение года при решении различных, в том числе профориентационных задач.

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

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

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

Список литературы

1. Абрамов С.А. Математические построения и программирование. - М., 1987 г.

2. Пикан В.В. и др. Из опыта обучения геометрии в 6 классе. - М., 1983 г.

3. Брудно А.Л., Каплан Л.И. Олимпиады по программированию для школьников. - М., 1985 г.

4. Кнут Д. Искусство программирования для ЭВМ. Основные алгоритмы - М., 1976 г.

5. Кузнецов Э.И., Шерпаев Н.В. Элименты информатики на уроках геометрии. - М., Просвещение 1987 г.

6. Мейерович Л.Н. Межпредметные связи курсов «ОИВТ» и «Математика» при выборе задач для практике по программированию - М., Просвещение 1987 г.

7. Левина Е.С. Развитие познавательного интереса учащихся к информатике - М., Просвещение 1987 г.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.