49091 (Составить программу обучения работе с клавиатурой), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Составить программу обучения работе с клавиатурой", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49091"

Текст 3 страницы из документа "49091"

// и для оператора выбора генерации случайных слов

vremi,o,k,t, x:integer;

m:string; // присваивается значение текста введенного пользователем

// именованные константы для генератора случайных слов

const

prob='диван';

f='кровать';

n='картина';

h='стенка';

u='солнышко';

y='компьютер';

l='принтер';

d='ковер';

r='пожар';

qq='игрушка';

ww='дверь;

ee='плита';

rr='книга';

tt='уроки';

yy='кактус';

uu='дискотека';

ii='кухня';

oo='сосна';

pp='зеркало';

aa='куртка';

ss='173042';

dd='935862';

ff='0.4789';

gg='1,9,53';

hh='с:\юзер';

jj='(2359)' ;

kk='2*7=14';

ll='сколько?';

zz='12+965';

xx='500-25';

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject); // процедура создания формы

begin

image1.Picture.LoadFromFile ('fonovi.wmf') ; // загружаем картинку

randomize; //вывоз проц. ген. Чисел

k:=1; t:=0; // счетчик слов – сгенерированных и правильно набранных

x:=random (30)+1; //генерируем случ. числа

case x of // выбор случайного слова из предложенных

1: label1.Caption := prob;

2:label1.Caption:= h ;

3:label1.Caption:= u;

4: label1.Caption:= f;

5:label1.Caption:= y;

6:label1.Caption:= l;

7:label1.Caption:= d;

8:label1.Caption:= n;

9:label1.Caption:= r;

10:label1.Caption:=qq ;

11:label1.Caption:= ww;

12:label1.Caption:= ee;

13:label1.Caption:=rr ;

14:label1.Caption:=tt ;

15:label1.Caption:=yy ;

16:label1.Caption:=uu ;

17:label1.Caption:=ii ;

18:label1.Caption:= oo;

19:label1.Caption:=pp;

20:label1.Caption:=aa;

21:label1.Caption:=ss;

22:label1.Caption:=dd;

23:label1.Caption:=ff;

24:label1.Caption:=gg;

25:label1.Caption:=hh;

26:label1.Caption:=jj;

27:label1.Caption:=kk;

28:label1.Caption:=ll;

29:label1.Caption:=zz;

30:label1.Caption:=xx;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.Close; // закрытие приложения

end;

procedure TForm1.Timer1Timer(Sender: TObject); // обр. таймера

begin

k:=1; // счетчику случ. слов присвоили 1

o:=k ; // заменяем переменную счетчика к на 0

randomize; // вызов проц. ген. чисел

x:=random (30)+1; // генерируем случ. числа

case x of // выбор случайного слова из предложенных

1: label1.Caption := prob;

2:label1.Caption:= h ;

3:label1.Caption:= u;

4: label1.Caption:= f;

5:label1.Caption:= y;

6:label1.Caption:= l;

7:label1.Caption:= d;

8:label1.Caption:= n;

9:label1.Caption:= r;

10:label1.Caption:=qq ;

11:label1.Caption:= ww;

12:label1.Caption:= ee;

13:label1.Caption:=rr ;

14:label1.Caption:=tt ;

15:label1.Caption:=yy ;

16:label1.Caption:=uu ;

17:label1.Caption:=ii ;

18:label1.Caption:= oo;

19:label1.Caption:=pp;

20:label1.Caption:=aa;

21:label1.Caption:=ss;

22:label1.Caption:=dd;

23:label1.Caption:=ff;

24:label1.Caption:=gg;

25:label1.Caption:=hh;

26:label1.Caption:=jj;

27:label1.Caption:=kk;

28:label1.Caption:=ll;

29:label1.Caption:=zz;

30:label1.Caption:=xx;

end;

m:=edit1.Text; // присваиваем введенное пользователем текстовое значение

// сравниваем текст с константой

// при равенстве счетчику правильных слов

// присваиваем +1

if m=prob then t:=t+1;

if m=f then t:=t+1 ;

if m=n then t:=t+1 ;

if m=h then t:=t+1 ;

if m= u then t:=t+1 ;

if m= y then t:=t+1 ;

if m= l then t:=t+1 ;

if m= d then t:=t+1 ;

if m=r then t:=t+1;

if m= qq then t:=t+1;

if m= ww then t:=t+1;

if m=ee then t:=t+1;

if m=rr then t:=t+1;

if m=tt then t:=t+1;

if m=yy then t:=t+1;

if m= uu then t:=t+1;

if m=ii then t:=t+1;

if m= oo then t:=t+1;

if m= pp then t:=t+1;

if m=aa then t:=t+1;

if m=ss then t:=t+1;

if m=dd then t:=t+1;

if m=ff then t:=t+1;

if m=gg then t:=t+1;

if m=hh then t:=t+1;

if m=jj then t:=t+1;

if m=kk then t:=t+1;

if m=ll then t:=t+1;

if m=zz then t:=t+1;

if m=xx then t:=t+1;

o:=o+1; // счетчику случ. слов присвоили 1

if o=2 then // если сумма счетчика достигла 2

begin

timer1.enabled:=false; // останавливаем таймер

edit1.Visible:=false; // делаем недоступным текстовое окно

image1.Picture.LoadFromFile ('fonovi.wmf') ; // загружаем картинку

// если счетчик правильных слов превысил 20 выводим сообщение пользователю

if t>20 then label2.Caption:='блестяще количество набранных слов ='+ inttostr (t)+'переходите';

// если нет, то выводим другое сообщение

label2.Caption:='количество набранных слов = ' +inttostr (t) + ' из 20 ';

end;

end;

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

begin

if Key = chr(VK_RETURN) then //если нажата клавиша "enter "

begin

m:=edit1.Text; // присваиваем введенное слово пользователем текстовое значение

// сравниваем текст с константой

// при равенстве счетчику правильных слов

// присваиваем +1

if m=prob then t:=t+1;

if m=f then t:=t+1 ;

if m=n then t:=t+1 ;

if m=h then t:=t+1 ;

if m= u then t:=t+1 ;

if m= y then t:=t+1 ;

if m= l then t:=t+1 ;

if m= d then t:=t+1 ;

if m= r then t:=t+1;

if m= qq then t:=t+1;

if m= ww then t:=t+1;

if m=ee then t:=t+1;

if m=rr then t:=t+1;

if m=tt then t:=t+1;

if m=yy then t:=t+1;

if m= uu then t:=t+1;

if m=ii then t:=t+1;

if m= oo then t:=t+1;

if m= pp then t:=t+1;

if m= aa then t:=t+1;

if m=ss then t:=t+1;

if m=dd then t:=t+1;

if m=ff then t:=t+1;

if m=gg then t:=t+1;

if m=hh then t:=t+1;

if m=jj then t:=t+1;

if m=kk then t:=t+1;

if m=ll then t:=t+1;

if m=zz then t:=t+1;

if m=xx then t:=t+1;

k:=k+1; // счетчику случ. слов присвоили 1

edit1.Text:=''; // очистим текстовое окно

edit1.SetFocus; // сделаем активным текстовое окно

x:=random (30)+1; // генерируем случ. числа

case x of // выбор случайного слова из предложенных

1: label1.Caption := prob;

2:label1.Caption:= h ;

3:label1.Caption:= u;

4: label1.Caption:= f;

5:label1.Caption:= y;

6:label1.Caption:= l;

7:label1.Caption:= d;

8:label1.Caption:= n;

9:label1.Caption:= r;

10:label1.Caption:=qq ;

11:label1.Caption:= ww;

12:label1.Caption:= ee;

13:label1.Caption:=rr ;

14:label1.Caption:=tt ;

15:label1.Caption:=yy ;

16:label1.Caption:=uu ;

17:label1.Caption:=ii ;

18:label1.Caption:= oo;

19:label1.Caption:=pp;

20:label1.Caption:=aa;

21:label1.Caption:=ss;

22:label1.Caption:=dd;

23:label1.Caption:=ff;

24:label1.Caption:=gg;

25:label1.Caption:=hh;

26:label1.Caption:=jj;

27:label1.Caption:=kk;

28:label1.Caption:=ll;

29:label1.Caption:=zz;

30:label1.Caption:=xx;

end;

if k=30 then //если сумма счетчика случайных слов достигла 30

begin

timer1.enabled :=false; // останавливаем таймер

edit1.Visible:=false; // скрываем текстовое окно

// выводим сообщение пользователю

label2.Caption:=' количество набранных слов = '+ inttostr (t);

end;

begin

// если счетчик правильных слов превысил 20 выводим сообщение пользователю

if t>20 then label2.Caption:='блестяще количество набранных слов = '+ inttostr (t)+' переходите';

end;

end;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

image1.Picture.LoadFromFile('budilnik.wmf');

timer1.Interval:=80000 ;// задаем интервал

edit1.Visible:=true; // показать текстовое окно

timer1.enabled :=true; // включаем таймер

edit1.SetFocus; // сделать активным текстовое окно

label2.Caption:=''; // очистить

t:=0; // обнуляем счетчик правильных слов

vremi:=80 ; // обратный отсчет

timer2.enabled :=true; // включаем таймер

end;

procedure TForm1.N3Click(Sender: TObject);

begin

image1.Picture.LoadFromFile('budilnik.wmf');

timer1.enabled :=true; // включаем таймер

timer1.Interval:=50000 ; // задаем интервал

edit1.Visible:=true; // показать текстовое окно

edit1.SetFocus; // сделать активным текстовое окно

label2.Caption:=''; // очистить

t:=0; // обнуляем счетчик правильных слов

vremi:=50 ; // обратный отсчет

timer2.enabled :=true; // включаем таймер

end;

procedure TForm1.N4Click(Sender: TObject);

begin

image1.Picture.LoadFromFile('budilnik.wmf');

timer1.enabled :=true; // включаем таймер

timer1.Interval:=30000 ; // задаем интервал

edit1.Visible:=true; // показать текстовое окно

edit1.SetFocus; // сделать активным текстовое окно

label2.Caption:=''; //очистить

t:=0; // обнуляем счетчик правильных слов

vremi:=30 ; // обратный отсчет

timer2.enabled :=true; // включаем таймер

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

image1.Picture.LoadFromFile ('fonovi.wmf') ;

timer1.enabled:=false; // останавливаем таймер

timer2.enabled:=false; // останавливаем таймер

edit1.Visible:=true; // показать текстовое окно

edit1.SetFocus; // сделать активным текстовое окно

label2.Caption:=''; // очистить

edit1.Text:='' ; // очистить

t:=0; // обнуляем счетчик правильных слов

k:=1; // счетчику случ. слов присвоили 1

label4.Caption:=''; // очистить

end;

procedure TForm1.Timer2Timer(Sender: TObject); // таймер отсчета обратного

// времени

begin

vremi:=vremi-1; // каждую секунду отнимаем от заданного времени 1

if vremi=0 then //если время закончилось

begin

timer2.Enabled:=false; // выключаем таймер

label4.Caption:='off'; // выводим окно

end

else

label4.Caption:=inttostr(vremi); // обратный отсчет

end;

end.

    1. 2.5 Тестирование программы

Для тестирования программы были пройдены все временные этапы .

Таблица 3

Тест на время

Количество правильно набранных слов

новичек

20

опытный

15

Высший класс

8

Вид приложения в случайный момент работы приведен на рисунке 5

Рис. 5 Окно приложения в случайный момент игры

    1. 2.6 Условия выполнения и выполнение программы

Данное приложение, разработанное в Delphi, способно работать на персональных компьютерах с минимальными требованиями Pentium 100, оперативной памятью 32 Мб, операционной средой Windows.

Запустить приложение можно также как и любое другое. Окно приложения загрузится и появится в центре экрана. Для работы с программой «Научись печатать» необходимо ввести в текстовое окно, предложенное слово и нажать на клавишу «enter», или если вы хорошо печатаете выбрать из выпадающего меню «на время» в левом верхнем углу экрана один из трех предложенных вариантов подходящий вашему уровню скорости набора текста. Для выхода из программы необходимо нажать кнопку «завершить» или щелкнуть левой кнопкой мыши по крестику в правом верхнем углу экрана. Для обнуления результатов нажмите клавишу «сброс».

В разделе описываются (руководство ГОСТ 19.505-790)


Заключение

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

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

Для того чтобы пользователь знал, сколько времени у него осталось, на форму выведен обратный отсчет времени таймера. Чтобы с программой было интереснее работать, в форму загружаются две картинки, одна при создании формы другая при выборе выпадающего меню «на время».

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5139
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее