Victor™
Зарегистрирован: 06.05.2005 Сообщения: 1
|
Добавлено: Пт Май 06 2005 16:18 Заголовок сообщения: Народ подскажите pls (Дельфи) |
|
|
Как в дельфи сделать что бы операнд(вид действия: *,+,-,/) выбирался случайным образом?
Вообще передо мной стоит такая задача: написать программу, где пользователю предлагается пройти тест из 20 примеров по арифметике. Числа и вид действия выбираются случ образом. Причем программа должна проверять ответы и выставлять оценку
Я это дело решил реализовать через 4 массива [5,4] на каждый вид действия, где строки соотв. вопросам а столбцы буду содержать элементы над которыми будут произв действия, прав ответы и ответы пользователя. Выглядеть это должно примерно так тут один массив на сложение)
Код: |
procedure TForm1.Button1Click(Sender: TObject);
var i,j,f, A, B:integer;
begin
formclear;
Randomize;
v[1,1]:=random(9)+1; // первый и второй столбец выб. случ
v[1,2]:=random(9)+1;
v[1,3]:=v[1,1] + v[1,2]; // третий столбец. получ слож 1 и 2
For i := 2 to 10 do
begin
repeat
f:=0;
A:=random(9)+1;
B:=random(9)+1;
For j:=1 to i-1 do
begin
If (((B=v[j,1]) and (A=v[j,2])) or ((A=v[j,1]) and (B=v[j,2]))) //
then f:=1;
end;
until f=0;
v[i,1]:=A;
v[i,2]:=B;
v[i,3]:=A+B;
end;
|
Короче пишите кто что думает  |
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
Добавлено: Вс Май 08 2005 11:37 Заголовок сообщения: |
|
|
Гланды можно удалить двумя способами. Ты выбрал не лучший вариант
ИМХО.
Как я монял тебе надо типа A+B=C? тоесть самое банальное?
Введеи структуру типа:
type Tqwe = record a,b,c:double; d:byte; end;
d - ето типа действие.
0 - "+"
1 - "-"
2 - "*"
3 - "/"
и теперь генерим.
var arr:array[1..20] of Tqwe;
x:integer;
begin
randomize;
for x:=1 to 20 do
begin
arr[x].a:=random*10// ето что бы получать дробные.
arr[x].a:=random*10
arr[x].d:=random(4);
case arr[x].d of
0: c:=a+b;
1: c:=a-b;
2: c:=a*b;
3: c:=a/b;
end;
end;
end.
ну ето типа так я вижу решение задачи
Если тебе надо что бы было строго по 5 примеров на каждое действие(в моем примере может выйти как выйдет ), то тебе вообще не надо ничего генерить(всмысле знаков) _________________ [ TiNiMi ] |
|