Skip to main content

Pascal (programozási nyelv) Tartalomjegyzék Rövid történet Szintaxis Az idő kiírása A nyelv felépítése Jegyzetek További információk Navigációs menüellenőrizveWhite Paper.About Microsoft's "Delegates"History of JavaeredetibőlA Conversation with James GoslingFreePascalLazarusDelphiPascal.lap.hu - linkgyűjteménymvszWorldCatsh85098423cb11941547z

Imperatív programozási nyelvek


általános célúprogramozási nyelvekTurbo PascalDOSObject PascalBorland DelphiFree Pascalx86x86-64PowerPCSPARCARMoperációs rendszerenLinuxFreeBSDMac OS XDOSMorphOS1970Niklaus WirthModula-2OberonALGOLBlaise PascalAda programozási nyelvnekDelphiobjektumorientáltABAPAdaALGOLAPLAssemblyAsymptoteAwkBASICC++ClipperCOBOLCC#EiffelF#FortranHaskellRPGJavaJavaScriptLispLogoModula-2MATLABMUMPSObjective-CDelphiPascalPerlPHPPL/IPL/SQLPythonSASSchemeScratchshSimulaSmalltalkSMLVisual Basic










Pascal (programozási nyelv)


A Wikipédiából, a szabad enciklopédiából



Ugrás a navigációhoz
Ugrás a kereséshez






















Pascal
Paradigma
imperatív, strukturált
Jellemző kiterjesztés
pas
Megjelent
1970
Tervező
Niklaus Wirth
Fejlesztő
Niklaus Wirth
Típusosság
statikus, erősen típusos, típusbiztos
Dialektusok
Borland, Turbo Pascal, UCSD Pascal
Megvalósítások
CDC 6000, ICL 1900, Pascal-P, PDP-11, PDP-10, IBM System/370, HP, GNU
Hatással volt rá
ALGOL W
Befolyásolt nyelvek
Ada, Component Pascal, Java,[1][2][3]Modula, Modula-2, Oberon, Oberon-2, Object Pascal, Oxygene



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.


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.




Tartalomjegyzék





  • 1 Rövid történet


  • 2 Szintaxis


  • 3 Az idő kiírása


  • 4 A nyelv felépítése


  • 5 Jegyzetek


  • 6 További információ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 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 okobó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


shortint - -128 és 127 közötti egész szám


word - 0 és 65535 közötti egész szám


integer - -32768 és 32767 közötti egész szám


longint - -2147483648 és 2147483647 közötti egész szám


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, vagy hamis értéket adnak (true/false)


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



  1. «We looked very carefully at Delphi Object Pascal and built a working prototype of bound method references in order to understand their interaction with the Java programming language and its APIs.»
    «Our conclusion was that bound method references are unnecessary and detrimental to the language. This decision was made in consultation with Borland International, who had previous experience with bound method references in Delphi Object Pascal.» White Paper.About Microsoft's "Delegates", java.sun.com



  2. TechMetrix Research: History of Java. Java Application Servers Report, 1999. [2010. december 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. november 27.) „The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code”


  3. A Conversation with James Gosling




További információk


  • FreePascal

  • Lazarus

  • Delphi

  • Pascal.lap.hu - linkgyűjtemény


  • InformatikaInformatikai portál
    • összefoglaló, színes tartalomajánló lap








A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=Pascal_(programozási_nyelv)&oldid=20688480”





Navigációs menü


























(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.236","walltime":"0.870","ppvisitednodes":"value":1422,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":29520,"limit":2097152,"templateargumentsize":"value":10724,"limit":2097152,"expansiondepth":"value":9,"limit":40,"expensivefunctioncount":"value":1,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":7689,"limit":5000000,"entityaccesscount":"value":1,"limit":400,"timingprofile":["100.00% 799.306 1 -total"," 16.26% 129.981 1 Sablon:Programozási_nyelv_infobox"," 7.95% 63.514 1 Sablon:Infobox/Kép"," 7.39% 59.043 9 Sablon:Wikidata"," 4.73% 37.796 1 Sablon:Főbb_programozási_nyelvek"," 4.34% 34.666 14 Sablon:Infobox/Általános"," 4.32% 34.567 1 Sablon:Navbox"," 3.03% 24.216 1 Sablon:Jegyzetek"," 2.69% 21.500 1 Sablon:Portál"," 2.64% 21.117 2 Sablon:References"],"scribunto":"limitreport-timeusage":"value":"0.068","limit":"10.000","limitreport-memusage":"value":2286139,"limit":52428800,"cachereport":"origin":"mw1325","timestamp":"20190304143650","ttl":2592000,"transientcontent":false);mw.config.set("wgBackendResponseTime":172,"wgHostname":"mw1326"););

Popular posts from this blog

Masuk log Menu navigasi

Identifying “long and narrow” polygons in with PostGISlength and width of polygonWhy postgis st_overlaps reports Qgis' “avoid intersections” generated polygon as overlapping with others?Adjusting polygons to boundary and filling holesDrawing polygons with fixed area?How to remove spikes in Polygons with PostGISDeleting sliver polygons after difference operation in QGIS?Snapping boundaries in PostGISSplit polygon into parts adding attributes based on underlying polygon in QGISSplitting overlap between polygons and assign to nearest polygon using PostGIS?Expanding polygons and clipping at midpoint?Removing Intersection of Buffers in Same Layers

Старые Смолеговицы Содержание История | География | Демография | Достопримечательности | Примечания | НавигацияHGЯOLHGЯOL41 206 832 01641 606 406 141Административно-территориальное деление Ленинградской области«Переписная оброчная книга Водской пятины 1500 года», С. 793«Карта Ингерманландии: Ивангорода, Яма, Копорья, Нотеборга», по материалам 1676 г.«Генеральная карта провинции Ингерманландии» Э. Белинга и А. Андерсина, 1704 г., составлена по материалам 1678 г.«Географический чертёж над Ижорскою землей со своими городами» Адриана Шонбека 1705 г.Новая и достоверная всей Ингерманландии ланткарта. Грав. А. Ростовцев. СПб., 1727 г.Топографическая карта Санкт-Петербургской губернии. 5-и верстка. Шуберт. 1834 г.Описание Санкт-Петербургской губернии по уездам и станамСпецкарта западной части России Ф. Ф. Шуберта. 1844 г.Алфавитный список селений по уездам и станам С.-Петербургской губернииСписки населённых мест Российской Империи, составленные и издаваемые центральным статистическим комитетом министерства внутренних дел. XXXVII. Санкт-Петербургская губерния. По состоянию на 1862 год. СПб. 1864. С. 203Материалы по статистике народного хозяйства в С.-Петербургской губернии. Вып. IX. Частновладельческое хозяйство в Ямбургском уезде. СПб, 1888, С. 146, С. 2, 7, 54Положение о гербе муниципального образования Курское сельское поселениеСправочник истории административно-территориального деления Ленинградской области.Топографическая карта Ленинградской области, квадрат О-35-23-В (Хотыницы), 1930 г.АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1933, С. 27, 198АрхивированоАдминистративно-экономический справочник по Ленинградской области. — Л., 1936, с. 219АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1966, с. 175АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1973, С. 180АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1990, ISBN 5-289-00612-5, С. 38АрхивированоАдминистративно-территориальное деление Ленинградской области. — СПб., 2007, с. 60АрхивированоКоряков Юрий База данных «Этно-языковой состав населённых пунктов России». Ленинградская область.Административно-территориальное деление Ленинградской области. — СПб, 1997, ISBN 5-86153-055-6, С. 41АрхивированоКультовый комплекс Старые Смолеговицы // Электронная энциклопедия ЭрмитажаПроблемы выявления, изучения и сохранения культовых комплексов с каменными крестами: по материалам работ 2016-2017 гг. в Ленинградской области