Смекни!
smekni.com

Алгоритмы и исполнители. (стр. 2 из 8)

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

Для сложных задач эта характеристика имеет большое значение, т.к. ее изменение значительно сильнее влияет на время решения, чем изменение быстродействия ПК. Например, при зависимости f(n)= 2n увеличение производительности в 10 раз увеличивает размерность задачи, решаемой за то же время, всего на 15 %.

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

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

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

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

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

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

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

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

Словесный способ описания алгоритмов

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

В качестве примера рассмотрим запись нахождения общего делителя двух натуральных чисел (m и n). Алгоритм может быть записан в следующем виде:

- если числа равны, то необходимо взять любое из них в качестве ответа, в противном случае – продолжить выполнение алгоритма;

- определить большее из чисел;

- заменить большее число разностью большего и меньшего чисел;

- повторить алгоритм сначала.

Способ основан на использовании общепринятых средств общения между людьми и с точки зрения написания трудностей не представляет. Такой способ записи удобно использовать на начальном этапе алгоритмизации задачи. К недостаткам словесного способа записи можно отнести следующее: 1) полное подробное описание алгоритма получается очень громоздким; 2) естественный язык допускает неоднозначность толкования отдельных инструкций; 3) при переходе к этапу программирования требуется дополнительная работа по формализации алгоритма, так как словесное описание может быть понятно человеку, но "непонятно" ПК. Поэтому словесный способ записи алгоритмов не имеет широкого распространения.

Графический способ описания алгоритмов

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

выдержки

Структурное программирование опирается на основные принципы системного подхода:

а) программа должна составляться мелкими шагами;

б) размер шага определяется количеством решений, применяемых программистом на этом шаге;

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

г) логика алгоритма (программы) должна опираться на минимальное

число достаточно простых базовых управляющих структур.

Структурированная программа представляет собой композицию из последовательных или вложенных друг в друга блоков с одним входом и одним

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

Методика преподавания содержательной линии "Понятие алгоритма. Программирование"

В законе Министерства образования Российской Федерации "О преподавании курса информатики в общеобразовательной школе" сказано : "Содержательная линия “Алгоритмы и исполнители” путем решения большого количества задач формирует алгоритмическое мышление учащихся. В процессе изучения этой темы формируются представления школьников о свойствах алгоритмов, об исполнителях алгоритмов, о способах записи алгоритмов и об основных алгоритмических конструкциях. Важно, чтобы школьники поняли, что алгоритм - это динамическая модель объекта (модель процесса), в отличие от статической структурной модели объекта, которая не отражает изменений свойств и поведения объекта во времени, а лишь фиксирует его состояние, выделяет элементы и отношения между ними"

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

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

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

манипуляция с физическими предметами;

театрализация;

манипуляция с объектами на экране компьютера;

командный режим управления экранными объектами;

управление экранными объектами с помощью линейных программ;

продвинутое программирование с использованием процедур и

других универсальных конструкций.

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

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

выдержки

Проводить исследование будем на основании теста IQ Г.Айзенка, как показателе уровня интеллекта учеников. Основные критерии выбора этого теста – чрезвычайно широкое использование его во всём мире, продолжительность использования и доступность. Коэффициент интеллекта IQ измерялся до чтения информатики с помощью методики ТРИЗ и после их окончания. Так как Г.Айзенк не приводит методических особенностей в составлении тестов, изменение IQ оценивалось по разнице в количестве правильно выполненных заданий до и после применения ТРИЗ-методики на двух разных тестах, каждый из которых содержал 40 тестовых заданий.

Результаты исследований свидетельствуют о том, что в целом IQ учеников после усвоения знаний с помощью ТРИЗ-методики значительно увеличивается в основном за счет повышения системности мышления. Среднее значение увеличения коэффициента IQ составляет 14,7 баллов, что эквивалентно 30% увеличению.