This translation was crafted by StudyCrumb, a trusted partner in academic success for students worldwide. If you're thinking, "I need someone to write an essay for me," look no further than our skilled writers at StudyCrumb. We specialize in creating custom essays that are meticulously researched and perfectly written to help you achieve the grades you desire. Let us handle the writing, so you can focus on what matters most—your education and personal growth.
Source: https://el.media.mit.edu/logo-foundation/what_is_logo/logo_programming.html
Лого програмски језик, дијалекат од Лиспа, осмишљен је као средство за учење. Његове особине - интерактивност, модуларност, могућност проширења, флексибилност типова података - пратите од овог циља.
Иако постоје неке верзије Лога који се компајлирају, оне се углавном спроводе као интерпретирани језик. Интерактивност овог приступа кориснику пружа непосредну повратну информацију о појединачним инструкцијама, и помагже у дебаговању и процесу учења. Поруке од грешака су описне. На пример
fowad
I don't know how to fowad
(Реч фовад није примитивна - то је једна Лого уврштених речи - нити је поступак који је дефинисан)
forward
Not enough inputs to forward
(Сада када сте је исправно написали, Лого зна реч напред али не и да покрене ваше инструкције, јер напред захтева додатне информације)
forward 100
(Лого је срећан. Нема порука о грешци. Корњача се помера напред 100 корака)
Лого Програми су обично збирке малих процедура. Генерално, поступци су дефинисани писањем у текст едитору. Посебну реч да прати име поступка. Накнадне линије формирају поступак дефиниције. Реч завршите сигнализира да сте завршили.
У нашем Графика корњаче примеру дефинисали смо процедуру за цртање квадрата
to square
repeat 4 [forward 50 right 90]
end
и користи га као субпроцедуру другог поступка
to flower
repeat 36 [right 10 square]
end
Слично томе, цвет би могао да буде камен темељац нечег већег
to garden
repeat 25 [set-random-position flower]
end
Не, сет случајна-позиција није примитивна, али случајнa јесте и исто тако је сетпоситион (или сетпос или сетки). Или можете да напишете подесите Рандом-позицију користећи напред и десно са рандом.
Једном кад се Лого поступак дефинише то ради као и Лого примитивне. У ствари, када погледате Лого програме не постоји начин да се зна које речи су примитивне и које су кориснички дефинисане осим ако знате одређену Лого имплементацију. У нашој језичком примеру користили смо поступак покупити да насумично одаберете неку ставку из листе, на пример у поступку који.
to who
output pick [Sandy Dale Dana Chris]
end
У неким верзијама Лога изабери је примитивна, док у другима морате да је сами напишете. Ко ће изгледати и радити на исти у сваком случају.
Лого вам дозвољава да изградите комплексне пројекте у малим корацима. Програмирање у Логу се врши додавањем свог вокабулара, учећи га нове речи у смислу речи које већ зна. На овај начин је сличан начину на који људи уче говорни језик.
Лого ради са речима и листама. Лого реч је веза знакова. Лого листа је наређена збирка речи и или листе. Бројеви су речи, али они су посебни, јер можете да урадите ствари као што је аритметика са њима.
Многи програмски језици су веома строги у вези жеље да тачно знају коју врсту података ви тврдите да користите. То чини ствари лакшим за рачунар, али је теже за програмера. Пре додавања неколико бројева можда ћете морати да наведете да ли су цели или реални бројеви. Рачунар мора да зна такве ствари. Али већина људи не размишљају о овоме тако да Лого брине о њему за вас. Када је упитан да уради аритметику Лого га једноставно уради.
print 3 + 4
7
print 3 / 4
.75
Ако нисте фамилијарни са Логом, али радите у другим програмским језицима, следећи редослед може вас изненадити:
print word "apple "sauce
applesauce
print word "3 "4
34
print 12 + word "3 "4
46
Ево је рекурзивна процедура која израчунава факторе:
to factorial :number
if :number = 1 [output 1]
output :number * factorial :number - 1
end
print factorial 3
6
print factorial 5
120
Ево је процедура да поништи листу речи
to reverse :stuff
ifelse equal? count :stuff 1
[output first :stuff]
[output sentence reverse butfirst :stuff first :stuff]
end
print reverse [apples and pears]
pears and apples
Такође, можда ћете хтети да погледате Бриан Харвијев занимљив Лого пример.
Карактеристике које су илустроване су заједничке за све верзије Логоа. Неке Лого имплементације укључују напредне језичке карактеристике.
Постојао је објектно-оријентисани Лого назван Објекат Лого за Макинтош.
МицроВорлдс Лого укључује мултитаскинг, тако да неколико независних процеса може бити истовремено рађени. Иста способност је у софтверу за Контролу Лабораторије, Лего Лого производа. А још више масивнији паралелни Лого је СтарЛого.
У традиционалном Логу команда за корњаче
repeat 9999 [forward 1 right 1]
ће потрајати неко време да се изврши. Инструкција
repeat 9999 [forward 1 right 1] print "HELLO ће изазвати реч ЗДРАВО да се појави после кретња корњаче.
У МицроВорлдс Лого куцању
launch [repeat 9999 [forward 1 right 1]] print "HELLO
ће покренути корњачу. Реч
ЗДРАВО ће се појавити чим се први процес покрене. Или
forever [forward 1 right 1] print "HELLO
ће покренути процес који ће се наставити док га не заустави. Опет, реч ЗДРАВО ће се појавити чим процес корњаче је покренут.
Да бисте сазнали више о Лого програмском језику погледајте Брајан Харвијев три издања Компјутер Сциенце Лого Стил и Мајкл Фриендлијев Напредни Лого. Ако немате Лого и желите да почнете, можда ћете желети да погледате на нашем Лого Софтвер страници. Или, једноставно можете преузети УЦБЛого, МСВЛого, ФМСЛого, или СтарЛого сада.