Реферат: Разработка интерактивной среды обучения

Реферат: Разработка интерактивной среды обучения




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































На Земле каждый час увеличивается количество компьютеров. Они работают с
программами, количество которых тоже растет. Написаны все программы с
использованием разных языков программирования – С++, Delphi, Assembler. Изучение
таких языков мало уступает по сложности изучению обычных, человеческих. Это
очень сложный и трудоемкий процесс.
Для его облегчения и упрощения создаются различные обучающие программы.
Компьютер учит человека. Такой “учитель” никогда не устает, всегда объективен,
В данной работе представлена подобная программа, способная (как мне кажется),
обучить начинающего программиста основам визуальной среды Delphi и языка
Рассматриваемая программа имеет возможность использования уроков, хранящихся в
файлах, что позволяет создавать уроки, не изменяя кода программы.
Файл урока представляет собой текстовый файл с расширением .LES; в нем сдержится
текст урока и специальные команды, заставляющие программу, выполнять некоторые
действия, например, выводить текст таким-то цветом, изменять размер шрифта,
вставлять картинки. Описание команд будет приведено ниже.
Выполняемый файл называется LD. EXE. После его запуска на экране появляется
По нему “ползет” надпись: “Добро пожаловать в программу Learn Delphi!!!”. Для
входа в программу надо нажать кнопку “ОК”. Следующее окно показано на рис. 1. 2:
Рисунок 1. 2 – Окно выбора нужного урока
Пользователь выбирает нужный ему урок и нажимает кнопку “Загрузить”. После этого
он видит основное окно, в которое загружена первая страница урока. Это окно
представлено на рис. 1. 3 (стр. 8).
Как уже было сказано выше, данная программа имеет специальную систему команд.
Все команды предваряются символами /:, чтобы их можно было отличить от обычного
Все, что не имеет в начале символов /: будет выведено!
размер шрифтаУстанавливает размер шрифта. Размер вводится сразу после
Таблица 1. 1 – Текстовые команды (продолжение)
цветУстанавливает цвет выводимого текста. Поддерживает основные цвета:
red, blue, black, yellow, green, grey.
стильУстанавливает стиль выводимого текста:
/:newpageДает знать системе, что дальше следует новая страница.
В данной версии программы имеется только одна графическая команда – /:picture,
которая загружает и помещает по указанным координатам картинку из файла в
На одну страницу можнопоместить до трех картинок. Этого в большинстве случаев
Логическая команда в данной версии тоже одна. Это /:question.
Результатом выполнения является присутствие на странице вопроса, обведенного
двойной красной рамкой. Справа, после текста вопроса, находятся две кнопки –
“Да” и “Нет”. Пользователь нажимает на кнопку, которая символизирует, по его,
юзера, мненеию, правильный ответ и кнопки сразу становятся неактивными.
Программа посчитывает количество правильных и неправильных ответов и в конце
На странице не допускается размещать больше одного вопроса!
Версия программы, представленная в курсовой работе является DEMO-версией,
поэтому вообще в уроке допускается лишь одна логическая команда.
4 Описание внутренней структуры программы
Программа имеет четыре окна: frmMain, frmRun, frmLesson и frmRes. В табл. 1. 2
представлены функции, выполняемые каждым из них:
Таблица 1. 2 Функции, выполняемые окнами в программеНазвание окнаФункции,
frmMain Данное окно появляется, когда пользователь запускает программу.
Оно служит как-бы приглашением к работе. Показано данное окно на рис. 1.
FrmRunПосле frmMain пользователь попадает в окно frmRun. Здесь он может
выбрать нужный урок и загрузить его или выйти из программы. Показано оно
FrmLessonОсновное окно для обучения. В нем выводится текст урока, все
картинки и вопросы. В модуле этого окна описаны все подпрограммы для
обработки файлов уроков. Показано это окно на рис. 1. 3.
FrmResПосле прохождения урока пользователь должен знать, как он усвоил
материал. В данном окне помещена таблица с числом вопросов и правильных
ответов. Это очнь простое окно, поэтому не представлено на рисунках.
1. 4. 2 Алгоритмы, достойные рассмотрения
Одним из удачно реализованных алгоритмов автор считает реализацию распознавания
команд. В приложении А, в конце записки представлен исходный код программы, в
котором можно рассмотреть эти процедуры. Текст выводится в окне с помощью
объекта Canvas. Это вызвано необходимостью помещать картинки вперемежку с
текстом. Проще всего реализуется такая идея с применением Canvas’a. При
тестировании возникла проблема: при перерисовке окна (в случае временного
перекрытия другим окном и т. п.) объекты, выведенные с помощью Canvas’a, не
перерисовывались. Исчезали крупные фрагменты текста. В конце-концов проблема
решена: запускается обработчик события OnPaint.
Каждая страница урока загружается в специальную переменную (процедура LoadPage),
а потом выводится на экран процедурой DrawPage. При этом и распознаются команды.
Данная программа, как мне кажется, является довольно перспективным “прожектом”.
В следующих версиях программы, которые, несомненно, появятся, будут
усовершенствованы возможности тестирования, добавятся несколько логических и
графических команд, а чуть позже – и специальный редактор для упрощения создания
Кроме того, используя возможности Windows, можно будет “заставить” обучалку
взаимодействовать с системой программирования Delphi, что повысит наглядность
примеров и тогда Learn Delphi способна будет готовить неплохих специалистов в
Но и это еще не все! LD – универсальная система, в файл урока можно записать
что-угодно, так что применять это средство можно и для обучения другим
предметам, даже несколько удаленным от информатики, как, например, история,
Язык Паскаль, и, соответственно, Делфи, имеет специальный вид констант –
типизированные. В отличие от обычных, констант, они могут содержать массивы,
указатели, записи и значения процедурных типов. При установленной директиве
компилятора {$J+} они ведут себя как обычные инициализированные переменные. При
{$J-} значения не могут изменяться.
Синтаксис: Const имя_константы: тип =значение
Чтобы задать какую-либо константу-массив, нужно описать значения всех элементов.
Значения описываются в круглых скобках, через запятую. Например:
Const Digits: array[1..5] of byte=(1, 2, 3, 4, 5)
В данном примере объявляется константа-массив Digits типа Byte. Ей сразу
Константы-массивы часто используются для задания строк, оканчивающихся символом
#0. В этом случае описание выглядит так:
Const Stroka: array[1..5] of char=(‘Hello’)
Константой может быть и многомерный массив. Для этого каждое его измерение
помещается в круглые скобки. Пример:
type TCube = array[0..1, 0..1, 0..1] of Integer;
const Maze: TCube = (((0, 1), (2, 3)), ((4, 5), (6,7)))
Все константы-массивы не могут содержать файловых переменных ни на каком уровне.
Для задания константы-записи необходимо заполнить ее поля согласно синтаксису:
Имя_поля: значение. Значения разделяются точками с запятой и все выражение
помещается в круглые скобки. Значения должны быть представлены константами. Поля
должны быть перечисленны в том порядке, в каком ониразмещены в описании записи.
Поле-описатель, если такое есть, должно быть заполнено; в случае записи с
вариантами только вариант, выбранный описателем может использоваться.
TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Line: TVector = ((X: -3.1; Y: 1.5), (X: 5.8; Y: 3.0));
SomeDay: TDate = (D: 2; M: Dec; Y: 1960);
Все константы-записи не могут содержать файловых переменных ни на каком уровне.
Для определения процедурной константы нужна процедура с подходящими параметрами.
function Calc(X, Y: Integer): Integer;
type TFunction = function(X, Y: Integer): Integer;
const MyFunction: TFunction = Calc;
После такого описания, функция вызывается:
Вы также можете присвоить константе значение nil.
Такие константы содержат адрес в памяти переменной или подпрограммы. При их
объявлении констант нужно следить за тем, чтобы адрес, на который она указывает,
Константа содержит адрес переменной:
Константа содержит адрес подпрограммы:
Вы можете объявить константу типа PChar со строчным значением, т. к. литералы
хранятся в памяти как глобальные константы.
Адреса локальных (размещенных в стеке) и динамических переменных не могут быть
Ниже приведены примеры программ, использующих типизированные константы. Они
написаны в Delphi, но в виде консольного приложения – чтобы не загромождать
текст программ описанием форм и других объектов, к которым данная задача не
Тексты программ-примеров помещены на дискете с курсовой работой в директории
{Данная программа-пример демонстрирует применение констант-массивов. Преобразует
численный формат даты в обычный, с названием месяца}
string[20]=('January','February','March','April','May',
'June','July','August','September','October','November', 'December');
write('Enter date (dd:mm:yyyy): ');
if copy(d,2,1)='1' then s1:='`st' else
if copy(d,2,1)='2' then s1:='`nd' else
s:=copy(d,1,2)+s1+' of '+month[strtoint(copy(d,4,2))]+' ' +copy(d,7,4);
{Этот пример показывает,как применяются константы-записи. Здесь строится
многоугольник (с применением метода Polyline объекта Canvas),а координаты вершин
многоугольника содержатся в массиве констант-записей.}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure Button1Click(Sender: TObject);
PolyLines:array[1..4] of tpoint=((x:170;y:20),(x:320;y:320),(x:20;y:320),
procedure TForm1.Button1Click(Sender: TObject);
Окно этой программы-примера приведено на рис. 2. 1 (стр. 20):
Рисунок 2. 1 – Окно программы-примера
В данной работе представлена образовательная программа, разработанная в среде
программирования Borland Delphi 5. К ней прилагается файл урока, описывающего
основы Delphi. Но вообще, эту систему обучения можно “заставить” обучать
какой-угодно дисциплине – для этого достаточно создать файлы уроков и записать
В процессе разработки программы детально изучены графические возможности Делфи и
Во второй части работы рассмотрены типизированные константы в Паскале, их
Ниже дан исходный код всех модулей программы
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TfrmMain.Timer1Timer(Sender: TObject);
frmmain.canvas.TextOut(x,151,'Добро пожаловать в программу "Learn Delphi" !!!');
procedure TfrmMain.FormCreate(Sender: TObject);
frmmain.canvas.Brush.Color:=clsilver;
frmmain.canvas.font.name:='Times New Roman';
procedure TfrmMain.Button1Click(Sender: TObject);
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure lblessonsDblClick(Sender: TObject);
procedure lblessonsKeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
var names:array[1..100] of string[40];
lessonname:=names[frmrun.lblessons.itemindex+1];
procedure Tfrmrun.FormClose(Sender: TObject; var Action: TCloseAction);
procedure Tfrmrun.FormCreate(Sender: TObject);
lblessons.Items.Add('Урок '+inttostr(n)+' '+lesson.name);
procedure Tfrmrun.lblessonsDblClick(Sender: TObject);
procedure Tfrmrun.lblessonsKeyPress(Sender: TObject; var Key: Char);
procedure Tfrmrun.Button2Click(Sender: TObject);
procedure Tfrmrun.Button1Click(Sender: TObject);
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton3Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cmdYesClick(Sender: TObject);
procedure cmdNoClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
strpage:array[1..80] of string[80];
numpage,ap,np,sp,pp:byte; {прав. ответ; кол-во вопросов; правильных ответов}
pagefonts[numpage]:=frmlesson.canvas.font;
if strpage[sp-1]='/:newpage' then exit
frmlesson.Canvas.Font.Color:=clred;
frmlesson.cmdYes.Left:=frmlesson.width-170;
frmlesson.cmdno.Left:=frmlesson.width-90;
frmlesson.Canvas.TextOut(5,texty+3,s);
if s='/:newpage' then exit else begin
frmlesson.Canvas.TextOut(2,texty,s);
inc(texty,frmlesson.Canvas.Font.Size+10)
procedure TfrmLesson.FormClose(Sender: TObject; var Action: TCloseAction);
if nq>0 then frmresult.show else frmrun.Show
procedure TfrmLesson.SpeedButton3Click(Sender: TObject);
procedure TfrmLesson.FormPaint(Sender: TObject);
procedure TfrmLesson.FormShow(Sender: TObject);
frmlesson.Canvas.textout(20,20,'');
procedure TfrmLesson.FormDeactivate(Sender: TObject);
procedure TfrmLesson.Timer1Timer(Sender: TObject);
{ if not frmlesson.Visible then exit;
if (x in [pic1.Left..pic1.Left+pic1.Width]) or (y in
[pic1.Top..pic1.Top+pic1.Height]) then exit;
frmlesson.canvas.pixels[x,y]:=clred;}
procedure TfrmLesson.FormCreate(Sender: TObject);
procedure TfrmLesson.cmdYesClick(Sender: TObject);
procedure TfrmLesson.cmdNoClick(Sender: TObject);
procedure TfrmLesson.SpeedButton2Click(Sender: TObject);
canvas.Rectangle(0,0,width,height);
if not speedbutton1.enabled then speedbutton1.Enabled:=true;
if eof(f) then speedbutton2.Enabled:=false
procedure TfrmLesson.SpeedButton1Click(Sender: TObject);
if not speedbutton2.enabled then speedbutton2.Enabled:=true;
{ for i:=1 to pages[pp-2] do readln(f);
if pp=1 then speedbutton1.enabled:=false;
procedure TfrmLesson.FormActivate(Sender: TObject);
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TfrmResult.FormActivate(Sender: TObject);
cells[1,1]:=inttostr(frmlesson.nq);
cells[1,2]:=inttostr(frmlesson.npq);
procedure TfrmResult.Button1Click(Sender: TObject);
procedure TfrmResult.FormClose(Sender: TObject; var Action: TCloseAction);

Название: Разработка интерактивной среды обучения
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 10:56:06 09 апреля 2007 Похожие работы
Просмотров: 50
Комментариев: 17
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Реферат: Разработка интерактивной среды обучения
Реферат: Why Drugs Should Be Legal Essay Research
Реферат: по дисциплине «иэ основы градостроительства» на тему «Проблемы развития современных городов»
Реферат по теме Теория познания Декарта
Реферат: Ерофей Павлович Хабаров. Скачать бесплатно и без регистрации
Курсовая работа: Разработка печатного узла шестиуровневого индикатора напряжения аккумулятора
Сочинение по теме Памятник русскому солдату
Вагнер Сочинение По Творчеству
Курсовая работа по теме Фінансовий аналіз витрат підприємства ГК 'Турист'
Физика 11 Лабораторная Работа 7
Курсовая работа по теме Методическая поддержка педагогов в развитии конструктивного взаимодействия с родителями
Лучшие Сочинения На Английском Языке
Реферат по теме Методика маркетинговых исследований
Курсовая работа по теме Образы Бога и Дьявола в живописи ХХ-ХХI века
Курсовая Работа На Тему Журналистские Расследования В Сми Смоленщины
Отчет по практике по теме Анализ хозяйственной деятельности торгового предприятия ООО "Геотехнология"
Основные этапы становления и развития экономической теории
Реферат по теме Фінансова санація та стабілізація діяльності підприємства
Курсовая работа: Теневая экономика в России
Курсовая Работа Учет Непроизводственных Активов
Курсовая работа по теме Порядок формирования и организация деятельности Совета Федерации Федерального Собрания РФ
Реферат: Предпринимательство: как начать свое дело
Реферат: Основные функции и компоненты ядра ОС UNIX
Сочинение: Богатство душевного мира героев А.Н. Толстого в романе "Война и Мир".

Report Page