Помогите с тренажёрам для тренеровки памяти на PASCAL ???
 
 
 
 
  Расскажите более подробно, пожалуйста. Что имеется ввиду под тренировкой памяти?
 
 
 
 
  Просто задали написать на Pascal какую нибудь прогу для тренировки памяти, причем тип её определяется студентом. Вот я и не знаю как это сделать.
 
 
 
 
  1. Тренировка памяти на цвет, форму, количество геометрических фигур.
2. Тренировка памяти на слова, числа.
Всё достаточно просто реализуется. Вам нужно идеи или готовые программы?
 
 
 
 
  Подаем идеи, если человек не справляется - программы или примеры!
 
 
 
 
  Мне нужны исходники, хоть это и просто, но я не совсем дружу с PASCALем и это вызывает трудности. Поэтомы если вам не трудно отправте мне её, мне подойдёт любой тренажёр.
 
 
 
 
  А поисковиками не пробовал пользоваться - говорят помогает... >:(
http://pascal.sources.ru/games/quad.zip
  
 
 
 
  Uses Crt;
Const
  MaxNumbers = 5;
Var
  Numbers  : Array [1..MaxNumbers] of Integer;
  Numbers2 : Array [1..MaxNumbers] of Integer;
  ErrorsA  : Array [1..MaxNumbers] of Integer;
  i        : Integer;
  TempStr  : String;
  S        : String;
  DelTime  : Integer;
  CurrN    : Integer;
  Errors   : Integer;
  Diff     : Integer;
  Sum      : Real;
Begin
  CurrN:=1;
  DelTime:=MaxNumbers*1000;
  Diff:=100;
  Randomize;
  For i:=1 to MaxNumbers-CurrN do
    ErrorsA[i]:=0;
  While CurrN<=MaxNumbers do
  begin
  ClrScr;
  TempStr:='';
  S:='';
  for i:=1 to CurrN do
    begin
      Numbers[i]:=Random(Diff);
      Str(Numbers[i],TempStr);
      S:=S+TempStr+' ';
    end;
  GotoXY(1,1);
  Writeln(DelTime div 1000,' секунд на выполнение задания!');
  GotoXY(39-Length(s) div 2,12);
  Writeln(s);
  Delay(DelTime);
  ClrScr;
  Errors:=0;
  for i:=1 to CurrN do
    begin
      WriteLn('Введите ',i,' число: ');
      ReadLn(Numbers2[i]);
    end;
  for i:=1 to CurrN do
    begin
      if Numbers2[i]<>Numbers[i] then
        Errors:=Errors+1;
    end;
  WriteLn('Ошибок допущено: ',Errors);
  ErrorsA[CurrN]:=Round(Errors/CurrN*100);
  WriteLn('Процент допущенных ошибок : ',ErrorsA[CurrN],'%');
  { Увеличиваем количество чисел }
  CurrN:=CurrN+1;
  { Уменьшаем время примерно на 1 сек. }
  DelTime:=DelTime-1000;
  { Увеличиваем числа }
  Diff:=Diff+100;
  ReadLn;
  end;
  Sum:=0;
  For i:=1 to MaxNumbers do
    Sum:=Sum+ErrorsA[i];
  Sum:=Sum/MaxNumbers;
  WriteLn('Средний процент ошибок в выполненых заданиях = ',Round(sum),'%');
  ReadLn;
End.
 
 
 
 
  Спасибо огромное - очень выручили.
 
 
 
 
  Я вот только не понял, что делает данная программа.
 
 
 
 
  Моя?
Выводит на экран n-ное количество случайных чисел, выжидает некоторое время, просит ввести их.  И идет проверка. Затем время их показа на экране уменьшается, количество чисел увеличивается, сами числа тоже.
В конце работы программы выводится ср. процент ошибок.
 
 
 
 
  У меня почему-то она сразу запрашивает первое число, вводишь его она говорит, что ошибок одна, процент сто, при втором обращении она запрашивает уже прервое и второе и опять ошибок две, процент ошибок сто и так до пяти.
 
 
 
 
  Немножко подправил: Там стоял лишний readln
Uses Crt; 
Const 
  MaxNumbers = 5; 
Var 
  Numbers  : Array [1..MaxNumbers] of Integer; 
  Numbers2 : Array [1..MaxNumbers] of Integer; 
  ErrorsA  : Array [1..MaxNumbers] of Integer; 
  i   : Integer; 
  TempStr  : String; 
  S   : String; 
  DelTime  : Integer; 
  CurrN    : Integer; 
  Errors   : Integer; 
  Diff     : Integer; 
  Sum : Real; 
Begin 
  CurrN:=1; 
  DelTime:=MaxNumbers*1000; 
  Diff:=100; 
  Randomize; 
  For i:=1 to MaxNumbers-CurrN do 
    ErrorsA[i]:=0; 
  While CurrN<=MaxNumbers do 
  begin 
  ClrScr; 
  TempStr:=''; 
  S:=''; 
  for i:=1 to CurrN do 
    begin 
 Numbers[i]:=Random(Diff); 
 Str(Numbers[i],TempStr); 
 S:=S+TempStr+' '; 
    end; 
  GotoXY(1,1); 
  Writeln(DelTime div 1000,' секунд на выполнение задания!'); 
  GotoXY(39-Length(s) div 2,12); 
  Writeln(s); 
  Delay(DelTime); 
  ClrScr; 
  Errors:=0; 
  for i:=1 to CurrN do 
    begin 
 WriteLn('Введите ',i,' число: '); 
 ReadLn(Numbers2[i]); 
    end; 
  for i:=1 to CurrN do 
    begin 
 if Numbers2[i]<>Numbers[i] then 
   Errors:=Errors+1; 
    end; 
  WriteLn('Ошибок допущено: ',Errors); 
  ErrorsA[CurrN]:=Round(Errors/CurrN*100); 
  WriteLn('Процент допущенных ошибок : ',ErrorsA[CurrN],'%'); 
  { Увеличиваем количество чисел } 
  CurrN:=CurrN+1; 
  { Уменьшаем время примерно на 1 сек. } 
  DelTime:=DelTime-1000; 
  { Увеличиваем числа } 
  Diff:=Diff+100; 
   WriteLn('Нажмите любую клавишу: ');
  ReadKey; 
  end; 
  Sum:=0; 
  For i:=1 to MaxNumbers do 
    Sum:=Sum+ErrorsA[i]; 
  Sum:=Sum/MaxNumbers; 
  WriteLn('Средний процент ошибок в выполненых заданиях = ',Round(sum),'%'); 
  ReadLn; 
End.  
 
 
 
 
  Мне кажется, что в этой программе нужно увеличить задержку появляющегося числа, потому как слишком быстро появляются и исчезают числа, но всё равно спасибо.
 
 
 
 
  Цитата
Мне кажется, что в этой программе нужно увеличить задержку появляющегося числа, потому как слишком быстро появляются и исчезают числа, но всё равно спасибо.
Процедура Delay(N) тебе поможет ! N - количество миллисекунд..
 
 
 
   
  Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, 
нажмите сюда.