,
Internet-, -
, . .
.
1215
.
,
.
, VGA (Video Graphic
Array ) SVGA (Super VGA).
, ()
, .
,
(14", 15", 17", 19"
), , ,
(640x480, 800x600, 1024x768, 1280x1024
), ,
(16 , 64 , 256 , 256 , 16 ).
,
. , ,
( 1820),
.
,
(, , ).
8 ,
16 .
, . .
( 0,30,4
1415- ). (pixel picture's
element, " ")
. ,
, VGA 640 , 480
, 16 (256 )
.
,
. 0
(1,1),
(0,0). 0 , .
Turbo Turbo Pascal QBasic
,
.
,
(dx,dy)
( Current Point).
.
. , [102]
.
.
, ,. ,
, . 0
.
,
,
, .
2 32 ,
, ,
.
, ,
0 1.
/ . ,
. 0
, .
,
.
-
,
.
RGB -Red (), Green
() Blue (). , ,
' .
2, 4, 8 24 , . VGA
4 , 16 ,
. 6- 2
RGB-.
64 ,
16.
256 18- DAC (Digital Analog
Converter - , ).
256 .
( foreground color)
( background color).
.
0. ,
,
.
, .
, ,
.
.
,
AND, 0R, X0R. 0
, ""
.
X0R, ,
. X0R
, "".
.
, ,
,
, .
QBasic
: LINE, CIRCLE, DRAW . ,
QBasic, ,
Borland. , QBasic
.
, QBasic ""
,
,
. ""
.
, , ,
. 0
(,
, ,
) "" .
DRAW ,
[7], , ,
, .
,
.
"". 3.0 Borland
"" ,
.
Turbo Turbo Pascal ,
BGI Borland Graphics Interface ( Borland).
0 ,
.
83
60 . BGI-
[16].
,
.
, SetUserCharSize.
Turbo , , ,
.
setusercharsize,
.
( wideDotFiii),
" ." ()
( WIDE_D0T_FILL).
:
: x=getmaxx();
: x:=GetMaxX;
,
, .
, . .
.
.
" ",
, .
, .
QBasic
SCREEN, :
SCREEN n [,
[cs] [,ap] [,vp]]
0
, .
:
n= 9 (640x350
, 16 64 )
n=12 (640x480 , 16 64 )
n=13 (320x200
, 256 256 )
cs .
( = = i) (vp = 0 vp = i)
n = 9.
SCREEN 0.
, ,
:
: #include <graphics.h>
: uses Graph;
BGI
"" initgraph:
: initgraph(&gd,&gm, "path");
: InitGraph(gd,gm,'path');
(int, integer) ,
(gd)
(gm). ,
. 0 gd
initgraph (gd = gd = DETECT),
. . ,
VGAHI, 640x480 16 64 .
, ,
. 99%
egavga.bgi,
PATH autoexec.bat.
.
,
- , ""
.
closegraph:
: closegraph();
: CloseGraph;
"" ,
.
. 0
,
, ,
. BGI-.
QBasic VIEW,
:
VIEW (xl,yl)-(x2,y2),cf,cb
VIEW SCREEN
(xl,yl)-(2,2),cf,cb
,
(xi,yi), (2,2).
, ( < < 639, <
< 479), . cf , ,
, . 0
.
.
(xi,yi), . . , , ,
. SCREEN
, . . (0,0). ,
, .
,
(10,10), 200 .
(10,10). LINE
, . (VIEW SCREEN)
,
(310,10). 0
(0,0).
, ,
. ,
,
,
.
8_01.bas
R
SCREEN 12 :'
VIEW (10,10)-(210,210),2,1
: ' 0
LINE (0,100)-(200,100)
LINE (100,0)-(100,200)
SLEEP : '
VIEW SCREEN
(310,10)-(510,210),4,14: '
LINE (310,110)-(510,110)
LINE (410,10)-(410,510)
SLEEP
END
(VIEW)
, (VIEW SCREEN)
.
,
, .
STEP:
8_02.bas
R
SCREEN 12
VIEW (10,10)-(210,210),2,1
LINE STEP(0,0)-STEP.(-20,0)
: ' 0
C0L0R 4 : '
-
LINE STEP(0,0)-STEP(0,-20)
C0L0R 2 : '
-
VIEW SCREEN
(310,10)-(510, 210) , 4,14
LINE STEP(0,0)-STEP(-20,0)
END
(
).
20 .
.
20 ( , ).
,
.
. , ,
,
, ,
, ,
- ,
(Y = - m). QBasic
.
(,) WIND0W:
WIND0W (XMIN,YMIN)-(XMAX,YMAX)
, , :
8_03.bas
R
SCREEN 12
VIEW (10,10)-(410,210),2,1
LINE (400,100)-
(0,100) '
WIND0W (0,-1)-(.,1)
' 0
F0R X=.l 0
6.3 STEP .1
Y=SIN(X) '
LINE -(X,Y)
' (X,Y)
NEXT X
END
BGI
setviewport:
: setviewport(xmin,ymin,xmax,ymax,clip);
TP: SetViewPort(xmin,ymin,xmax,ymax,clip);
(xmin,ymin) (xmax,ymax) , ,
.
,
, , . clip,
( , true false),
-
, .
clip = clip = false . 0
. , .
, ,
:
8_03.pas
program sinl;
uses graph; var
gd,gm,xe,ye,k:integer;
x,y,dx:double;
begin
gd:=0;
InitGraph(gd,gm,'');
dx:=0.1;
SetViewPort(10,10,410,210,
false) ;
LineTo(0,200);
{0 }
LineTo(400,200); LineTo(400,0);
LineTo(0,0);
{ }
Line(400,100,0,100);
for k:=0 to 63 do
begin
x:=k*dx;
y:=sin(x);
xe:=round(x*400/6.28);
{ - , }
ye:=round(100-y*100);
LineTo(,)
( }
end;
readln;
closegraph;
end.
QBasic CLS,
( ,
), . 0 CLS 2
, , .
BGI
ciearviewport cieardevice.
, .
getmaxx getmaxy, .
,
. , ,
, :
Circle(GetMaxX
div 2,GetMaxY div 2, 50);
-, ,
, ,
. QBasic
. , ,
C0L0R:
C0L0R cf,cb
12 13 C0L0R cf,
. [0,15],
cf .
9 (EGA), .
12 13 .
.
12,
1 100x75 ,
0 15.
8_04.bas
REM
SCREEN 12
CLS
F0R Y=10 T0
310 STEP 100
F0R X=10 T0
460 STEP 150
LINE (X-l,Y-l)-(X+101,Y+76),15,
LINE (X,Y)-(X+100,Y+75),C0L,BF
C0L=C0L+1
SLEEP 1 : '
1 NEXT X NEXT Y END
BGI-
() setcoior(cf)
setbkcolor (cb).
Turbo Turbo Pascal .
, setcoior. ,
, BGI-
(. 8.1).
8.1. BGI-
|
|
Turbo |
Turbo Pascal |
||
0 |
|
BLACK |
Black |
||
1 |
|
BLUE |
Blue |
||
2 |
|
GREEN |
Green |
||
3 |
|
CYAN |
Cyan |
||
4 |
|
RED |
Red |
||
5 |
|
MAGENTA |
Magenta |
||
6 |
|
BR0WN |
Brown |
||
7 |
- |
LIGHTGRAY |
LightGray |
||
8 |
- |
DARKGRAY |
DarkGray |
||
9 |
- |
LIGHTBLUE |
LightBlue |
||
10 |
- |
LIGHTGREEN |
LightGreen |
||
11 |
- |
LIGHTCYAN |
LightCyan |
||
|
|
Turbo |
Turbo Pascal |
||
12 |
- |
LIGHTRED |
LightRed |
||
13 |
- |
LIGHTMAGENTA |
LightMagenta |
||
14 |
|
YELL0W |
Yellow |
||
15 |
|
WHITE |
White |
||
"" "",
.
, .
8_04.bas :
8_04.
/* */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
main () {
int X,y,col=0;
int gd=0,gm;
initgraph(&gd,&gm, "");
for(y=10; y<=310; y+=100)
for(x=10; x<=460;
x+=150) {
setfillstyle(1,col); /* col */
bar3d(x-l,y-l,x+101,y+76,0,l);
col++;
sleep(l); /*
1 */ }
getch () ; closegraph();
}
,
.
QBasic PALETTE PALETTE USING:
PALETTE reg,col
PALETTE USING A%
reg , col
[0,63] .
%.
- 1 (0xFF),
.
setpaiette
setallpaiette BGI :
SetPalette(reg,col);
SetAllPalette(A);
() ,
( 23 ).
,
.
( ) .
QBasic
PSET PRESET:
PSET , [,c]
. PRESET x,y [,]
, , .
, PSET
, PRESET . , ,
. ,
. QBasic P0INT:
c=P0INT(x,y)
BGI:
: putpixel(,,);
: PutPixei(x,,);
c=getpixel (, ) ;
c:=-GetPixel
(x, ) ;
,
.
,
. ,
. ,
64 .
640x480x4/8 = 153 600 .
.
QBasic GET PUT:
GET (xl,yl)-(x2,y2),
% PUT (,), %, ovr
, , (xl.yl)
(2,2) , .
, , %,
. %
,
% .
, ,
, .
, , PUT
,
. ovr
. 0
:
BGI- getimage
putimage:
getimage(x1,
y1,x2,y2,A);
putimage(x3,x4,A,ovr);
ovr:
: C0PY_PUT
TP: CopyPut QBasic: PSET N0T_PUT NotPut PRESET
AND_PUT AndPut
AND
0R_PUT 0rPut
0R
X0R_PUT XorPut
X0R
BGI-
,
getimage:
size=imagesize(xl,yl,x2,y2);
,
.
QBasic
LINE ,
. ,
:
LINE (x1,y1l)-(2,2)[,[col][,mask]
:' 0
LINE (x1,y1)-(x2,y2)[,[col]
[,mask] :'
LINE (x1l,y1)-(x2,y2)[,[col]
BF :'
LINE
.
(WIND0W),
.
STEP,
. (LINE - (2,2)
...), .
col , ,
C0L0R.
, mask
. ,
16 , ,
, . . . mask
16- ,
, . , ,
8 ,
mask = &HFF00.
BGI-
,
:
(moveto, moverel) ,
. .
, QBasic .
, .
(,)
PRESET:
PRESET (x,y)
PRESET STEP(dx,dy)
,
(,) ,
, PRESET .
(,), ,
PSET
PRESET:
col=P0INT(x,y)
: PSET (x,y),col
PSET (, ),
P0INT (, )
.
(2,y2).
BGI-
16- . setiinestyle, ,
:
setlinestyle(style,mask,t);
, .
style [0,4],
:
: S0LID_LINE
TP: SolidLn 0
D0TTED__LINE
DottedLn 1
CENTER_LINE
CenterLn 2 -
DASHED_LINE
DashedLn 3
USERBIT_LINE
userBitLn 4
, style = 4
mask, .
t 1 3,
. " N0RM_WIDTH
THICK_WIDTH, NormWidth ThickWidth.
BGI- , QBasic. 0
, :
drawpoly(k,xy);
k
, x1,
y1, 2, 2, ... . ,
, , ,
.
.
Borland
. ,
, BGI-
. :
setcolor(0);
setbkcolor(15);
line{0,0,100,100);
. ""
. QBasic .
:
8_05.bas
SCREEN 12
VIEW (0,0)-(100,100)
,15
LINE (0,0)-(100,100)
,0
END
""
. ,
.
.
8_05.pas
program black_white;
{
}
uses graph;
var
gd,gm,x,:integer;
begin
gd:=0;
initgraph(gd,gm,'');
setcolor(0);
setbkcolor(15);
line(0,0,100,100);
{ ,
. . }
readln;
setpalette(l,0);
setcolor(1);
setbkcolor(15);
line(0,0,100,100);
{ }
readln;
closegraph;
end.
X0R_PUT. BGI-
CPY_PUT X0R_PUT setwritemode:
setwritemode(C0PY_PUT);
setwritemode(X0R_PUT);
,
2.
.
QBasic , ,
CIRCLE:
CIRCLE (x,y),R
[,c] : '
CIRCLE (x,),R,[],al,a2 : '
CIRCLE (x,y),R,[],-al,-a2
: '
CIRCLE (x,y),R,[],,,k
: '
CIRCLE (x,y),R,[],al,a2,k
: '
CIRCLE (x,y),R,[],-al,-a2,k
: '
, (CIRCLE STEP(,)...)
. R , R k
( ) b ( ). k<la =
RHb = k*R, k > 1 = k * R
b = R.
:
8_06.bas
REM
SCREEN 12
VIEW (0,0)-(400,400),,1
F0R X=10 T0 390 STEP 10
F0R Y=10 T0 390
STEP 10
LINE (X,10)-(X,390),7: '
LINE (10,Y)-(390,Y),7:
' NEXT Y NEXT X
LINE (0,200)- (400,200),14 : ' ""
LINE (200,0)-(200,400),14 : ' ""
CIRCLE (200,200),120,15,,,4/3 : '
CIRCLE (200,200),120,14,,,3/4 : '
END
400 10
.
.
.
al 2, .
[0,2].
. al
-, , 2
-. , .
, . .
,
- .
, ,
.
.
,
. - , ,
30 60 .
8_07.bas
R
SCREEN 12
VIEW (0,0)-(400,400)
LINE (0,200)-(400,200),7
:' "" .
LINE (200,0)-(200,400),7
:' ""
CIRCLE (200,200),120,4,,,.75
:'
CIRCLE (200,200),90,4,,,.75
:'
CIRCLE (200,200),120,15,.5236,1.0472,.75
:'
CIRCLE (200,200),90,14,-.5236,-1.0472,.75
:'
END
CIRCLE
, ,
C0L0R.
BGI-
:
arc(x,,a1,a2,r);
//
circle(,,r);
//
ellipse(,,al,a2,r,r);
//
QBasic -
al .2 , ,
.
.
,
, .
(, paint,
fill). , ,
,
, 8x8
(, ) 8x8xk (QBasic, 1 < k < 8). ,
, .
, , QBasic BGI-,
.
-
,
Borland. 8x8,
, .
,
. , ,
.
8 . ,
.
,
(, pattern) .
BGI- ()
setfillstyle setfillpattern: setfillstyle(numpat,col); setfiilpattern(pattern,col);
numpat [0,12]
(. 8.2). 0
(numpat < 12) (numpat = 12),
setfillpattern. col ,
,
.
8.2. BGI-
|
|
|
|
||
0 |
EMPTY FILL |
EmptyFiil |
|
||
1 |
S0LIQ_FILL |
SolidFill |
col |
||
2 |
LINE_FILL |
Line Fill |
|
||
3 |
LT3LASH FILL |
LtSlashFill |
45° |
||
4 | SLASH FILL | SlashFill | 45° | ||
5 | BK£T.ASH "ILL | EkSlashFill | 135° | ||
6 | LTBKSLASH_?1LL | LtBkSlashFill | ; 135° | ||
7 |
HATCH_FILL |
HatchFill |
,
0° 90° |
||
8 |
XHATCH FILL |
XHatchFill |
,
45° 135° |
||
9 |
INTERLEAVE FILL |
InterleaveFill |
|
||
10 |
WIDE_D0T_FILL |
WideDotFill |
|
||
11 |
CL0SE D0T FILL |
CloseDotFill |
|
||
12 |
USER_FILL |
UserFill |
|
||
,
, .
8_08.
/* */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
main() {
int k,gd=0,gm;
int col=14;
//
initgraph(sgd,&gm,"");
for(k=0; k<12;k++)
{
cleardevice();
printf("\n =%3",k);
setfillstyle(k,14);
bar(300,100,400,200);
getch();
} Closegraph();
}
numpat = 12,
.
pattern filipattern 8- :
: char patl[]
= {0xCC,0x33,0,0x33,0,0x33, 0, 0x33};
setfillpattern(patl,4);
: const
patl:FillPatternType=($CC,$33,$,$33,$,$33,$,
$33);
SetFillPattern(patl,4);
FillPatternType, Graph,
8 array [1. .8] of byte.
BGI-
()
:
.
d "" ,
(d = 0.25 * (2 - x1)).
, true false.
true, ("") .
,
.
.
bar3d, , . 0
(d = )
:
bar111,11,99,99);
rectangle(10,10,100,100);
, .
.
.
, -
.
, ,
28 [13]. 0
. , - .
Builder C++, .
,
.
8_09.
/*
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#define Nmax 111
main()
{
int k,gd=0,gm;
unsigned char pattern[Nmax][8] ={
// 8x8
//====
// 0 =
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
// 1 =
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
//====
//=
// 2 =
( 1 , 7)
{0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
// 3 =
(2:6)
{0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},
// 4 =
(3:5)
{0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00},
// 5 =
(4:4)
{0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00, 0x00},
// =
(5:3)
{0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00, 0x00},
// 7 =
(6:2)
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00},
// 8 =
(7:1)
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00},
// 9 =
(1:1)
{0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00},
// 10.=
(1:3)
{0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},
// 11 =
(3:1)
{0xFF, 0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00},
// 12 =
(2:2)
{0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00},
//=
// 13 = (1:7)
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},
// 14 =
(1:3)
{0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88},
// 15
= (2:6)
{00,00, 00,00,00,00,00, 00.},
// 16
= (3:5)
{00,00,00,00,00,00,00,00},
// 17
= (4:4)
{0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0},
// 18 =
(5:3)
{0xFS, 0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8},
// 19
= (6:2)
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC, 0xFC, 0xFC},
// 20
= (7:1)
(0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
// 21 =
(1:1)
{0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA},
// 22
= (3:1)
{0xEE, 0xEE, 0xEE,0xEE,0xEE,0xEE,0xEE,0xEE},
// 23 =
(2:2)
{0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC},
//====
// 24 =
(1:7,1:7)
{0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80},
// 25 =
(2:6,2:6)
{0xFF,0xFF,00,00,00,00,00, 00},
// 26 =
(3:5,3:5)
{0xFF,0xFF,0xFF,00,00,00,00, 00},
// 27 =
(4:4,4:4)
{0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0, 0xF0},
// 28
= (5:3,5:3)
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFS,0xFS,0xF8},
// 29 =
(6:2,6:2)
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFC, 0xFC},
// 30 =
(7:1,7:1)
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE},
// 31 =
(2:2,2:2)
{0xFF,0xFF,0x99,0x99,0xFF,0xFF,0x99, 0x99},
//===
// 32 = (1:10)
{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80},
// 33 =
(3:7)
{0x83,0x07,00,0xlC,0x38,0x70,00,
01},
// 34
= (6:3)
{0xC7,0x8F,0x1F,0,07,0xF8,0xFl, 0},
// 35 =
(1:10)
{0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01},
// 36 =
(3:7)
(01,00,0x70,0x38,0xlC,0x0E,0x07,0x83},
// 37 =
(6:3)
{0,0xFl,0xF8,07,0,0xlF,0x8F, 0xC7},
//====
// 38 =
(1:6,1:6)
{0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81},
//===
//=
// 39 =
(4*1:4,4)
{0xF0,0x00,0x00,0x00,0x0F,0x00,0x00,0x00},
// 40 =
(5*1:3,4)
{0xF8,0x00,0x00,0x00,0xlF,0x00,0x00,0x00},
// 41
= (4*2:4,4)
{0xF0,0xF0,0x00,0x00,0x0F,0x0F,0x00,0x00},
// 42 =
(5*2:3,4)
{0xF8,0xF8,0x00,0x00,0xlF,0xlF,0x00,0x00},
// 43 =
(4*1:4,7)
{0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
// 44
=
{0xFF,0x00,0x00,0x00,0xF0,0x00,0x00,0x00},
//=
// 45 = (4*1:4,7)
{0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00},
// 46 =
(4*1:4,4)
{0x80,0x80,0x80,0x80,0x08,0x08,0x08,0x08},
//==== //=
// 47 =
{0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},
// 48 =
{0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00},
// 49 =
(0x81,0x42,0x24,0x18,0x00,0x00,0x00,0x00},
// 50 =
{0x81,0,0x66,0,0x18,0x00,0x00,0x00},
//=
// 51 =
{0x10,0x10,0x10,0xF0,0x01,0x01,0x01, 0x0F},
//====
// 52 = (1:1,1)
{0x00,0x55,0x00,0,0x00,0x55,0x00,0},
// 53
= (1:3,2)
{0x00,0x44,0x00,0x11,0x00,0x44,0x00,0x11},
// 54 =
{0x22,0x00,0x00,0x00,0x88,0x00,0x00,0x00},
// 55 =
{0x00,0,0x66,0x00,0x00,0x99,0x99,0x00},
// 56 =
{0x00,0x00,0x30,0x30,0x00,0x00,0x03,0x03},
// 57 =
{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},
// 58
=
{0x00,0x00,0,0,0,0,0x00,0x00},
// 59 =
{0,0x33,0,0x33,0,0x33,0,0x33},
// 60
=
{0,0x55,0,0x55,0,0x55,0, 0x55},
//====
// 61 =
{0x10,0x10,07,0x10,0x10,0x00,0x00,0x00},
// 62 =
(0x10,0x00,0x54,0x00,0x10,0x00,0x00,0x00},
// 63 =
{0x00,0x00,0x18,0,0,0x18,0x00,0x00},
// 64 =
{0x00,0x18,0,07,07,0,0x18,0x00},
// 65 =
{0x00,07,07,07,07,07,07, 0x00},
// 66
= 5x5
{0xF8,0xF8,0xF8,0xF8,0xF8,0x00,
0x00, 0x00}, // 67 = 6x6
{0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0x00, 0x00},
// 68
= 7x7
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00},
// 69
=
{0x00,07,0x42,0x42,0x42,0x42,07,0x00},
// 70
=
{0x00,0x00,0,0x24,0x24,0,0x00,0x00},
// 71 -
(0x00,07,0x42,05,05,0x42,07, 0x00},
// 72 =
""
(0x00,0x42,0x24,0x18,0x18,0x24,0x42, 0x00},
// 73 =
""
{0x00,0x44,0x28,0x10,0x10,0x10,0x00,0x00},
// 74
=
{0x00,0x42,0x24,0x18,0x00,0x00,0x00,
0x00},
// 75
=
{0x00,0x00,0x00,0x18,0x24,0x42,0x00,0x00},
// 76
=
{0x10,0x38,0x54,0x10,0x10,0x10,
0x00, 0x00}, // 77 =
{0x10,0x10,0x10,0x54,0x38,0x10,0x00,0x00},
// 78 =
{0x00,0x20,0x40,0xFC,0x40,0x20,0x00,0x00},
// 79 =
{0x00,0x10,0x08,0xFC,0x08,0x10,0x00, 0x00},
// 80 =
(0x00,0x08,0x18,0x3F,0x3F,0x18,0x08,0x00},
// 81 =
{0x20,0x70,08,0x22,0x22,08,0x07,0x02},
// 82 =
{0x24,0x02,0xlF,0x02,0x24,0x40,0xFS, 0x40},
// 83 =
{0x00,0x10,0x28,0x44,0x28,0x10,0x00,0x00},
// 84 =
{0x81,0x18,03,07,07,0,0x18,0x81},
// 85 =
{0x18,0,0,07,07,0,0,0x18},
// 86 =
(d=6)
{0x00,0,0x42,0x42,0x42,0x42,0,0x00},
// 87
= (d=5)
{0x44,0x38,0x00,0x00,0x00,0x38,0x44,0x44},
// 88
=
(0x80,0x7F,0x41,0x41,0x41,0x41,0x41,0x7F},
// 89 =
{0x08,0x00,0x08,0x50,0x08,0x00,0x08, 0x00},
//====
// 90 =
{0x00,0x18,0,07,07,0,0x18,0x00},
// 91 =
{0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F),
// 92
=
{0,0x33,0,0x33,0,0x33,0,0x33},
// 93 =
{0x42,0,0,0x24,0x24,0,0,0x42},
//====
// 94 =
{0x00,0xFB,0xFB,0xFB,0x00,0xDF,0xDF,0xDF},
// 95 =
{0x00,0xFB,0x0A,0xFB,0x00,0xDF,0x50,0xDF},
// 96
=
{0,0,00,0,0,00,0,0},
// 97 =
(0x01,0x82,0x44,0x28,0x10,0x20,0x40,0x80},
// 98
= ,
{0x80,0x41,0x22,0x14,0x08,0x04,0x02,0x01},
// 99 =
{0x94,0x84,0x48,0x30,0x00,01,0x22,0x14},
// 100
=
{0xFF,0x01,0xVD,0x45,0x5D,0x41,0x7F,0x00},
// 101
= 1
{0x00,0,02,02,02,02,0,0x00},
// 102
= 2
{0x00,0x00,07,0x42,07,0x42,07,0x42},
// 103
= 3
{0x00,0x50,0,0x6D,0x7F,0x63,0x36,0xF0},
// 104
= 4
{0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24},
// 105
= 5
{01,0x22,0x14,0x14,0x22,0x91,0x48,0x24},
// 106
= 6
{0x02,0x91,0x68,0x08,0x10,0x16,0x89,0x40},
// 107
= 7
{0,0x42,05,07,07,05,0x42, 0},
// 108
= 8
{0x03,0x18,0x60,0x80,0x80,0x40,0x20,0x18},
// 109
= 9
{0xBF,0xA0,0xA0,0xBF,0xFB,0x0A,0x0A,0xFB},
// 110
= 10
{0xFF,0x81,0xBD,0xA5,0xA5,0xBD,0x81,0xFF},
// 111
= 11
{0xFF,0x81,0x81,0x99,0x99,0x81,0x81,0xFF}};
initgraph(&gd,&gm,"");
f0r(k=0;k<Nmax;k++) {
cleardevice();
g0t0xy(1,1);
printf("\n
=%d", k) ;
setfillpattern(&pattern[k]
[0],4);
setfillstyle(12,
14);
bar3d(240,40,440,240,16,l);
getch (); }
}
0
fi00dfiii: fl00dfill(x,,eg);
,
(,). eg ,
. , (,).
,
eg.
, -
, .
. 0
.
.
QBasic
LINE .. . BF.
.
PAINT, . 0 PAINT
:
PAINT (x,y),[c0l],eg
PAINT (x,y),Ml$,cg PAINT (x,y),Ml$,cg,M2$
fi00dfill,
c0l ,
C0L0R.
,
M1$, 64 .
1$ .
,
,
, .
MI$
. . -
, 8x16.
,
. 0,
- :
M1$=CHR$(&H0)+CHR$(&H0)+CHR$(&HF0)+CHR$(&HFF)
, - ,
,
.
, -.
:
M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H00)+CHR$(&HFF)
M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H00)+CHR$(&HFF) M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(SH00)+CHR$(&HFF)
:
M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H0F)+CHR$(SHFF)
,
, :
M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H00)+CHR$(&HFF)
M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H00)+CHR$(&HFF) M1$=M1$+CHR$(&H0)+CHR$(&H0)+CHR$(&H00)+CHR$(&HFF)
0
, ,
.
8_10.bas
REM
SCREEN 12
I1$=CHR$(&HFF):'
B0$=CHR$(&H0):'
G0$=CHR$(&H0):'
R0$=CHR$(&H0):'
R40$=CHR$(&HF0):' -
R04$=CHR$(&HF):' -
M1$=M1$+B0$+G0$+R40$+I1$: M1$=M1$+B0$+G0$+R0$+I1$ M1$=M1$+B0$+G0$+R0$+I1$ : M1$=M1$+B0$+G0$+R0$+I1$ M1$=M1$+B0$+G0$+R04$+I1$: M1$=M1$+B0$+G0$+R0$+I1$ M1$=M1$+B0$+G0$+R0$+I1$ : M1$=M1$+B0$+G0$+R0$+I1$
LINE (100,100)-(200,200),,B
PAINT (150,150),M1$,15 END
:
8_11.bas
'
SCREEN 12
I1$=CHR$(&HFF) '
B0$=CHR$(&H0) '
G0$=CHR$(&H0) '
R8$=CHR$(&HFF) '
RL$=CHR$(&H40) '
RR$=CHR$(£H2) '
M1$=M1$+B0$+G0$+R8$+I1$:
M1$=M1$+B0$+G0$+RL$+I1$
M1$=M1$+B0$+G0$+RL$+I1$: M1$=M1$+B0$+G0$+RL$+I1$
M1$=M1$+B0$+G0$+R8$+I1$: M1$=M1$+B0$+G0$+RR$+I1$
M1$=M1$+B0$+G0$+RR$+I1$: Ml$=Ml$+B0$+G0$+RR$+Il$
LINE (100,100)-(200,200),,B
PAINT (150,150),M1$,15
END
,
. ""
,
,
. ,
, .
. (
15, 0),
,
. 0
, ,
. ""
15 ( 1111).
,
, . .
, .
"" AND.
X0R .
(0,0,300,300),
fon, . (60,60)
(240,240) 30 . ""
, 100x100,
.
c1, ( ).
.
,
<Esc>.
8_12.
/* " "*/
#include <graphics.h>
#include <stdlib.h>
#include <alloc.h>
main () {
int gd=0,gm;
int cl,fon;
char q,
patl[] = {0x81,0x42,0x24,0x18,0x00,0x00,0x00,
0x00},
pat2[] = {0x7E,0xBD,0xDB,0xE7,0xFF,0xFF,0xFF,
0xFF};
int xyl[]={0,0,300,0,300,300,0,300}
;
long k;
char far *pl,*p2;
initgraph(Sgd,&gm,"")
;
k=imagesize(10,10,110,110)
;
pl=farmalloc(k);
/* */
p2=farmalloc(k);
m:
fon=random(15)+1;
ml:
cl=random(15)+1;
if((cl==fon))
goto ml; /*3 */
setfillstyle(12,0);
setfillpattern(patl,cl);
bar(10,10,110,110);
getimage(10,10,110,110,pi);
/*3 V
setfillstyle(12,0);
setfillpattern(pat2,15);
bar(10,10,110,110);
getimage(10,10,110,110,p2);
/* */
setfillstyle(l,fon);
fillpoly(4,xyl);
setcolor (4);
circle(60,60,30)
; /* */
putimage(10,10,2,AND_PUT);
/* "" */
putimage(10,
10,pl,X0R_PUT) ; /*3 */
setcolor (4);
circle(240,240,30);
setfillstyle(12,0);
setfillpattern(patl,cl);
bar(190,190,290,290);
/*0 . Esc*/
q=getch();
if(q != 0xlb)
goto m;
closegraph();
}
, ,
. 0 QBasic
, ( )
. QBasic
PRINT, .
BGI-,
.
():
outtext();
outtextxy(x,,);
,
.
. outtextxy
.
, (. 8.1).
.
8.1.
. , , , ,
.
.
settextjustify:
SetTextJustify(horiz,vert)
;
:
,
- ,
, ,
, .
Borland- 11 ,
(DEFAULT_F0NT) , .
,
- 8x8 .
- .
,
.
, .
, , ,
.
.
(, SMALL_F0NT) ,
. (, SANS_SERIF_F0NT)
,
.
.
(, TRIPLEX_F0NT G0THIC_F0NT) "
(.
8.2).
.
8.2. ,
, 3.1 7.0,
(
, . .).
0 - ,
866- .
chr .
, ,
settextstyle:
SetTextStyle(font,dir,size);
font 0 10
(. 8.3).
8.3,
|
|
|
|
||
0 |
DEFAULT F0NT |
DefaultFont |
, 8x8 |
||
1 |
TRIPLEX_F0NT |
TriplexFont |
|
||
2 |
SMALL F0NT |
SmallFont |
0,
|
||
3 |
SANS_SERIF_F0NT |
SansSerif Font |
,
|
||
4 |
G0THIC F0NT |
GothicFont |
,
|
||
5 |
SCRIPT_F0NT |
|
,
|
||
6 |
SIMPLEX F0NT |
|
0 |
||
7 |
TRIPLEX SCR
F0NT |
|
, |
||
|
|
|
|
||
8 |
C0MPLEX_F0NT |
|
,
|
||
9 |
EUR0PEAN F0NT |
|
0 |
||
10 |
B0LD_F0NT |
|
, |
||
dir 0 ( H0RIZ_DIR)
1 (VERT_DIR).
, 90° .
.
size, [1,10],
,
(size > 4) (size < 4) .
setusercharsize:
SetUserCharSize(mx,dx,my,dy);
(,)
:
X=x*mx/dx; Y=y*my/dy;
,
, , , .
,
.
textwidth textheight,
, .
outtextxy.
,
. 8.2.
. ,
( = 470).
SMALL_F0NT.
"" (w = 180, h
=270) SANS_SERIF_F0NT
TRIPLEX_F0NT. , ""
"",
.
. 0 ,
. 0 ,
. , 2.0
3.1 . .
, .
DEFAULT_F0NT.
setusercharsize (settextstyie).
, ,
1 ( 10 ).
8_13.
/* "" */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
int x,y=470;
void a_in_box(int
dy) {
int w,h; /*
0 */
w=textwidth("");
h=textheight("");
printf("w=%d h=%d ",w,h);
/* 0
2 */
rectangle(x-2,y-h,x+w-2,y+2);
/* */
outtextxy(x,y+dy,"A");
}
main()
{
int gd=0,gm;
initgraph(&gd,&gm,"");
/* */
setpalette(l,0);
setcolor(1);
setbkcolor(15);
settextjustify(0,0);
settextstyle(2,0,l);
/* SmallFont */
setusercharsize(30,1,267,1);
x=4;
a_in_box(0);
settextstyle(3,0,1);
/* SansSerifFont */
setusercharsize(86,10,75,10);
x=186;
a_in_box(0);
settextstyle
(1,0,1); /* TriplexFont */
setusercharsize(95,10,78,10);
x=368;
a_iri_box(0);
settextstyle(0,0,10);
/* DefaultFont, =10 */
x=550;
a_in_box(10);
getch ();
closegraph();
}
8.14.
, .
. . ,
.
1 ()
, (. ).
,
. "
". col
7 8 ( " "
: bit=l- bit bit:=not bit).
,
.
2 (QBasic)
, .
3 (, )
bar3d .
8_14.bas
R
DEFINT A-Z SCREEN 12
0=10: 0=10: col=8: w=50
F0R y=y0 T0 y0+7*w STEP w
col=15-col
F0R x=x0 T0 x0+7*w STEP w
LINE (x,y)-(x+w,y+w),col,BF :'
LINE (x,y)-(x+w,y+w),15, :' 0 col=15-col:
'
NEXT x NEXT
8_14.
/* */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
main() {
int x,y,x0=10,y0=10,col=8,w=50;
int gd=0,gm;
initgraph(Sgd,&gm,"");
for(y=y0; y<y0+8*w;
y+=w)
{
col-15-col;
for(x=x0; x<x0+8*w;
xt=w) {
setfillstyle(1,col);
bar3d(x,y,x+w,y+w,0,1); /* 0 */
col=15-col; /*
*/ } }
getch();
closegraph();
}
8_14.pas
program shach;
{ } uses Graph;
const
x0=10;
y0=10;
w=50;
col:integer=8;
var
i,j,gd, gm,x,:integer;
begin gd:=0;
initgraph(gd,gm,' ') ;
for i:=0 to
7 do begin
col:=15-col;
y:=y0+i*w;
for j:=0 to 7
do begin
x:=x0+j *w;
setfillstyle(1,col);
bar3d(x,y,x+w,y+w,0,true);
{ 0 }
col:=15-col;
{ }
end;
end;
readln;
closegraph;
end.
8.15. 0
( 8.3). () cifra,
(,) k ( <= k <= 9)
.
1 ()
(,) ,
. 0,
45 135
.
.
8.3.
0 6 (
) ( ) ,
(0.0), ,
, . 8.4.
()
. ,
. b = 4*,
. = =
2*. + b, () .
8.4.
|
|
|||||
|
|
|||||
|
|
|
|
|||
0 | 0 | 0 | 0 | |||
- | ||||||
0 1 2 |
b |
0 |
0 |
b |
||
|
|
|||||
|
|
|||||
|
|
|
|
|||
3 |
|
|
- |
|
||
4 |
- |
|
- |
- |
||
5 |
-b |
0 |
0 |
-b |
||
.
8.4 , :
d1 = (0, ,b,
,-,-) d2 = (0,-, 0, , , 0)
.
. 1, 2 3 ,
1, 2, 3 4 .
, .
:
xl = 2 =
3=
yl = 2 = + = + 2*
:
xl=x 2=+
3= 4 = +
yl = 2 =
3 = + 4= +
2 ()
-
,
,
. , 0
. 0
1011111. 9 1111101 . .
.
:
8_15.
/* 7- */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
void cifra(int
x,int y,int n) ;
void main()
{
int gd=0,gm, k;
initgraph(&gd,&gm,"");
setcolor(4);
for(k=0;k<10;k++)
cifrat(k+1)*50,30,k)
; getch(}; return;
}
/*-----------------------------*
/
void cifra(int
x,int y,int n)
{
const a=4,b=20,c=a+a+b; //
const dl[]={a,b,a,-a,-b}; //
const d2 [] = {-a,_0,a,a, 0}; //
const dx[]={0,0,0,0,,0,}; // 1
const dy [] = {0, , 2*, 0, 0, , }; //
int j, k; struct {int x;int ;} [6]; //
char q[10][7]={ {1,0,1,1,1,1,1}, // 0
{0,0,0,0,1,0,1},{1,1,1,0,1,1,0}, // 1,2
{1,1,1,0,1,0,1},{0,1,0,1,1,0,1}, // 3,4
{1,1,1,1,0,0,1},{!,1,1,1,0,1,1}, // 5,6
{1,0,0,0,1,0,1},{1,1,1,1,1,1,1}, // 7,8
{1,1,1,1,1,0,1}};
// 9
for(j=0; j<7;
j++) {
if(q[n][j]==0) continue;
xy[0].x=x+dx[j];
xy[0].y=y+dy[j];
for(k=l; k<6;k++)
{//
if(j<3)
{//
xy[k].x=xy[k-l].x+dl[k-l];
xy[k].y=xy[k-l].y+d2[k-l]; }
else
{//
xy[k].x=xy[k-l].x-d2[k-l];
xy[k].y=xy[k-l].y+dl[k-l];
} }
fillpoly(6,(int
*)xy); //
} }
8.16.
,
, .
cifra . 0 ""
,
. ,
bar.
1 ()
gettime.
,
, .
(hl.ml.sl) (h2,m2,s2)
.
, gettime
, .
, .
2 ()
, , ,
.
. , .
.
3 ()
cifra
,
( ).
.
4 ()
,
.
8_16.pas
program time;
uses Crt, Dos,
Graph;
var
gd,gm,k:integer;
hi,ml,si,h2,m2,s2,hs2:word;
procedure cifra(x,y,n:integer);
type
a4=array [0..4]
of integer;
a6=array [1..7]
of byte; const
a=4; b=20; c=a+a+b;
dl:a4=(a,b,a,-a,-b);
d2:a4=(-a,0,a,a,0);
dx:a6=(0,0,0,0,c,0,c);
dy:a6=(0,c,2*c,0,0,c,c);
q:array[0..9]of
byte=
($5F,$5,$76,$75,$2D,$79,$7B,$45,$7F,$7D);
var
xy:array [0..5]
of PointType;
j,k,d:byte;
begin
setfillstyle(0,0);
bar(x-a,y-a,x+(c+a+a),y+2*(c+2*a));
d:=q[n];
for j:=1 to
7 do begin
if ((d) and
($80 shr j))=0 then continue;
[0]. :=x+dx[j];
[0].y:=y+dy[j];
for k:=l to
5 do if j<4 then begin
xy[k].x:=xy[k-l].x+dl[k-l];
xytk].y:=xy[k-l].y+d2[k-l];
end
else
begin
xy[k].x:=xy[k-l].x-d2[k-l];
xy[k].y:=xy[k-l].y+dl[k-l];
end;
setfillstyle(l,14);
fillpoly(6,xy);
end;
end;
begin gd:=0;
initgraph(gd,gm,'');
settextstyle(0,0,4);
setcolor(14);
outtextxy(136,44,':');
{ }
outtextxy(256,44,':');
{ }
setcolor(4);
hi:=100; { }
ml:=100;
sl:=100;
repeat
gettime(h2,m2,s2,hs2); ( 0 }
if hloh2 then
begin { }
k:=h2 div 10;
cifra(50,30,k);
{ }
k:=h2 mod 10;
cifra(100,30,k); { }
hi:=h2; end;
if ml<>m2 then begin { }
k:=m2 div 10; cifra(170,30,k);
k:=m2 mod 10; cifra(220,30,k);
ml:=m2;
end;
if sl<>s2 then begin { }
k:=s2 div 10;
cifra(290,30,k);
k:=s2 mod 10; cifra(340,30,k);
sl:=s2; end;
unit1 KeyPressed;
closegraph;
end.
8.17.
(
. Sprite ", ")
, .
.
, .
, , .
,
, .
0
,
. ,
"" .
, ,
X0R.
" "
" ". ""
43x24
20 8 ,
( ). ""
,
"" -
(2 ). ,
.
1 ()
.
( QBasice
GET, getimage).
X0R .
2 ()
1000 ,
.
3 ()
0
, (
0,6 ) (,), .
(,) (dx.dy)
- .
, dx dy,
. ,
.
4 (QBasic)
, SLEEP
, S0UND f, dt.
0 f , dt (
1 18,2 ). ,
, (, f = 32767 ).
8_17.bas
REM
DEFINT A-Z
DIM TARELKA(300)
=320: Y=240
SCREEN 12
CIRCLE (100,50),20,15,,,.4
PAINT (100,50),4,15
CIRCLE (100,
46); 20,15, 3.3,0, .3
LINE (107,44)-(110,38)
,15
CIRCLE (110,38),2,15
LINE (93,44)-(90,38),15
CIRCLE (90,38),2,15
'
GET (79,36)-(121,59),TARELKA
'
PUT (79,36),TARELKA,X0R
'
F0R I=0 T0 1000
PSET (INT(RND*639)+1,INT(RND*473)+1),INT(RND*15)
+1
NEXT I
D0 WHILE INKEY$=""
PUT (X,Y),T,
X0R :
S0UND 32767,4.92
;' 0.6
PUT (A,Y),TAKELKA,X0R
;'
DX=INT(RND*60)+1:
IF DX M0D 2=1 THEN DX=-DX
X=X+DX :'
IF X>590
THEN X=590 :'
IF X<0 THEN
X=0 :'
DY=INT(RND*40)+1:
IF DY M0D 2=1 THEN DY=-DY
Y=Y+DY :'
IF Y>450
THEN Y=450 :'
IF Y<0 THEN
Y=0 :'
L00P
END
8_17.
/*
*/ #include <graphics.h> #include <stdlib.h>
main() {
int x=320, y=240,
i, dx, dy, gd=0, gm;
char Tarelka[600];
initgraph(&gd,&gm,"");
randomize()
; /* */
setfillstyle(
S0LID_FILL, 4);
fillellipse(100,
50, 20, 8) ;
ellipse(100,
46, 190, 357, 20, 6) ;
line(107, 44,
110, 38);
circle(110,
'38, 2} ;
line(93, 44,
90, 38);
circle(90, 38,
2); /* */
getimage(79,
36, 121, 59, Tarelka);
putimage(79,
36, Tarelka, X0R_PUT); /* */
for ( i=0 ;
i<1000; ++i )
putpixel(random(639),
random(479), random(15)+1) ; while ( !kbhit() ) { /*
*/
putimage(x, , Tarelka, X0R_PUT);
/* */
delay(6000);
/* */
putimage(x, , Tarelka, X0R_PUT);
/* */
/* */
dx = random(60);
if (dx % 2 == 0 ) dx = - dx;
x = x + dx;
if (x > 590) x = 590;
else if (x < 0) x = 0; dy = random(40);
if (dy % 2 == 0 ) dy = - dy; = + dy;
if (y > 450) = 450;
else if (y <
0) = 0; }
getch(); }
8_17.pas
{
" " } program nlo; uses Crt,Graph; var
x, y, i, dx,
dy, gd, gm: integer;
Tarelka:array
[1..600] of byte; begin
x:=320;
y:=240;
gd:=0;
initgraph(gd,gm,'');
randomize; {
}
setfillstyletSolidFill,
4);
fillellipse(100,
50, 20, 8) ;
ellipse(100,
46, 190, 357, 20, 6);
line(107, 44,
110, 38);
circle (110,
38, 2); line(93, 44, 90, 38); circle(90, 38, 2);
{ }
getimage(79, 36, 121, 59, Tarelka);
putimage(79, 36, Tarelka, X0Rput);
{ }
for i:=0 to 1000
do
putpixel(random(639), random(479), random(15}+1);
repeat {
}
putimage(,,Tarelka,X0Rput);
{
}
delay(6000);
{ }
putimage(,,Tarelka,X0Rput);
{ }
(
}
dx:=random(60);
if odd(dx) then
dx:=- dx;
x:=x+dx;
if x>590
then x:=590;
if x<0 then
x:=0;
dy:=random(40);
if odd(dy) then
dy:=- dy;
y:=y+dy;
if y>450
then y:=450;
if y<0 then y:=0;
until KeyPressed;
closegraph;
end.
8_18.
, ,
. 23
, 28 ,
33 .
, ,
:
PH=SIN(2*PI*T/23)
IN=SIN(2*PI*T/28)
EM=SIN(2*PI*T/33)
,
. 0 ""
. 0 , "" ,
, ,
.
.
,
XX .
4.
1 ()
,
:
2 ()
offset . ,
365
. 365
1900 . days,
.
(days [1] = 29), .
3 ()
,
DATE$ (QBasic), getdate (), GetDate
().
4 (QBasic)
. , ,
. , L0CATE
-, .
, .
5 ()
round,
. ,
floor ceil .
6 ()
0
,
Crt, Graph.
, , gotoxy .
8_18.bas
DECLARE SUB
AXIS()
DECLARE SUB
GRAFIK(t!,dfi!,col!)
DECLARE FUNCTI0N
0FFSET!(d!,m!,!)
REM
DATA 30,28,31,30,31,30,31,31,30,31,30,31
DIM SHARED days(11),a
F0R k=0 T0 11:
READ days(k): NEXT k
wwod:
PRINT "
"
PRINT "
, () "
INPUT d,m,
d$=DATE$: ml=VAL(LEFT$(d$,2))
: dl=VAL(MID$(d$, 4, 2))
yl=VAL(RIGHT$(d$,
4))
IF (m<l)0R(m>12)0R(d<l)0R(d>days(m))0R(y<1900)0R(y>yl)
THEN
PRINT "
. "
SLEEP 1: G0T0
wwod END IF
IF (y1 M0D 4)=0 THEN days(2)=29:'
a=days(ml):'
'
dd=0FFSET(l,ml,yl)-0FFSET(d,m,)
SCREEN 12
PRINT " - "
PRINT " - "
PRINT " - "
'
axis
GRAFIK 23,dd
M0D 23,4
GRAFIK 28,dd
M0D 28,2
GRAFIK 33,dd
M0D 33,1
SLEEP END
SUB AXIS
LINE (0,140)-(0,340)
LINE (0,240)-(a*20,240)
F0R j=l T0 a
stroke=5
IF (j M0D 5)=0 THEN stroke=10
LINE (j*20,240+stroke)-(j*20,240-stroke)
IF stroke=10
THEN L0CATE 17,(j*20-4)\8: PRINT j
NEXT j
END SUB
SUB GRAFIK(t,dfi, col)
C0NST twopi=6.2831853*
x=0: y=240-100*SIN(twopi*dfi/t): C0L0R col PSET (x,y)
F0R k=l T0 a
xl=20*k
yl=240-100*SIN(twopi*(k+dfi)/t)
LINE -(xl,yl)
NEXT k
END SUB
FUNCTI0N 0FFSET
(d,m,y)
REM 1.01.1900
d.m.y dd=365: ' 1900 REM
F0R k%=1901 T0
-1 dd=dd+365
REM
IF (k% M0D 4)=0 THEN dd=dd+l NEXT k%
REM
m
F0R k%=l T0 m-1: dd=dd+days(k%): NEXT k%
0FFSET=dd+d:' , m
END FUNCTI0N
8_18.
#include <dos.h>
#include <math.h>
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#define twopi
2*M_PI
void axis(void);
void grafik(int
t, int dfi, int color);
long offset(int
d, int m,int y);
int round(double
x);
char days[]={30,28,31,30,31,30,31,31,30,31,30,31};
int a ;
main () {
int gd=0,gm,
k,d,m, y,ml,yl;
struct date
q;
long dd; wwod:
clrscr () ;
gotoxy(1,1);
printf("
\n");
printf("
, () \n");
scanf("%d
%d %d",&d,&m,&y);
getdate(&q);
ml=q.da_mon;
yl=q.da_year;
if(m<l || m>12 || d<l || d>days[m-l] || y<1900 || y>yl)
{
printf("\nB
. Enter ");
getch();
goto wwod;
}
if(yl % 4 == 0) days[l]=29;
a=days[ml-1];
dd=offset(l,ml,yl)-offset(d,m,y);
initgraph(&gd,
&gm, "");
gotoxy(1,1);
printf (" - ");
gotoxy(1,2);
printf (" - ");
gotoxy(l,3);
printf (" - ");
axis();
grafik(23,dd % 23,RED);
grafik(28,dd % 28,GREEN);
grafik(33,dd % 33,BLUE);
getch();
closegraph ();
}
/*---------------------------------*/
void axis(void)
{ /* */
int j,str; char
qq[5];
line(0,140,0,340);
/* */
line(0,240,a*20,240);
/* */
/* */
for(j=l;j <=
a;j++) {
str=5;
if(j % 5 == 0) str=10;
line(j*20,240+str,j*20,240-str);
if (str == 10)
{ /* 5 */
itoa(j,qq,10);
outtextxy(j*20-5,240+20,qq);
}
}
} /*---------------------------*/
void grafik(int
t,int dfi,int color)
/* */
/* t -
( ) */
/* dfi - =0 */
/* color - */
/***************************/
{
int x,y,x1,y1,k;
=0;
y=round(240-100*sin(twopi*dfi/t));
setcolor(color); moveto(x,);
for(k=l; k<=a; k++)
{
xl=20*k;
yl=round(240-100*sin(twopi*(k+dfi)/t));
lineto(xl,yl);
}
}
/*-------------------------------*/
long offset(int
d,int m,int y)
{
/*
1.01.1900 d.m.y */ int k; long dd;
dd=365;
/* 1900 */
/* */
for(k=1901; k<y; k++)
{
dd += 365;
if(k % 4 == 0) dd++;
/* */
}
dd += d;
/* m */
for(k=0; k<m-l;
k++)
dd += days[k];
/*
, m */ return dd;
}
/*-----------------------------------*/
int round(double
x)
{ /*
*/
if(x>=0) return (int)(x+0.5);
return (int)(x-0.5);
}
8.18.pas
program bioritms;
uses Graph,Dos; label wwod; const
twopi=2*Pi;
days:array [1..12] of byte = (30,28,31,30,31,30,31,31,30,31,30,31);
var
a, k, d,m, y,dl,ml,yl:word;
gd,gm:integer;
dd: longint;
procedure axis;
var
j,stroke:integer; s:string[2];
begin
line(0,140,0,340);
line(0,240,a*20,240);
for j : =1 to
a do begin
stroke:=5; str(j,s);
if j mod 5=0 then stroke:=10;
line(j *20,240+stroke,j*20,240-stroke);
if stroke=10 then outtextxy(j*20-5,240+20, s) ;
end;
end;
procedure grafik(t,dfi,color:integer) ;
var
x,y,x1,y1,k:integer;
begin
x:=0;
y:=round(240-100*sin(twopi*dfi/t));
setcolor(color); moveto(x,y) ;
for k:=l to a
do begin
xl:=20*k;
yl:=round(240-100*sin(twopi*(k+dfi)/t));
lineto(xl,yl);
end;
end;
function offset(d,m,y:integer)rlongint;
{ 1.01.1900 d.m.y}
var
k:integer;
dd:longint;
begin
dd:=365; { 1900 } { }
for k:=1901 to
y-1 do begin
dd:=dd+365;
{ }
if k mod 4=0 then inc(dd);
end;
{ m}
for k:=l to m-1 do inc(dd,days[k]);
sdwig:=dd+d; { , m}
end;
begin
gd:=0; wwod:
writeln('
');
writeln('
, () ');
readln(d,m,);
GetDate(y1,m1,d1,k);
{ }
if (m<l)or(m>12)or(d<l)or(d>days[m])or(y<1900)or(y>yl)
then begin
write(' .
Enter ');
readln;
goto wwod;
end;
if yl mod 4=0 then days[2]:=29; { }
:=days[ml];
{ }
{ }
dd:=offset(I,ml,yl)-offset(d,m,);
initgraph(gd,gm,'');
outtextxy(0,0,' - ');
outtextxy(0,20,' - ');
outtextxy(0, 40,' - ');
axis;
{ }
grafik(23,dd mod 23,RED);
grafik(28,dd mod 28,GREEN);
grafik(33,dd mod 33,BLUE);
readln;
closegraph;
end.
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |