- •Содержание и структура школьного курса информатики. Стандарты школьного образования по информатике. Фундаментальное ядро и ууд в стандарте второго поколения.
- •Информатика Пояснительная записка
- •3. Анализ учебных и методических пособий курса информатики.
- •4. Типовой школьный кабинет вычислительной техники (назначение, оборудование, организация работы, санитарно – гигиенические нормы и техника безопасности).
- •7. Методика изложения раздела «Представление информации в компьютере». Представление целых и вещественных чисел в памяти компьютера.
- •Представление чисел в компьютере
- •8. Методика изложения раздела «Обработка графической информации» в школьном курсе. Растровая и векторная графика. Интерфейс графических редакторов. Форматы графических файлов.
- •Форматирование абзацев:
- •Графические объекты
- •Рисунки
- •Угринович н.Д. - 8-9 класс - 12 часов.
- •Правила записи функций
- •11. Методика изложения раздела «Мультимедийные технологии» в школьном курсе. Компьютерные презентации.
- •Основные функции субд
- •14. Роль и место темы «Данные. Типы данных» в разделе «Программирование» школьного курса информатики.
- •Вопрос 15.Методика изложения темы «Разветвляющиеся алгоритмы» в разделе «Программирование» школьного курса информатики.
- •Вопрос 16.Методика изложения темы «Циклические алгоритмы» в разделе «Программирование» школьного курса информатики.
- •Вопрос 17.Методика изложения темы «Массивы» в разделе «Программирование» школьного курса информатики.
- •Вопрос 18.Методикаизложениятемы «Подпрограммы. Рекурсия» раздела «Программирование» в школьномкурсе.
- •Вопрос 19.Методикаизложениятемы «Обработкатекстовойинформации» раздела «Программирование» в школьномкурсе.
- •Вопрос 22.Методика изложения раздела «Коммуникационные технологии» в школьном курсе.
- •InternetProtocol (ip) обеспечивает маршрутизацию ip-пакетов, то есть доставку информации от компьютера-отправителя к компьютеру-получателю.
- •Вопрос 23.Методика изложения раздела «Компьютер как универсальное устройство обработки информации» в школьном курсе.
- •Вопрос 24. Логика в курсеинформатики.
Вопрос 17.Методика изложения темы «Массивы» в разделе «Программирование» школьного курса информатики.
План ответа
Понятие массива, характеристики массива (имя, тип, значение элементов, размерность, размер).
Описание массивов.
Стандартные задачи на обработку массивов (перечислить).
Пример одной из сортировок (на выбор).
Фрагмент методики изложения данного раздела для конкретного языка программирования (на выбор).
Массив является набором переменных одного типа, объединенных одним именем. Массивы бывают одномерные,которые можно представить в форме одномерной таблицы, идвумерные,которые можно представить в форме двумерной таблицы.
Массив состоит из пронумерованной последовательности элементов. Номера в этой последовательности называются индексами.Каждый из этих элементов является переменной, то есть обладает именем и значением, и поэтому массив можно назвать переменной с индексом.
Обозначается массив следующим образом:
ИмяМассива(Индекс)
Массивы могут быть различных типов: числовые, строковыеи так далее. Например, одномерный строковый массив strA (I), содержащий буквы русского алфавита, можно представить себе в виде следующей таблицы:
Индексы являются целыми числами (в данном случае от
до 33). Обращение к элементу массива производится по имени элемента, состоящему из имени массива и значения индекса, например strA (5).
Каждый элемент массива может принимать собственное значение. Так, значением элемента массива strA(5) является строка "д"
Объявление массива производится аналогично объявлению переменных, необходимо только дополнительно указать диапазон изменения индексов. После объявления массива для его хранения отводится определенное место в памяти.
Например, объявление одномерного строкового массива, содержащего 33 элемента, производится следующим образом:
Dim strA(l То33) As String
Заполнение массива
Для начала работы с массивом необходимо его предварительно заполнить, то есть присвоить лементам массива определенные значения. Заполнение массива можно производить различными способами.
Заполнение с клавиатуры. Первый способ состоит в том, что значения элементов массива вводятся пользователем с клавиатуры, например с помощью функции InputBox. Тогда для заполнения рассмотренного выше строкового массива strA(bytl) буквами русского алфавита можно использовать следующую событийную процедуру:
DimstrA(lТо 33) AsString, bytlAsByte' Заполнение массива с клавиатуры Subcmdl_Click()
Forbytl = 1 To33
strA(bytl) = InputBox("Введите букву", _"Заполнение массива")
Next bytlEnd Sub
Заполнение с помощью оператора присваивания. Второй способ заполнения массива состоит в использовании оператора присваивания. Заполним числовой массив bytA(bytl) целыми случайными числами в интервале от 1 до 100.
Для генерации последовательности случайных чисел используем функцию Rnd. При запуске программы функция Rnd дает равномерно распределенную псевдослучайную (то есть каждый раз повторяющуюся) последовательность чисел из интервала 0 <X< 1. Для того чтобы генерировались различающиеся между собой последовательности, можно использовать оператор Randomize.
Для получения последовательности случайных чисел в заданном интервалеА<Х <В необходимо использовать следующую формулу:
(В-А)* Rnd + А
Получение целочисленной последовательности случайных чисел из интервала 0 <X< 100 достигается использованием функции выделения целой части числа:
Int(Rnd * 100)
Создадим событийную процедуру для заполнения одномерного целочисленного массива случайными числами:
Dim bytA(l То 100), bytl As Byte ' Заполнение массива присваиванием Sub cmdl_Click()
For bytl = 1 To 100
bytA(bytl) = Int(Rnd * 100)
Next bytl
End Sub
Поиск в массивах
Поиск в строковых массивах. Поиск в строковых массивах обычно реализуется в форме поиска индекса элемента массива, значение которого совпадает с заданным.
Создадим проект, который в строковом массиве, содержащем русский алфавит, осуществляет поиск заданной буквы и определяет ее порядковый номер в алфавите.
ЛУ Проект «Поиск в строковом массиве»
Поместить на форму frml кнопку cmdl и создать для нее событийную процедуру cmdl_Click (), реализующую заполнение массива буквами русского алфавита путем их последовательного ввода с клавиатуры.
Для реализации поиска создадим событийную процедуру, в которой запрашивается буква для поиска и в цикле производится ее сравнение со всеми элементами массива. В случае совпадения буквы и значения элемента массива переменной bytN присваивается значение индекса данного элемента. Результат поиска выведем на форму.Поместить на форму кнопку cmd2 и создать для нее событийную процедуру cmd2_Click (), реализующую поиск: Dim strA(l То 33) As String, bytl, bytN As Byte
'Поиск элемента Sub cmd2_Click()
strB = InputBox("Введите искомую букву",
"Поиск")
For bytl = 1 To 33
If strB = strA(bytl) Then bytN = bytl Next bytl
номер:
strB;
Запустить проект. Щелкнуть по кнопкеЗаполнить массив и последовательно ввести буквы русского алфавита. Щелкнуть по кнопке Поиск и ввести искомую букву, например «г».
Поиск в числовых массивах. В числовых массивах обычно производится поиск наименьшего или наибольшего элемента.
Осуществим поиск наименьшего элемента (то есть элемента с наименьшим значением) в числовом массиве, состоящем из 100 элементов.
Сначала заполним массив целыми случайными числами в цикле с использованием генератора случайных чисел функции Rnd и функции выделения целой части числа Int.
Проект «Поиск в числовом массиве»
Поместить на форму frml кнопку cmdl и создать для нее событийную процедуру cmdl_Click (), реализующую заполнение массива случайными числами.
Значение минимального элемента будем хранить в переменной bytMin, а его индекс — в переменной bytN. Будем считать сначала, что минимальный элемент равен первому элементу массива bytA(l), поэтому присвоим переменной bytMin его значение.
Затем в цикле сравним последовательно элементы массива со значением переменной bytMin. Если какой-либо элемент окажется меньше, присвоим его значение переменной bytMin, а его индекс — переменной bytN — и так до самого последнего элемента. Результат поиска выведем на форму.
Поместить на форму кнопку cmd2 и создать для нее событийную процедуру cmd2_Click (), реализующую поиск:
Dim bytA (1 То 100), bytl, bytN As Byte Sub cmd2_Click()
’Поиск минимального элемента bytMin = bytA(l) bytN = 1
For bytl = 2 To 100 If bytA(bytl) <bytMin Then bytMin = bytA(bytl) : bytN = bytl
Next bytl
frml.Print "Минимальный элемент bytMin;
"его индекс"; bytN End Sub
Запустить проект. Щелкнуть по кнопкам Заполнить массив и Найти Min элемент несколько раз. На форме будут напечатаны результаты поиска минимального элемента для различных вариантов заполнения массива.
Сортировка массива
Рассмотрим задачу упорядочения (сортировки) числового массива по возрастанию значений его элементов. Пусть у нас имеется целочисленный числовой массив bytA(bytl), состоящий из 10 элементов и заполненный случайными числами. Представим массив в виде таблицы (табл. 5.9).
Идея алгоритма состоит в следующем. Проводим поиск минимального элемента в массиве среди элементов с 1-го по 10-й. Далее меняем найденный минимальный элемент местами с элементом с индексом 1 (выполняем перестановку).
Проводим поиск минимального элемента среди элементов со 2-го по 10-й и делаем перестановку.
Повторяем процедуру поиска минимального элемента среди оставшихся неупорядоченных элементов многократно. Повторение реализуем с помощью цикла со счетчиком, максимальное значение которого составляет N-1, где N— количество элементов массива (в рассматриваемом случае цикл повторяется 9 раз). В результате массив упорядочивается.
Поиск минимального элемента проводится многократно, поэтому реализуем его как общую процедуру МинЭлемент (bytl, bytNAsByte), где bytl является входным параметром, a bytN — выходным параметром.
Таким образом, программный модуль формы должен содержать: событийную процедуру заполнения массива случайными числами, событийную процедуру сортировки и общую процедуру поиска минимального элемента.
Проект «Сортировка числового массива»
Поместить на форму frml кнопку cmdl и создать для нее событийную процедуру cmdlClick (), реализующую заполнение массива случайными числами.
Определить переменные для всего программного модуля. Преобразовать событийную процедуру из проекта «Поиск в числовом массиве» в общую процедуру МинЭлемент (bytl, bytNAsByte):
Dim bytA(l To 10), bytMin, bytl, bytJ, bytK, bytR, bytNAs Byte
'Общая процедура поиска минимального элемента Sub МинЭлемент (bytl, bytNAs Byte) bytMm = bytA(bytl) bytN = bytl
For bytJ = bytl + 1 To 10 If bytA(bytJ) <bytMinThen bytMin = bytA(bytJ) : bytN = bytJ
Next bytJEnd Sub
Создать событийную процедуру сортировки. Для осуществления перестановки использовать промежуточную переменную bytR. Для визуализации процесса сортировки для каждого цикла перестановки элементов (цикл по переменной bytl) в цикле по переменной bytK выводить в текстовое поле txtSort значения элементов массива.
'Событийная процедура сортировки
Private Sub cmd2_Click() txtSort.Text = ""
For bytl = 1 To 9
'Вызов общей процедуры поиска минимального элемента
Call МинЭлемент(bytl, bytN)
'Перестановка bytR = bytA(bytl) bytA(bytl) = bytA(bytN)
bytA(bytN) = bytR
'Печать массива для каждого цикла перестановки For bytK = 1 То 10
txtSort.Text = txtSort.Text + Str(bytA(bytK)) Next bytK Next bytl End Sub
Запустить проект. Щелкнуть по кнопкамЗаполнить массив и Сортировать. В текстовом поле будет реализована визуализация процесса сортировки числового массива по шагам.