рефератырефератырефератырефератырефератырефератырефератырефераты

рефераты, скачать реферат, современные рефераты, реферат на тему, рефераты бесплатно, банк рефератов, реферат культура, виды рефератов, бесплатные рефераты, экономический реферат

"САМЫЙ БОЛЬШОЙ БАНК РЕФЕРАТОВ"

Портал Рефератов

рефераты
рефераты
рефераты

Создание приложения "Клавиатурный тренажер"

3

Министерство образования и науки Украины

Луганский национальный университет имени Тараса Шевченко

Ровеньковский факультет

Кафедра информационных технологий и систем

Курсовой проект

на тему: «Создание приложения «Клавиатурный тренажер»

Выполнила:

студентка 3 курса специальности «Информатика»

Дятлюк Лариса Витальевна.

Руководитель:

Логинов Анатолий Владимиравич

Ровеньки -2008

Содержание

Введение

1. Инструкция пользователя

2. Разработка программы: описание алгоритма решения задачи

3. Описание программы

Вывод

Литература

Приложение А

Введение

В связи с бурным развитием e-mail, ICQ, у многих пользователей Интернет возникла потребность быстро вводить текст с клавиатуры. Это и послужило появлению разнообразных программ-тренажеров, для получения и усовершенствования навыка набора текста.

Клавиатурный тренажер - это эффективная программа для освоения слепой машинописи.

В ходе разработки курсового проекта мной была написана программа клавиатурный тренажер. Эта программа проста в использовании и будет интересна, как для начинающего, так и для опытного пользователя.

Разработанная программа доступна всем и может использоваться на любом предприятии, в том числе и школах.

1. Инструкция пользователя

Рис. 1

Чтобы работать с программой необходимо нажать:

· New test - для начала теста;

· Stop - для окончания теста и вывода информации о результате;

· Exit - для выхода из тренажера.

Уровень сложности изменяется автоматически, при правильном нажатии некоторого количества символов.

2. Разработка программы: описание алгоритма решения задачи

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

Описание алгоритма решения задачи procedure TForm1.Button1Click(Sender: TObject); procedure TForm1.Timer1Timer(Sender: TObject); procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char).

3. Описание программы

Программа клавиатурный тренажер. В форме, на панели, по таймеру сверху вниз в случайно выбранной по горизонтали позиции падает случайно выбранная маленькая латинская буква. В программе использованы 2 таймера: один - для самого события падающей буквы и второй - для вывода реального времени в строке статуса.

Пока буква падает, пользователь должен успеть нажать ее на клавиатуре. Затем начинает падать новая буква. Так же сам тренажер имеет функцию «Уровня скорости» - это когда после определенного количества правильных нажатий интервал таймера начинает уменьшаться, что заставляет новые буквы падать с ускорением.

В конце игры пользователю выдается, сколько раз он успел нажать правильную букву.

Форма содержит:

1. 2-х Panel

§ Panel1 - для определения границ тренажера

§ Panel2 - для падающих букв

2. 3-х Buttons:

§ New test - для начала теста

§ Stop - для окончания теста и вывода информации о результате

§ Exit - для выхода из тренажера

3. Label - для показа уровня скорости

4. StatusBar - для вывода результатов и реального времени (что бы долго не засиживались)

Выводы

В ходе работы были получены следующие результаты:

Рис. 2

Форма выводит на панели статуса некоторую меняющуюся информацию (результаты и реальную дату и время). Несколькими способами используется компонент - Таймер:

С помощью таймера:

· Приводить в движение компоненты

· Изменять скорость движения компонентов

· Выводить реальную дату и время

Рекомендуется, каждый день минут по 10-30, а потом достаточно заниматься раза 2-4 в неделю по 5-10 минут.

Литература

1.
Тейксера С. и Пачеко К. «Delphi 5. Руководство разработчика, том 1. Основные методы и технологии программирования»: Пер. с англ.- М.: «Вильямс».-2001. - 832 с.

2. Озеров В. Электронный учебник: «Советы по Delphi».Версия 1.1.7 от 1.12.1999.

3. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.4.6 от 1.4.2001.

4. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.0.8. от 2.5.2000.

5. Horrific aka Фленов М. «Библия для программиста в среде Delphi»// http://www.cydsoft.com/vr-online.

6. Дарахвелидзе П.Г., Марков Е.П.: «Программирование в Delphi 7». -- СПб.: «БХВ-Петербург», 2003. --784 с.

7. Архангельский А.Я. Электронный учебник «100 компонентов общего назначения библиотеки Delphi 5».2002.

8. Тейлор Д., ПенманДж.- «Delphi 3: библиотека программиста».-СПб.: «Питер».-1998г. -568с.

9. Фленов М. «Библия Delphi».-СПб.: «БХВ-Петербург».-2004.-880с.

10. Фленов М. «Программирование в Delphi глазами хакера». - СПб.: «БХВ-Петербург».-2003.-368с.

11. Шкрыль А. «Прикол в Delphi своими руками» //www.vr-online.ru.

12. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.4.3 от 1.1.2001.

13. Елманова Н. Электронный учебник: «Советы пользователям Delphi и C++Builder».

14. Орлик С Электронный учебник: «Секреты Delphi на примерах».

15. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.3.1 от 1.07.2000.

16. Боровский А. «Программирование в Delphi 2005» ».-СПб.: «БХВ-Петербург».-2005. - 448с.

17. Пражский С.М. «Delphi. Учимся на примерах».- К.:«МК-Пресс».-2005,-216с.

18. Фаронов В.В. «Delphi 6. Учебный курс».-М.:Издатель Молгачёва С. В.,-2001.-672с.

19. Коноплянка Р. «Создание оригинальных компонент в среде Delphi».-К.:НИПФ-«ДиаСофт Лтд.».-1996.-512с.

20. Сухарёв М.В. «Основы Delphi. Профессиональный подход».-СПб.: «Наука и Техника».-2004,- 600с.

21. Ревич Ю.В. «Нестандартные приёмы программирования на Delphi».-СПб.: «БХВ-Петербург».-2005. - 560с.

Приложение А

unit Lab10;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, ComCtrls;

type

TForm1 = class(TForm)

Timer1: TTimer;

Button1: TButton;

Panel1: TPanel;

Button2: TButton;

Panel2: TPanel;

Button3: TButton;

StatusBar1: TStatusBar;

Timer2: TTimer;

Label1: TLabel;

Label2: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure FormKeyPress(Sender: TObject; var Key: Char);

procedure Button3Click(Sender: TObject);

procedure Timer2Timer(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

count, uncount, x: integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Form1.Focused;

Panel2.Visible := true;

Panel2.Top := 0;

Randomize;

Panel2.Caption := Chr(Random(26)+97) ;

count := 0;

uncount := 0;

x := 1;

Label1.Caption := 'Level ' + IntToStr(x);

Timer1.Enabled := true;

end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

if Panel2.Caption = key then

begin

Inc(count);

StatusBar1.Panels[1].Text := IntToStr(count);

Panel2.Top := Panel1.Height;

end;

if count = x * 10 then

begin

Inc(x);

Label1.Caption := 'Level ' + IntToStr(x);

if Timer1.Interval <= 250 then Timer1.Interval := Timer1.Interval - 25

else

if Timer1.Interval <= 100 then Timer1.Interval := 100

else

Timer1.Interval := Timer1.Interval - 250;

end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Randomize;

if Panel1.Height > Panel2.Top then

Panel2.Top := Panel2.Top + 20

else

begin

Randomize;

Panel2.Caption := Chr(Random(26)+97);

Panel2.Left := Random(Panel1.Width - Panel2.Width);

Panel2.Top := 0;

nc(uncount);

StatusBar1.Panels[3].Text := IntToStr(uncount)

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Timer1.Enabled := False;

Panel2.Visible := False;

ShowMessage(IntToStr(count) + ' times correctly!')

end;

procedure TForm1.Timer2Timer(Sender: TObject);

var DateTime: TDateTime;

begin

DateTime := TIME;

StatusBar1.Panels[4].Text := DateToStr(Date) + ' ' + TimeToStr(DateTime);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

end.

рефераты
РЕФЕРАТЫ © 2010