Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2013, 01:36   #1
sav.71
Новичок
Джуниор
 
Регистрация: 30.11.2013
Сообщений: 1
По умолчанию переделать программу

нужно переделать программу с паскаля на паскаль абс нет

Код:
Uses CRT, GRAPH;
Const step = 0.05;
Var 	Gd, Gm, MaxX, MaxУ, i, j, kx, ky: integer;
	x, y, x0: Real;
	z: String [16];
BEGIN
Gd:= Vga; Gm:=VgaHi; InitGraph (Gd, Gm, ‘’);
SetViewPort (320, 240, 320, 240, ClipOff);
SetColor (10); TextColor (10);
Repeat
ClearDevice;
OutTextXY (-253,-160,'Введiть макси-мальну абсцису i ординату'); Out-TextXY(-249,-140,'MaxX=');
GoToXY (15,7);ReadLn (MaxX);OutTextXY(-249,-110,'MaxY=');  
 GoToXY (15,9); readln (MaxY);
	kx:=200 div MaxX;	{коефіцієнти масштабування}
	ky:=200 div MaxY;
	ClearDevice;
	{осі координат}
	SetColor (2); SetLineStyle (0, 1, 3);
	Line (0, -225, 0, 225); Line (0, -225, -4,
 -220); Line (0, -225, 4, -220);
	Line (-270, 0, 270, 0); Line (270, 0, 
260, 4); Line (270, 0, 260, -4);
	{одиничні відрізки і написи на осях координат}
	SetColor (10); SetLineStyle (0, 0, 2);
	for i:= -MaxX to MaxX do Line (i*kx, 2, i*kx, -2);
	for j:= -MaxY to MaxY do Line (2, j*ky, -2, j*ky);
	Str (MaxX, z); OutTextXY (195, 8, z); OutTextXY (260, 10, ‘X’);
	Str (MaxY, z); OutTextXY (-15, -202, z); OutTextXY (-15, -225, ‘Y’);
	x0:=-220;
	Repeat
		x:=x0/kx;
		{- -  - - - - - - - формули - - -- - - - - - - - }
{1)}(* y:=Sin (x);
		    PutPixel  (Round (x0), -Round (y*ky) , 14);                                 *)

{2)}(* y:=Cos (x-1)+Abs (x);
		    PutPixel   (Round (x0),   -Round (y*ky), 14);                                 *)

{3)}(* if Abs (x-2)>step then y:=(x+3)/(x-2);
		    PutPixel   (Round (x0),   -Round (y*ky), 14);
		    {вертикальна і горизонтальна асимптоти}
		    PutPixel ((2)*kx, Round (x0), 7);
		    PutPixel   (Round (x0),   -Round (1*ky), 7);                                 *)

{4)}    y:=0.5*x-1;			            {похила асимптота}
		    PutPixel   (Round (x0),   -Round (y*ky), 7);
		    PutPixel   ((-1)*kx, Round (x0), 7);       {вертикальна асимптота}
		    if Abs (x+1)>step then y:=0.5*x*Sqr (x/(x+1));
		    PutPixel   (Round (x0),   -Round (y*ky), 14);

{5)}(* y:=x*(x*x-3);
		    PutPixel   (Round (x0),   -Round (y*ky), 11);
		    PutPixel   (-Round (y*ky), Round (x0), 9);                                 *)
		{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
		if KeyPressed then Exit else x0:=x0+step	               {крок}
	Until x0>220;
	SetColor (2); OutTextXY (-305, -235, ‘Press Enter’); ReadLn;
	{цілочислена гратка}
	for i:=-MaxX to MaxX do
	for j:=-MaxY to MaxY do PutPixel (i*kx, j*ky, 15);
	{вихід або повторення}
	z:=#219; for i:=1 to 4 do z:=z+z;
	SetColor (2); OutTextXY (-305, -235, z);
	SetColor (10); OutTextXY (-305, -235, ‘Повторити (Y/N)’);
	Sound (99); Delay (99); NoSound
Until Not (ReadKey in [‘y’, ‘Y’]);
CloseGraph
END.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 30.11.2013 в 12:24.
sav.71 вне форума Ответить с цитированием
Старый 30.11.2013, 17:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я пас. АБЦа у меня нет. Только Free
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2013, 18:46   #3
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

http://pascalabc.net/downloads/pabcn..._Help_Web.html
Почти все один в один.

Последний раз редактировалось ZX Spectrum-128; 30.11.2013 в 18:59.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 30.11.2013, 23:01   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Почти все один в один.
я думаю, что проблема у TC именно в этом "почти"

to sav.71
PascalABC.NET у меня тоже не установлен, посмотреть, что не идёт не могу...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.12.2013, 11:56   #5
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Откомпилировалось.
Что-то даже выводит.
Однако падает с ошибкой переполнения. И отрицательные значения в Line и PutPixel меня убили просто.
В программе изначально много ошибок. Не пошла и в fpc ни со стандартным модулем Graph, ни с WinGraph
Код:
Uses 
  CRT, GRAPHABC;
Const 
  step = 0.05;
Var 	
  Gd, Gm, MaxX, MaxY, i, j, kx, ky: integer;
	x, y, x0: Real;
	z: String [16];
BEGIN
  SetWindowSize(640,480); //Gd:= Vga; Gm:=VgaHi; InitGraph (Gd, Gm, '');
  //SetViewPort (320, 240, 320, 240, ClipOff); ???
  SetPenColor(clLightGreen);//SetColor (10); TextColor (10);
Repeat
  //ClearDevice;
  TextOut (253,160,'Введiть макси-мальну абсцису i ординату'); 
  TextOut(249,140,'MaxX=');
  GoToXY (15,7);
  ReadLn (MaxX);
  TextOut(249,110,'MaxY=');
  GoToXY (15,9); 
  readln (MaxY);
	kx:=200 div MaxX;	{коефіцієнти масштабування}
	ky:=200 div MaxY;
	//ClearDevice;
	{осі координат}
	SetPenColor (clBlue); 
	SetBrushStyle(bsSolid); //SetLineStyle (0, 1, 3);
	Line (0, -225, 0, 225); 
	Line (0, -225, -4, -220); 
	Line (0, -225, 4, -220);
	Line (-270, 0, 270, 0); 
	Line (270, 0,260, 4); 
	Line (270, 0, 260, -4);
	{одиничні відрізки і написи на осях координат}
	SetPenColor(clLightGreen); //SetColor (10); 
	//SetLineStyle (0, 0, 2);
	for i:= -MaxX to MaxX do Line (i*kx, 2, i*kx, -2);
	for j:= -MaxY to MaxY do Line (2, j*ky, -2, j*ky);
	z:=IntToStr(MaxX); //Str (MaxX, z); 
	TextOut (195, 8, z); 
	TextOut (260, 10, 'X');
	z:=IntToStr(MaxY); //Str (MaxY, z); 
	TextOut (-15, -202, z); TextOut (-15, -225, 'Y');
	x0:=-220;
	Repeat
		x:=x0/kx;
		{- -  - - - - - - - формули - - -- - - - - - - - }
{1)}(* y:=Sin (x);
		    PutPixel  (Round (x0), -Round (y*ky) , 14);                                 *)

{2)}(* y:=Cos (x-1)+Abs (x);
		    PutPixel   (Round (x0),   -Round (y*ky), 14);                                 *)

{3)}(* if Abs (x-2)>step then y:=(x+3)/(x-2);
		    PutPixel   (Round (x0),   -Round (y*ky), 14);
		    {вертикальна і горизонтальна асимптоти}
		    PutPixel ((2)*kx, Round (x0), 7);
		    PutPixel   (Round (x0),   -Round (1*ky), 7);                                 *)

{4)}    y:=0.5*x-1;			            {похила асимптота}
		    PutPixel   (Round (x0),   -Round (y*ky), clLightBlue);
		    PutPixel   ((-1)*kx, Round (x0), clLightBlue);       {вертикальна асимптота}
		    if Abs (x+1)>step then y:=0.5*x*Sqr (x/(x+1));
		    PutPixel   (Round (x0),   -Round (y*ky), clMagenta);

{5)}(* y:=x*(x*x-3);
		    PutPixel   (Round (x0),   -Round (y*ky), 11);
		    PutPixel   (-Round (y*ky), Round (x0), 9);                                 *)
		{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
		if KeyPressed then Exit else x0:=x0+step	               {крок}
	Until x0>220;
	SetPenColor (clLightGreen); TextOut (-305, -235, 'Press Enter'); ReadLn;
	{цілочислена гратка}
	for i:=-MaxX to MaxX do
	for j:=-MaxY to MaxY do PutPixel (i*kx, j*ky, clWhite);
	{вихід або повторення}
	z:=#219; for i:=1 to 4 do z:=z+z;
	SetPenColor (clLightGreen); TextOut (-305, -235, z);
	SetPenColor (clLightBlue); TextOut (-305, -235, 'Повторити (Y/N)');
	//Sound (99); Delay (99); NoSound
Until Not (ReadKey in ['y', 'Y']);
//CloseGraph
END.

Последний раз редактировалось ZX Spectrum-128; 01.12.2013 в 11:59.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать программу из C# в C++ abcgeorgii Помощь студентам 4 29.04.2013 10:45
Как переделать программу на TASM? подскОжите как упростить данную программу а то билеберда какая-то datileo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 25.02.2013 11:56
С++ Переделать программу scrinn Помощь студентам 0 07.06.2012 20:47
переделать программу с C# на С++ Loka Помощь студентам 4 03.12.2010 23:25