Pascal (програмски језик) — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке
Ред 1:
{{Друго значење2|Паскал}}
'''Паскал''' (-{''Pascal''}-) је [[императивно програмирање|императивни]] [[програмски језик]], који је [[1974]]. године развио [[Никлаус Вирт]], као језик погодан за учење [[strukturirano programiranje|структурног програмирања]]. Именован је по чувеном француском [[математичар]]у и [[филозоф]]у [[Блез Паскал|Блезу Паскалу]], творцу прве рачунске машине која је имала могућност извођења операције сабирања. Стандардизован је 1983. године од стране Међународног комитета за стандардизацију.
Паскал се данас користи као почетни програм за обуку будућих програмера, наручито оних који намеравају да раде на програмском језику [[C (програмски језик)|C]].
[[Датотека:Fpc204zsh-wikicool.png|мини|снимак екрана]]
== Програмирање ==
;Пример писања једноставног програма
Следећи једоставан [[рачунарски програм|програм]] уписује "-{Здраво свете}-!" у стандардну излазну [[datoteka|датотеку]] <code>output</code>:
 
<source lang="pascal">
PROGRAM Pozdrav(output);
BEGIN
writeln('Здраво свете!')
END.
</source>
 
[[Paskal (programski jezik)|Programski jezik Paskal]] je neprevaziđen na planu obuke u programiranju, tamo gde je osnovni cilj upoznavanje sa programiranjem na logičan i sistematičan način.<ref> Milan Čabarkapa (2008), ‘’Računarstvo i informatika za 3. razred gimnazije’’, Beograd, pp. 1</ref>
;Процедуре и функције у Паскалу
Krajem 60-ih godina švajcarski naučnik Niklaus Virt imao je za cilj da napravi jezik u kome bi se mogla efikasno realizovati obuka programera. Međutim, danas Pascal ima mnogo širu primenu. On se koristi ne samo za pisanje programa u raznim oblastima primene računara već i kao jezik za sistemsko i vizuelno programiranje. Vizuelni Pascal, realizovan paketom Delphi, danas je jedan od najpopularnijih jezika za projektovanje Windows aplikacija iako iza njega ne stoji moćni [[Majkrosoft|Microsoft]].
Процедуре су издвојене програмске целине (потпрограми) које на основу одређеног алгоритма трансформишу параметре (податке), али не враћају вредност као функције. Следећи пример приказује изглед синтаксе и структуре процедуре у Паскал програму.
To je jednostavan jezik koji se može brzo naučiti, i u njemu se mogu pisati algoritamski vrlo složeni programi. On na izvestan način utiče na način razmišljanja programera, tako da lako usvaja osnovne principe programiranja.
[[Датотека:Pascal Blaise.jpeg|мини|десно|200п|Blez Paskal]]
 
<source lang="pascal">
program ProcTest;
var
x : integer;
procedure PrintProc(var y : integer);
begin
read(y);
{ ... }
end;
begin
{ ... }
PrintProc(x);
{ ... }
end.
</source>
 
== Rani razvoj ==
'''Основни знакови језика'''
Programski jezik Pascal razvio je, izmedju 1968 i 1970., švajcarski naučnik Niklaus Virt, na temeljima tad popularnog jezika ALGOL-a, radi prevazilaženja poteškoća koje su se javljale programiranjem u višim programskim jezicima sekvencijalnog karaktera (FORTRAN, COBOL, ALGOL i BASIC), kao i zbog potreba uvođenja standardnog programskog jezika za učenje u školama i fakultetima. Wirth je programskom jeziku dao ime Pascal u čast francuskog filozofa i matematičara Bleza Paskala, koji je 1641. izumeo mehanički [[Паскалина|kalkulator]]. Prva specifikacija objavljena je 1971, sledeća revizija napravljena je 1973. Već od 1972. Pascal se počinje izučavati na fakultetima kao jezik prikladan za uvod u programiranje. Prvobitna standardizacija jezika dogodila se 1983. (ISO 7185:1983).
* У паскалу се користе [[ASCII]] слова
* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
* a b c d e f g h i j k l m n o p q r s t u v w x y z
* бројеви: 0 1 2 3 4 5 6 7 8 9
* и специјални знакови: + - * / = < > [] . , ; : ^ () ‘ { }
Међу специјалне знакове се убраја и размак (спејс).
 
Pascal uvodi paradigmu strukturnog i proceduralnog programiranja, što znači da se programski kod razlaže na samostalne strukture - podatke i podprograme, koji se ne izvršavaju u istom redosledu u kom su navedeni, kao što je slučaj kod naredbi sekvencijalnih programskih jezika, nego se po potrebi pozivaju i izvode. Uvodjenjem podprograma izbegava se nužnost da program sekvencijalno, to jest redosledno, izvrši sve blokove koda dok ne dodje do naredbe koja označava kraj programa(GoTo) do pojedine labele u kodu, što može dovesti do velikih poteškoća pri pisanju ili revidiranju ozbiljnijih programa, jer je korišćenje GoTo funkcije dovodilo do nepreglednog koda s jedne strane (fenomen takozvanog Špageti-koda), s druge strane zahtevalo učitavanje čitavog programa u memoriju, umesto pozivanja pojedinačnih procedura po potrebi. Za tadašnje doba vrlo skupih memorija i početka ubrzanog razvoja softvera u odnosu na hardver, iznalaženje rešenja kao što je Pascal imalo je zbog navedenih razloga veliki značaj.
'''Резервисане речи у паскалу'''
 
U isto vreme (1972) Amerikanac Denis Riči razvija programski jezik C zasnovan na jednakim proceduralnim i strukturnim postavkama kao i Pascal, s većim mogućnostima već u standardnoj izvedbi za manipulisanje vrstama podataka, a samim tim i većim mogućnostima za smanjenje zauzeća memorije. Dok je programski jezik C poslužio Kenu Tomsonu i Denisu Ričiju za programiranje UNIX-a sedamdesetih godina, UCSD verzija Pascala korišćena je na [[:en:University of California|Univerzitetu u Kaliforniji, u San Dijegu]] za pisanje p-Systema. p-System se mogao instalirati na veliki broj tadašnjih kompjutera zahvaljujući činjenici da je trebalo samo programirati module koji su prenosili i kompajlovali p-system na dati kompjuter.
* '''-{Begin}-''' - се користи за почетак блока.
* '''-{End}-''' - се користи за крај блока.
* '''-{Var}-''' - се користи за почетак дефинисања променљивих.
* '''-{Type}-''' - се користи за дефинисање типова променљивих.
* '''-{Const}-''' - се користи за дефинисање константи.
* '''-{Procedure}-''' - се користи за дефинисање процедуре.
* '''-{Function}-''' - се користи за дефинисање функције.
'''Стандардне функције језика паскал'''
* '''-{Read(а), Readln(а)}-''' - је функција која учитава вредност за променљиву а.
* '''-{Write(а), Writeln(а)}-''' - је функција која исписује вредност променљиве а.
 
Sedamdesetih godina Pascal stiče veliku popularnost te se u velikoj meri koristi za aplikacijsko i sistemsko programiranje. Operativni sistemi za Apple (Lisa i Macintosh) s kraja sedamdesetih i početka osamdesetih bili su razvijani u Pascalu, zbog čega pisanje programa u C-u za navedene sisteme nije imalo smisla jer su programi morali biti pisani tako da rade s tipovima podataka koje podržava standardni Pascal kao i sam API, u Pascalu napisan Apple operativni sistem. Do 1980-ih Pascal je izučavan na većini fakulteta informatičkog usmerenja u svetu.
Паскал '''не''' разликује велика и мала слова (тј. није ''case sensitive'').
 
== Borlandov Pascal ==
== Стандардни типови података ==
У програмском језику паскалу свака промењива се карактерише типом. За сваки тип постоји различити скуп операција и вредности.
Типови података у паскалу могу бити прости и сложени. Стандардни типови података: Целобројни ('''integer'''), реални ('''real'''), логички ('''boolean''') и знаковни ('''char''').
 
1983. pojavljuje se Turbo Pascal firme Borland, prvo [[integrisano razvojno okruženje]] (IDE) za sustave CP/M i DOS. Turbo Pascal objedinjuje sve funkcije ciklusa razvoja softvera u jedan celovit program (pisanje koda, kompajlovanje, linkovanje, debugovanje), a istovremeni pristup svakoj od funkcija bez potrebe pokretanja zasebnih programa i gašenja predhodno pokrenutih je doprineo još većoj popularizaciji Pascala u softverskoj industriji, jer su programeri do tad morali pokretati zasebno nekoliko različitih programa (editor, kompajler, linker, debugger) da bi dovršili konačan program. IDE Turbo Pascal je masovno korišćen, kako zbog mogućnosti velike uštede vremena pri razvoju softvera, tako i zbog svoje niske cene i licence koja je omogućivala kupovinu samo jedne kopije proizvoda bez obzira na kolikom broju kompjutera će softver biti korišćen. Osim Turbo Pascala, Borland je izporučivao i skuplju verziju IDE-a pod nazivom Borland Pascal koja se od Turbo Pascala neznatno razlikovala po mogućnostima i imala uključen izvorni kod standardnih modula. Vremenom se Turbo Pascal razvija kao zasebna verzija programskog jezika i ostaje u širokoj upotrebi sve do početka devedesetih, kada Pascal gubi prednost u odnosu na C++ I Javu. Već 1999. Pascal je zamenjen C++-om kao standardom na svim američkim fakultetima.
== Види још ==
* [[Историја Паскала]]
* [[Модула-2]]
 
Od novina koje uvodi Borland u Turbo Pascal značajna je mogućnost deljenja koda na odvojene datoteke, takozvane module (engleski: unit). Ovaj koncept preuzet je iz jezika Modula, odnosno Modula-2 (kasnija revizija jezika), za čije je kreiranje takodje zaslužan Niklaus Virt, autor prvobitnog Pascala. Mogućnost je dodana počevši s verzijom 4.00 Turbo Pascal IDE-a, a programski paket sadržavao je i standardnu zbirku modula prevedenih iz izvornog koda, prvo u jednoj datoteci TURBO.TPL (.TPL = Turbo Pascal Library), a kasnije u broju odvojenih binarnih .TPU (Turbo Pascal Unit) datoteka. Sedma verzija TP-a uključivala je sledeće module: APP, COLORSEL, CRT, CURSU, DIALOGS, DRIVERS, EDITORS, GRAPH, GRAPH3, HISTLIST, MEMORY, MENUS, MSGBOX, OBJECTS, OUTLINE, STDDLG, STRINGS, TEXTVIEW, TGKSI, TURBO3, VALIDATE, VIEWS i WINDOS.
== Литература ==
* Милан Чабаркапа, Основи програмирања у Паскалу (књига 1), Круг, у Београду 2001.
 
Poslednja verzija Turbo Pascala izišla je 1993. pod brojem 7.0. Nakon toga, Borland napušta dalji razvoj ovog proizvoda i umesto njega 1995. izdaje Delphi za 16-bitni Windows 3x, RAD okruženje za Borland Pascal koji se od tad razvija kao poseban programski jezik Delphi. Delphi, kao objektno-orijentisani Pascal naročito je pogodan za razvijanje grafičkih Windows aplikacija, zadržao se u širokoj upotrebi sve do danas, a stekao je i široku popularnost zbog lakoće korišćenja i vizualnog interfejsa za kreiranje GUI-ja. Od 2006. razvojem Delphija bavi se CodeGear, nekadašnja Borlandova saradnica za razvojne alate Borland Developers Tool Group (DTG). OpenSource alternativa Delphiju su Free Pascal Compiler i Lazarus IDE.
== Спољашње везе ==
{{Commonscat|Pascal (programming language)}}
* [http://pascal-central.com -{Pascal Central}-]
* [http://www.freepascal.org Free Pascal - слободна имплементација компатибилна са -{Turbo Pascal}--ом]
 
{{-}}
{{Програмски језици}}
 
== Literatura i reference ==
{{клица-комп}}
{{reflist}}
 
==== Vidi još: ====
[[Категорија:Програмски језици]]
{{CommonscatCommons category|Pascal (programming language)}}
* [http://pascal-central.com -{Pascal Central}-]
* [http://www.standardpascal.org Standard Pascal]