Помогите с задачей по Delphi! Надо вывести 10 задач(a*b=c) в цикле, программа проверяет задачи и считает баллы. В ходе цикла надо вывести правильный ответ(если вы ввели неправильный ответ). Также программа считает количество баллов в зависимости от правильных ответов.
-------------------------------------------------------------------------------------
var i,x,y,answer,input:Integer;
begin
Writeln('*TEST*');
randomize;
answer:=10;
for i:=1 to 10 do
begin
Write(Random(x),' * ',Random(y),' = '); //я не знаю как задать диапазон для 
//переменной
Readln(input);
if input:=x*y then //программа выдает ошибку что нужен тип 
//переменной boolean
begin
answer:=answer;
end
else
begin
write('WRONG!',x,' * ',y,' = ',x*y)
answer:=answer-1;
end;
end;
Writeln('Correct answers - ',answer);
case answer of
10:Writeln('Excellent!');
9,8:Writeln('Good!');
6,7:Writeln('OK!');
0..5:Writeln('Bad!');
end;
Readln;
-------------------------------------------------------------------------------------
                        
                            
                            
                    Ответы
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        var i,x,y,answer,input,k:Integer;
begin
Writeln('*TEST*');
randomize;
answer:=10;
k:=0;
for i:=1 to answer do
begin
x:=Random(9)+1;
y:=Random(9)+1;
Write(x,' * ',y,' = ');
Readln(input);
if input=x*y then
begin
k:=k+1;
writeln('RIGHT!');
end
else writeln('WRONG! ',x,' * ',y,' = ',x*y);
end;
Writeln('Correct answers - ',k);
case answer of
10:Writeln('Excellent!');
9,8:Writeln('Good!');
6,7:Writeln('OK!');
0..5:Writeln('Bad!');
end;
end.
Пример:
*TEST*
2 * 4 = 8
RIGHT!
7 * 9 = 7
WRONG! 7 * 9 = 63
4 * 4 = 16
RIGHT!
1 * 2 = 2
RIGHT!
4 * 1 = 4
RIGHT!
9 * 7 = 63
RIGHT!
9 * 8 = 72
RIGHT!
3 * 1 = 3
RIGHT!
9 * 4 = 36
RIGHT!
6 * 4 = 24
RIGHT!
Correct answers - 9
Excellent!
                                    
                                        
                                        
                                begin
Writeln('*TEST*');
randomize;
answer:=10;
k:=0;
for i:=1 to answer do
begin
x:=Random(9)+1;
y:=Random(9)+1;
Write(x,' * ',y,' = ');
Readln(input);
if input=x*y then
begin
k:=k+1;
writeln('RIGHT!');
end
else writeln('WRONG! ',x,' * ',y,' = ',x*y);
end;
Writeln('Correct answers - ',k);
case answer of
10:Writeln('Excellent!');
9,8:Writeln('Good!');
6,7:Writeln('OK!');
0..5:Writeln('Bad!');
end;
end.
Пример:
*TEST*
2 * 4 = 8
RIGHT!
7 * 9 = 7
WRONG! 7 * 9 = 63
4 * 4 = 16
RIGHT!
1 * 2 = 2
RIGHT!
4 * 1 = 4
RIGHT!
9 * 7 = 63
RIGHT!
9 * 8 = 72
RIGHT!
3 * 1 = 3
RIGHT!
9 * 4 = 36
RIGHT!
6 * 4 = 24
RIGHT!
Correct answers - 9
Excellent!
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        И я не понял один момент, почему надо писать random(9)+1 вместо random(10)?
                                    
                                        
                                        
                                
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        И как answer тут используется? Я не понял как идет счет answer-а
                                    
                                        
                                        
                                
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        А, всё, там ошибочка была :)
                                    
                                        
                                        
                                
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        random(9) позволяет получить случайное число из диапазона [0..8] (включительно); random(9)+1 - из диапазона [1..9]; random(10) - из диапазона [0..9]. Так как 0 здесь не нужен, то нужно писать random(9)+1.
                                    
                                        
                                        
                                
                                            Ответ дал: 
                                                                                    
                                        
                                            
                                                
                                                
                                                
                                                    0
                                                
                                            
                                        
                                    
                                        answer - это просто количество примеров, количество верных ответов подсчитывается в переменной k.
                                    
                                        
                                        
                                Вас заинтересует
                
                        2 года назад
                    
                
                        2 года назад
                    
                
                        3 года назад
                    
                
                        3 года назад
                    
                
                        9 лет назад
                    
                
                        10 лет назад
                    
                
                        10 лет назад