Pascal

Allikas: Kuutõrvaja
Redaktsioon seisuga 12. aprill 2010, kell 16:52 kasutajalt Jj (arutelu | kaastöö) (Programmeerimine Rubys)

Sissejuhatus

Pascal on programeerimise õppimisele orienteeritud keel


Pascali paigaldamine

TODO

Ruby dokumentatsioon

TODO

Programmeerimine Pascalis

TODO

Pascali skript

Pascali skript esineb tekstifaili kujul, nt selline skript kirjutab 'Hello, world'

uses crt;

begin
 write('Hello, world');
end

Pascalis on ekraanile teksti väljastamiseks kaks käsku: write mis lihtsalt teksti ekraanile ning writeln mis teeb peale teksti kirjutamist ka reavahetuse

Iga käsu lõpus peab asetsema märk ;

Soovides kirjutada teatud konsooli punkti märgi saab kasutada enne write või writeln käsku

gotoXY(10,20);

Kommentaarid kirjutatakse pascalis märkide { } vahele

Ekraani puhastamieks on käsk

clrscr;

If-else jms

if muutuja<25 then
begin
....
end;

või

 if b=c then b:=0;

Andmestruktuurid

TODO

Sõne

Muutujate defineerimises on Pascal üsna range, nõutav on, et need oleksid defineeritud enne programmi põhiosa algust var all

näiteks

var

t2ht: char;
s2na : string;
arv: integer;

Väärtuste omistamine toimub programmi põhiosas ehk begin' ja end vahel

näiteks

 arv:=1;

Väärtuse väljastamine

writeln(arv);

Määrata saab ka eelnevalt stringi pikkuse nt

linn : String[15];

Ehk üle 15 märgi pikkuseid stringe kasutada ei saa

Massiiv

Massiiv (ingl. k. list) on järjestatud hulk

Massiiv võib olla nii jada kui tabeli kujul, näiteks

jada : array[1..10] of integer;

Moodustab jada nimega jada kus saab hoida numbreid

matrix:array[1..100,1..100] of ingeger;

Moodustab tabeli nimega matrix mis võib sisaldada infot numbrilisel kujul

Väärtuste andmine toimib kujul

matrix[9,9]:=1; matrix[10,9]:=1;

Massiivi elemendi poole pöördumine toimub selliselt

write(matrix[1,2]);

Seejuures võib numbrite asemel kasutada ka muutujaid

Võimalik on juba programmi luues eeldefineerida VAR all enne programmi algust mingeid muutujaid, nt kujul

const lines=24;
      s: array[0..lines] of string=
      (
       'a','b','c','d','e','f','k','l','m','n','o','p','r','s','t','u','v',
       'i','j','h','z','x','g','q',);

Millega tekitame 24 märgi pikkuse jada mis sisaldab tähestiku tähti va täpitähed

Võimalik on samuti enne VAR'i defineerida uusi recordeid näiteks

type
  a = record
    nimi : String[50];
    vanus : integer;
    sugu : Char;
   end;

Kasutades nüüd seda uut loodud recordit näiteks jada loomisel

inimesed : array[1..10] of a;

Saab iga jada pesa hoida korraga kolme tüüpi infot, näiteks

inimesed[i].nimi:="Priit";

Tehted

j[b]:=j[b]+1 ;
b:=b+1; a:=a+1; c:=c+1;


Meetodid

Meetodid (klassid?) võimaldavad programmi teksti loogiliselt organiseerida, nt eraldada osa korduvaks kasutamiseks.

procedure ekraanile;
begin
  gotoXY(1,1);
  writeln("tere");
end;

Väljakutsumine toimub

ekraanile;

Konsoolilt sisendi lugemine

write('Sisesta esimene arv: ');
readln(arv1);

Jadatöötlus

TODO

Stringitöötlus

password:=password+muutuja;

Random funktsioon

Enne seda tuleb anna programmi alguses käsk

randomize;

Ning seejärel võib kasutada erinevatele muutujatele väärtuste omistamisel või ekraanile väljatamisel käsku

random(25)

Mis tähendab, et funktsioon võtab suvalise numbri vahemikust 0..25

Näiteks

write(s[random(75)]);


Värvid

Teksti värvi saab muuta käsuga

textcolor(7);

Teksti taustavärvimiseks tuleb anda käsk

textbackground(7);

Number sümboliseerib siis vastavat värvikoodi

Värvide koodid

  Blue          1
  Green         2
  Cyan          3
  Red           4
  Magenta       5
  Brown         6
  LightGray     7
  DarkGray      8
  LightBlue     9
  LightGreen   10
  LightCyan    11
  LightRed     12
  LightMagenta 13
  Yellow       14
  White        15

Failidega tegelemine

 Assign(F, 'fail.txt');
 Rewrite(F);
 writeln(F, arv1);

Tsüklid

Näiteks lõputu kordus mis kestab senikaua kuni vajutatakse mõnd klahvi

begin
  repeat
    write('1')
     delay(100);
  until keypressed;
end.

DOSi graafika

kasutamiseks peab olemas olema Egavga.bgi ja Graph.tpu

uses graph;
var
 gd,gm : integer;

procedure graafika;
begin
 gd:=Detect; InitGraph(gd,gm,);
end;

begin
 (igasugu käsud mis joonistavad graafilisi objekte)
 ...
end.