Shortcut to the NerveCenter InfoTetel3

| RecentChanges | FrontPage |
3. Tétel (Mivel nem nagyon olvasható, felrakom .doc-ban is: http://nyf.beckground.hu/incoming/prog-szigorlat/T%C9TEL3.doc és ékezetek nélkül is: http://nyf.beckground.hu/incoming/prog-szigorlat/tetel3.doc ) Pascal adattípusok, deklarálásuk, ábrázolásuk, konstansok, mûveletek, konverziók, kompatibilitás; a típusokhoz kapcsolható fontosabb függvények, eljárások

1. Egyszerû típusok értékek

Deklarálásuk: Var Változonev: Tipus ;

  - Egészek:
        Byte                   0..255 				1 byte
        Word                   0..65,535				2 byte
        ShortInt?            -128..127				1 byte
        Integer          -32,768..32,767				2 byte
        Longint   -2,147,483,648..2,147,483,647			4 byte

		Számkonstansok pl.:8 ; const Valtozonev = 5;
					

           Mûveletek egész típusokkal(az eredmény is egész típusú):
+,- (elõjel) *, +, - (a megszokott szorzás, összeadás, kivonás) div egész osztás, pl. 13 div 3 = 4 mod maradékképzés, pl. 13 mod 3 = 1

	Függvények, eljárások egész típusokkal:
Inc(I, N) I értékét növeli N-el (inkrementálja), N elhagyható, abban az esetben 1-gyel növel. Dec(I, N) I értékét csökkenti N-el (dekrementálja), N elhagyható, abban az esetben 1-gyel csökkent. Randomize Paraméter nélküli eljárás, olyan programban, ahol véletlen számokat állítunk elõ a Random függvénnyel, általában egyszer meg kell hívnunk. Inicializálja (elõkészíti) a véletlen szám generátort. Abs(I) Abszolút érték függvény. Sqr(I) A paraméterének a négyzetét állítja elõ. Megegyezik I * I-vel, ha a paramétere egy hosszabb kifejezés, akkor célszerû használni. Trunc(R) Úgynevezett konverziós függvény, valós paraméterét egész típusúvá konvertálja a törtrész levágásával.
				X := 4.56;
				A := Trunc(X)    {A értéke 4 lesz, típusa egész}
Round(R) Úgynevezett konverziós függvény, valós paraméterét egész típusúvá konvertálja kerekítéssel.
				X := 4.56;
				A := Round(X)    {A értéke 5 lesz, típusa egész}
Random(I) Egy véletlen egész számot állít elõ a 0..I-1 intervallumban. (Ld. még Randomize és valós típusok függvényei.)

- Logikai:

   		   Boolean         True,False				1 byte
			0 vagy 1 értéket vehet fel
		Konstansok: True,False
		Mûveletek logikai típusokkal: not, and, or, xor (fontos a zárójelezés)
		Függvények:		
Odd(I) Párosság vizsgálat. Visszatérési értéke igaz, ha I páratlan.

	- Karakter:
        Char            bármely ASCII karakter   Pl: 'A'	1 byte

		Konstansok: karakteres konstansok ’A’ vagy  #65
		Mûveletek: nincs olyan mûvelet amelynek az eredménye is Char típusú
		Relácíós mûveletek lehetnek, de az eredmény logikai típusú lesz.
		Függvények:  
Ord(K) A karakter ASCII kódját adja vissza. Chr(I) Az Ord függvény inverzének tekinthetõ, az ASCII kódnak megfelelõ
  karaktert adja vissza.
			UpCase?(K)   Ha a paramétere egy kisbetû, akkor a nagybetûs változatával tér vissza, 
        egyébként nincs hatása.
			Pred(K)		A K-t megelõzõ karakterrel tér vissza.
Succ(K) A K-t követõ karakterrel tér vissza.

- Felsorolásos vagy intervallum típus:

	A felsorolásban szereplô elemek 	Pl.:  T=(ôsz,tél)
		A felsorolt típus értékei azonosítók lehetnek, melyeket a deklaráláskor fel kell sorolnunk. Például:
		var Tantargy: (Magyar, Tori, Matek, Tesi);
		A változó (Tantárgy) által felvehetõ értékeket zárójelben, vesszõvel elválasztva adjuk meg. Az 
		értékekhez a rendszer egy sorszámot rendel, 0-tól kezdõdõen. Az intervallum típust egy már létezõ típus 
		intervallumaként, a felsõ és alsó határával adhatjuk meg. Például:
		var Szamjegy: '0'.. '9';
    		Honap: 1..12;
Lényeges, hogy az intervallum határai közé pontosan két pontot írjunk.

- Valós:

        Real             2.9E-39..1.7E38				6 byte
        Single            1.5E45..3.4E38
        Double          5.0E-324..1.7E308
        Extended       3.4E-4932..1.1E4932
        Comp         -2(63-on)+1..2(63-on)-1
        (Lebegôpontos ábrázolás, Real "felett" aritmetikai társprocesszor
         szükséges, illetve annak emulálása. Lásd $N és $E direktivákat.)

		Konstansok:   Tizedespontot kell alkalmaznunk (nem vesszõt), nagy, illetve kis abszolút 
				értékû számok esetén használhatjuk a normál alakú formát.
		Mûveletek:  	Az eredmény is valós típusú: +,- (elõjel), *, /, +, - 
Az eredmény logikai típusú: <, >,E, >=, =, <> (Vigyázzunk, nincs div és mod!)
		Függvények, eljárások: Egész típusoknál leírtak(Abs,Sqr,Round,
Trunc,Str,Val,Randomize) +
				Sqrt(R)		Egy szám négyzetgyökét adja vissza.
				Sin(R), Cos(R)	Egy radiánban megadott szög szinuszát, illetve koszinuszát 
adja vissza.
				ArcTan?(R)	Arkusztangens függvény, visszatérési értéke radiánban 
értendõ.
				Pi		Paraméter nélküli függvény, a pi értékét adja vissza.
Exp(R) Exponenciális függvény, eR &#8211; ent adja vissza. (e &#61504; 2,71) Ln(R) Paraméterének a természetes alapú logaritmusát adja vissza. Int(R) A paraméterének az egész részét adja vissza, de valós típusúként kezelve. Frac(R) A paraméterének a tört részét adja vissza. Random Már találkoztunk vele az egész típusoknál, ha paraméter nélkül hívjuk meg, akkor egy valós véletlen számot állít elõ a 0..1 intervallumban

2.Struktúrált típusok

- String:

        String[szám]    Legfeljebb szám hosszúságú ASCII karakter 1-255 byte
	Deklarálása: 	var 
						S1: string;		0-255 byte
      				S2: string[20];       0-20 byte
	Konstansok: Write('String konstans') ;
				   S1 := '';
	Mûveletek: Konkatenáció jele: + Karakterláncok összefûzése
				   Relációs mûveletek, melyek logikai értéket adnak
  Függvények: 	Length	Egy karakterlánc hosszával tér vissza.
Pos Egy rész karakterláncot keres egy karakterláncban. Copy A karakterlánc egy részével tér vissza.
				Concat	Stringek sorozatát egymáshoz fûzi, konkatenálja. (Kiváltható az 
					egyszerûbb + mûvelettel.)
	Eljárások:	Str	Egy numerikus értéket karakterlánccá konvertál. 
					Val	Egy karakterláncot numerikus értéké konvertál. Az Str fordítottjának 
						tekinthetõ.
					Delete	A karakterlánc egy részét kitörli. 
					Insert	Egy karakterláncot beilleszt egy másikba.

- Tömb:
        Tomb : Array[index1,index2...] of alaptípus
        (index csak sorszámozott típusú, az indexszámtól függ a dimenzió)
A tömb adott számú, azonos típusú elemet tartalmazó összetett(strukturált) adattípus. A tömb elemeinek a sorrendje kötött, minden elemnek van egy indexe, az elemekhez közvetlenül hozzáférhetünk, egy tömbelemre az indexével hivatkozhatunk.
	Mûveletek: Két azonos típusú tömbre az értékadás és az egyenlõség 
				  vizsgálat megengedett.

 - Rekord: Pl.:	type
						Nev = (Teglalap, Negyzet, Kor)
						Sikidom = record
						X,Y: real ;
						Case S: Nev of
							Teglalap: (Magassag, Szelesseg: word) ;
							Negyzet:  (Oldal: byte) ;
							Kor: 	    (Sugar: real) ;
						End ;
A rekord olyan struktúrált típus, mely adott számú és típusú komponensbõl épül fel. Ezeket a komponenseket mezõnek nevezzü, s egy rekordon belül a mezõk különbözõ típusúak lehetnek, sõt egy rekordban több, különbözõ típus szokott szerepelni.

- Állomány:

        Típusos       -->    File of alaptípus  Pl : File of 
                             Integer;
        (Komponensei egyforma méret&ucirc;ek, az alaptípus nem lehet 
         állomány ill. objektum típus)

		Assign : file változó hozzárendelése a fizikai file-hoz
		Reset, Rewrite: file megnyitása
		Close : lezárás 
		
        Típus nélküli -->   File   Tipikus         --> Pl : 
                                   BlockRead?/Write  			

        Szöveges      -->   Text   Felhasználásuk  --> Pl : 
                                   Listafile
        (Csak szekvenciális elérés, soros szervezés)
    - Eljárás
        Procedure(formális paraméterlista)
        Function(formális paraméterlista): típusazonosító
        (paraméterlista elhagyható)
(Objektum)

- Mutató típusok

    - Típusos:    4 byte-os memóriacímet tartalmaz
        Mut = ^alaptípus azonosítója
    - Típus nélküli:    4 byte-os memóriacímet tartalmaz
        Pointer
    (Mutatók felhasználása pl. Listaszerkezetnél)
 EditPageRegexSearch: