A változók valódi típusa a Pascalban. Pascal programozási nyelv kezdőknek: alapfogalmak. Feltételes programozási nyelv utasítás

A változó nem más, mint egy név, amelyet egy tárterületnek adnak, amelyet a programjaink kezelhetnek. A Pascalban minden változónak van egy meghatározott típusa, amely meghatározza a változó memóriájának méretét és helyét; az ebben a memóriában tárolható értékek tartománya; és számos változóra alkalmazható művelet.

Azonban számos más kapcsolódó típus is létezik, amelyeknek ugyanaz az értéke, de más a belső reprezentációja és értéktartománya. A következő 1. táblázat felsorolja a számok ábrázolására használt sorszámú adattípusokat. 1. táblázat: Szabványos adattípusok számokhoz.

Feltételes programozási nyelv operátor

Amint láthatja, ezek a típusok a számok különböző reprezentációinak felelnek meg, az érték kifejezésére használt bitek számától és az előjelbitek jelenlététől vagy hiányától függően. Az előjeles értékek lehetnek pozitívak vagy negatívak, de kisebb értéktartományuk van, mert magának az értéknek egy kisebb bitje van.

A változó neve betűkből, számokból és aláhúzásjelből állhat. Betűvel vagy aláhúzással kell kezdődnie. Pascal nem érzékeny rá Regisztráció, tehát a kis- és nagybetűk itt ugyanazt jelentik. Az előző fejezetben ismertetett alaptípusok alapján a következő alapváltozótípusok lesznek:

Ezt az új típust teljes mértékben támogatja néhány sorszámú rutin, numerikus rutin és karakterlánc-konverziós rutin. A nem logikai logikai értékeket ritkán használják. A betűk, számok vagy szimbólumok megadásakor általában jobb szimbolikus jelölést használni. Ha speciális karakterekre hivatkozik, általában numerikus jelölést használ helyette. A következő lista a leggyakrabban használt speciális karaktereket tartalmazza.

Változó deklaráció Pascalban

# 9 tabulátor # 10 új sor # 13 kocsi vissza. . Az eredmények egy része az ábrán látható. Egyes címkék statikus szöveg tárolására szolgálnak, míg mások típusinformációkat jelenítenek meg minden egyes gomb megnyomásakor. Minden alkalommal, amikor rákattint valamelyik jobb oldali gombra, a program frissíti a címkéket a kimenettel. Különféle címkék mutatják az adatok típusát, a felhasznált bájtok számát, valamint az adattípus által tárolható maximális és minimális értékeket.

Alapváltozók Pascalban

A Pascal programozási nyelv számos más típusú változó definiálását is lehetővé teszi, amelyekről a későbbi fejezetekben térünk ki, mint például a mutató, a tömb, a rekordok, a halmazok és a fájlok stb. Ebben a fejezetben csak a változók alapvető típusait tanulmányozzuk.

Változó deklaráció Pascalban

Minden változót deklarálni kell, mielőtt egy Pascal programban használható lenne. Minden változódeklarációt követ var kulcsszó. A deklaráció meghatározza a változók listáját, amelyet kettőspont (:) és egy típus követ. A változók deklarálásának szintaxisa:

Elemi nyelvi konstrukciók

A többi gombhoz tartozó módszerek nagyon hasonlóak a fent leírt módszerekhez. Az egyetlen igazi különbség a különböző függvényeknek paraméterként átadott adatok típusában van. Ha sikerült egy egész számot tárolni egy fájlban az egyik verzióval, és lekérni egy másik verzióval, akkor bajban van. Ebben a helyzetben platformfüggetlen adattípust kell választania.

Csak akkor használjon más ábrázolást, ha jó oka van rá. Vannak olyan rendszereljárások, amelyek az ordinális típusokon működnek. 2. táblázat: Rendszereljárások normál típusokhoz. Megjegyzendő, hogy ezen rutinok némelyikét, ha konstansokra alkalmazzák, a fordító automatikusan kiértékeli, és az értékükkel helyettesíti.

var változó_lista: típus;

Itt a típusnak érvényes Pascal adattípusnak kell lennie, beleértve a karaktert, az egész számot, a valós értéket, a logikai értéket vagy bármely felhasználó által megadott adattípust stb., és a változó_lista egy vagy több vesszővel elválasztott azonosító névből állhat. Néhány érvényes változódeklaráció itt található -

A valós típusok különböző formátumú lebegőpontos számokat jelentenek. legkisebb méret A memóriát egyedi számok határozzák meg, amelyek 4 bájtos értékkel vannak megvalósítva. Aztán vannak dupla lebegőpontos számok 8 bájttal és kiterjesztett számok 10 bájttal.

A hátrányok között szerepelhetnek kompatibilitási problémák. Ahogy a neve is sugallja, a Currency adattípust azért adták hozzá, hogy nagyon pontos, négy tizedesjegyű pénzértékeket kezeljen. A valódi típusok a számok végtelen gyűjteményét jelentik; Az ordinális típusok rögzített értékkészletek. Hadd magyarázzam el jobban. ha megvan a 23 egész szám, akkor meghatározhatja, hogy mi legyen a következő érték. Az egész számok végesek. A lebegőpontos számok kis tartományon belül is végtelenek, és nincs sorrendjük: valójában hány érték létezik 23 és 24 között?

Varage, hétköznap: egész szám; adókulcs, nettó_jövedelem: valós; választás, isready: logikai; kezdőbetűk, évfolyam: char; név, vezetéknév: string;

Az előző leckében megbeszéltük, hogy a Pascal lehetővé teszi egy típus deklarálását. A típus azonosítható névvel vagy azonosítóval. Ez a típus használható az ilyen típusú változók meghatározására. Például,

Típus napok, életkor = egész szám; igen, igaz = logikai érték; név, város = string; díjak, kiadások = valós;

És milyen szám jön 46 után? Bár valóban tudhatod, hogy egy valós számnak nagyobb az értéke, mint a másiknak, nincs értelme megkérdezni, hogy egy adott szám előtt hány valós szám létezik. Ez egy lebegőpontos típus, mert a típusnak elég szélesnek kell lennie ahhoz, hogy egyetlen változóban tárolja az éveket, hónapokat, napokat, órákat, perceket és másodperceket, legfeljebb ezredmásodperces felbontásig.

Az időket a rendszer napi törtként tárolja az érték tizedes részében. Ezeknek a függvényeknek a listája a táblázatban található. Amikor a program elindul, automatikusan kiszámítja és megjeleníti aktuális időés dátum. A gomb minden egyes megnyomásakor a program megmutatja a program indítása óta eltelt időt. Az alapértelmezés a következő. Amikor az űrlap neve megváltozik, ez a deklaráció automatikusan frissül.

Most az így definiált típusok használhatók változódeklarációkban -

Var hétköznap, ünnepnapok: napok; választás: igen; tanuló_neve, emp_neve:név; főváros; költség: kiadások;

Vedd észre a különbséget típus nyilatkozatok és nyilatkozatok var. A típusdeklaráció meghatározza a típusok kategóriáját vagy osztályát, például egész, valós stb., míg a változó specifikáció határozza meg a változó által felvehető értékek típusát. Össze lehet hasonlítani a hirdetést típus hogy Pascal JureyeE A legfontosabb, hogy a változó neve arra a memóriahelyre utal, ahol a változó értéke tárolva lesz. A típusdeklaráció esetében ez nem így van.

A végén a kód egy egyszerű emlékeztetőt ad hozzá. Ez a kód lekéri az új időt, és kiszámítja a különbséget a program futtatásakor tárolt időtől. Mivel azt az értéket kell használnunk, amelyet egy másik eseménykezelőben számoltunk, ezért egy globális változóban kellett tárolnunk. Valójában vannak jobb osztályalapú alternatívák.

A harmadik sor aktuális értékét helyettesítő kód indexet használ. Ennek az az oka, hogy a listamező elemei null-alapúak: az első elem 0, a második 1, a harmadik szám. Erről bővebben a tömbök ismertetésekor. A globálisabb konstansok a pénznemek és a lebegőpontos számok formázásához kapcsolódnak.

Változó inicializálása Pascalban

A változókhoz kettőspontot és egyenlőségjelet tartalmazó értéket, majd egy állandó kifejezést rendelnek. Az értékadás általános formája:

Változó_neve:=érték;

Alapértelmezés szerint a Pascal változói nem inicializálódnak a semmiből. Tartalmazhatnak szemét értékeket. Így a legjobb gyakorlat a változók inicializálása egy programban. A változók inicializálhatók (kiindulási érték adhatók meg) az utasításukban. Az inicializálást követik A var kulcsszó és az inicializálás szintaxisa a következő -

Gépelés és típuskonverziók

Mint láttuk, nem rendelhet hozzá változót másikhoz. Ha ezt meg kell tennie, két lehetőség közül választhat. Kiválaszthat azonos méretű adattípust. Ez általában típusbiztos a sorszámú típusok vagy a valós típusok között, de beszúrhat típust a mutatótípusok közé is, ha tudja, mit csinál.

Az öntvény azonban általában veszélyes programozási gyakorlat, mert lehetővé teszi, hogy hozzáférjen egy értékhez, mintha az valami mást képviselne. Mivel az adattípusok belső reprezentációi általában nem egyeznek, fennáll a hiba kockázata. Emiatt kerülje a típusöntést.

var változó_neve: típus = érték;

Néhány példa -

Életkor: egész = 15; adókulcs: valós = 0,5; fokozat: char = "A"; név: string = "Kovács János";

Nézzük meg egy példán, hogy mit használunk különféle típusok az eddig tárgyalt változók -

Program Üdvözlet; const message = "Üdvözöljük Pascal világában"; típusnév = string; var keresztnév, vezetéknév: név; begin writeln("Kérjük, adja meg a keresztnevét: "); readln(keresztnév); writeln("Kérjük, adja meg a nevét: "); readln(vezetéknév); írásban; writeln(üzenet, " ", keresztnév, " ", vezetéknév); vége.

Adattípusok Pascalban

A második lehetőség a típusátalakítási eljárás alkalmazása. A különböző típusú konverziók alprogramjai a táblázatban láthatók. Ezen rutinok némelyike ​​adattípusokon működik, amelyeket a következő szakaszokban tárgyalunk. 4. táblázat: Rendszereljárások a típusátalakításhoz.

Ez a következő fejezet témája. A Pascal lehetővé teszi saját adattípusok létrehozását számos változó rekordba láncolásával. Ez akkor lehet hasznos, ha ezeket a különböző elemeket együtt kívánja feldolgozni. Ez segít megkülönböztetni egy típusdefiníciót az adott típusú változóktól. Egy típus példányainak deklarálásakor a típusnevet használja a deklaráció adattípus részében.

Kérjük, adja meg keresztnevét: John Kérjük, adja meg vezetéknevét: Smith Üdvözöljük Pascal John Smith világában

Felsorolt ​​változók

Látta, hogyan kell olyan egyszerű változótípusokat használni, mint az egész, a float és a logikai érték. Most nézzük meg a felsorolt ​​típusú változókat, amelyek a következőképpen definiálhatók:

Var var1, var2, ... : enum-azonosító;

Miután deklarált egy felsorolt ​​típust, deklarálhatja az adott típusú változókat. Például,

A rekord egyes elemei közé tartozik egy változónév és egy tulajdonságnév. Hozzon létre egy rekordstruktúrát a feleletválasztós kérdések tárolására egy kis kvízprogramhoz. Minden bejegyzésnek tartalmaznia kell a kérdés szövegét, a három lehetséges válasz szövegét, valamint a helyes válasznak megfelelő betűt. Használjon hurkot annak ellenőrzésére, hogy minden válasz helyes-e, és tárolja a címkék teljes számát egy egész változóban. Fejezze be a programot úgy, hogy elmondja a felhasználónak, hogy hány kérdést kapott.

  • Használjon tömböt 3 kérdés tárolására a bejegyzési struktúra segítségével.
  • Tárolja ezeket a válaszokat egy tömbben.
Körülbelül 170 oldalnyi strukturált bevezető tanfolyamot tartalmaz.

Típus hónapok = (január, február, március, április, május, június, július, augusztus, szeptember, október, november, december); Varm: hónapok; ... M:= január;

A következő példa szemlélteti a koncepciót -

Program exEnumeration; típusú ital = (kávé, tea, tej, víz, kóla, limelé); vardrink:ital; begin writeln("Melyik italt kérsz?"); ital:= limelé; writeln("Ihat ", inni); vége.

Amikor a fenti kódot lefordítják és végrehajtják, a következő kimenetet produkálja:

Alapváltozók Pascalban

A szerkesztő lehetővé teszi a navigálást eredeti szöveg funkcióbillentyűk használatával, és funkciókat biztosít szövegblokkok másolásához és mozgatásához. A fordító előzetesen ellenőrizheti a szintaktikai ellenőrzést. A lehetséges hibákat számokkal és hivatkozásokkal írjuk le. A lehetséges hibaszámok listája a könyv mellékletében található. A fordító egy másik futtatásával egy működő program generálható.

31. oldal. Egy változót kétféleképpen tekinthetünk meg. Egyrészt változók értékeinek tárolására szolgál, mint például a köztes eredmények vagy programállapotok a program végrehajtása során. Másrészt fix tulajdonságai vannak: egy változót fix név definiál.

Milyen italt kérsz? Lisztlevet lehet inni

altartomány Változók

Az altartomány-változók a következőképpen vannak deklarálva:

Var altartomány-név: alsólim ... felsőhatár;

Példák altartomány változókra -

Var jelek: 1 ... 100; fokozat: "A" ... "E"; életkor: 1 ... 25 év;

Az alábbi program szemlélteti a koncepciót -

Program exSubrange; var jegyek: 1 .. 100; fokozat: "A" .. "E"; begin writeln("Írja be a pontjait (1 - 100): "); readln(jelek); writeln("Adja meg az osztályzatát(A - E): "); readln(évfolyam); writeln("Jelékek: " , jegyek, " Osztályzat: ", osztályzat); vége.

Célszerű olyan nevet adni a változóknak, amely tükrözi a programban betöltött jelentésüket. Ezután megjelenik a programban használt összes változó neve. Minden változó típusa kettőspont után van feltüntetve. A típus határozza meg az értékek fent említett osztályát, amelyet egy változó felvehet.

Ebben a példában a típusokat előre meghatározott típusnevek határozzák meg. Az identitások két célt szolgálnak: egyrészt mély megértést adhatnak a számok tulajdonságairól, másrészt egyszerűen praktikusak lehetnek. Vessünk egy pillantást az ötletekre, és vessünk egy pillantást egy hasznos szempontra, amelyre ebben a fejezetben többször is visszatérünk.

Amikor a fenti kódot lefordítják és végrehajtják, a következő kimenetet produkálja:

Adja meg az osztályzatát (1 - 100): 100 Adja meg az osztályzatát (A - E): A Pontok: 100 Osztályzat: A

1970-ben fejlesztette ki Niklaus Wirth olyan nyelvként, amely erős gépelést és intuitív szintaxist biztosít. Nevét Blaise Pascal francia matematikusról, fizikusról és filozófusról kapta.

Algoritmikus nyelv: alapfogalmak

Mekkora a ház külső falának területe? Az identitások, vagyis az aritmetikai szabályok megkönnyítik, hogy bizonyos fogalmakat „gyakorlatilag egyenlőnek”, „ugyanaz, csak másként” ismerjünk fel. Az azonosságokban változók helyett nem csak konkrét számok, hanem kifejezések is használhatók, hiszen ezekben a kifejezésekben is minden változó egy számot jelöl.

Helyesírás: néha a º szimbólumot használják az identitások jelölésére. Néha azonban definíciók meghatározására használják. Az összetett problémák kisebb részfeladatokra oszthatók. A funkciók és eljárások alkalmasak erre a célra. A nevét eljárásnak vagy függvénynek nevezik.

Niklaus Wirth a Pascal-nyelv megalkotásának egyik célja a diákok tanítása volt strukturált programozás. Eddig Pascalt méltán tartják az egyiknek legjobb nyelvek az alapvető programozáshoz. Modern módosításait, mint például az Object Pascal, széles körben használják az ipari programozásban (Delphi környezetben).

Az eljárás definíciója egy eljárás deklarációval kezdődik. Az "eljárás" kulcsszóval kezdődik. Ezt követi az eljárás neve, esetleg egy formális paramétermegadás zárójelben. var. Íme egy egyszerű példa. A függvények argumentumot vehetnek fel, és egyetlen értéket adhatnak. A függvénydefiníció egy függvénydeklarációval kezdődik. Ezt követi a függvény neve, majd zárójelben a formális paraméterek megadása. A formális paramétereket vessző választja el. A paraméterértékek semmit nem változtatnak a főprogramban.


Blaise Pascal
A Turbo Pascal környezet folytatásaként 1995-ben kiadott Delphi programozási rendszer az egyik a legjobb környezetek alkalmazások gyors létrehozásához. A Delphi számos sikeres objektum-orientált kiterjesztést vezetett be a Pascal nyelvhez; a frissített nyelv az Object Pascal nevet kapta. A Delphi 7.0-tól kezdve a Delphi Object Pascal nyelv egyszerűen Delphi lett, azonban a régi nevet gyakran használják. legújabb verzió környezet - Delphi XE.
Delphi 7 környezet

A Pascal nyelv legismertebb ingyenes megvalósítása a Free Pascal. A nyílt forráskód mellett a fő előnye a multiplatform, valamint a Pascal különböző dialektusainak támogatása. A FreePascal alapján a Delphi környezethez hasonló, ingyenes, többplatformos Lazarus környezet készült. A Free Pascal integrált környezet gyenge konzolfelülete azonban, amely évtizedek óta változatlan, nem nagyon kompatibilis a modern asztali felületekkel. operációs rendszer, egyre többen taszítják a diákokat, helytelenül formálják meg azt az elképzelésüket, hogy a Pascal egy elavult nyelv.

A főprogram azonos nevű változókat használ. A zárójel mögött a függvény által megadandó érték adattípusa található. Itt van egy példa egy bonyolultabb függvényre. csere eljárások. Funkciók és eljárások jellemzői. A függvény törzsében a függvény nevét tartalmazó változóhoz megfelelő típusú értéket kell rendelni. A függvényhívás egy kifejezésen belül történik, míg az eljárás csak kifejezés lehet.

  • Az eredményérték típusa a paraméterlista utáni függvényeknél van megadva.
  • A függvény mindig használatban van egy érték kiértékelésekor.
  • Ez egy jó programozási stílus.
A "változó" kifejezés legegyszerűbb definíciója, amely gyorsan eszembe jut, a következő.

Másrészt a Delphi környezet fejlődésével egyre körülményesebbé és alkalmatlanabbá vált a programozás oktatására. Ezen kívül nincs ingyenes verzió Delphi akár tudományos használatra is. Ezek a tényezők a Delphi szinte teljes eltűnéséhez vezettek az oktatás területéről, a Lazarus környezet esetében pedig a freeware ellenére ritkák az ilyen esetek.

Végül a Java és .NET platformok megjelenése, amelyek erőteljes programozási nyelvet és hatékony szabványos könyvtárakat tartalmaztak, meggyengítette a Delphi nyelv pozícióját. A programozás oktatására olyan nyelveket használnak, mint a Java, C, C ++, C #, Visual Basic, Python, Haskell.

A Pascal nyelv fejlődésének egyik legfényesebb eseménye a RemObjects Oxygene nyelv és fordító megjelenése volt, amelyet az alkotók méltán neveztek a 21. század modern Pascaljának. Az Oxygene különféle platformokhoz képes kódot generálni, beleértve a .NET és a Java platformokat is. Legfőbb hátránya az ingyenes fordító és oktatási célú környezet hiánya. Ráadásul az Oxygene merőben különbözik a kanonikus Pascal nyelvtől (az eljárások és függvények helyett osztálymódszerek), ami a tisztán szakmai fókuszát tükrözi.

Nyelv és programozási rendszer weboldalÚgy tervezték, hogy megváltoztassák a jelenlegi helyzetet, és visszaadják a Pascal nyelv korábbi vonzerejét mind a tanulás, mind a professzionális programozás szempontjából, megsokszorozva azt a .NET platform erejével.