
- •Министерство образования и науки рф
- •Владимирский государственный университет
- •Оглавление
- •Глава 1. Алгоритмизация 17
- •Глава 2. Программирование 77
- •Глава 3. Отдельные вопросы методики преподавания
- •2. Проектная технология – средство реализации
- •3. Пример использования элементов технологии
- •Введение
- •Краткая структурная схема изучения темы «Алгоритмизация и программирование»
- •Требования к знаниям и умениям учащихся при изучении содержательной линии «Алгоритмизация и программирование»
- •Рекомендации по изучению языков программирования Процедурное программирование
- •Краткая история языков программирования Ершол, Turbo Pascal, qBasic Язык программирования Ершол
- •Язык программирования Turbo Pascal
- •Язык программирования qBasic
- •Визуальное объектно-ориентированное программирование
- •Языки логического и функционального программирования
- •Глава 1. Алгоритмизация
- •1. Алгоритм и его свойства
- •1.1. Понятие алгоритма
- •1.2 Исполнитель. Схема знакомства с исполнителем
- •1.3. Свойства алгоритмов
- •2. Способы записи алгоритмов
- •2.1. Словесный способ записи алгоритмов
- •2.2. Блок-схемы4 алгоритмов
- •2.2.1. Основные элементы построения блок-схем
- •Основные управляющие команды организации действий в алгоритмах
- •2.2.3. Дополнительные управляющие команды организации действий в алгоритмах
- •3. Примеры блок-схем алгоритмов
- •3.1. Блок-схемы алгоритмов, содержащих команды ветвления
- •3.2. Блок-схемы алгоритмов, содержащих команды повторения
- •3.3 Блок-схемы алгоритмов работы с массивами
- •3.4. Блок-схемы алгоритмов, содержащих команды обращения к вспомогательным алгоритмам
- •4. Алгостихи
- •5. Алгоритмы для исполнителя мнр (машины с неограниченными регистрами)
- •Глава 2. Программирование
- •1. Кодирование управляющих команд организации действий на процедурных языках Ершол, qBasic, Turbo Pascal13
- •2. Коды программ решения задач 10-36 на языках Ершол, qBasic, Turbo Pascal14
- •3. Занимательные игры-алгоритмы
- •Структурная схема возможных блоков построения игровых алгоритмов
- •3.1. Задача Баше
- •Программа на языке qBasic игры Баше
- •3.2. Ханойская башня
- •Программа на языке Turbo Pascal игры Ханойская башня (с использованием рекурсии)
- •3.3 Игра «Жизнь»
- •Программа на языке qBasic игры «Жизнь»
- •Глава 3. Отдельные вопросы методики преподавания учебного материала содержательной линии «Алгоритмизация и программирование»
- •1. Предметные технологии формирования информационной культуры учащихся
- •1.1. Проектирование алгоритмов «сверху вниз» и «снизу вверх»
- •Примеры проектирования алгоритмов с использованием технологий «сверху вниз» и «снизу вверх»
- •Задания к данному параграфу
- •1.2. Имитационное моделирование исполнения программ компьютером
- •1.2.1. Моделирование памяти компьютера
- •Задания к данному параграфу
- •1.2.2. Моделирование с использованием наглядных протоколов
- •Примеры ручного исполнения программ с использованием метода наглядных протоколов
- •Решение
- •Задания к данному параграфу
- •1.3. Имитационное моделирование при нахождении алгоритма поиска минимального элемента в массиве чисел
- •Задания к данному параграфу
- •1.4. Имитационное моделирование при нахождении алгоритма сортировки элементов массива методом выбора
- •Задания к данному параграфу
- •1.5. Имитационное моделирование при изучении механизма пирамидальной сортировки элементов массива
- •2. Проектная технология – средство реализации личностно-ориентированного обучения
- •3. Пример использования элементов технологии проблемного обучения при введении команды повторения «пока», управляющей команды организации действий в алгоритмах
- •4. Вопросы и задания к семинарским занятиям
- •5. Лабораторно-практические работы
- •Лабораторная работа 1
- •Лабораторная работа 2
- •Лабораторная работа 3
- •Лабораторная работа 4
- •Лабораторная работа 5
- •Лабораторная работа 6
- •6. Самостоятельная работа
- •Приложения Приложение 1. Программа на языке vba для Microsoft Excel, имитирующая механизм сортировки элементов массива простыми включениями
- •Приложение 2. Процедура на языке Turbo Delphi, имитирующая механизм сортировки элементов массива простым выбором
- •Библиографический список
- •Отпечатано в отделе оперативной полиграфии вггу
- •600024, Г. Владимир, ул. Университетская, 2, т. 33-87-40
- •15 Легенда о происхождении игры «Ханойская башня»
Приложение 2. Процедура на языке Turbo Delphi, имитирующая механизм сортировки элементов массива простым выбором
var Form1: TForm1; var n:integer; a:array[1..100] of integer; min,nmin,i,j:integer; implementation {$R *.dfm} procedure TForm1.FormDblClick(Sender: TObject); var s:string; var i:integer; begin Button1.Enabled:=False; Button2.Enabled:=False; s:=InputBox('Введите размер массива', '',''); n:=StrToInt(s); StringGrid1.ColCount:=n+1; StringGrid2.ColCount:=n+1; for i:=1 to n do begin StringGrid1.Cells[i,0]:=IntToStr(i); StringGrid2.Cells[i,0]:=IntToStr(i); end; StringGrid1.Cells[0,1]:='Шаг1'; for i:=1 to n do begin s:=InputBox('Введите элемент массива', '',''); a[i]:=StrToInt(s); StringGrid1.Cells[i,1]:=IntToStr(a[i]); end; StringGrid2.Cells[0,0]:='min'; Button1.Enabled:=True; end; procedure TForm1.FormCreate(Sender: TObject); begin i:=0; end; procedure TForm1.Button1Click(Sender: TObject); var otv:string; begin Button2.Enabled:=True; Button1.Enabled:=False;
if i<n-1 then begin i:=i+1; for j:=1 to n do StringGrid2.Cells[j,1]:=''; for j:=i to n do StringGrid2.Cells[j,1]:=StringGrid1.Cells[j,i]; min:=a[i]; nmin:=i; StringGrid2.Cells[0,1]:=IntToStr(min); RichEdit1.Text:='min='+IntToStr(a[i])+' позиция'+IntToStr(nmin)+Chr(13);
|
for j:=i to n do begin RichEdit1.Text:=RichEdit1.Text+IntToStr(a[j])+'<'+IntToStr(min)+'?'; if a[j]<min then begin min:=a[j]; nmin:=j; RichEdit1.Text:=RichEdit1.Text+' да min='+IntToStr(a[j])+' позиция'+IntToStr(nmin)+Chr(13); StringGrid2.Cells[0,1]:=IntToStr(min); end else RichEdit1.Text:=RichEdit1.Text+' нет'+Chr(13); end; otv:='Минимальный элемент '+IntToStr(min)+ 'на позиции '+IntToStr(nmin); ShowMessage(otv); end else begin ShowMessage('Массив отсортирован'); for j:=1 to n do StringGrid2.Cells[j,1]:=''; Button1.Enabled:=false; Button2.Enabled:=False; end; end; procedure TForm1.Button2Click(Sender: TObject); var c:integer; var j:integer; otv:string; begin Button1.Enabled:=True; Button2.Enabled:=False; otv:='Меняем местами элементы '+IntToStr(a[i])+' и '+IntToStr(a[nmin]); ShowMessage(otv); c:=a[i]; a[i]:=a[nmin]; a[nmin]:=c; StringGrid1.RowCount:=n+1; StringGrid1.Cells[0,i+1]:='Шаг'+IntToStr(i+1); for j:=1 to n do StringGrid1.Cells[j,i+1]:=IntToStr(a[j]); for j:=1 to n do StringGrid2.Cells[j,1]:=''; for j:=i+1 to n do StringGrid2.Cells[j,1]:=IntToStr(a[j]); end; procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var q,w:Integer; begin StringGrid1.Canvas.Brush.Color:=clRed; for q:=1 to n do for w:=1 to q do if (ACol=w) and (ARow=q) then StringGrid1.Canvas.FrameRect(Rect); end; end. |
Процедура, демонстрирующая сущность сортировки элементов массива простым выбором |