Написание программы игры "Жизнь" на Pascal 7.0, страница 2

If j>i then size:=i else size:=j;

If (size<2)or(up<3)or(sipe<3)then Begin

 OutTextXY(0,0,'Invalid size display. Exit: press "ENTER": ');ReadLn;goto ExitGlob;end;

NachY:=(GetMaxY-up*size) div 2+9;

NachX:=(GetMaxX-sipe*size) div 2;

Col:=color-(color div 16)*16;Color:=color div 16;

ExitBool:=false;new(bool);

Meny:CleanDisplay(GetMaxY);

SetColor(15);

OutTextXY(56,0,'Games "Life"');

OutTextXY(35,9,'The rules of games:');

OutTextXY(7,18,'-> Introduce facts only big capital letter;');

OutTextXY(7,27,'-> Contining: press "Y"');

OutTextXY(7,36,'-> Exit: press "N";');

OutTextXY(7,45,'-> Restart or start: press "R";');

OutTextXY(7,54,'-> Color True or False {P.S. Number<=$F}: press "C1" or "C2";');

OutTextXY(7,63,'-> Daily time-table steps: press "T";');

OutTextXY(7,72,'-> Combination field {P.S. Number<=$FFFF}: press "C";');

OutTextXY(7,81,'-> Quantity repeat {P.S. Number<=$FF and 0=OFF}: press "Q";');

OutTextXY(14,100,'Press COMMAND:');

GoToXY(17,7);ReadLn(Command);

If(Command='Y')or(Command='y')then If ExitBool then GoTo Start;

If(Command='N')or(Command='n')then GoTo ExitSmol;

If(Command='R')or(Command='r')then GoTo ReStart;

If(Command='T')or(Command='t')then Begin OutTextXY(14,116,'Introduce time after press "ENTER":');

  GotoXY(38,8);ReadLn(time);end;

If(Command='C')or(Command='c')then Begin OutTextXY(14,116,'Introduce Combination after press "ENTER":');ExitBool:=False;

  GotoXY(45,8);ReadLn(Sector);end;

If(Command='C1')or(Command='c1')then Begin OutTextXY(14,116,'Introduce color true after press "ENTER":');

  GoToXY(44,8);ReadLn(color);end;

If(Command='C2')or(Command='c2')then Begin OutTextXY(14,116,'Introduce color false after press "ENTER":');

  GoToXY(45,8);ReadLn(col);end;

If(Command='Q')or(Command='q')then Begin OutTextXY(14,116,'Introduce quantity repeat after press "ENTER":');

  GoToXY(49,8);ReadLn(Q);end;

goto meny;

ReStart:IntroduceFacts(up,sipe,Sector);Number:=0;Povtor:=0;

Start:CleanDisplay(GetMaxY);ExitBool:=True;ExitNow:=false;

SetColor(7);

For j:=0to up do Line(NachX-1,NachY-1+j*size,NachX+sipe*size-1,NachY+j*size-1);

For i:=0to sipe do Line(NachX-1+i*size,NachY-1,NachX-1+i*size,NachY-1+up*size);

SetFillStyle(1,color);

PrintDisplay(bool,up,sipe,NachX,NachY,size,color,col);

Conting:

If Q<>0then Begin If LastStep=PodSchet then Povtor:=Povtor+1 else

Begin Povtor:=0;LastStep:=PodSchet;end;end;

If Povtor>=Q then ExitNow:=True;

If ExitNow then Number:=Number-Povtor;

CleanDisplay(9);

List:='Izmeneniya: ';PrintNumber(PodSchet,5,List);

List:=List+'Naselenie: ';PrintNumber(SChet,5,List);

List:=List+'Step games: ';PrintNumber(Number,0,List);

OutTextXY(1,1,List);

If ExitNow then Begin ExitBool:=False;OutTextXY(435,2,'Press some-body key:');GoToXY(40,1);

Repeat Until keypressed;GoTo Meny;end;

Delay(time);

LifeInToroid(up,sipe,color,col);

ExitNow:=Podschet=0;

If keypressed then GoTo Meny else Goto Conting;

ExitSmol:Dispose(bool);

ExitGlob:End.

Задание 3

Чаще всего интеграл берётся по формулам и уже в них подставляются значения предела. Но иногда бывают и неберушиеся интегралы. В этом случаи применяют числовые методы интегрирования. В связи с развитием вычислительной техники можно довольно быстро и точно посчитать то, что человек не смог бы посчитать за всю его жизнь. Чаще проще посчитать сложный интеграл на компьютере, чем взять его. Самое главное, что вычислительная техника не может ошибиться в расчётах, а человек может.  К тому же неплохо проверять себя с помощью вычислительной техники.

Программа написана на Delphi 7 под Windows XP. Она имеет простой и понятный интерфейс в котором можно выбрать метод интегрирования. Алгоритм обработки данных построен так, что исключает практически все ошибки, которые может допустить пользователь при вводе данных.

Вид диалогового окна программы:

Исходный код программы:

unit WorkWithText;