home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
No Fragments Archive 10: Diskmags
/
nf_archive_10.iso
/
MAGS
/
COMA
/
COMA_4H.MSA
/
DOCUMENT_17.DAT
< prev
next >
Wrap
Text File
|
1989-04-05
|
4KB
|
177 lines
TURBO PASCAL PROGRAMOZÅS
4. rész
Háló "Paszkálosok"!
ùjra itt van a COMA legrégibb rovata
a Pascal-nyelv rajongóinak!
Ahogy ígértem, az elõzõ számban, a
Turbo Pascal 6.0-ás verzió részletes
ismertetése után, most ismét
programozni fogunk! îme!
Most elég különbözõ programokat
választottam Nektek, melyeket érdemes
lesz kipróbálni (akár a PC-DITTO-n
is!).
Nézzük a legelsõ progit:
Kezdjünk egy kis számolással! Ha a
bekért real típusú szám pozitív, akkor
az eredmény legyen: 1 (sign(x)=1), ha a
szám negatív, akkor sign(x)=-1 és ha
pedig nulla, akkor a sign(x)=0:
program signum_függvény;
var a: real;
begin
write('A szám: ');
readln(a);
if a=0 then writeln('sign(x)=0')
else writeln('sign(x)=',abs(a)/a);
end.
Most nézzük meg a Pascalban lévõ
többirányú elágaztatást, vagyis a case
utasítást. Itt egy példa:
(a program lefutása egyértelmû)
program osztályzatok;
var jegy: integer;
begin
write('Kérem az érdemjegyet: ');
readln(jegy);
writeln('A vizsga eredménye: ');
case jegy of
1: writeln(' elégtelen');
2: writeln(' elégséges');
3: writeln(' közepes');
4: writeln(' jó');
5: writeln(' jeles');
else writeln('Hibás érdemjegy!);
end;
end.
Lássunk egy string-es példát is, a
delete, az insert és a length függvény
felhasználásával:
program stringek;
uses crt;
var s1,s2: string;
k:integer;
begin
clrscr;
s1:='Ez egy program';
writeln(s1);
insert(' rövid',s1,7);
writeln('Az insert után: ',s1);
s2:=', de jó!';
k:=length(s1);
insert(s2,s1,k+1);
writeln('A végére rakva: ',s1);
end;
A program eredménye:
Ez egy program
Az insert után: Ez egy rövid program
A végére rakva: Ez egy rövid program,
de jó!
Csináljunk most egy olyan programot,
amely betölt, mondjuk egy 5 Kbyte-os
pufferbe egy szöveg file-t, és a
tartalmát kiírja a képernyõre:
program szövegfile
var tf:text;
fn,sor:string;
puffer:array[1..5120] of char;
begin
write('Kérem a file nevét: ');
readln(fn);
assign(tf,fn);
settextbuf(tf,puffer);
reset(tf);
if ioresult<>0 then
begin
writeln('A(z) ',fn,' nevû file
nem olvasható!');
exit;
end;
while not eof(tf) do
begin
readln(tf,sor);
writeln(sor);
end;
close(tf);
end.
Végezetül, kukkantsunk bele egy kicsit
a Pascal grafikus üzemmódjába is. A
következõ program (akármilyen
monitorunk is van PC-n, az emulátor CGA
vagy Hercules) a legnagyobb felbontást
válsztva, két színnel rajzolja meg a
keretet és írja ki a szöveget a
képernyõ közepére:
program graphics;
uses graph;
var graphdriver,graphmode,errorcode:
integer;
begin
graphdriver:=detect;
initgraph(graphdriver,graphmode,'');
errorcode:=graphresult;
if errorcode<>grok then
begin
writeln('Grafikus hiba: ',
grapherrormsg(errorcode));
writeln('Program exit!');
halt(1);
end;
rectangle(0,0,getmaxx,getmaxy);
settextjustify(centertext,
centertext);
settextstyle(defaultfont,horizdir,3);
outtextxy(getmaxx div 2, getmaxy div
2,'Grafikus feladat ');
Readln;
closegraph;
end.
Leközlök még egy kis listát, a PC-s
Turbo Pascal által támogatott vezérlõk
felbontásával és a maximálisan
használható színeik számával:
Hercules 720*348 2
CGA 640*200 2
320*200 4
EGA 640*350 16
VGA 640*480 16
IBM8514 640*480 256
PC3270 720*350 2
Mindezek után, csak annyit mondhatok,
hogy találkozunk legközelebb, amikor is
nagyon érdekes programlistákat fogunk
megnézni!!!
Viszlát két hónap múlva!
Folyt. köv.
-by Greg