Паскал (програмски језик)

Из Википедије, слободне енциклопедије

Паскал (енгл. Pascal) је императивни програмски језик, који је 1974. године развио Никлаус Вирт, као језик погодан за учење структурног програмирања. Именован је по чувеном француском математичару и филозофу Блезу Паскалу, творцу прве рачунске машине која је имала могућност извођења операције сабирања. Стандардизован је 1983. године од стране Међународног комитета за стандардизацију. Паскал се данас користи као почетни програм за обуку будућих програмера, наручито оних који намеравају да раде на програмском језику C.

снимак екрана

Програмски језик Паскал је непревазиђен на плану обуке у програмирању, тамо где је основни циљ упознавање са програмирањем на логичан и систематичан начин.[1] Крајем 60-их година швајцарски научник Никлаус Вирт имао је за циљ да направи језик у коме би се могла ефикасно реализовати обука програмера. Међутим, данас Пасцал има много ширу примену. Он се користи не само за писање програма у разним областима примене рачунара већ и као језик за системско и визуелно програмирање. Визуелни Пасцал, реализован пакетом Делпхи, данас је један од најпопуларнијих језика за пројектовање Wиндоwс апликација иако иза њега не стоји моћни Мицрософт. То је једноставан језик који се може брзо научити, и у њему се могу писати алгоритамски врло сложени програми. Он на известан начин утиче на начин размишљања програмера, тако да лако усваја основне принципе програмирања.

Блез Паскал

Рани развој[уреди]

Програмски језик Пасцал развио је, измедју 1968 и 1970., швајцарски научник Никлаус Вирт, на темељима тад популарног језика АЛГОЛ-а, ради превазилажења потешкоћа које су се јављале програмирањем у вишим програмским језицима секвенцијалног карактера (ФОРТРАН, ЦОБОЛ, АЛГОЛ и БАСИЦ), као и због потреба увођења стандардног програмског језика за учење у школама и факултетима. Wиртх је програмском језику дао име Пасцал у част француског филозофа и математичара Блеза Паскала, који је 1641. изумео механички калкулатор. Прва спецификација објављена је 1971, следећа ревизија направљена је 1973. Већ од 1972. Пасцал се почиње изучавати на факултетима као језик прикладан за увод у програмирање. Првобитна стандардизација језика догодила се 1983. (ИСО 7185:1983).

Пасцал уводи парадигму структурног и процедуралног програмирања, што значи да се програмски код разлаже на самосталне структуре - податке и подпрограме, који се не извршавају у истом редоследу у ком су наведени, као што је случај код наредби секвенцијалних програмских језика, него се по потреби позивају и изводе. Уводјењем подпрограма избегава се нужност да програм секвенцијално, то јест редоследно, изврши све блокове кода док не додје до наредбе која означава крај програма(ГоТо) до поједине лабеле у коду, што може довести до великих потешкоћа при писању или ревидирању озбиљнијих програма, јер је коришћење ГоТо функције доводило до непрегледног кода с једне стране (феномен такозваног Шпагети-кода), с друге стране захтевало учитавање читавог програма у меморију, уместо позивања појединачних процедура по потреби. За тадашње доба врло скупих меморија и почетка убрзаног развоја софтвера у односу на хардвер, изналажење решења као што је Пасцал имало је због наведених разлога велики значај.

У исто време (1972) Американац Денис Ричи развија програмски језик Ц заснован на једнаким процедуралним и структурним поставкама као и Пасцал, с већим могућностима већ у стандардној изведби за манипулисање врстама података, а самим тим и већим могућностима за смањење заузећа меморије. Док је програмски језик Ц послужио Кену Томсону и Денису Ричију за програмирање УНИX-а седамдесетих година, УЦСД верзија Пасцала коришћена је на Универзитету у Калифорнији, у Сан Дијегу за писање п-Сyстема. п-Сyстем се могао инсталирати на велики број тадашњих компјутера захваљујући чињеници да је требало само програмирати модуле који су преносили и компајловали п-сyстем на дати компјутер.

Седамдесетих година Пасцал стиче велику популарност те се у великој мери користи за апликацијско и системско програмирање. Оперативни системи за Аппле (Лиса и Мацинтосх) с краја седамдесетих и почетка осамдесетих били су развијани у Пасцалу, због чега писање програма у Ц-у за наведене системе није имало смисла јер су програми морали бити писани тако да раде с типовима података које подржава стандардни Пасцал као и сам АПИ, у Пасцалу написан Аппле оперативни систем. До 1980-их Пасцал је изучаван на већини факултета информатичког усмерења у свету.

Борландов Пасцал[уреди]

1983. појављује се Турбо Пасцал фирме Борланд, прво интегрисано развојно окружење (ИДЕ) за суставе ЦП/М и ДОС. Турбо Пасцал обједињује све функције циклуса развоја софтвера у један целовит програм (писање кода, компајловање, линковање, дебуговање), а истовремени приступ свакој од функција без потребе покретања засебних програма и гашења предходно покренутих је допринео још већој популаризацији Пасцала у софтверској индустрији, јер су програмери до тад морали покретати засебно неколико различитих програма (едитор, компајлер, линкер, дебуггер) да би довршили коначан програм. ИДЕ Турбо Пасцал је масовно коришћен, како због могућности велике уштеде времена при развоју софтвера, тако и због своје ниске цене и лиценце која је омогућивала куповину само једне копије производа без обзира на коликом броју компјутера ће софтвер бити коришћен. Осим Турбо Пасцала, Борланд је изпоручивао и скупљу верзију ИДЕ-а под називом Борланд Пасцал која се од Турбо Пасцала незнатно разликовала по могућностима и имала укључен изворни код стандардних модула. Временом се Турбо Пасцал развија као засебна верзија програмског језика и остаје у широкој употреби све до почетка деведесетих, када Пасцал губи предност у односу на Ц++ и Јаву. Већ 1999. Пасцал је замењен Ц++-ом као стандардом на свим америчким факултетима.

Од новина које уводи Борланд у Турбо Пасkал значајна је могућност дељења кода на одвојене датотеке, такозване модуле (енглески: unit). Овај концепт преузет је из језика Модула, односно Модула-2 (каснија ревизија језика), за чије је креирање такође заслужан Никлаус Вирт, аутор првобитног Паскала. Могућност је додата почевши с верзијом 4.00 Турбо Паскал ИДЕ-а, а програмски пакет садржавао је и стандардну збирку модула преведених из изворног кода, прво у једној датотеци TURBO.TPL (.TPL = Turbo Pascal Library), а касније у броју одвојених бинарних. TPU (Turbo Pascal Unit) датотека. Седма верзија ТП-а укључивала је следеће модуле: APP, COLORSEL, CRT, CURSU, DIALOGS, DRIVERS, EDITORS, GRAPH, GRAPH3, HISTLIST, MEMORY, MENUS, MSGBOX, OBJECTS, OUTLINE, STDDLG, STRINGS, TEXTVIEW, TGKSI, TURBO3, VALIDATE, VIEWS и WINDOWS.

Последња верзија Турбо Паскала изишла је 1993. под бројем 7.0. Након тога, Борланд напушта даљи развој овог производа и уместо њега 1995. издаје Делпхи за 16-битни Windows 3x, RAD окружење за Борланд Паскал који се од тад развија као посебан програмски језик Delphi. Delphi, као објектно-оријентисани Паскал нарочито је погодан за развијање графичких Windows апликација, задржао се у широкој употреби све до данас, а стекао је и широку популарност због лакоће коришћења и визуалног интерфејса за креирање ГУИ-ја. Од 2006. развојем Delphi језика бави се CodeGear, некадашња Борландова сарадница за развојне алате Borland Developers Tool Group (DTG). OpenSource алтернатива Delphi језику су Free Pascal Compiler и Lazarus IDE.

Програмирање[уреди]

Пример писања једноставног програма

Следећи једоставан програм уписује "Здраво свете!" у стандардну излазну датотеку output:

PROGRAM Pozdrav(output);
BEGIN
  writeln('Здраво свете!')
END.
Процедуре и функције у Паскалу

Процедуре су издвојене програмске целине (потпрограми) које на основу одређеног алгоритма трансформишу параметре (податке), али не враћају вредност као функције. Следећи пример приказује изглед синтаксе и структуре процедуре у Паскал програму.

program ProcTest;
var
  x : integer;
 
procedure PrintProc(var y : integer);
begin
  read(y);
  { ... }
end;
 
begin
  { ... }
  PrintProc(x);
  { ... }
end.

Основни знакови језика

  • У паскалу се користе 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
  • и специјални знакови: + - * / = < > [] . , ; : ^ () ‘ { }

Међу специјалне знакове се убраја и размак (спејс).

Резервисане речи у паскалу

  • Begin - се користи за почетак блока.
  • End - се користи за крај блока.
  • Var - се користи за почетак дефинисања променљивих.
  • Type - се користи за дефинисање типова променљивих.
  • Const - се користи за дефинисање константи.
  • Procedure - се користи за дефинисање процедуре.
  • Function - се користи за дефинисање функције.

Стандардне функције језика паскал

  • Read(а), Readln(а) - је функција која учитава вредност за променљиву а.
  • Write(а), Writeln(а) - је функција која исписује вредност променљиве а.

Паскал не разликује велика и мала слова (тј. није case sensitive).

Стандардни типови података[уреди]

У програмском језику паскалу свака промењива се карактерише типом. За сваки тип постоји различити скуп операција и вредности. Типови података у паскалу могу бити прости и сложени. Стандардни типови података: Целобројни (integer), реални (real), логички (boolean) и знаковни (char).

Види још[уреди]

Референце[уреди]

  1. Milan Čabarkapa (2008), ‘’Računarstvo i informatika za 3. razred gimnazije”, Beograd. стр. 1.

Литература[уреди]

  • Милан Чабаркапа, Основи програмирања у Паскалу (књига 1), Круг, у Београду 2001.

Спољашње везе[уреди]