Pascal (programozási nyelv)

programozáai nyelv From Wikipedia, the free encyclopedia

A Pascal az általános célú programozási nyelvek közé tartozik. Sok helyen még mindig ezen tanítják a programozást, hiszen a szintaxisa egyszerű, könnyen érthető, ennek ellenére hatékony eszközt ad használója kezébe. Legelterjedtebb megvalósítása a Borland cég által készített Turbo Pascal, melynek segítségével DOS-os alkalmazásokat készíthetünk, amelyek bármely verziószámú Windowson is képesek futni.

Gyors adatok
Pascal
Paradigmaimperatív, strukturált
Jellemző kiterjesztés
  • pp
  • p
  • pas
Megjelent1970
TervezőNiklaus Wirth
FejlesztőNiklaus Wirth
Típusosságstatikus, erősen típusos, típusbiztos
DialektusokBorland, Turbo Pascal, UCSD Pascal
MegvalósításokCDC 6000, ICL 1900, Pascal-P, PDP-11, PDP-10, IBM System/370, HP, GNU
Hatással volt ráALGOL W
Befolyásolt nyelvekAda, Component Pascal, Java,[1][2][3] Modula, Modula-2, Oberon, Oberon-2, Object Pascal, Oxygene
Bezárás

Az eredeti specifikáció szerint minden program egyetlen forrásfájlból áll, melynek kiterjesztése .pas. A konkrét implementációk egyedi bővítésekkel tették lehetővé a moduláris felépítést, például a Turbo Pascal és az Object Pascal unitoknak nevezi azokat a külön fájlokban található modulokat, amik nem önálló programok. Ezek a fejezetek tartalmazzák a programozó által felhasználható kiegészítő eljárásokat és függvényeket, de a programozó is készíthet ilyet.

Később megszületett a Borland Delphi, amely az objektumorientált Pascalt párosította a natív Windows programok készítésének lehetőségével. Ennek egy linuxos változata a mára elhanyagolt Kylix.

Az aktívan fejlesztett Free Pascal számos géptípuson (Intel x86, Amd64/x86-64, PowerPC, PowerPC64, SPARC, ARM) és operációs rendszeren (Linux, FreeBSD, Mac OS X/Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware és MorphOS) érhető el. Az erre épülő Lazarus integrált fejlesztői környezettel a mai igényeknek is megfelelő, grafikus interfésszel rendelkező szoftverek készíthetők.

Rövid történet

A nyelvet 1970-ben Niklaus Wirth professzor fejlesztette ki, aki emellett a Modula-2 és az Oberon atyja is. A Pascal maga az ALGOL programozási nyelven alapul, és a francia matematikus-filozófus Blaise Pascal tiszteletére nevezték el. Ez a nyelv az egyik alapja az Ada programozási nyelvnek, ami még ma is az egyik legbiztonságosabb nyelv a világon. Az objektumorientált Object Pascal nyelvet használja a Delphi fejlesztőrendszer.

Szintaxis

A nyelv azonosítókból és kulcsszavakból, valamint operátorokból és egyéb szimbólumokból épül fel. A kulcsszavakat a fordító fenntartja magának, ezért ezeket nem használhatjuk fel saját célra, tehát ezek használata változónévként nem megengedett. Az azonosítók állhatnak betűkből, számokból és aláhúzásjelből (_), de nem kezdődhetnek számmal, illetve nem tartalmazhatnak speciális karaktereket(Ł, ß, & stb.), és a fordító típustól függően bizonyos hossz fölött az azonosítókat nem különbözteti meg. A program kulcsszó opcionális, csak arra szolgál, hogy jobban dokumentálhassuk a kódot. A megjegyzéseket a programban bárhol elhelyezhetjük, kezdetük jelölésére a { és a (*, zárásukra pedig a } illetve a *) jelek szolgálnak. Ezek mellett használhatjuk a // jelet is, mely csak az adott sorban jelöl megjegyzést. A nyelv sokféle operátort tartalmaz: +, –, *, /, div, mod, and, or, not, xor, in stb. Használhatunk eljárásokat, függvényeket, az újabb fordítók pedig már az objektumorientált programozási megközelítést is támogatják. A forráskódot modulokba, ún. unitokba szervezhetjük, amelyekben az adatrejtést is megvalósíthatjuk, az interface és az implementation kulcsszavak segítségével.

Egy egyszerű Pascal program felépítése:

 {programfej}
   program Hello_World;
 {használt unitok megadása}
   uses crt,dos;
 {deklarációs rész: típusok, konstansok, változók}
   const
    Konstans = 42;
   type
    szabadnap = (szombat,vasarnap);
   var
    Valtozo: integer;
    nap: szabadnap;
 {eljárások és függvények}
   procedure Eljaras(Parameter: boolean);
   begin
   end;
 
   function Fuggveny(Parameter: real): integer;
   begin
     Fuggveny := round(Parameter)
   end;
 
 {programtörzs}
   begin
     Eljaras(true);
     Valtozo := Fuggveny(3.14);
     writeln(Valtozo);
   end.

A Hello World! program:

Program HelloWorld;
uses crt;
Begin
  Clrscr; {képernyő törlése}
  Write('Hello Világ!'); {szöveg kiíratása}
  Readln; {várakozás enter ütésére, hogy ne záruljon be azonnal a program}
End.

Az idő kiírása

{{program definíció}}
program hello;
{{használt unitok}}
uses crt,dos;
{{változók}}
var a,b,c,d:word;
begin {{a program feje}}
clrscr;
gettime(a,b,c,d);
writeln('-----------------------------------------');
writeln('A pontos ido: ',a,':',b);
writeln('-----------------------------------------');
writeln('Hello, vilag!');
end.

A nyelv felépítése

A fenti forráskódban jól elkülöníthetők a parancsok. Egy parancs argumentumait zárójelek közé írjuk. A parancsot pontosvessző zárja le, így tudja a fordító elkülöníteni egymástól azokat.

A forráskód a program kulcsszóval kezdődik, mely röviden (1-2 szó) leírhatja, hogy maga a program miről szól. Ez az azonosító opcionális, mivel csak a programozónak információ, nem kötelező minden forráskódot ezzel kezdeni.

A uses kulcsszó után következik azoknak a unitoknak (fejezeteknek) a felsorolása, melyből a programozó a parancsokat válogatja programjához. A Pascalban lehetőség nyílik saját fejezetek készítésére. Az alapértelmezett unitok Turbo Pascalban:

  • System: Alapvető parancsok
  • Dos: DOS eljárások gyűjteménye
  • Crt: A szöveges képernyő kezelése
  • Strings: C-stílusú karakterlánc (null karakter végű string) kezelő rutinok
  • Printer: Nyomtató kezelése
  • Graph: Grafikai eljárások
  • Overlay: Átlapolásos memóriahasználat
  • Turbo3,Graph3: Kompatibilitási okokból (Turbo Pascal 3.0) megmaradt parancsok

A deklarációs részben állandókat, változókat és saját típusokat készíthetünk. Saját típusokat a type, állandókat a const, változókat var kulcsszó után lehet deklarálni. Egy konstansnak a nevét és az értékét egyenlőség jellel választjuk el. A változó nevét és típusát kettősponttal különítjük el. A változók típusai lehetnek:

Egész szám típusok:

  • byte: 0 és 255 közötti egész szám (1 bájt)
  • shortint: -128 és 127 közötti egész szám (1 bájt)
  • word: 0 és 65535 közötti egész szám (2 bájt)
  • integer: -32768 és 32767 közötti egész szám (2 bájt)
  • longint: -2147483648 és 2147483647 közötti egész szám (4 bájt)

Valós típusok:

  • single: 4 byte méretű lebegőpontos szám (csak 8087)
  • real: 6 byte méretű lebegőpontos szám
  • double: 8 byte méretű lebegőpontos szám (csak 8087)
  • extended: 10 byte méretű lebegőpontos szám (csak 8087)
  • comp: 8 byte méretű csak egész számokat ábrázolni képes típus (csak 8087)

Egyéb típusok:

  • Char: Karakter
  • Boolean: Logikai változók – igaz/hamis (true/false) értéke lehet
  • String: Karaktersor (maximum 255 karakter)

Később eljárásokat és függvényeket hozhatunk létre, melyeket a főprogramban használhatunk. A főprogram kezdetét és végét a begin és end. kulcsszó jelöli. Hasonló módon történik az eljárások és függvények behatárolása, azzal a különbséggel, hogy ott a programrész végét end; zárja.

Jegyzetek

További információk

Wikiwand - on

Seamless Wikipedia browsing. On steroids.