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

Садржај обрисан Садржај додат
м Бот: исправљена преусмерења
Ред 1:
{{Друга употреба|Лого}}
[[Датотека:Remi_turtlegrafik.png|мини|200п|Корњача графика Лого језика]]
'''Лого''' ({{Јез-енг|Logo}}) је [[програмски језик високог нивоа]] који се базира на [[функционално програмирање|функционалном начину]] програмирања. Настао је из програмског језика [[Lisp|Лисп]] и може да се сматра његовим дијалектом. Лого језик је блиско повезан са Лого порограмским окружењем које омогућава висок степен интерактивности у раду. Саставни део Лого језика је корњача графика, графички систем који се лако учи као и целокупан језик.
 
Лого је настао [[1967]]. године. Креиран је са циљем да буде образовно средство и то не само у области [[Програмирање|програмирања]]. Његови творци су -{Daniel G. Bobrow}-, -{Wally Feurzeig}- и -{Seymour Papert}-.
Ред 16:
Првобитно Лого није имао [[Рачунарска графика|графичке]] могућности. Затим му је придодат уређај, врста [[Робот|робота]], који је назван [[корњача]] ({{Јез-енг|turtle}}). Овај уређај је био повезан са [[Рачунар|рачунаром]] и њиме се управљало наредбама Лого програмског језика. Корњача је могла да се креће по хоризонталној подлози напред назад и да мења смер и правац кретања. Уколико би се поставио лист [[Папир|папира]] испод корњаче она је могла да оставља траг формирајући [[Рачунарска графика|графику]] која је названа корњача графика ({{Јез-енг|turtle graphics}}).
 
Касније, наредбе Лого језика за покретање корњаче су остале, али је корњача постала виртуелан објекат на екрану рачунара. И ако се овај облик графике често веже за Лого језик, у оквиру кога је и настао, он постоји и у другим [[Програмски језик|програмским језицима]] као што су [[Smalltalk|-{Smalltalk}-]], [[Пајтон (програмски језик)|Питон]], [[Јава]]...
 
==== Пример корњача графике ====
Ред 23:
[[Датотека:Ucblogo.png]]
 
Овде је корњача представљена у поједностаљвљеном облику као један [[једнакокраки троугао]]. Корњача се првобитно налази на средини прозора за графику, где се налази и [[Тачка (геометрија)|тачка]] (0, 0) [[Декартов координатни систем|Декартовог координатног система]]. <code>y</code>-оса је усмерена „навише“ као и сама корњача. Прва наредба ће окренути корњачу у десно за 90 [[Степенлучни (угао)степен|степени]], односно променити јој смер тако да гледа у правцу <code>x</code>-осе. Следећа наредба помера корњачу за 100 јединица по <code>x</code>-оси остављајући траг. (Координатне осе су невидљиве). Затим се окрет и померање понављају... После четири понављања овог пара наредби (<code>right 90 forward 100</code>) корњачин траг ће формирати квадрат а коњача ће се наћи у почетном положају (укључујући правац и смер). На крају корњача још једном иде 100 јединица напред и исцртава вертикалну линију ван квадрата на чијем крају можемо да видимо њену симболичну представу у облику троуглића.
 
Горњи графички пример је формиран једино графичким наредбама. Употребом контролне структуре <code>repeat</code> иста графика може да се добије извршавањем следећег кода:
Ред 33:
 
== Синтакса ==
Основе [[Синтакса|синтаксе]] лого језика су изведене из [[Lisp|Лисп]] програмског језика, уз додатно упроштење: могућност изостављања заграда. Одатле неки Лого зову Лисп без заграда (односи се на мале, обле заграде). Могуће је писти и са заградама. На пример следећи код исписује број један:
 
(print 1)
Ред 52:
Готово све верзија Лого језика садрже бар три типа података: бројеве, речи и листе. Већина садржи и [[Низ (структура података)|асоцијативне низове]].
==== Бројеви ====
[[Број (математика)|Бројеви]] у Лого језику имају [[Декадни систем|децимални облик]] или/и се налазе у експоненцијалном запису. Интерно се користи облик са покретним зарезом. Примери бројева:
23
4.35
Ред 92:
 
== Променљиве и наредба доделе вредности ==
[[ПроменљиваПромјенљива (рачунарствопрограмирање)|Променљиве]] у Лого језику су речи (подаци типа реч) којима је придружена вредност. Над овим речима можемо да применимо све функције које одговарају и обичним речима. Током извршења програма могуће је променити вредност променљиве. Нова вредност може да буде различитог типа (од претходно додељеног). Променљиве се не декларишу изузев локалних променљивих унутар процедура.
 
У следећем примеру, речи <code>jedan_broj</code> се придружује вредност <code>56</code>:
Ред 188:
** Језик је лако поширив. Појам порцедуре може да се уведе веома брзо, обично на другом наставном чесу.
** Корњача графика омогућава, програмеру на узрасту детета, креирање геометријских форми за какве би у другом систему било потребно познавање математике на академском нивоу.
** Омогућава креирање нових језичких конструкција као што су контролне структуре, што је практично немогуће у програмским језицима који се најчешће користе у [[Настава|настави]] у [[Школа|школама]] у [[Србија|Србији]] као што су [[Паскал (програмски језик)|Паскал]], [[Јава (програмски језик)|Јава]], [[C (програмски језик)|Це]] или у некој варијанти [[Бејсик|BASIC]] програмског језика.
** ...