1. Заголовок или название темы должно быть информативным ! 2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 4.НЕ используйте форум для личного общения! 5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Здравствуйте! Если не сложно, ответьте, пожалуйста, как я могу распечатать результат выполнения графической программы? Файл результатов пробовал создавать, различные комбинации клавиш, даже фоткать экран монитора пробовал, но ничего не работает...
А вот и сама прога:
PROGRAM GRAPHEXP; USES GRAPH, CRT; VAR GA, GM, ERROR: INTEGER; X, Y: REAL; A, MX, MX03, MX09, MSX, MY, MY09, MY005, MSY : INTEGER; ST : STRING[4]; FUNCTION WRF(X: REAL): REAL; VAR S, A : REAL; I : INTEGER; BEGIN A := X; S := 0; I := 1; WHILE ABS(A) >= 1E-5 DO BEGIN S := S + A; I := I + 1; A := A * X * X * SQR(2*I-3)/((2*I-1)* (2*I-2)); END; WRF := S; END; BEGIN GA := DETECT; { - тип драйвера и адаптера } GM := DETECT; { - режим работы адаптера } { Инициализация графического режима: } INITGRAPH( GA, GM, 'C:\PASCAL7\BGI'); ERROR := GRAPHRESULT; { Анализ успешности установки графического режима: } IF ERROR <> GROK THEN BEGIN WRITELN('ОШИБКА ! ГРАФИЧЕСКИЙ ДРАЙВЕР НЕ НАЙДЕН', #10#13, GRAPHERRORMSG(ERROR) ); HALT; END; { Определение используемых значений: } MX := GetMaxX; MX03 := Round (0.3 * MX); MX09 := Round (0.9 * MX); MY := GetMaxY; MY09 := Round (0.9 * MY); MY005 := Round (0.05 * MY); SetColor(12); { - розовый } {------------ Рисование осей ---------------------} Line( 5, MY09, MX-10, MY09); { -- X -- } Line(MX03, MY005 , MX03, MY-9); { -- Y -- } {------------ Рисование стрелок ------------------} Line(5, MY09, 15, MY09-3 ); { /-- X -- } Line(5, MY09, 15, MY09+3); { \-- X -- } Line(MX-20, MY09-3, MX-10, MY09); { -- X --\ } Line(MX-20, MY09+3, MX-10, MY09 ); { -- X --/ } Line(MX03, MY005, MX03 - 3, MY005 + 10); { / -- Y --} Line(MX03, MY005, MX03 + 3, MY005 + 10); { \ -- Y --} {----------- Надписи по осям X и Y ----------------} SetTextStyle(0, 0, 2); SetColor(14); { - желтый } OutTextXY (MX03 - 40, MY005, ' Y '); OutTextXY (MX - 40, MY09 - 25, ' X '); SetTextStyle(0, 0, 1); SetColor(12); { - розовый } { --------------------- Разметка оси Y ------------------- } MSY := ROUND(MY09 / 5); { - масштаб по оси Y } Y := -0.5; { - начальное значение Y } While Y <= 4.501 do Begin STR(Y: 4: 1, ST); { - строка для надписи по Y } A := ROUND (MY09 - MSY * Y) ; { - ордината в пикселях } Line ( MX03 + 3, A, MX03 - 3, A ); { - черточки по оси Y } OUTTEXTXY ( MX03 - 40, A - 3 , ST); Y := Y + 0.5; { - изменение значения Y } End; { ------------ Разметка оси X ------------------ } MSX := ROUND( MX09 / 2 ); { - масштаб по оси X } X := -0.6; { - начальное значение X } While X <= 1.401 do Begin STR(X : 4 : 1, ST); { - строка для надписи по X } A := Round( MX03 + MSX * X ); { - абсцисса в пикселях } Line( A, MY09 + 3, A, MY09 - 3); { - черточки по оси X } OUTTEXTXY(A, MY09 + 15, ST); X := X + 0.2; { - изменение значения X } End; SETCOLOR(2); { - зеленый }
{ Начало рисования кривой } X := -0.9; Y := WRF (X); { - начальные значения } { Переход в начальную точку кривой: } MOVETO (Round (MX03 + MSX * X ), Round (MY09 - MSY * Y )); SETLINESTYLE(0,0,3); { - толщина линий } While X <= 0.9 do Begin X := X + 0.1; { - изменение значения X } IF ABS(X) < 1E-5 THEN X := 0; { - уточнение значения X } Y := WRF(X); { - текущее значение функции ARCSIN } LINETO (Round (MX03 + MSX * X ), { - рисование отрезка линии } Round (MY09 - MSY * Y )); End; SETCOLOR(15); { - белый } SETTEXTSTYLE(1, 0, 4); OUTTEXTXY(ROUND(0.2 * MX), ROUND(0.4 * MY), 'GRAPHIC IN TURBO PASCAL'); SETTEXTSTYLE(1, 0, 2); OUTTEXTXY(ROUND(0.5 * MX), ROUND(0.5 * MY), 'Y = ARCSIN(X)'); SETCOLOR(9); SETTEXTSTYLE(0, 0, 2); OUTTEXTXY(ROUND(0.5 * MX), ROUND(0.85 * MY), 'GRAFIKA'); { READLN; }WHILE NOT KeyPressed DO; CloseGraph; End.
1. Запускаете программу. Нажимаете alt+enter, переводя ее в оконный режим. Далее alt+printscreen, забрасывая ее в буфер обмена (copy). В paint'е делаете paste. и печатаете. 2. Записываете результат в графический файл любого формата (pcx, bmp). Примеры есть здесь на сайте. И печатаете тем же paINTЭОМ