Фрагмент для ознакомления
2
ВВЕДЕНИЕ
Актуальность темы исследования. Современное общество предъявля-ет к человеку самые разные требования. Более того, количество таких требо-ваний в области физической активности постепенно уменьшается на протяже-нии всей истории человечества, а в области интеллектуальной деятельности увеличивается в геометрической прогрессии. Интеллектуальная (умственная) деятельность человека с точки зрения информатики - это информационный процесс, который называется «обработка информации». Информационная нагрузка на человека увеличивается по мере развития цивилизации, что обу-словлено не только ростом объема информации в целом, но и конкретно ро-стом объема информации, обрабатываемой человеком.
Жизнь в современном информационном обществе предполагает спо-собность читать, выполнять и запоминать готовые алгоритмические структу-ры, к которым мы относим всевозможные инструкции, планы, правила и т. д. Этому способствует, прежде всего, научно-технический прогресс. Современ-ный этап развития общества характеризуется внедрением информационных технологий во все сферы деятельности человека. Видеокамеры, iPod, сти-ральные и посудомоечные машины, телевизоры, радиоприемники и мобиль-ные телефоны, не говоря уже о компьютерах, вошли в нашу жизнь.
Для управления такими средствами обычно используются кнопочные, поворотные или подвижные устройства (ручки и ручки). Большое количество функций, выполняемых техническими средствами, при небольшом количе-стве устройств управления приводит к необходимости использования после-довательностей элементарных действий (алгоритмов) для управления сред-ствами. Как и в случае с любым другим предметом в общеобразовательной школе, Общество поставило перед информатикой целый ряд задач. Одной из дидактических задач образовательного учреждения является формирование мышления учащегося и развитие его интеллекта.
Алгоритмическое мышление является важной частью интеллектуально-го развития человека. Информатика обладает наибольшим потенциалом для формирования алгоритмического мышления учащихся по естественным дис-циплинам. Все это подтверждает актуальность данной курсовой работы. Ана-лиз эволюции образовательного стандарта в информатике позволяет сделать вывод: формирование у учащихся алгоритмического стиля мышления являет-ся важной целью школьного образования на разных этапах изучения инфор-матики.
Эти обстоятельства определяют актуальность выбранной темы исследо-вания.
Изученность темы. В ходе своего исследования было установлено, что в настоящее время существует множество интересных и аналитических работ различных авторов, включая ученых, преподавателей, посвященных этой те-ме, что позволило мне подробно проанализировать их, выделить наиболее важные аспекты по этому вопросу и систематизировать полученные данные.
Проблема исследования - выявить методические аспекты изучения циклических алгоритмов в школьном курсе информатики.
Объектом исследования является процесс изучения циклических алго-ритмов в школьном курсе информатики.
Предметом исследования являются основы и принципы изучения цик-лических алгоритмов в школьном курсе информатики.
Цель исследования. Целью данной исследовательской работы является выявление эффективных условий изучения циклических алгоритмов в школь-ном курсе информатики.
Задачи работы. Для достижения цели курсовой работы необходимо решить несколько задач:
- рассмотреть алгоритмы, их свойства. Краткий анализ учебников по информатике;
- изучить базовые структуры алгоритмов, циклические структуры алго-ритмов;
- детально проанализировать методику построения алгоритмов;
- проанализировать применение методики построения алгоритмов по теме «Циклы» на конспекте урока и лабораторной работе.
Методология исследования. При написании этой курсовой работы бы-ли использованы следующие методы исследования: анализ литературы, изу-чение документов, наблюдение, описание, сравнение, обобщение, статистиче-ский анализ данных, моделирование.
Источниковая база. В качестве источников были использованы науч-ные статьи, учебники по информатике, статистика и интернет-ресурсы.
Структура работы. Курсовая работа состоит из введения, двух глав, заключения, списка использованных источников и приложения.
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ О ЦИКЛИЧЕСКИХ АЛГОРИТМАХ
1.1 Алгоритмы, их свойства. Краткий анализ учебников по информатике
В повседневной деятельности вам постоянно приходится сталкиваться с различными правилами, описывающими последовательность действий для достижения определенного желаемого результата. Таких правил много. Например, мы придерживаемся определенных правил, когда говорим по те-лефону, готовим лекарство, готовим суп или вычисляем математическое уравнение. Эти примеры можно объединить термином «алгоритм».
Понятие алгоритма относится к фундаментальным концепциям инфор-матики и возникло задолго до появления персональных компьютеров и стало основным понятием математики. Термин «алгоритм» происходит от имени узбекского математика Мухаммада ибн Мусы аль-Хорезми. Алгоритмы - это латинская транскрипция имени аль-Хорезми, это слово использовалось для обозначения правил выполнения таких арифметических операций: вычитания, сложения, умножения и деления на числа. Совокупность этих правил получи-ла в Европе название «алгоритмизм». Позже это слово превратилось в алго-ритм и стало собирательным названием для определенных правил определен-ного рода, а не только для правил арифметических операций. Долгое время он использовался испытуемыми только для обозначения правил решения раз-личных задач [12].
Алгоритм - это точное правило, определяющее процесс преобразования исходных данных для получения конечных результатов при решении опреде-ленного класса задач. Это правило определяет инструкции для выполнения определенной операционной системы в определенном порядке и правила для их применения к исходным данным для решения проблемы.
Алгоритм - это фундаментальная концепция программирования. Уче-ные выделяют три основных класса алгоритмов: вычислительные, информа-ционные и управляющие.
Вычислительные алгоритмы - это алгоритмы, которые работают с отно-сительно простыми типами данных, такими как числа, векторы, матрицы.
Информационные алгоритмы - это набор простых процедур, которые обрабатывают большие объемы информации. Примером такой процедуры может быть поиск необходимой числовой или символической информации, которая соответствует определенным критериям. Эффективность этих алго-ритмов зависит от организации данных.
Алгоритмы управления отличаются тем, что данные для них поступают из внешних процессов, которыми они управляют. Результатом этих алгорит-мов является разработка своевременной реакции контроллера на быстрое из-менение входных данных.
Попытки найти и сформулировать методы и формы построения алго-ритмов в строгих терминах привели к появлению независимой дисциплины - теории алгоритмов, которая раскрывает теоретические возможности разра-ботки эффективных алгоритмов вычислительных процессов и их применения в прикладных приложениях.
Каждый алгоритм обладает следующими свойствами:
1. Масса – применимость алгоритма ко всем задачам определенного класса. Это свойство гарантирует, что любая задача из аналогичного класса задач будет решена со всеми исходными данными. Таким образом, алгоритм вычисления площади треугольника применим ко всем треугольникам. В то же время существуют также алгоритмы, которые применяются только к набору исходных данных. К ним относятся алгоритмы, используемые различными торговыми автоматами, такими как газетный киоск или торговый автомат [7].
2. Определенность (детерминизм) - набор инструкций должен быть точным и не зависеть от исполнителя. Это свойство гарантирует, что резуль-тат процесса, описываемого с учетом приведенных исходных данных, являет-ся однозначным и однозначным. Каждый шаг должен быть четко и недву-смысленно определен и не должен допускать произвольной интерпретации пользователем.
3. Дескретность - это разделение процесса, определяемого алгоритмом, на отдельные элементарные операции, возможность которых не ставится под сомнение человеком или машиной. Процесс, определяемый алгоритмом, должен быть дискретным, то есть представлять собой последовательность от-дельных шагов.
4. Ясность - это понимание исполнителем того, что необходимо сделать для завершения данного алгоритма. В то же время исполнитель алгоритма действует «механически», когда выполняет его, поэтому формулировка алго-ритма должна быть очень точной и однозначной.
5. Эффективность - это завершение процесса преобразования входной информации в выходную. Это свойство указывает на то, что применение ал-горитма к допустимому набору исходных данных за конечное число шагов дает определенный результат.
6. Формальность - результат выполнения алгоритма не должен зависеть от факторов, которые не являются частью этого алгоритма. Любой исполни-тель, который может воспринимать инструкции алгоритма и следовать им (даже не понимая их содержания), может выполнить задачу соответствующим образом.
Чтобы донести алгоритмы до пользователя, они должны быть формали-зованы с использованием определенных визуальных средств в соответствии с определенными правилами. Методы, используемые для написания алгорит-мов, во многом определяются тем, какому интерпретатору назначен алго-ритм. К основным методам написания алгоритмов относятся: вербальный, формально-вербальный, блок-схемы алгоритмов, языки программирования.
В устной записи алгоритма каждая операция формулируется как прави-ло на естественном языке. Правила пронумерованы, чтобы на них можно бы-ло ссылаться, и указан порядок, в котором они выполняются.
Формально-вербальный метод написания алгоритма основан на ин-струкциях по выполнению определенных действий в определенном порядке с использованием математических символов и выражений с объяснениями на естественном языке.
Блок-схема алгоритма - это графическое представление процесса реше-ния задачи в виде набора блоков особого типа, отражающих специфику пре-образования информации, соединенных между собой линиями или стрелками. В каждом блоке кратко описывается содержание определенного шага алго-ритма решения проблемы [13].
Давайте рассмотрим основные геометрические фигуры, используемые в блок-схемах.
Основные геометрические фигуры, используемые в блок-схемах
Фигура Применение
Начало или конец алгоритма
Операции вычисления или присваивания
Ввод или вывод данных
Проверка условия
Существуют обобщенные и подробные блок-схемы алгоритма. Обоб-щенная схема алгоритма представляет собой вычислительный процесс на уровне типичных операций обработки данных, например, при обработке эко-номических данных типичными процессами являются ввод данных, исправле-ние, сортировка, обработка данных и т. д. Построение подробных диаграмм начинается после тщательного анализа обобщенных схем алгоритмов.
Наиболее продвинутым методом написания алгоритма сейчас являются языки программирования, которые позволяют автоматизировать числовой процесс, поскольку перевод инструкций с алгоритмического языка на язык персонального компьютера осуществляется автоматически с помощью специ-альных программ-переводчиков.
Появление языков программирования сблизило концепции алгоритма и программы.
Проанализируем содержание учебников по информатике разных авто-ров.
УМК Угринович Н.Д. «Информатика и ИКТ» 9 класс
Учебник Угриновича Н.Д. содержит главу «Основы алгоритмизации и объектно-ориентированного программирования», в которую входят следую-щие параграфы (30 часов):
- Кодирование основных типов алгоритмических структур в объектно-ориентированных и процедурных языках программирования с использовани-ем линейного алгоритма
- Алгоритмическая структура «ветвления»
- Алгоритмическая структура «отбора»
- Алгоритмическая структура «цикла»
Графические возможности объектно-ориентированного языка програм-мирования Visual Basic 2005
Алгоритмическая структура «цикла»
Основная тема:
- цикл со счетчиком;
- цикл по условию;
Содержание учебника по разделу Программирование и алгоритмизация соответствует всем требованиям стандарта, информация представлена в инте-ресной и доступной версии.
Учебник Семакина И.Г.
УМК Семакин И.Г., Залогова Л.А., Русаков С.В. «Информатика и ИКТ» 9 класс
Раздел озаглавлен «Управление и алгоритмы» (16 часов) и содержит следующие абзацы:
- Менеджмент и кибернетика
Управление обратной связью
Определение свойства алгоритма
Художник графического тренинга
Вспомогательные алгоритмы и процедуры
Циклические алгоритмы
Разветвление и последовательная детализация.
Циклические алгоритмы
Основная тема:
- команда цикла;
- цикл в процессе;
- блок-схемы алгоритмов;
- цикл с предварительным условием;
В разделе «Программное обеспечение для управления работой компью-тера» есть раздел под названием «Циклическое программирование».
Основная тема:
- шаги по решению вычислительной задачи на компьютере;
- тестирование и отладка программы;
Содержание по-своему интересно и полностью отличается от содержа-ния учебника Н. Г. Угриновича, здесь представлен совершенно другой мате-риал, дополняющий уже имеющиеся знания по теме алгоритмизации.
Учебник Макаровой Н.В.
УМК Макарова Н.В. «Информатика и ИКТ» 8-9 классы
В УМК Макаровой Н.В. «Информатика и ИКТ» для 8-9 классов это включено в часть 2 под названием «Основы алгоритмизации и программиро-вания» (20 часов), которая включает в себя следующие разделы для изучения:
Основы алгоритмизации
- линейные алгоритмы;
- алгоритмы ветвления;
- циклические алгоритмы.
Цикл с предварительным условием;
- цикл с известным числом повторений;
- цикл с постусловием;
Циклические алгоритмы. Цикл с предварительным условием.
Основная тема:
- использование предварительно обусловленного цикла для организации повторяющихся действий;
- тестирование циклических алгоритмов;
- использование цикла как универсального для решения различных ти-пов задач;
- использование переменных разных типов для организации цикла; цикл с известным числом повторений.
Основная тема:
- создание алгоритмов с известным числом повторений;
- тестирование циклических алгоритмов с известным числом повторе-ний в пошаговом режиме;
- изменение параметров цикла;
Цикл в соответствии с условием
Основная тема:
- использование предварительно обусловленного цикла для решения проблем;
- использование различных типов циклов в зависимости от задачи;
- использование стандартных алгоритмов, чтобы найти минимум и мак-симум;
- использование различных типов данных при решении задач;
Содержание всех учебников, представленных и проанализированных здесь, очень разнообразно, интересно и по-своему дополняет друг друга.
1.2 Базовые структуры алгоритмов. Циклические структуры алгоритмов
Каждый алгоритм содержит описание команд и определяет порядок, в котором они выполняются. На первый взгляд может показаться, что команды алгоритма всегда выполняются последовательно, но это не так. Чтобы обес-печить такое свойство алгоритма, как масса, оно создается с учетом ввода произвольного набора допустимых данных. По этой причине во многих слу-чаях невозможно заранее точно предсказать, каким должен быть следующий шаг алгоритма. Следовательно, существует необходимость в таких инструк-циях для подрядчика, которые позволили бы ему контролировать свои дей-ствия в соответствии с текущей ситуацией во время выполнения алгоритма.
По характеру управления существует три основных типа алгоритмов: линейный, ветвящийся и циклический.
В простейшем случае алгоритм последовательно выполняет все указан-ные действия одновременно, независимо от входных значений задачи. Напри-мер, чтобы найти объем призмы, вам нужно найти площадь ее основания, определить высоту призмы и найти свое изделие. Эти шаги необходимо вы-полнить, чтобы рассчитать объем призмы. Алгоритм, который выполняет од-ну и ту же последовательность действий для всех допустимых входных дан-ных задачи, называется линейным.
Шаг 1
Действие 2
Действие n
Алгоритмы, которые предлагают два возможных варианта действий, более сложны, чем линейные. Например, в алгоритме решения квадратичного уравнения вы должны сначала найти значение дискриминанта, а затем, в зави-симости от знака, либо сообщить об отсутствии действительных корней (если значение дискриминанта отрицательное), либо найти их по соответствующим формулам (в противном случае).
Алгоритм, который выполняет определенные действия в зависимости от результата проверки условия, называется алгоритмом ветвления или алгорит-мом ветвления.
Состояние
Шаг 1
Действие 2
но нет
Поскольку такой алгоритм содержит описание действий для обоих воз-можных вариантов, при каждом выполнении реализуется только один из них. Какой из них точный, зависит от заданного входного набора.
Третий тип алгоритмов создается на случай, если определенная после-довательность действий выполняется многократно.
Например, чтобы вычислить сумму двух целых чисел (в столбце), вы должны сначала вычислить сумму последних цифр сложений, записать по-следнюю цифру результата и, при необходимости, переместить единицу из-мерения в следующую цифру. Затем, следуя аналогичному правилу, вы должны вычислить сумму предпоследних цифр добавленных чисел и так да-лее. Процедура повторяется до тех пор, пока все добавленные цифры не бу-дут исчерпаны. Количество повторений зависит от количества цифр в задан-ных числах.
Алгоритм, который выполняет действия многократно, называется алго-ритмом повторения или циклическим алгоритмом. Повторяющееся действие или группа действий называется телом цикла. Количество повторений тела цикла определяется определенным условием, называемым условием цикла. После проверки условия делается выбор повторить основную часть цикла еще раз или перейти к другим действиям [15].
Существует два основных типа циклов: циклы с предварительным усло-вием (рис.1) и циклы с последующим условием (рис. 1).
В цикле с предварительным условием условие цикла формулируется для выполнения повторяющихся операций до тех пор, пока проверка условия не даст результат «да». Следовательно, такие циклы также называются цикла-ми «пока».
Рис.1 – Циклы с предусловием и постусловием
Цикл с предварительным условием может быть прочитан следующим образом:
- пока проверка условий показывает результат «да», выполните дей-ствие.
Если при следующей проверке условия отображается результат «Нет», повторное выполнение действия прекращается, и цикл завершается.
Например, чтобы вычислить остаток от деления целого числа t на целое число n путем вычитания, вы можете использовать цикл:
пока t > n, уменьшите t на n.
В цикле с последующим условием условие цикла формулируется про-тивоположным образом: если следующая проверка условия дает результат «да», цикл завершается. Цикл с последующим условием можно прочитать следующим образом:
повторяйте процесс до тех пор, пока результат проверки условия не станет «да».
Например, подсчет остатка от деления целого числа t на целое число n (t > n) может быть реализован с помощью цикла