Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.01.2018
Сообщений: 14
1

Написать программу-минитест

04.01.2018, 17:17. Показов 611. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с домашней работой. Нужно написать программу мини тест типа . Короче, есть кнопка, которая рандомно генерирует числа для 2 edita, есть edit для ввода ответа суммы этих рандомных чисел.. Есть кнопка, которая проверяет эту сумму, если ответ верный, то внизу формы в lable пишет 1, если не правильно, то в другом label 1 и т.д. Ну вот и всё. Молю вас
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2018, 17:17
Ответы с готовыми решениями:

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом.
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К сожалению, обстоятельства...

Нужно написать написать программу, которая вычисляет значение выражения в обратной польской записи
Обра́тная по́льская запись (англ. Reverse Polish notation, RPN) — форма записи математических и...

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

Надо написать программу на while или do while и написать алгоритм
Помогите пожалуйста с задачей:(. Даны действительные числа x , y ( x > 1). Получить наименьшее...

9
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
04.01.2018, 18:02 2
Цитата Сообщение от RAMAZAN777 Посмотреть сообщение
мини тест типа
Какого типа?
0
5 / 5 / 6
Регистрация: 11.04.2015
Сообщений: 69
05.01.2018, 07:51 3
примерно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
unit Test_;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TF = class(TForm)
    eNumber1: TEdit;
    eNumber2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    eAnswer: TEdit;
    bGenerate: TButton;
    bCheckResult: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    meResults: TMemo;
    Label6: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure bGenerateClick(Sender: TObject);
    procedure bCheckResultClick(Sender: TObject);
    procedure eAnswerKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Type TTest=record
     iQuestion:byte;
     Number1,Number2,Answer:Integer;
     Scores:byte;
end;
 
const nQuestions=5;
      MaxNum=10;
Diagnosis:array [0..5] of string[25]=
(
'Клиника!',
'Критинизм 99%',
'До новых встреч',
'Зачёт',
'Почёт',
'Всемирная слава!'
);
 
var
  F: TF;
  T:TTest;
 
implementation
 
{$R *.dfm}
 
Function GetRandomNumbers(Range:word):TPoint;
var r:byte;
    tmp:-1..1;
Begin
  Randomize;
  tmp:=0;
  r:=random(2);
  case r of
  0:tmp:=-1;
  1:tmp:=1;
  end;
  Result.X:=random(Range)*tmp;
  Result.Y:=random(Range)*tmp;
End;
 
Procedure CheckAnswer(n1,n2,Answer:Integer;var Scores:byte);
var sum:Integer;
    s:String;
Begin
F.meResults.ReadOnly:=false;
sum:=n1+n2;
if(sum=Answer)then inc(Scores);
s:=IntToStr(n1)+'+'+IntToStr(n2)+'='+IntToStr(Sum);
if(sum=Answer)then F.meResults.Lines.Append('Верно: '+s)
              else F.meResults.Lines.Append('Неверно: '+s);
              F.eNumber1.Clear;
              F.eNumber2.Clear;
              F.eAnswer.Clear;
F.bGenerate.Enabled:=true;
F.bCheckResult.Enabled:=false;
F.meResults.ReadOnly:=true;
End;
 
Procedure Analys(Scores:byte);
Begin
  F.meResults.Lines.Append('----------------------------------------------');
  F.meResults.Lines.Append(Diagnosis[Scores]);
End;
 
procedure TF.bCheckResultClick(Sender: TObject);
begin
if(F.eAnswer.Text='')then begin ShowMessage('Введите ответ.');exit;end;
F.eAnswer.ReadOnly:=true;
inc(T.iQuestion);
if(T.iQuestion<=4)then
                  begin
                  T.Answer:=StrToInt(F.eAnswer.Text);
                  CheckAnswer(T.Number1,T.Number2,T.Answer,T.Scores);
                  end
                  else
                  begin
                  F.bGenerate.Enabled:=false;
                  F.bCheckResult.Enabled:=false;
                  Analys(T.Scores);
                  end;
end;
 
procedure TF.bGenerateClick(Sender: TObject);
begin
F.eNumber1.ReadOnly:=true;
F.eNumber2.ReadOnly:=true;
F.eAnswer.ReadOnly:=true;
T.Number1:=GetRandomNumbers(MaxNum).X;
T.Number2:=GetRandomNumbers(MaxNum).Y;
F.eNumber1.Text:=IntToStr(T.Number1);
F.eNumber2.Text:=IntToStr(T.Number2);
F.bGenerate.Enabled:=false;
F.bCheckResult.Enabled:=true;
F.eNumber1.ReadOnly:=true;
F.eNumber2.ReadOnly:=true;
F.eAnswer.ReadOnly:=false;
F.bCheckResult.Default:=true;
end;
 
procedure TF.eAnswerKeyPress(Sender: TObject; var Key: Char);
begin
if(key in ['0'..'9',#8]=false) then key:=#0;
end;
 
procedure TF.FormCreate(Sender: TObject);
begin
T.iQuestion:=0;
T.Scores:=0;
F.eNumber1.ReadOnly:=true;
F.eNumber2.ReadOnly:=true;
F.eAnswer.ReadOnly:=true;
F.bGenerate.Default:=true;
end;
 
end.
0
5 / 5 / 6
Регистрация: 11.04.2015
Сообщений: 69
05.01.2018, 07:53 4
проджект в архиве
Вложения
Тип файла: rar Test.rar (56.7 Кб, 15 просмотров)
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
05.01.2018, 09:42 5
Budetlyanin, вот первый же запуск, первые же 2 числа - и попробуйте с Вашим кодом ответ записать...
Миниатюры
Написать программу-минитест  
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
05.01.2018, 09:45 6
Да и не к чему тут (судя по тексту задания) такая заумь...
Миниатюры
Написать программу-минитест  
Вложения
Тип файла: rar Тест типа.rar (1.6 Кб, 17 просмотров)
0
5 / 5 / 6
Регистрация: 11.04.2015
Сообщений: 69
05.01.2018, 10:04 7
да, перестарался
134 строку надо немного изменить - добавить минус
Delphi
1
if(key in ['0'..'9','-',#8]=false) then key:=#0;
Добавлено через 7 минут
D1973, в Вашем примере вот это "Edit1.SetFocus;" генерирует ошибку.
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
05.01.2018, 10:04 8
Да и не только... Вы же в RAD Studio программу делали? А Warning-и читать - это не наш метод?
Миниатюры
Написать программу-минитест  
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
05.01.2018, 10:06 9
Ну да, промежуточный код выложил почему-то... просто надо весь код из FormCreate перенести в FormShow
0
5 / 5 / 6
Регистрация: 11.04.2015
Сообщений: 69
05.01.2018, 10:11 10
D1973, не знаю, варнинги - это не ерроры. главное, чтобы работало. тем паче, не дипломную пишу. да и на скорую руку.
0
05.01.2018, 10:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2018, 10:11
Помогаю со студенческими работами здесь

не могу написать написать программу на вычисление U=max
вот условия: даны числа x,y,z. Вычислить U=max. (z,min (y,x)). Помогите, пожалуйста, решить ((((

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала...

Составить блок-схему и программу вычисления значения функции + написать программу
Прошу решить в качестве проверки. Нужно сдать в понедельник. Буду очень благодарен! Заранее...

Разработать алгоритм и тесты, написать и отладить программу Выполнить программу, проанализировать результат
Из матрицы У(k, k) получить вектор Т, элементами которого являются элементы главной диагонали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru