Free Pascal

Pascal program bemutatása,algoritmus készítés,blokkdiagram,buborék rendezés,pascal program

Egy program felépítése Free Pascalban

A Free Pascal programok elején a programfej állhat, mely a Program kulcsszóval kezdődik és a programnév követi, ami egy azonosító. A programok elejéről ez a rész elhagyható. Ez után állhat a Uses kulcsszó, amit a programban alkalmazni kívánt unit-ok felsorolása követ ;-vel lezárva, de ez a rész szintén elmaradhat. 

Ezt követi a program törzse, a blokk. A blokk két részből áll és nem hagyható el. Az első a blokk deklarációs része (elhagyható), melyben a változókat, konstansokat, a programban használt saját típusainkat stb. adhatjuk meg. Ezután következik az utasításrész, melyben a végrehajtható utasításokat írjuk le. Ez a rész a Begin kulcsszóval kezdődik és az End kulcsszóval ér véget. A program végén kötelezően egy . (pont) karakter áll. A . utáni részt a fordítóprogram figyelmen kívül hagyja.
A fentebb felsorolt programozási eszközök szerepét és használatát a következő foglalkozásokban részletesen fogjuk ismertetni. A Pascal nyelvet szabványosították, a szabványok (ISO 7185, szabvány az eredeti Pascal nyelvről, illetve ISO 10206, szabvány a Pascal kibővített változatához) angol nyelven elérhetők.

Karakterkészlet

A Free Pascal 8 bites jelkódolást használ, ami azt jelenti, hogy az ASCII-kódrendszer az adott operációs rendszerhez igazított változatát használhatjuk a programok készítésekor. Például Windows XP alatt az ISO-8859-2 (Latin-2) kódrendszer áll rendelkezésünkre jelkészletként.
A forráskód elkészítésekor mindemellett csak az angol ábécé kis- és nagybetűit, a decimális számjegyeket (0..9) és az _ (aláhúzás) jelet írhatjuk az utasításokba és az azonosítókba. A sztringliterálok (karakterlánc-konstansok) azonban bármilyen ASCII-karaktert (illetve az operációs rendszertől függő jelkódolásban szereplő karaktert) tartalmazhatnak, kivéve a vezérlőkaraktereket [#0..#31] illetve az ’ (aposztróf, #39) karaktert duplázva lehet megjeleníteni. pl. '5 o''clock'

Fontos megjegyezni, hogy a forráskód szövegében a Free Pascal nem tesz különbséget a kis- és nagybetűk között, sztringliterálokban azonban igen!

Lexikai elemek

Lexikális egységnek nevezzük a program azon elemeit, melyeket a fordítóprogram fordításkor felismer. Free Pascalban ezek az alábbiak lehetnek:
• Egy- vagy többkarakteres szimbólumok, pl. a műveleti jelek, mint +, -, *, / stb. Továbbá zárójelek, pl. (, ), [, ] stb. elhatárolójelek, illetve a :=, <=, >= stb. jelsorozatok.
• Szimbolikus nevek. Ezeknek három fajtájuk van:

·         azonosítók.

·         kulcsszavak, pl. Begin, Do stb., ezeket a Free Pascal fenntartja, vagyis a programozó nem definiálhatja őket azonosítóként, jelentésüket a nyelv határozza meg,

·         olyan szavak, melyek a program bizonyos részein kulcsszóként viselkednek, de a programozó használhatja őket azonosítóként, pl. alias, assembler. Az előre definiált típusok (pl. Byte, Boolean) nevei nem kulcsszavak, hanem azonosítók, őket a System unit definiálja, így más unitokban a programozó saját névként újradefiniálhatja őket, ez azonban erősen ellenjavallt, mivel a programokban kavarodást okozhat.

• Címkék: segítségükkel a program egy-egy utasítását tudjuk megjelölni, azért hogy oda egy másik utasítástól átadhassuk a vezérlést. A vezérlésátadás a Goto paranccsal történhet, melynek használatát a szakirodalmak egyöntetűen nem tanácsolják.

• Megjegyzések: speciális karaktersorozattal bevezetett, vagy speciális karaktersorozatok közé zárt szövegrészek, melyeket a fordítóprogram figyelmen kívül hagy. A megjegyzéseket (kommenteket) a programozó saját magának, vagy más programozóknak írja, hogy javítsa a forráskód olvashatóságát. Free Pascalban a // karakterpár után lévő, sor végéig tartó rész, illetve a { és } kapcsos zárójelpár vagy a (* és *) karaktersorozatok közé tett részek a megjegyzések. Ez utóbbi kettő célszerű használata akár egymásba skatulyázott megjegyzéseket is lehetővé tesan
• Literálok, konstansok: a forráskódban megjelenő konkrét adatok. Többféle változatuk létezik: vannak szám- és szöveg adattípusú literálok, szám típuson belül egészek, valósak, stb 

Adattípusok

A programban használt adatokat különböző adattípusokba sorolhatjuk. Egy adat típusa három dolgot határoz meg:

·         az adat milyen értéktartományból vehet fel értékeket,

·         az adat milyen reprezentációban jelenik meg a memóriában,

·         milyen műveletek hajthatók végre az adott típusú adaton.

Típus komponenssel a literálok, a nevesített konstansok és a változók is rendelkeznek.

Egyszerű adattípusok

Egyszerű adattípusok a sorszámozott adattípusok, és a valós típusok Free Pascalban. A sorszámozott típusok jellemzője, hogy megszámlálhatók és értékeik sorba rendezettek, azaz bármely elemhez meghatározható annak rákövetkezője és az azt megelőző elem, kivéve a legkisebb és legnagyobb elemeket, mivel ezek megelőzőjének és rákövetkezőjének meghatározásakor hibát kapunk, de mindenképpen logikai hibát vétünk.

Előre definiált sorszámozott típusok a következők:Integer, Shortint, SmallInt, Longint, Longword, Int64, Byte, Word, Cardinal, QWord, Boolean, ByteBool, WordBool, LongBool, Char.
Felsorolt típusokat a programozó is létrehozhat, ekkor a típus definíciójakor meg kell adnia a típusba tartozó elemeket, vagy az elemet tartományát. 
A fenti felsorolásban többféle logikai típust is találunk, ezek között a különbség a belső adatábrázolásban van.
Valós típusok a következők: Real, Single, Double, Extended, Comp, Currency.
Az elemi adattípusokhoz sorolhatjuk még szövegtípusokat, mint a karakter típus, és a különböző sztring-típusokat, bár ezekről tudnunk kell, hogy a Free Pascal lehetőséget biztosít ezek összetett adattípusú adatként való kezelésére is. 
Léteznek ezen kívül mutató típusok, ezek külön csoportba sorolhatók, de tekinthetjük őket elemi adattípusoknak is.

Összetett adattípusok, adatszerkezetek

A különböző adatszerkezetek implementáláshoz összetett adattípusokat használhatunk Free Pascalban. Az adatszerkezetek vizsgálatakor meg kell állapítanunk, hogy az adott adatszerkezet elemeinek száma a program futása alatt megváltozhat-e, illetve hogy az elemek típusa milyen lehet. Az elemszám tekintetében beszélhetünk statikus és dinamikus adatszerkezetekről, az elemek típusát figyelembe véve pedig homogén és inhomogén adatszerkezetekről. Statikus, homogén adatszerkezet pl. a tömb. Dinamikus, homogén adatszerkezetek a halmaz, fájl stb., míg inhomogén adatszerkezet a rekord.
A Free Pascal összetett adattípusainak nevei: Array, Record, Object, Class, Interface, Set, File.

Megjegyzés: a Free Pascal kezel statikus és dinamikus tömböket is.

Kulcsszavak

 

Lefoglalt kulcsszavak az alábbiak: Absolute, And, Array, Asm, Begin, Case, Const, Constructor, Continue, Destructor, Div, Do, DownTo, Else, End, File, For, Function, Goto, If, Implementation, In, Inherited, Inline, Interface, Label, Mod, Nil, Not, Object, Of, On, Operator, Or, Packed, Procedure, Program, Record, ReIntroduce, Repeat, Self, Set, Shl, Shr, String, Then, To, Type, Unit, Until, Uses, Var, While, With, Xor, As, Class, Except, Exports, Finalization, Finally, Initialization, Is, Library, On, Property, Raise, ThreadVar, Try, Dispose, Exit, False, New és True.
Free Pascalban a kulcsszavakat változtatás nélkül kell alkalmazni.

Algoritmus készités

Feladat: Készítsen egy algoritmust, amely (számlálós ciklussal oldja meg) 30és 100 között adja össze a számokat, és az eredményt írja ki a képernyőre.

 

program első;

var i:byte;

szam:integer;

begin

szam:=0;

for i:=50 to 100 do szam:=szam + i;

writeln(szam);

end. 

Blokkdiagram késítése

 

 

Egy megadott feladatott e képpen kell elkészíteni.

 

 

 

Buborékrendezés

 Ebben a videóban megmutatja a rendezést.

 

 

 

 

Feladatok + Kész pascal program

 

Feladat: Kérjen be egy szögértéket fokban, írasa ki a szinuszát!

 

program szinusz;

var x, r:real;

begin

     Writeln('Kérem a szöget fokban: ');

     readln(x);

     r:=x*pi/180;

     writeln('A szög szinusza: ', sin(r):8:2);

     readln

end.

 

Feladat:Feladat: Kérjem be egy szabályos háromszög oldalát,irasd ki a kerületét

 

 

 
program haromsz;
var a:real;
begin
     WriteLn('Kerem az oldalt!');
     readln(a);
     Writeln(sqrt(3)*a*a/4:6:2);
     readln
end.

 

 

 

 

 

 

 

 

Köszönöm a figyelmet további szép napot .

                          Jó tanulást!

 

                                        



Weblap látogatottság számláló:

Mai: 1
Tegnapi: 2
Heti: 1
Havi: 19
Össz.: 6 464

Látogatottság növelés
Oldal: Hogyan működik a HuPont.hu weboldalszerkesztő és honlap?
Free Pascal - © 2008 - 2024 - pascal.hupont.hu

A HuPont.hu ingyen honlap készítő az Ön számára is használható! A saját honlapok itt: Ingyen honlap!

ÁSZF | Adatvédelmi Nyilatkozat

X

A honlap készítés ára 78 500 helyett MOST 0 (nulla) Ft! Tovább »