Методика профессионального обучения
Федеральное агентство по образованию
ГОУ ВПО Российский государственный профессионально-
педагогический университет
Институт информатики
Кафедра сетевых информационных технологий
Филиал в г. Омске
Курсовая работа
по дисциплине
Методика профессионального обучения
«Методический анализ учебного материала на тему: «Сложные типы данных. Массив. Одномерный массив»»
Работу выполнила
студентка группы Ом – 317 С-КТ Муравьева О.И.
Работу проверил
преподаватель РГППУ Колясникова Л.В.
Омск 2010
СОДЕРЖАНИЕ
|
1. 1.1. 1.2 1.3. 1.4. 2. 2.1. 2.2. 2.3. 3. 4. 5. 5.1. 5.2. 5.3. 5.4. 6 7 |
Введение………………………………………………………… Методический анализ учебного материала………………………….. Тематический план……………………………………………………. Требования
к знаниям и умениям учащихся…… Отбор учебного материала……….…………………………………... Тема и конспект учебного материала……………………………....... Структурно-логический анализ………………………………............ Спецификация учебных элементов………………………………….. Граф…………………………………………………………………… Структурно-логическая схема...……………………………………… Методическая редукция……………………… Выбор методов обучения…………………………………… Разработка средств и контроля обучения……………………………. Опорный конспект……………………………………………………. Листы рабочей тетради……………………………………… Инструкционная карта………………………………………………… Тестовый контроль………………………………… Конкретизация обучающей и когнитивной цели……………………. Проектирование технологии урока…………………………………... Заключение…………………………………………………… Список литературы………………………………… |
3 5 5 7 8 9 26 26 27 18 29 31 33 33 34 35 36 39 40 43 44 |
ВВЕДЕНИЕ
Одной из основных
задач педагога является методический
анализ учебного материала. Необходимо
предусмотреть соответствующие
методы и формы организации
Система обучения преподавателя зависит от педагогической позиции, которую он занимает и любая позиция имеет свою методологическую основу. Под методологией обычно понимают совокупность принципов, форм и методов организации образовательной деятельности. В зависимости от уровня целеполагания и учета закономерностей обучения различают развивающее, проблемное и эвристическое обучение.
Методология тесно
связана с технологией
Сложность методического
анализа заключается в
- Отсутствие учебников по многим учебным дисциплинам, вводимым в новых типах учебных материалов.
- Недостаточной полноте учебной информации по отдельным темам в рекомендуемых учебниках.
- Отсутствие единого учебника для учебных заведений средне-специального образования по специальным дисциплинам.
- Отсутствие ориентации технических дисциплин на одну базовую научную дисциплину.
Актуальность настоящей работы вытекает из необходимости в методическом анализе и методическом конструирование деятельности педагога.
Объектом работы является процесс структурирования и метод анализа учебного материала.
Предметом работы является дисциплина или процесс преподавания дисциплины «Основы алгоритмизации и программирования».
Цель методического анализа – провести анализ темы «Сложные типы данных. Массив. Одномерный массив» по дисциплине «Основы алгоритмизации и программирования».
В соответствии с поставленной целью в методическом анализе определены следующие задачи:
Задачи методического анализа:
- Провести отбор литературы;
- Провести структурно-логический анализ темы;
- Составить структурно-логическую схему;
- Разработать конспект учебного материала;
- Провести методическую редукцию;
- Определить цели урока;
- Разработать листы рабочей тетради;
- Составить опорный конспект;
- Составить инструкционные карты;
- Разработать итоговый тестовый контроль по теме.
- Методический анализ учебного материала
- ТЕМАТИЧЕСКИЙ ПЛАН
№ п/п |
Наименование разделов, тем |
Кол-во часов |
Из них ЛПЗ |
Формы контроля знаний |
1 |
2 |
3 |
4 |
5 |
1 |
Программирование на языке Object Pascal |
|||
1-1 |
Структура программы на языке Object Pascal.Стандартные функции и арифметические выражения языка Object Pascal.Основные операторы, их свойства и назначение. |
4 |
||
1-2 |
Программирование различных алгоритмических структур. |
4 |
Самостоятельная работа №1 | |
1-3 |
Среда программирования Object Pascal Интерфейс Object Pascal. Редактирование, выполнение и сохранение программ. |
2 |
||
1-4 |
Лабораторная работа №1. Работа в среде Object Pascal. |
2 |
2 |
Лабораторная работа №1 |
1-5 |
Лабораторная работа №2. Использование стандартных функции, составление выражений на языке Object Pascal. |
2 |
2 |
Лабораторная работа №2 |
1-6 |
Лабораторная работа №3. Программирование линейных алгоритмов на языке Object Pascal, ввод и вывод данных. |
2 |
2 |
Лабораторная работа №3 |
1-7 |
Операторы условий. Оператор выбора case..of. Полная и сокращенная форма развтляющегося оператора if then else. |
4 |
||
1-8 |
Лабораторная работа №4. Программирование разветвляющихся алгоритмов на языке Object Pascal. |
2 |
2 |
Лабораторная работа №4 |
1-9 |
Лабораторная работа №5. Программирование алгоритмов с условием выбора. |
2 |
2 |
Лабораторная работа №5 |
1 |
2 |
3 |
4 |
5 |
1-10 |
Цикл. Пошаговый оператор цикла. Оператор цикла с постусловием. Оператор цикла с предусловием |
4 |
||
1-11 |
Лабораторная работа №6. Программирование циклических алгоритмов на языке Object Pascal. |
2 |
2 |
Лабораторная работа №6 |
1-12 |
Лабораторная работа №7. Программирование смешанных и усложненных алгоритмов на языке Object Pascal. |
4 |
4 |
Лабораторная работа №7 |
1-13 |
Сложные типы данных. Массив. Одномерный массив. |
2 |
||
1-14 |
Лабораторная работа №8. Программирование структуры массива, работа с его элементами. |
2 |
2 |
Лабораторная работа №8. |
1-15 |
Одномерный массив. Сортировка массива. |
2 |
||
1-16 |
Лабораторная работа №9. Сортировки массивов. |
2 |
2 |
Лабораторная работа №9. |
1-17 |
Двумерные и многомерные массивы. |
2 |
||
1-18 |
Лабораторная работа №10. Программирование матриц. |
2 |
2 |
Лабораторная работа №10. |
1-19 |
Сложные типы данных. Строки. Процедуры и функции работы со строками. |
4 |
||
1-20 |
Лабораторная работа №11. Программирование значений строк с применением функций и процедур |
4 |
2 |
Лабораторная работа №11. |
1-21 |
Сложные типы данных. Записи. |
2 |
||
1-22 |
Лабораторная работа №12. Программирование пользовательских типов данных. |
2 |
2 |
Лабораторная работа №12. |
1-23 |
Лабораторная работа №13. Программирование смешанных и усложненных алгоритмов на языке Object Pascal. |
2 |
2 |
Лабораторная работа №13. |
1-22 |
Итоговое зачетное занятие |
2 |
2 |
Тест Собеседование |
Всего: |
68 |
30 |
||
- ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ УЧАЩИХСЯ
Для успешного усвоения темы учащиеся
должны знать:
- среду визуального программирования Object Pascal;
- типы данных;
- операторы условного перехода и оператор выбора;
- операторы циклов со счетчиком, с постусловием и предусловием.
должны уметь:
- описывать переменные;
- пользоваться операторами присваивания, ввода и вывода, оператором условия и выбора, операторами циклов;
- применять математические функции;
- компилировать программы;
- работать в консольном режиме;
- работать в объектно-ориентированном режиме;
- сохранять проект.
После изучения данной темы учащиеся
должны знать:
- понятие «Сложные типы данных»;
- понятие «Массивы»;
- понятие «Индекс массива»;
- классификацию массивов;
- операции с массивами.
должны уметь:
- описывать массивы;
- вводить и выводить на экран массив;
- обращаться к любому элементу массива;
- сравнивать массивы;
- сортировать массивы.
- ОТБОР УЧЕБНОГО МАТЕРИАЛА
Для более глубокого и доступного изложения данной темы мною было изучено несколько учебников, из которых в основу рассмотрения данной проблемы легло два наиболее структурированных и содержательных:
- Бобровский С.И. «Turbo Pascal. Учебный курс».;
- Климова Л. М. «Практическое программирование. Решение типовых задач Pascal 7.0».
Из представленных выше изданий мною был выбран учебник под редакцией Бобровский С.И. В основу учебника заложена идея подготовки учащегося для работы на компьютере, владеющего базовыми технологиями построения алгоритмов и решения логических задач. Представленный в книге курс, обеспечивает общеобразовательный уровень информационной культуры для всех учреждений. Учащиеся изучают работу в два этапа – структурно-логические схемы построения алгоритмов, программирование на языке Object Pascal. Освоение языка программирования происходит при помощи программной среды Turbo Pascal в процессе решения конкретных задач или проблем. Представлен широкий ассортимент примеров программ, контрольных задач и вопросов. Этот учебник может быть использован для самостоятельного освоения основ алгоритмизации и языков программирования.
Учебник Климова Л. М. - отличный учебник, представлено огромное количество практических и самостоятельных работ, чётко анализируется каждая тема, программы структурированы по типу от простого к сложному. Своеобразно излагается материал по теме массивы, примеры приведенные в учебники оригинальны, но предназначены для более профессионального уровня. У этого учебника есть только один минус - у него практически нет теоретического материала, поэтому я всё же взяла за основу учебник под редакцией С.И. Бобровского.
- ТЕМА И КОНСПЕКТ УЧЕБНОГО МАТЕРИАЛА
Тема: Сложные типы данных. Массив. Одномерный массив.
План:
- Сложные типы данных;
- Массив;
- Структура одномерного массива:
- Имя массива;
- Индекс массива;
- Тип массива.
- Работа с массивом и его элементами.
- Сложные типы данных
Тип данных – определяет множество значений, которые могут принимать элементы данных, и совокупность допустимых над ними операций.
До сих пор вы сталкивались в основном с простыми типами данных. Типы данных разделяются на простые и сложные. К простым типам относятся целочисленный (Integer), вещественный (Real), символьный (Char) и логический (Boolean); к сложным типам – массивы (array), строки (string), множества (set of), записи(record), файлы (file of). Элементами сложных типов могут быть простые типы, а также, в свою очередь, сложные типы. Введение сложных типов делает язык программирования более мощным и позволяет составлять эффективные программы.
Сложные типы данных – предназначены для хранения информации, различных объектов, т.е. не одного вида.
Сложные типы данных (структурированные типы данных) определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.
Структурированные типы данных в отличие от простых задают множества сложных значений с одним общим именем. Можно сказать, что структурные типы определяют некоторый способ образования новых типов из уже имеющихся.
Существует несколько методов структурирования. По способу организации и типу компонентов в сложных типах данных выделяют следующие разновидности: регулярный тип (массивы); комбинированный тип (записи); файловый тип (файлы); множественный тип (множества); строковый тип (строки); в языке Турбо Паскаль версии 6.0 и старше введен объектный тип (объекты).
В отличие от простых типов данных, данные структурированного типа характеризуются множественностью образующих этот тип элементов, т.е. переменная или константа структурированного типа всегда имеет несколько компонентов. Каждый компонент в свою очередь может принадлежать структурированному типу, т.е. возможна вложенность типов.
- Массив
Массивы, как и циклы, – величайшее изобретение программирующего человечества. Массивы приходят на помощь, когда приходится иметь дело с наборами однотипных и однородных данных. Такой набор, имеющий общее для всех своих элементов имя, и называется массивом. Тип «массив» является представителем группы структурных типов Паскаля.
Одномерный массив – поименованная область памяти, доступ к которой осуществляется по общему имени и индексу соответствующей части.
- Структура одномерного массива
Массив характеризует прежде всего общим типом его элементов и их количеством, от которых зависит объем памяти, необходимый для размещения массива. Количество элементов массива, в свою очередь, определяется количеством индексов и диапазоном их изменения. В программировании количество индексов массива называют его размерностью (рангом), количество допустимых значений каждого индекса – его диапазоном (иногда используется термин «экстент»), а совокупность размерности и диапазонов – формой массива. Геометрическим образом массива можно считать многомерный параллелепипед. Каждое измерение этого параллелепипеда соответствует некоторому индексу, а его протяженность в каком-либо измерении – диапазону соответствующего индекса. При обращении к элементу массива индекс указывается в квадратных скобках после имени массива.
Пример: А[8]:=23, где А – это массив, [8] – элемент массива с индексом 8, а 23 – содержимое этого элемента.
Массив – поименованная
Синтаксис: Var
<Имя массива> : array[<Нижний индекс>..<Верхний индекс>] of <Тип>
<Имя массива> - идентификатор, соответствующий правилам обозначения идентификатора.
<Нижний индекс> и <Верхний индекс> - константы задающие диапазон значения массива.
Например: <Нижний индекс> = 3, <Верхний индекс> = 7, то массив будет состоять из 5 элементов.
В качестве <Типа> элемента массива может использоваться любой для решения тип данных.
Массив – это набор данных одного типа, которые упорядочены по номерам. Номер – это индекс элемента массива, поэтому он должен быть целочисленного типа.
- Работа с массивом и его элементами
Элементы массива можно заполнять (с клавиатуры, задавать программно, либо случайным образом), выводить на экран массива, также работать с отдельными его элементами, сортировать массив.
Чаще всего работать с массивами приходиться с помощью циклов с параметрами, потому что в большинстве типичных задач длина массива известна.
Пример заполнения элементов массива программно.
Дан массив размерностью [1..10], присвоить каждому элементу 6.
Код программы |
Комментарии |
Program zapolnenie1; |
{имя программы} |
Var a:array[1..10] of integer; |
{массив 1..10 целого типа } |
i:integer; |
{индекс массива} |
Begin |
{начало тела программы} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
a[i]:=6; |
{каждому элементу массива присваивается число 6} |
End. |
{конец тела программы} |
Пример заполнения
элементов массива с
Дан массив размерностью [1..10], заполнить его с клавиатуры целыми числами.
Код программы |
Комментарии |
Program zapolnenie2; |
{имя программы} |
Var a:array[1..10] of integer; |
{массив 1..10 целого типа } |
i:integer; |
{индекс массива} |
Begin |
{начало тела программы} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
Readln(a[i]); |
{на новой строке вводим элемент массива} |
End. |
{конец тела программы} |
Пример заполнения элементов массива случайным образом.
Дан массив размерностью [1..10], заполнить его случайно сгенерированными числами в диапазоне от -50 до +50.
Код программы |
Комментарии |
Program zapolnenie3; |
{имя программы} |
Var a:array[1..10] of integer; |
{массив 1..10 целого типа } |
i:integer; |
{индекс массива} |
Begin |
{начало тела программы} |
Randomize; |
{подключения модуля случайных чисел} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
a[i]:=random(101)-50; |
{элементу массива присваиваем случайно выбранное число функцией random в диапозоне от -50 до +50} |
End. |
{конец тела программы} |
Функция Random.
Random[(range:Word)]. В квадратных скобках указывается необязательный параметр конструкции Turbo Pascal. Тип результата: Real или Word, в зависимости от наличия параметра. Если параметр не задан, то результатом является число типа Real в диапазоне 0<=x<1. При наличии параметра возвращается число типа Word в диапазоне 0<=x<range. Обратите внимание на то, что верхняя граница диапазона не достигается – строгое неравенство.
Пример вывода массива на экран.
Дан массив размерностью [1..10], заполнить его числом 6 и вывести на экран.
Код программы |
Комментарии |
Program vivod; |
{имя программы} |
Var a:array[1..10] of integer; |
{массив 1..10 целого типа } |
i:integer; |
{индекс массива} |
Begin |
{начало тела программы} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
a[i]:=6; |
{каждому элементу массива присваивается число 6} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
Write(a[i]:4); |
{вывод элемента
массива на экран, для |
Writeln; |
{задержка вывода} |
End. |
{конец тела программы} |
Пример работы с элементами массива.
Дан массив размерностью [1..10], заполнить его заполнить его случайно сгенерированными числами в диапазоне от -50 до +50 и вывести на экран минимальный элемент массива.
Код программы |
Комментарии |
Program rabota; |
{имя программы} |
Uses crt; |
{подключение модуля} |
Var a:array[1..10] of integer; |
{массив 1..10 целого типа} |
i,c:integer; |
{индекс массива, переменная минимума} |
Begin |
{начало тела программы} |
Clrscr; |
{очистка экрана} |
Randomize; |
{подключения модуля случайных чисел} |
for i:=1 to 10 do |
{в цикле от 1 до 10} |
a[i]:=Random(101)-50; |
{каждому элементу
массива присваивается |
c:=a[1]; |
{переменной минимум присваивается значение первого элемента массива} |
for i:=2 to 10 do |
{в цикле от 2 до 10} |
if c>a[i] then |
{Если переменная
минимума больше элемента |
c:=a[i]; |
{переменной минимум присваивается элемент массива} |
Writeln(‘min=’,c:4); |
{вывод минимального элемента массива на экран, для которого отводится 4 позиции} |
Readkey; |
{задержка вывода} |
End. |
{конец тела программы} |
Тема: Одномерный массив. Сортировка массива..
План:
- Сортировка массива методом выбора;
- Сортировка массива методом вставки;
- Сортировка массива методом «пузырька».
Продолжительность занятия: два академических часа.
Все из существующих ныне способов сортировки отличаются друг от друга по скорости выполнения, понятности и длине кода, по красоте решения. Зачастую в код уже разработанного алгоритма вносятся какие-либо изменения и так возникает множество решений, некоторые и с которых мы и попробуем сейчас рассмотреть.
- Сортировка массива методом выбора
Хотя этот алгоритм и не является самым быстрым, но на мой взгляд он наиболее прост для понимания. Суть алгоритма состоит в том, что бы в исходном массиве найти наименьший элемент, а затем поменять местами первый элемент в списке с найденным. После того, находиться наименьший их оставшихся и меняется со вторым элементом. И так до тех пор пока весь список не будет отсортирован.
Таким образом понадобиться N+(N-1)+(N-2)+...+1 или N*N проходов чтобы отсортировать список.
procedure SellectionSort( var a: array of integer; min,
max: Integer);
var
i, j, best_value, best_j: longint;
begin
for i:=min to max do
begin
best_value:=a[i];
best_j:=i;
for j:=i+1 to max do
begin
if a[j]<best_value then
begin
best_value:=a[j];
best_j:=j;
end;
end;
a[best_j]:=a[i];
a[i]:=best_value;
end;
end;
Переменными min и mах можно ограничить область списка в которой, будет выполнена сортировка. Что бы отсортировать весь массив необходимо записать следующее:
Код Delphi/Pascal - SellectionSort(a, 0, high(a));
- Сортировка массива методом вставки
Это тоже предельно
простой для понимания
procedure InsertionSort( var a: array of integer; N: integer);
var
B: array [0..10000] of integer;
i, j: integer;
begin
for i:=0 to N do
begin
j:=i;
while (j>1) and (B[j-1]>A[i]) do
begin
B[j]:=B[j-1];
j:=j-1;
end;
B[j]:=A[i];
end;
for i:=0 to N do
A[i]:=b[i];
end;
Если внимательно посмотреть на реализацию алгоритма, то сразу же заметим что для его выполнения необходимо больше, чем N*N проходов, поэтому в приложениях, где скорость выполнения кода критична, подобный алгоритм использовать не актуально.
- Сортировка массива методом «пузырька»
Чаще всего используется для сортировки частично упорядоченных списков, так как именно для них скорость выполнения максимальна и может равняться O(N), где N количество элементов массива, а во время одного прохода через цикл. Этот алгоритм в исходном списке ищет пары цифр, которые следуют не по порядку и затем меняет их местами. Процесс повторяется до тех пор, пока весь список не будет отсортированным. На рисунке изображен пример сортировки данным методом.
На рисунке можно проследить за перемещение элемента, который изначально был ниже чем после сортировки. Во время прохода цикла, элемент изменяет свою позицию на одну позицию ближе к своему конечному месту. На рисунке элемент двигается к вершине, как пузырёк воздуха к поверхности воды. Этот эффект и дал название алгоритму пузырьковой сортировке.
Пузырьковая сортировка:
procedure BubbleSort( var a: array of integer; min, max: Integer);
var
i, j, tmp: integer;
begin
for i:=min to max do
for j:=min to max-i do
if A[j]>A[j+1] then
begin {Обмен элементов}
tmp:=A[j];
A[j]:=A[j+1];
A[j+1]:=tmp;
end;
end;
- СТРУКТУРНО-ЛОГИЧЕСКИЙ АНАЛИЗ
- СПЕЦИФИКАЦИЯ УЧЕБНЫХ ЭЛЕМЕНТОВ
№ п/п |
Название учебных элементов (понятий) |
Опорное понятие |
Новое понятие |
Символьное обозначение |
Уровень усвоения |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
Тип данных |
+ |
III | ||
2 |
Простой тип данных |
+ |
III | ||
3 |
Целочисленный тип данных |
+ |
INTEGER |
III | |
4 |
Вещественный тип данных |
+ |
REAL |
III | |
5 |
Символьный тип данных |
+ |
CHAR |
III | |
6 |
Логический тип данных |
+ |
BOOLEAN |
III | |
7 |
Структурированный тип данных |
+ |
II | ||
8 |
Массив |
+ |
ARRAY |
I | |
9 |
Строки |
+ |
STRING |
I | |
10 |
Множества |
+ |
SET OF |
I | |
11 |
Записи |
+ |
RECORD |
I | |
12 |
Файлы |
+ |
FILE |
I | |
13 |
Одномерный массив |
+ |
I | ||
14 |
Объявление массива |
+ |
I | ||
15 |
Имя массива |
+ |
I | ||
16 |
Нижний индекс |
+ |
I | ||
17 |
Верхний индекс |
+ |
I | ||
18 |
Тип массива |
+ |
I | ||
19 |
Ввод массива |
+ |
I | ||
20 |
Генератор чисел |
+ |
Random |
I | |
21 |
Вывод массива |
+ |
I |

- Методика профессионального обучения
- Методика профессионального обучения
- Методика профессионального обучения
- Методика психодиагностического подхода при исследовании больных с психическими расстройствами
- Методика работы над вычислительными приемами в концентре «Сотня»
- Методика работы над лирическим стихотворением на уроках литературного чтения в начальных классах
- Методика работы над орфографическими ошибками
- Методика проверки исчисления и уплаты налога на добавленную стоимость
- Методика проверки кассовых операций ТОО «Ваш шанс»
- Методика проверки обеспечения контроля за сохранностью материально-производственных запасов
- Методика проверки правильности исчисления, полноты и уплаты налога на доходы физических лиц
- Методика прогнозирования экономической безопасности белгородской области
- Методика "Прогрессивной матрицы ДЖ. Равена" для тестирования и развитие уровня интеллекта
- Методика проектирования цеха ремонтного завода