Разработка электронного учебника на тему «Массивы»

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 
"Вятский государственный гуманитарный университет"

 

Факультет информатики

Выпускная квалификационная работа
Разработка электронного учебника на тему «Массивы»

Выполнил
студент 5 курса
факультета информатики
Снегин Николай Николаевич
___ октября 2006г.

Киров 2005
Содержание
Введение.
Особенности создания электронных учебников.
Преимущества и недостатки электронных учебников
Критерии содержания электронных учебников
Среды для реализации учебников
Методика применения.
Методика применения учебника
Методика решения практических заданий
Содержание электронного учебника
Введение
Понятие массива
Заполнение массива
Ввод с клавиатуры
Генерация случайных чисел
Конструкция цикла
Выбор по критерию и конструкция ветвления
Экстремумы
Перемещение значений внутри массива
Сортировки

Разработка практических заданий
Заключение
Список литературы
Введение
Вся деятельность ученика по изучению информатики подразделяется на классную и внеклассную. Один из вопросов, который приходится решать учителю – оптимизация учебного процесса. В классе деятельность ученика может быть проконтролирована и скорректирована учителем. Что касается внеклассной работы, ученик вынужден полагаться только на самого себя и компьютер.
Рассмотрим схемы информационных потоков при классной и внеклассной работе:
Схема информационных потоков в классе.

Схема информационных потоков при внеклассной работе.

(ДМ – дидактический материал)
Таким образом, общее количество потоков, при внеклассной работе, снижается в 2 раза.
Две главные отрицательные особенности внеклассной работы заключаются в следующем:
• низкий контроль над практикой
• нехватка учебных пособий для самостоятельной работы
Возникает потребность в средстве, увеличивающем качество внеклассной работы по информатике. Вариантом решения этой проблемы является создание электронного учебника (в дальнейшем ЭУ), дающего возможность закрепить изученный материал и самостоятельно изучить новый, без вмешательства преподавателя, предоставляющего практические задания с высокой детализацией по темам. Обеспечить высокий уровень детализации по всему курсу информатики сложно. Поэтому, создавая учебник, необходимо в первую очередь, внести в него самые содержательные темы, которые наиболее полно раскрывают понятия и смысл науки информатика. Одной из таких тем, является тема массивов. Она требует к себе особого внимания, т.к. включает в себя множество разделов, а так же алгоритмизацию, логику и другие темы, за счет которых становится возможным предельная детализация практических заданий.
Цель данной работы:
1. разработка электронного учебника, как дополнительного средства для самостоятельной работы школьников.
2. Разработка пакета задач, который обеспечивал бы возможность для самостоятельного изучения информатики по заданной теме. Подборка задач должна обеспечивать возможность использования их на уроках в качестве раздаточного материала.
Задачи:
1. Изучение особенностей создания учебных материалов.
2. Разработка электронного учебника, соответствующего требованиям.
3. Разработка заданий для урока.

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

Особенности создания электронных учебников
Преимущества и недостатки электронного учебника
Электронный учебник (в дальнейшем ЭУ) качественно отличается от обычного учебника. Рассмотрим положительные свойства учебников обоих форм с точки зрения мобильности, цены и других полезных качеств:
Учебник в книжном варианте
• Более привычен и не создает барьера «новизны» при его использовании. Большинство людей являются консерваторами по своей натуре и неохотно переходят от старого к новому. А многие вообще боятся нововведений. В этом смысле всем привычный книжный вариант учебников обладает несомненным преимуществом.
• Мобилен и неприхотлив. Может быть использован в любом месте и в любое время. Энергонезависим, не требует специального оборудования для его чтения. Рассматривая книжный вариант с данной точки зрения, не трудно убедиться, что он и по сей день остается самым мобильным и удобным.
• Ко всем прочим положительным свойствам можно отнести и отсутствие вредного влияния на здоровье человека, которое можно ощутить используя компьютер для обучения.
Без сомнения, у книги еще много положительных свойств. Здесь приведены только самые главные. Эти доводы в пользу книг, как учебников, очень сильные. Ведь ЭУ лишен этих качеств. Все же он имеет свои, не менее сильные свойства.
Электронный учебник
• Легко корректируется. При необходимости, ЭУ позволяет легко добавить или удалить учебный материал. Это свойство бывает очень полезно, при использовании учебника в масштабах отдельно взятого учебного заведения.
• Может содержать анимацию и использовать средства мультимедиа, что обеспечивает значительное преимущество над книжными учебниками, где содержатся только статические изображения. Анимированное изображение и звук помогают легче воспринимать, анализировать и запоминать учебную информацию.
• Как правило, содержит систему поиска, что позволяет быстро находить необходимую информацию по оглавлению, ключевым словам, а так же производить расширенный поиск как в самом учебнике, так и за его пределами.
• Осуществляет контроль качества усвоения учебного материала.
• Может использовать механизм адаптации к обучаемому, используя алгоритмы, определяющие уровень подготовки обучаемого.
Принимая во внимание все полезные свойства, можно сделать вывод что ЭУ сильно отличаются от книжных учебников, хотя создаются для единой цели. В них не нет общих полезных, или общих отрицательных черт, поэтому могут успешно дополнять друг друга.

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

Среды для реализации электронных учебников
В мире существует достаточно много электронных книг как и программных сред для создания их. Рассмотрим некоторые из них.
Системы Автоматизированного проектирования ЭУ.
Специальные программные средства, которые предназначены для создания ЭУ, снабжены удобным интерфейсом, очень легки в эксплуатации, не требуют каких – либо навыков программирования. Работать с такими системами легко и удобно, но они не могут обеспечить соблюдения выполнения всех правил создания ЭУ.
Системы визуальной разработки.
Создание приложения осуществляется путем манипулирования визуальными представлениями образующих его компонентов. Такой процесс предусматривает формирование окон и диалоговых панелей, размещение в них полей данных и элементов, указание их связей и свойств, определяющих функциональность приложения, на основе этого автоматически генерируется программный код. Такой подход обеспечивает упрощение разработки, снижая требования к квалификации исполнителей, а также повышает производительность за счет использования шаблонов компонентов.
WEB - редакторы
Ядром таких технологий служат языки html, Java и др. Такое приложение будет обладать рядом преимуществ: простотой, наглядностью, разветвленной структурой гиперссылок, возможностью поиска, работой с любой частью информации и др. основным недостатком является необходимость применения браузера, т. к. он может иметь собственные элементы управления, которые могут сбить с толку неопытных пользователей.

Методика применения электронного учебника.
Учебник представляет собой гипертекст, разбитый на отдельные темы. Функцию меню выполняет стартовая страница, на которой расположено оглавление. Навигацию и поиск по ЭУ осуществляет гипертекст страниц учебника и средства браузера. Учебник применяется для самостоятельного изучения школьником, как средство позволяющее закрепить изученный материал.
Ученик имеет возможность выбирает темы последовательно, начиная с первой, или в произвольном порядке, начиная с той, которую необходимо повторить. ЭУ можно использовать, не имея никаких начальных знаний по массивам и другим разделам информатики.
Рассмотрим каждую тему отдельно:
В первой теме дается понятие массива, после чего приводится пример массива в виде его модели, организованной на компонентах «SELECT», позволяющей задать значения массива и вывести его на экран без применения самих операций присваивания и вывода.
Следующая тема «Заполнение массива» содержит информацию об операциях, необходимых при заполнении : операция присваивания, операция вывода на экран и генерирования случайных чисел. Приводятся правила записи операций с подробными примерами и комментариями. Ученик имеет возможность практиковаться в окнах, позволяющих не только запускать приведенный в них код, но и видоизменять его по своему усмотрению.
Переход к теме циклы, осуществлен при использовании примера двух программ с оператором цикла и без него, эквивалентных по своему действию. В начале темы уделяется внимание форме записи оператора. Описывается назначение параметров и тела цикла. Приводятся подробные описания принципа работы оператора и трассировка работы программы.
Тема «Выбор по критерию», включает в себя изучение конструкции ветвления, используя условный оператор «if». Приводятся правила записи оператора. Разъясняется, что может быть использовано в качестве критерия, приводятся примеры.
Следующая тема дает понятие экстремума. Объясняется механизм поиска экстремума. Используется ряд примеров с переходом от сравнения 2 – 3 переменных, до поиска экстремума в массиве.
Тема «Перемещения внутри массива» разъясняет функцию дополнительной переменной при манипуляциях с элементами внутри массива. Предлагается несколько практических заданий по доведению программ, перемещающих элементы, до рабочего состояния.
Тема сортировки базируется на теме экстремумов. Для дальнейшего изучения, ученик должен знать алгоритм поиска экстремума. Вводится понятие вложенного цикла, объясняющегося, как запуск некоторого количества раз алгоритма поиска экстремума с последующим перемещением.
Методика решения задач.
В зависимости от охватываемой тематики учебного материала и применяемых методов решения, задачи группируются в разделы. Постановка каждой задачи отражает искомый результат (что необходимо выполнить).
Количество задач, решаемых по каждой теме, может быть разным, главное, чтобы школьник, после изучения нужных тем, смог решить любую из списка, составленного преподавателем. Учитель сам определяет учебные требования для каждого ученика. Необходимо определить уровень каждого ученика и составить для каждого план заданий, соответствующий этому уровню.
Следующий этап, определение учителем качества усвоения учебного материала (узнавание, понимание, применение и т.д.), для чего преподаватель дает ученику задание из имеющегося плана, или любое из ЭУ (зависит от уровня и способностей конкретного ученика). На основании такой проверки делается вывод о подготовке ученика.
Для решения задач используется тот язык, который используется на классных занятиях. Ученик должен знать об этом и не решать задания из списка в окнах браузера.
Задачи разделены на несколько тем, соответствующих темам учебника. Сложность задачи соответствует ее номеру, что позволяет преподавателю быстро ориентироваться при выборе заданий. Задачи подобраны, что каждая новая тема не опирается на предыдущую, таким образом обеспечивается возможность «сквозного» решения.
Анализируя усвоение учебного материала, можно сказать, что необходимо уделять больше времени на решение задач по теме «Выбор по критерию».
Заполнение массива и вывод на экран.
Принцип заполнения массивов по правилу и с помощью функции случайных чисел во всех языках одинаков, что позволяет решать задачи средствами браузера и легко строить аналогичные решения на изучаемом языке. Предполагается, что учащиеся должны знать, как организовать вывод информации на экран и ввод с клавиатуры на языке, который изучают.
Преобразование массивов.
Учащиеся должны знать математические функции : cos, sin, а так же функцию округления на изучаемом языке.
Темы : Поиск, Экстремумы и Перемещения, содержат несколько задач повышенной сложности, рассчитанные на способных учеников.
Сортировки.
В этой теме, по мимо обычных задач, есть 3 задачи (на обмен, вставку и выбор), с подробным описанием действий при сортировке. Эти задачи могут быть полезны ученикам, затрудняющимся в реализации алгоритма.

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

Понятие массива.
Массив - это именованный набор фиксированного количества однотипных нумерованных данных; доступ к элементам массива осуществляется по имени, общем для всех элементов и по их номерам (индексам), индивидуальным для каждого элемента.
Элементами массива могут быть данные любого типа, включая составные типы, но в одном массиве могут храниться данные только одного типа (например целочисленного, дробного, символьного и др.). Число элементов массива, их тип и количество индексов в процессе выполнения программы не меняется.
Говоря простым языком, массив - переменная для хранения данных. Но если обычная переменная может хранить только одно число, массив может хранить столько чисел, сколько в нем элементов.
Массивах пределы значений элементов устанавливаются типом значений :
Longint : 2147483648 до 2147483647,
String : строки,
Char : единичные символы,
или какие-либо другие типы данных.
Этот экспериментатор помогает заполнить массив числами от 0 до 10 без применения программирования. Не секрет, что при настоящем программировании подобных таблиц нет. В языках программирования для этих целей используют операцию присваивания, которой в этом учебнике посвящен отдельный раздел.

Заполнение массива.
Чтобы присвоить массиву какое-либо значение, а точнее какие-либо значения, недостаточно обратиться к нему только по имени. Поэтому команда присваивания значений массиву имеет вид: {Имя массива}[{Индекс элемента}]={присваеваемое значение} . Нам необходимо не только назвать его по имени, но иуказать в квадратных скобках индекс конкретного элемента массива, где будет храниться это число.
Чтобы избежать путаницы, приведем конкретные примеры применения операции присваивания :
1.А[3] = 34; где А - имя массива, 3 - индекс элемента, 34 - значение которое присваиваем 3 элементу массива А
2.А[4] = -123,794; где А - имя массива, 4 - индекс элемента, -23,794 - значение которое присваиваем элементу с номером 4 массива А
3.MAS[46] = y; где MAS - имя массива, 46 - индекс элемента, y - значение которое присваиваем 46 элементу массива MAS
4.А[-5] = 'asd'; где А - имя массива, -5 - индекс элемента, asd - строковое значение (набор символов, который записывается в апострофах, чтобы не путать с именем переменной) которое присваиваем минус пятому элементу массива А
При этих операциях меняет значение не весь массив, а только один его элемент. Элементы, номера которых не "назывались", остаются "нетронутыми" и содержат прежнее значение.
Эта форма поможет Вам приобрести навык использования операции присваивания при заполнении массива. Сейчас в памяти компьютера организован массив с именем mas (пишется строчными буквами), который имеет целочисленный тип данных. Индексация элементов массива положительная.
Если запись всех команд соответствует норме, выводится сообщение о содержимом массива. Обратите внимание, как отображаются незадействованные элементы.
В этом учебнике подобраны практические задания на заполнение массивов. Но, приступив к ним сию секунду, вы почувствуете, что ваши возможности не совпадают с требованиями заданий. Происходит это по тому, что для успешного решения этих задач, необходимо уметь пользоваться командами и конструкциями помогающими при заполняющими заполнить массив.
Ввод с клавиатуры
При организации диалога между программой и пользователем, используют ввод с клавиатуры. Это позволяет изменять значения переменных во время работы программы. Компьютер выдает на экран сообщение о необходимости ввести данные, а так же поля, куда следует их ввести. В языке браузера для этого используется функция prompt. Правила записи следующие:
prompt("надпись", "значение ввода по умолчанию");
Например :
prompt("Введите Фамилию, Имя, Отчество", "Свистоплясов Василий Прохорович");
выдаст вам следующую форму :
Значение этой функции можно присвоить любой переменной, или занести в массив.
Генерация случайных чисел
Бывают ситуации, когда нужно сгенерировать случайное число : например, написать программу "спортлото", которая заменила бы барабан с номерами. В этом случае трудно обойтись без функции Math.random(). Ее, как и любую функцию, можно присвоить переменной, или передать значение элементу массива.
Конструкция цикла
Задавать циклы мы будем средствами языка, на котором написан этот учебник. Это позволит нам не обращаться ни к каким языкам программирования.
Структура цикла имеет вид : for (параметры) {тело цикла}
Удобство циклов в том, что с помощью них можно выполнить несколько раз подряд одно и то же действие, пользуясь компактной записью алгоритма. Некоторые могут усомниться в полезности такой функции. Возникает вопрос: "В каких случаях приходится совершать действия повторно?".
На этот вопрос можно ответить небольшой шуткой : На приеме у врача Вы получаете рецепт, где написана 4 раза подряд одна и та же фраза : "В обед : Принять таблетку от кашля. Принять таблетку от кашля. Принять таблетку от кашля. Принять таблетку от кашля." Естественно, что вы сочтете такой рецепт странным, если не сказать большего. Ведь все эти фразы можно было заменить одним коротким предложением: "В обед принять 4 таблетки от кашля." Таким же точно образом мы можем заменить повторяющиеся команды одной конструкцией цикла.
Сущность цикла не только в том, что он повторяет одно действие. Главная идея в том, что каждое действие цикла проходит под определенным номером, из заданного ряда чисел, и этот номер может "использоваться в своих целях" той операцией, которая повторяется.
Рассмотрим знакомую нам операцию присваивания. Подвергнув ее анализу, можно убедиться, что она может использовать числовые значения. Это индекс и значение элемента массива с данным индексом.
Мы уже говорили о невозможности заполнения больших массивов "вручную". Посмотрите, как справляются с этим два эквивалентные по своему действию кусочка программы.
mas[0] = 40; mas[1] = 38; mas[2] = 36; mas[3] = 34;
mas[4] = 32; mas[5] = 30; mas[6] = 28; mas[7] = 26;
mas[8] = 24; mas[9] = 22; mas[10] = 20; mas[11] = 18;
mas[12] = 16; mas[13] = 14; mas[14] = 12; mas[15]=10;
mas[16] = 8; mas[17] = 6; mas[18] = 4; mas[19] = 2;
mas[20] = 0;

for (i=0; i<=20; i+=1) mas[i] = ( 20 - i ) * 2;

И действительно, результат работы двух участков программ одинаков. Привлекает то, что второй кусок программы, гораздо короче первого. Кстати, еслиб мы захотели заполнить массив из 1 000 000 элементов, запись изменилась бы незначительно.
В чем же секрет цикла? Все очень просто. В нем зключена последовательность чисел от 0 до 20. При исполнении, цикл 21 раз выполняет одну и ту же команду : присвоить чередному элементу массива mas значение, которое задает формула, расположенная после знака равенства.
Но все это происходит не "само по себе". Запись цикла "for" проста и коротка, но чтобы понять ее, требуется внимательное чтение ее и терпение. Цикл имеет "тело" : mas[i] = ( 20 - i ) * 2 , и параметры, которые записываются в круглых скобках. Тело представляет собой список действий, которые цикл выполнит за 1 шаг (в нашем случае всего шагов 21), а параметры лишь задают число этих шагов. На каждом шаге к значению переменной (i), используемой в цикле, брибавляется постоянная (в нашем случае единица; последний пераметр в скобках). Таким образом, при каждом значении i, выполняется присваивание значения очередному элементу с индексом, на который указывает переменная i ( mas[i] ). А само значение, фрмируется на каждом шаге из формулы ( 20 - i ) * 2 и так же зависит от текущего значения i. В таблице приведена трассировка:
Шаг Значение i элемент массива значение элемента
1 0 0 40
2 1 1 38
3 2 2 36
4 3 3 34
5 4 4 32
6 5 5 30
7 6 6 28
8 7 7 26
9 8 8 24
10 9 9 22
11 10 10 20
12 11 11 18
13 12 12 16
14 13 13 14
15 14 14 12
16 15 15 10
17 16 16 8
18 17 17 6
19 18 18 4
20 19 19 2
21 20 20 0
Внесите изменения в цикл, обращая внимание на изменения результатов : 1. Замените все числа 20 на 30; 2. Измените диапазон значений i (от 0 до 10, от 15 до 25); 3. Заполните весь массив нулями.

Выбор по критерию и конструкция ветвления
Термин "экстремум" обобщает понятия минимума и максимума. Очевидно, что понятия эти противоположны по значению, но совершенно не понятно, как они связаны с компьютером. Дело в том, что нам не интересно само по себе понятие экстремума и мы не будем его изучать. Нам будут интересны средства, которые позволяют обнаружить и опознать экстремум, т.е. алгоритмы выбора самого большого (маленького) числа из прочих чисел. Начнем с простого:
if ( prompt("Введите любое число","10")%2 )
alert('Число нечетное');

Рассмотренный фрагмент состоит из:
• конструкция "if" - оценивает, совершать действие, или нет.
• функция prompt - создает запрос.
• функция alert - выводит сообщение "Число нечетное"
• оператор % - остаток от деления (%2 - остаток от деления на 2 )

Принцип работы :
Секрет работы оператора "if" в следующем : он "отказывается" выполнять действие после скобок (функцию alert), если на его входе ноль. Во всех остальных случаях (когда ноля нет), он срабатывает. Это позволяет вставлять в его скобки выражения, которые могут дать либо ноль, либо что-то другое. В нашем случае в его скобках стоит функция "prompt", от которой тут же берется остаток от деления ее на два. Нечетные числа имеют остаток от деления на 2 единицу, что позволяет оператору "if" определить, выводить ли сообщение на экран. Таким образом осуществляется выбор по критерию четности.
Еще одна особенность оператора "if" в том, что он не только проверяет 0 выражение, или не 0, но и оценивает правильность выражений со знаками : <,>,==,<=,>= (больше, меньше, равно, меньше или равно, больше или равно). Если сравнение верно, оператор выполняет действия.
Эта программа вносит в массив mas только те числа, которые больше 100.
var a;
for (i=0; i<4; i+=1)
{
a=prompt("Введите любое число","");
if (a>100) mas[i]=a;
}
Попробуйте самостоятельно изменить значение критерия.
Экстремумы
Термин "экстремум" обобщает понятия минимума и максимума. Очевидно, что понятия эти противоположны по значению, но совершенно не понятно, как они связаны с компьютером. Дело в том, что нам не интересно само по себе понятие экстремума и мы не будем его изучать. Нам будут интересны средства, которые позволяют обнаружить и опознать экстремум, т.е. алгоритмы выбора самого большого (маленького) числа из прочих чисел. Начнем с простого:
С первого взгляда суть ясна : две заданные переменные сравниваются, и, в зависимости от результата сравнения, принимается решение, какую из надписей выводить на экран. А если ввести 2 одинаковых числа? Да, программа не годится для сравнения двух равных чисел. Почему нет сообщения о том, что 2 числа равны? Все просто. Дословный перевод этих строк таков : "Выведи первое сообщение, если a>b. Во всех остальных случаях выводи второе". В следующем примере этого недостатка можно избежать, если правильно подписать сообщения.
Эта простая конструкция, может оказаться серьезным камнем преткновения, если уделить ей недостаточно внимания. После двух простых экспериментов, переходим к более сложному с использованием трех переменных. Задайте текст сообщений, удовлетворяющий работе программы (знак && обозначает одновременность). Какой недостаток у этого алгоритма?
Напишите аналогичную программу, работающую с массивом.
Следующая программа заполняет массив по формуле и находит максимальное значение в нем :
var set=[];
var max;
var ind;
for (i=0; i<20; i+=1)
set[19-i]=(i%3-1)*i;
max=set[0];
for (i=0; i<20; i+=1)
if ( set[i] > max )
{
max=set[i];
ind=i;
}
alert(set+' Максимальное значение set ['+ind+'] = '+max);

Прокомментируем эту программу так :
var set=[]; //организуем массив set в памяти
var max; //отводим переменную для хранения текущего максимума
var ind;
//отводим переменную для хранения индекса максимального элемента

for (i=0; i<20; i+=1)
set[19-i]=(i%3-1)*i;
//Заполняем массив set по правилу : set[19-i]=(i%3-1)*i

max=set[0]; // текущий максимум сначала равен значению нулевого элементу
for (i=0; i<20; i+=1) // используем цикл для проверки каждого заполненного элемента массива
if ( set[i] > max ) // сравниваем элемент со значением, претендующим на максимум
{
max=set[i]; // если значение из массива больше, чем претендент, претендент преобретает новое значение
ind=i; // сохраним индекс, чтобы знать, где находится максимум
}
alert(set+' Максимальное значение set ['+ind+'] = '+max); // выводим массив, слова "максимальное значение set[", индекс, скобку со знаком равно, максимум

Перемещение значений внутри массива
Перемещения в массиве всегда осуществляются через посредника. Посредником может выступать переменная, или даже целый массив. Связано это с высвобождением свободного места в массиве под данные, либо с обменом данных между элементами. Объяснение рациональности механизма обмена через переменную в следующем : при обмене данными между двумя элементами массива без использования дополнительной переменной, затрачивается больше машинного времени, чем с ее использованием. Поэтому, не вдаваясь в подробности, перейдем непосредственно к простейшему алгоритму обмена с дополнительной переменной : естественно, что при обмене данными между 2 элементами, придется использовать операцию присваивания. В массив внесены 2 значения и задана дополнительная переменная. Объясните почему программа не производит обмена, а лишь создает копию одного элемента, внесите изменения:
var mas=[747477,38483];
var tmp;
tmp = mas[1];
mas[1] = mas[0];
mas[0] = mas[1];
alert(mas);

Обмен двух переменных - редкий случай. Обычно прихотится производить обмен многих переменных. Делается это при помощи цикла. В следующем окне неработающая представлена программа, применяющая обмен для "разворота" массива в обратном направлении. Внесите в тело цикла строку, позволяющую программе работать нормально :
var set=[];
var tmp;
for (i=0; i<20; i+=1)
set[19-i]=(i%3-1)*i;
for (i=0; i<10; i+=1)
{
tmp=set[i];
set[i] = set[19-i];
}
alert(set);

Самостоятельно составте программу, которая рассосредоточивает все значения массива так, что каждый второй элемент оказывается свободным.
Сортировки
Если задуматься о данных, с которыми приходится сталкиваться при работе с массивами, можно отметить, что это систематизированные данные, но их структуру бывает сложно понять. Разобраться в структуре помогает сортировка данных, которая распределяет числа массива в возрастающем, или в убывающем порядке.
Основа любой сортировки - нахождение экстремума и перемещение. Нам нужно только знать, как перемещать данные массива, чтобы они приняли упорядоченный вид. Закономерность по которой упорядочивается массив, несет в себе алгоритм сортировки.
Сортировка выбором.
Суть ее в следующем : необходимо, начиная с первого элемента массива, выбирать наибольший элемент и ставить на первое место, а первый - на место наибольшего; повторять процедуру, начиная со второго элемента до предпоследнего.
Найти наибольший элемент массива и обмениять его значение с первым элементом, для человека, прочитавшего соответствующие разделы, не составит труда. Сложность заключается в том, чтобы организовать цикл, запускающийся каждый раз с последующей позиции.
Весь курьез в том, что когда мы выполняем схожие действия несколько раз, мы используем цикл. А в нашей ситуации ничего друго не остается, как в цикле исполнять алгоритм поиска максимума, который сам и есть цикл. Мы подошли к понятию "вложенные циклы".
var set=[];
var max;
var tmp;
var ind;
for (i=0; i<20; i+=1) set[i] = (i%3-1)*i;

for (i=0; i<19; i+=1){
max=set[i];
for (j=i;j<20;j+=1)
if (set[j]<max){
max=set[j];
ind=j;
}
tmp=set[i];
set[i]=set[j];
set[j]=tmp;
}

alert(set);

Разработка практических заданий.
Заполнение и вывод.
1. Заполнить массив с клавиатуры. Вывести на экран все элементы массива без изменения, а за тем, округляя каждый элемент до десятков.
2. Заполнить массив с клавиатуры. Вывести на экран элементы массива без изменения, а за тем обнуляя в каждом элементе разряды, старше десятков.
3. Заполнить массив с клавиатуры десятичными дробями. Вывести массив на экран без изменения, а) отбрасывая целую часть, б) отбрасывая дробную часть.
4. Создать массив, где первые два элемента вводятся с клавиатуры, а каждый последующий элемент является суммой двух предыдущих. Вывести все элементы массива на экран в прямом и обратном порядке.
5. Заполнить массив с клавиатуры в следующем порядке: сначала ввести элементы с 7 по 12, а за тем с 1 по 6. Вывести элементы массива на экран без изменения, а затем суммы пар рядом стоящих элементов.
6. Заполнить массив А с клавиатуры в следующем. Вывести массив на экран. Вывести в следующем порядке: А[5],А[4],А[3],А[2],А[1],А[6],А[7] и т.д. Вывести остатки от деления на 2.
7. Заполнить массив случайными числами. Вывести массив на экран. Вывести массив: а) отнимая у каждого элемента 5; б) прибавляя к каждому элементу 5.
8. Заполнить массив случайным образом. Вывести элементы массива на экран без изменения, а затем : с 12 по 7 и с 1 по 6.
9. Заполнить массив числами Фибоначчи. Вывести его на экран. Вывести 5 – 10 элементы массива.

10. Заполнить массив случайным образом. Вывести массив без изменения. Вывести 5 элементов массива, номера которых выбрали случайным образом, указывая номер элемента.

Преобразование
11. Заполнить массив случайными дробными числами от -20 до 20. Вывести все элементы массива на экран. Округлить до целых чисел все элементы массива. Снова вывести массив на экран.
12. Заполнить массив случайным образом. Вывести все элементы массива на экран. Возвести в квадрат все элементы массива. Вывести преобразованный массив на экран.
13. Заполнить массив случайным образом. Преобразовать массив по правилу: новое значение элемента равно сумме текущего и следующего элемента. К значению последнего элемента прибавить начальное значение первого. Отобразить массив на экране до и после преобразования.
14. Заполнить массив случайными числами из промежутка от –70 до 25, преобразовать массив, чтобы получились числа с обратными знаками. Вывести на экран все элементы массива до и после преобразования.
15. Заполнить массив случайными числами. Уменьшить значение всех элементов по модулю в 2 раза. Вывести массив на экран до и после преобразования.
16. Заполнить массив случайными числами. Увеличить элементы массива на его среднее арифметическое. Вывести массив на экран до и после преобразования.
17. Заполнить массив с клавиатуры. Преобразовать массив по правилу: новое значение элемента равно косинусу разности между текущим и предыдущим элементом. Для первого элемента предыдущим считать последний. Вывести массив на экран до и после преобразования.
18. Заполнить массив случайными числами. Преобразовать массив методом сглаживания: каждое новое значение элемента - среднее арифметическое имеющихся соседей соответствующего элемента исходного массива. Вывести массив на экран до и после преобразования.
19. Заполнить массив случайными числами. Заменить каждый элемент массива суммой остальных элементов. Вывести массив на экран до и после преобразования.
20. Заполнить массив случайными числами. Заменить значения элементов массива остатками от деления на 30. Вывести массив на экран до и после преобразования.
21. Заполнить массив A случайными числами. Преобразовать все элементы по формуле: A'[i]=(|A[i]|+A[i])/2. Вывести массив на экран до и после преобразования.
Выбор по критерию
22. Заполнить массив с клавиатуры. Вывести на экран все элементы массива, каждый третий элемент массива.
23. Заполнить массив случайным образом. Вывести массив без изменения, а за тем только те элементы, номер которых простое число.
24. Заполнить массив случайным образом. Вывести все элементы массива, а за тем только кратные двум.
25. Заполнить массив случайным образом. Вывести все элементы массива, подсчитать количество простых чисел массива.
26. Заполнить массив случайным образом. Вывести все элементы массива на экран, а за тем только те, которые меньше среднего арифметического.
27. Заполнить массив случайным образом, вывести его на экран. Вывести все элементы кратные 2; 3; 5.
28. Ввести массив с клавиатуры. Вывести его на экран. Вывести пары идущих друг за другом чисел, если разница между ними менее 10.
29. Заполнить массив с клавиатуры, вывести его на экран полностью. Вывести только те элементы, значения косинусов которых не более 21/2/2.
30. Заполнить массив случайным образом, вывести его на экран. Подсчитать и вывести на экран сумму трех элементов массива, наиболее близких по значению к среднему арифметическому.
31. Заполнить массив случайным образом, вывести его на экран. Подсчитать среднее арифметическое модуля элементов. Вывести на экран элементы, большие среднего арифметического по модулю.
32. Заполнить массив случайным образом, вывести его на экран. Вывести номер элемента, делящий массив на части таким образом, чтобы разница между суммами элементов каждой части была минимальной.
33. Одномерный массив из N элементов вещественного типа (N<=12) заполнить случайными числами из диапазона [-20;20]. Сравнить количество отрицательных элементов с количеством положительных элементов.
34. Одномерный массив из N элементов целого типа (N<=15) заполнить случайными числами из диапазона [-20;20]. Подсчитать количество инверсий, т.е. таких пар элементов, в которых большее число находится слева от меньшего: A[i] > A[i+1].
35. Одномерный массив из N элементов целого типа (N<=10) заполнить случайными числами из диапазона [0;100]. Подсчитать сумму элементов с нечетными индексами.
Поиск
36. Заполнить массив с клавиатуры, вывести его на экран. Вывести на экран номер элемента равного среднему арифметическому всех элементов массива.
37. Заполнить массив с клавиатуры так, чтобы элементу массива с большим номером, соответствовало большее число. Вывести массив на экран. Определить, присутствует ли число 146 в массиве. Вывести номер элемента, содержащего это число.
38. Заполнить массив с клавиатуры. Вывести массив на экран. Вывести номера всех элементов, равных последнему элементу массива.
39. Заполнить массив случайным образом. Вывести массив на экран. Вывести номер элемента, равного первому элементу массива.
40. Заполнить массив с клавиатуры. Вывести массив на экран. Существует ли элемент, делящий массив на части так, что сумма элементов этих частей равна? Ответ вывести на экран.
41. Ввести значение целочисленной переменной и элементов массива с клавиатуры. Определить, присутствует ли заданное число в массиве. Массив должен вводиться во время работы программы. Предусмотреть окончание работы программы при нахождении заданного числа.
42. Задать с клавиатуры упорядоченный по возрастанию массив. Вывести его на экран, а в следующей строке только те элементы, значение которых больше номера среднего элемента.
43. Заполнить массив с клавиатуры. Вывести массив на экран. Вывести на экран все элементы, стоящие перед элементом со значением 0.

Экстремумы
44. Заполнить массив произвольно. Отобразить его на экране. Вывести номер максимального элемента.
45. Заполнить массив случайным образом. Вывести массив на экран. Вывести на экран номера максимального и минимального элементов. Подсчитать разницу между экстремумами и отобразить на экране.
46. Заполнить массив случайным образом. Вывести массив на экран. Подсчитать количество локальных минимумов и локальных минимумов по модулю. Отобразить на экране те, которых больше.
47. Заполнить массив случайным образом, вывести его на экран. Вывести на экран 5 наименьших элементов массива.
48. Заполнить массив случайным образом, вывести его на экран. Уменьшить в 10 раз максимальный элемент, а минимальный увеличить на 10. Вывести массив после изменения.
49. Заполнить массив случайным образом, вывести его на экран. Вывести произведение максимального и минимального элементов.
50. Заполнить массив случайным образом, вывести его на экран. Поменять местами максимальный и минимальный элемент. Отобразить массив после изменений.
51. Заполнить массив случайным образом, вывести его на экран. Максимальный элемент массива умножить на номер минимального. Показать массив с изменениями.
52. Заполнить массив случайным образом, вывести его на экран. Положительный и отрицательный экстремумы заменить частным самого экстремума и экстремума с противоположным знаком. Снова отобразить весь массив на экране.
53. Заполнить массив случайным образом, вывести его на экран. Присвоить всем элементам массива значение максимума. Результат работы программы вывести на экран.
Перемещения
54. Создать массив с числами. Вывести массив на экран. Поменять местами содержимое элементов с четными и нечетными номерами. Снова отобразить массив на экране.
55. Заполнить массив А размерностью 10 с клавиатуры, вывести его на экран. Поменять местами содержимое элементов первой и второй половины массива (A[1] и A[6], A[2] и A[7] и т.д.). Новый массив отобразить на экране.
56. Заполнить с клавиатуры первую половину массива из 10 элементов числами в диапазоне от 0 до 99. Вывести массив на экран. Распределить числа в массиве через 1 элемент. Отобразить массив на экране. У каждого непустого элемента перенести старший разряд в разряд единиц соседнего пустого элемента. Снова отобразить массив на экране.
57. Заполнить массив случайным образом, вывести его на экран. Отобразить массив симметрично относительно его средины. Вывести на экран получившийся массив.
58. Одномерный массив из N элементов целого типа (N<=15) заполнить случайными числами из диапазона [-20;20]. Вывести элементы массива на экран. Затем циклически сдвинуть элементы массива на 2 элемента влево. Результат вывести на экран.
59. Ввести значение целочисленной переменной и элементов массива с клавиатуры. Исключить из массива числа равные заданному. Вывести массив до и после преобразования.
60. Ввести массив с клавиатуры. Расширить массив, добавляя по новому элементу между каждой парой соседних элементов как их сумму. Вывести массив на экран до и после преобразования.
61. Ввести массив с клавиатуры. «Перемешать» массив беспорядочным образом так, чтобы ни одно число не занимало прежней позиции. Вывести массив на экран до и после преобразования.
62. Одномерный массив из элементов целого типа заполнить случайными числами. Вывести элементы массива на экран. Затем циклически сдвинуть элементы массива на 2 элемента влево, не используя оператора присваивания. Результат вывести на экран.
63. Заполнить массив A[1..N] случайным образом натуральными числами из диапазона 1..N, вывести его на экран. Считая массив перестановкой, выполнить операцию инверсии (поменять роли номеров элементов и значений элементов). Вывести массив на экран.
Сортировки
64. Заполнить массив случайными числами. Переместить элементы массива так, чтобы для каждого элемента выполнялось условие: ai<=ai+1. Вывести массив на экран до и после преобразования.
65. Заполнить массив случайным образом. Вывести массив на экран. Отсортировать массив в порядке возрастания сумм цифр элементов. Вывести на экран отсортированный массив.
66. Заполнить массив случайным образом. Вывести массив на экран. Отсортировать массив в порядке возрастания остатков от деления на 3. Вывести массив на экран. Отсортировать каждую группу по возрастанию. Снова вывести массив на экран.
67. Заполнить массив случайным образом. Вывести массив на экран. Отсортировать элементы массива по убыванию методом выбора : начиная с первого, выбирать наибольший элемент и ставить на первое место, а первый – на место наибольшего; повторять процедуру, начиная со второго элемента до предпоследнего. Отсортированный массив вывести на экран.
68. Заполнить массив случайным образом. Вывести массив на экран. Отсортировать элементы массива по возрастанию методом обмена : с первого элемента до предпоследнего сравнивать два соседних числа ai и ai+1 и делать перестановку, если ai > ai+1 . Повторять эти действия, начиная с первого элемента, сокращая каждый раз количество сравниваемых элементов на 1, пока не будут сравнены только 1 и 2 элемент. Отсортированный массив вывести на экран.
69. Заполнить массив случайным образом. Отсортировать элементы массива по возрастанию методом вставок, при котором в массиве выделяются упорядоченная часть, состоящая в начале из первого элемента, и кандидат, следующий сразу после нее. Вставить кандидата в отсортированную часть, выполняя циклический сдвиг элементов больших его значения в сторону освободившегося места. Выполнять эту процедуру пока остаются кандидаты. Вывести массив на экран до и после преобразования.
70. Заполнить массив случайными значениями из диапазона от 0 до 1. Отобразить массив на экране. Расположить в начале массива все ноли, а за тем единицы. Снова вывести массив на экран.
Заполнить элементы массива словами с клавиатуры. Отсортировать массив в алфавитном порядке. Вывести массив на экран до и после сортировки.

Заключение.
В представленной работе была рассмотрена проблема эффективности низкого контроля над практикой при внеклассной работе школьников и принято решение о создании электронного учебника, как средства, помогающего в решении этой проблемы. В связи с чем были выделены следующие цели:
• разработка электронного учебника, как дополнительного средства для самостоятельной работы школьников.
• Разработка пакета задач, который обеспечивал бы возможность для самостоятельного изучения информатики по заданной теме. Подборка задач должна обеспечивать возможность использования их на уроках в качестве раздаточного материала.
В число задач вошли следующие :
• Изучение особенностей создания учебных материалов.
• Разработка электронного учебника, соответствующего требованиям.
• Разработка заданий для урока.
Анализируя проделанную работу, можно сказать, что цели курсовой работы были достигнуты. В процессе написания работы не был найден полный перечень требований к написанию электронных учебников, поэтому задачи дипломной работы можно считать выполненными не полностью.
В процессе работы был составлен ЭУ и разработан пакет задач для самостоятельного решения. Задачи были разбиты по темам и могут решаться «вразнобой». Была достигнута цель использования задач в качестве раздаточного материала.
В учебнике осуществлена идея, позволяющая наглядно использовать примеры, приведенные в нем (исполняемые окна и экспериментатор).
Таким образом, можно сделать вывод, что, несмотря на неполное выполнение задач, дипломная работа отвечает поставленным целям.

Cписок литературы :
1. Торгашова Н. Э. Алгоритмы сортировки и поиска на занятиях по информатике. //Киров. – 1994.
2. под ред. Григорьева Б. С. Информатика. Язык паскаль : лабораторный практикум. - 1998
3. Вишак О. В. Критерии создания электронных учебных материалов // Педагогика. – 2003. – №8.
4. Вишняков А. В., Капустин Ю. И., Максимов Г. Н. Электронный учебник – что это? // Открытое образование. – 2002. – №2.
5. Воскресенский Г. В. Учебники нового поколения. // Платное образование. – 2003. – №3.
6. Генниева Е. Вторжение электронных изданий: плюсы и минусы.// Библиотека.-1997.-№8.
7. Зимина О. В. Печатные и электронные учебные издания в современном высшем образовании: Теория, методика, практика. – М.: МЭИ. – 2003.
8. под ред. Савельева Задачи и упражнения по программированию. //М. – 1989
9. Гутер. Задачник – практикум по программированию. //М – 1973.
10. Окулов 100 задач по информатике. //Киров : Пед. университет. - 2000
11. Иванов В. Л. Структура электронного учебника // Информатика и образование. – 2001. – №6.
12. Иванов В. Л. Электронный учебник: системы контроля знаний. // Информатика и образование. – 2002. – №1.
13. Смирнов А. Н. Проблемы электронных учебников // Математика в школе.-2000.-№5.
14. Соболева Н. Н., Гомулина Н. Н., Брагин В. Е, и другие Электронный учебник нового поколения // Информатика и Образование. – 2002. – №6.
15. Залогова, Плаксин Информатика : Задачник – практикум. – 1999

Недавно добавили