Создание комплекса тренажеров и игровых обучающих программ по математике


«Вычислить арифметическое выражение»



Pdf көрінісі
бет26/33
Дата25.01.2022
өлшемі0.65 Mb.
#454820
1   ...   22   23   24   25   26   27   28   29   ...   33
diplom тренажер

«Вычислить арифметическое выражение» 

 

Каждый из этапов этого задания представляется на отдельном кадре. 



Первый этап задания: 

Кадр  данного  этапа  представляет  собой TabSheet9, с  расположенными  на  нем 

GroupBox’ами  для  группировки  параметров  задания, Button8 – для  считывания  введенных 

параметров  задания, WebBrowser1 – для  вывода  «инструкции», Button32 – для  возврата  к 

содержанию. 

GroupBox1 – для выбора способа генерации типа слагаемых: 

RadioButton1 – если количество слагаемых генерируется случайно.  

RadioButton2 – если количество слагаемых будет вводить пользователь.  

SpinEdit3 – кнопка-счетчик для ввода количества слагаемых. 

Для улучшения наглядности, если выбран RadioButton1, то SpinEdit3 не отражается на 

экране. Если пользователь выбрал RadioButton2, то  появляется SpinEdit3. 

GroupBox2 – для выбора способа генерации диапазона слагаемых: 

RadioButton3 – если диапазон слагаемых от -100 до 100. 

RadioButton4 – если диапазон слагаемых будет устанавливать сам пользователь. 

SpinEdit5 и SpinEdit6 – для ввода диапазона. 

Для  улучшения  наглядности,  если  выбран RadioButton3, то SpinEdit5 и SpinEdit6 не 

отображаются, при выборе  RadioButton4, SpinEdit5 и SpinEdit6 появляются на экране.  

GroupBox3 – для выбора способа генерации арифметических операций. 

RadioButton5 – если все четыре арифметических операций. 

RadioButton6 – если  пользователь  сам  выбирает,  какие  арифметические  операции 

будут включены в формируемое выражение. 

CheckBox1, CheckBox2, CheckBox3, CheckBox4 – Флажки  для  выбора 

арифметических операции: сложение, вычитание, умножение, деление, соответственно. Они 

видимы только при выбранном RadioButton6. 

GroupBox4 – для установки временного ограничения на выполнение задания. 



 

22

RadioButton6 – если выполнение задания ограничено по времени. Если пользователь 



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

для ввода времени на выполнения задания в секуднах.  

RadioButton7 – выполнение задания не ограничено по времени. 

GroupBox5 – для выбора способа генерации типа слагаемых. 

RadioButton8 – если тип слагаемых выбирается случайно: либо целые, либо дробные. 

RadioButton9 – если пользователь сам задает тип слагаемых. 

CheckBox5 – слагаемые в выражении будут целые. 

CheckBox6 – слагаемые в выражении будут дробные. 

SpinEdit6 – для ввода количества знаков дробной части, в случае выбора  CheckBox6. 

После того, как пользователь задал все требуемые параметры для задания, он должен 

нажать  кнопку Button8. Процедура Button8Click(Sender: TObject) – считывает  введенные 

параметры  и  проверяет  их  допустимость.  Диапазон  можно  задавать  только  указанием 

сначала  левой  границы,  а  затем  правой  границы  диапазона,  если  пользователь    выбрал 

RadioButton9,  то  обязательно  должен  указать  желаемый  тип  слагаемых,  если  пользователь 

выбрал  RadioButton6, то обязательно должен перечислить арифметические операции. 

Если  пользователь  установил  не  все  параметры  арифметического  выражения,  то 

открывается  диалоговое  окно Form2, в  текстовом  поле  которого  содержится  сообщение  об 

ошибке заполнения параметров выражения.   

В данной процедуре заполняются поля структуры type   TTask =  record Make : string;   

// что делаем(решаем выражение или вставляем недостающий знак); Num  : integer;  // кол-во 

слагаемых;   DFrom , DTo : integer;// диапазон;  types : string;  // тип слагаемых;  oper : string ;  

// арифм.действия;  timer : boolean; // если на время; tim:integer- // для указания времени на 

выполнение,  Hin : boolean;   // подсказка;  fract : integer;      // кол-во цифр после запятой;  M : 

integer; end, хранящая параметры задания.  

После  успешного  формирования  структуры  параметров  задания,  кадр  конструктора 

закрывается и начинается выполнение второго этапа игры «вычислить выражение».  

Второй  этап  данного  задания  представляет  собой TabSheet5, с  расположенными  на 

нем  компонентами: Label29 – для  показа  арифметического  выражения,  которое  нужно 

решить, LabeledEdit5 для  ввода  ответа  пользователя.  Для  защиты  от  ввода  недопустимых 

значений  используется  процедура Edit3KeyPress(Sender: TObject; var Key: Char). Edit1 – 

поле, в которое выводится правильный ответ сгенерированного выражения. 

Кнопка Button9 обрабатывается  процедурой Button9Click(Sender: TObject),  которая 

формирует  арифметическое  выражение  с  заданными  параметрами - заполняет  массивы 

случайными  числами  и  знаками  возможных  арифметических  операций.  Из  полученных 

массивов формирует строку выражения. Затем выводит полученную строку в Label29. Если 

задание выполняется на время, то включается таймер 

На  форме  также  расположена  компонента Gauge1: TGauge – индикатор  хода 

процесса,  отображает  остаток  времени.  Компонента Timer1: TTimer – изменяет  положение 

Gauge1. Timer2: TTimer – отсчитывает  время,  выделенное  для  выполнения  задания.  После 

истечения  времени,  процедура Timer2Timer(Sender: TObject) выводит  в  поле  правильный 

ответ, и делает недоступным поле ввода ответа.  

Кнопка Button10 обрабатывается процедурой Button10Click(Sender: TObject) – делает 

недоступным  поле  ввода  ответа,  вызывает  функцию Calculate(sMyExpression, T.fract), 

которая вычисляет арифметическое выражение, сравнивает возвращаемое данной функцией 

значение с ответом пользователя. Результат сравнения выводит в Label1.  

 

 



 

 

 



 


 

23



Достарыңызбен бөлісу:
1   ...   22   23   24   25   26   27   28   29   ...   33




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет