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 >
Text File  |  1989-04-05  |  4KB  |  177 lines

  1. TURBO PASCAL PROGRAMOZÅS
  2.  
  3.  
  4. 4. rész
  5.  
  6. Háló "Paszkálosok"!
  7.  
  8. ùjra itt van a COMA legrégibb rovata
  9. a Pascal-nyelv rajongóinak!
  10. Ahogy ígértem, az elõzõ számban, a
  11. Turbo Pascal 6.0-ás verzió részletes
  12. ismertetése után, most ismét
  13. programozni fogunk! îme!
  14.  
  15. Most elég különbözõ programokat
  16. választottam Nektek, melyeket érdemes
  17. lesz kipróbálni (akár a PC-DITTO-n
  18. is!).
  19.  
  20. Nézzük a legelsõ progit:
  21.  
  22. Kezdjünk egy kis számolással! Ha a
  23. bekért real típusú szám pozitív, akkor
  24. az eredmény legyen: 1 (sign(x)=1), ha a
  25. szám negatív, akkor sign(x)=-1 és ha
  26. pedig nulla, akkor a sign(x)=0:
  27.  
  28. program signum_függvény;
  29. var a: real;
  30. begin
  31.   write('A szám: ');
  32.   readln(a);
  33.   if a=0 then writeln('sign(x)=0')
  34.     else writeln('sign(x)=',abs(a)/a);
  35. end.
  36.  
  37.  
  38. Most nézzük meg a Pascalban lévõ
  39. többirányú elágaztatást, vagyis a case
  40. utasítást. Itt egy példa:
  41. (a program lefutása egyértelmû)
  42.  
  43. program osztályzatok;
  44. var jegy: integer;
  45. begin
  46.   write('Kérem az érdemjegyet: ');
  47.   readln(jegy);
  48.   writeln('A vizsga eredménye: ');
  49.     case jegy of
  50.         1: writeln(' elégtelen');
  51.         2: writeln(' elégséges');
  52.         3: writeln(' közepes');
  53.         4: writeln(' jó');
  54.         5: writeln(' jeles');
  55.       else writeln('Hibás érdemjegy!);
  56.     end;
  57. end.
  58.  
  59.  
  60. Lássunk egy string-es példát is, a
  61. delete, az insert és a length függvény
  62. felhasználásával:
  63.  
  64. program stringek;
  65. uses crt;
  66. var s1,s2: string;
  67.     k:integer;
  68. begin
  69.   clrscr;
  70.   s1:='Ez egy program';
  71.   writeln(s1);
  72.   insert(' rövid',s1,7);
  73.   writeln('Az insert után: ',s1);
  74.   s2:=', de jó!';
  75.   k:=length(s1);
  76.   insert(s2,s1,k+1);
  77.   writeln('A végére rakva: ',s1);
  78. end;
  79.  
  80. A program eredménye:
  81.  
  82. Ez egy program
  83. Az insert után: Ez egy rövid program
  84. A végére rakva: Ez egy rövid program,
  85.                 de jó!
  86.  
  87.  
  88. Csináljunk most egy olyan programot,
  89. amely betölt, mondjuk egy 5 Kbyte-os
  90. pufferbe egy szöveg file-t, és a
  91. tartalmát kiírja a képernyõre:
  92.  
  93. program szövegfile  
  94. var tf:text;
  95.     fn,sor:string;
  96.     puffer:array[1..5120] of char;
  97. begin
  98.   write('Kérem a file nevét: ');
  99.   readln(fn);
  100.   assign(tf,fn);
  101.   settextbuf(tf,puffer);
  102.   reset(tf);
  103.   if ioresult<>0 then
  104.     begin
  105.       writeln('A(z) ',fn,' nevû file
  106.              nem olvasható!'); 
  107.       exit;
  108.     end;
  109.    while not eof(tf) do
  110.      begin
  111.        readln(tf,sor);
  112.        writeln(sor);
  113.      end;
  114.    close(tf);
  115. end.
  116.  
  117.  
  118. Végezetül, kukkantsunk bele egy kicsit
  119. a Pascal grafikus üzemmódjába is. A
  120. következõ program (akármilyen
  121. monitorunk is van PC-n, az emulátor CGA
  122. vagy Hercules) a legnagyobb felbontást
  123. válsztva, két színnel rajzolja meg a
  124. keretet és írja ki a szöveget a
  125. képernyõ közepére:
  126.  
  127. program graphics;
  128. uses graph;
  129. var graphdriver,graphmode,errorcode:
  130.     integer;
  131. begin
  132.   graphdriver:=detect;
  133.   initgraph(graphdriver,graphmode,'');
  134.   errorcode:=graphresult;
  135.   if errorcode<>grok then
  136.     begin
  137.       writeln('Grafikus hiba: ',
  138.              grapherrormsg(errorcode));
  139.       writeln('Program exit!');
  140.       halt(1);
  141.     end;
  142.   rectangle(0,0,getmaxx,getmaxy);
  143.   settextjustify(centertext,
  144.                 centertext);
  145.   settextstyle(defaultfont,horizdir,3);
  146.   outtextxy(getmaxx div 2, getmaxy div
  147.            2,'Grafikus feladat ');
  148.   Readln;
  149.   closegraph;
  150. end. 
  151.  
  152.  
  153. Leközlök még egy kis listát, a PC-s
  154. Turbo Pascal által támogatott vezérlõk
  155. felbontásával és a maximálisan
  156. használható színeik számával:
  157.  
  158. Hercules           720*348          2
  159. CGA                640*200          2
  160.                    320*200          4
  161. EGA                640*350         16
  162. VGA                640*480         16
  163. IBM8514            640*480        256
  164. PC3270             720*350          2
  165.  
  166.  
  167. Mindezek után, csak annyit mondhatok,
  168. hogy találkozunk legközelebb, amikor is
  169. nagyon érdekes programlistákat fogunk
  170. megnézni!!!
  171.  
  172. Viszlát két hónap múlva!
  173.  
  174. Folyt. köv.
  175.  
  176. -by Greg
  177.