Рачунарски програм

Рачунарски програм (енгл. Computer program) је запис чија је намена да оствари одређене промене на рачунару.[1] У декларативном програмирању, рачунарски програм је скуп инструкција.

Рачунарске програме интерпретира или, у специјалном случају, директно извршава рачунар. Последица процеса интерпретације су поменуте промене на рачунару. Уско повезани са програмима су програмски језици. У оквиру програмских језика одређена су строга правила по којима програм мора да буде написан. Програм може да створи човек током процеса који се зове програмирање. Програм такође може да направи и други програм током свог извршавања на рачунару.

Компјутерски програм у свом човеку читљивом облику назива се изворни код. Изворном коду је потребан други рачунарски програм да би се извршио, јер рачунари могу да извршавају само своје матичне машинске инструкције. Стога се изворни код може превести у машинске инструкције коришћењем компајлера језика. (Програми на машинском језику се преводе помоћу асемблера.) Добијена датотека се назива извршна датотека. Алтернативно, изворни код може да се изврши унутар тумача језика. Програмски језик Јава се компајлира у средњи облик који затим га извршава Јава интерпретатор.[2]

Ако се извршни фајл захтева за извршење, оперативни систем га учитава у меморију и покреће процес.[3] Централна процесорска јединица затим прелази на овај процес како би могла да преузме, декодира и затим изврши сваку машинску инструкцију.[4]

Историја

уреди

Аналитичка машина

уреди
 
Лавлејсов дијаграм из Напомен Г, првог објављеног компјутерског алгоритма.[5][6]

Године 1837, Чарлс Бебиџ је био инспирисан Жакардовим разбојом да покуша да направи аналитичку машину.[7] Називи компоненти рачунског уређаја су позајмљени из текстилне индустрије. У текстилној индустрији предиво се довозило из складишта на обраду. Уређај је имао „складиште“ која је било меморија за 1.000 бројева од по 40 децималних цифара. Бројеви из „складишта” преношени у „млин” на обраду. Програмиран је помоћу два сета перфорираних картица. Један сет за усмеравање операције, а други за улазне варијабле.[7][8] Међутим, након више од 17.000 фунти улагања британске владе, хиљаде назубљених точкова и зупчаника никада нису у потпуности функционисали.[9]

Током деветомесечног периода 1842–43, Ејда Кинг Лавлејс је превела мемоаре италијанског математичара Луиђија Менабреа. Мемоари су покривали Аналитичку машину. Превод је садржао напомену Г која је у потпуности описала метод за израчунавање Бернулијевих бројева помоћу аналитичке машине. Неки историчари сматрају да је ова белешка први писани компјутерски програм на свету.[10]

Универзална Тјурингова машина

уреди
 

Године 1936, Алан Тјуринг је представио Универзалну Тјурингову машину — теоретски уређај који може да моделује свако прорачунавање које се може извести на комплетној Тјуринговој рачунарској машини.[11] То је машина коначног стања која има бесконачно дугу траку за читање/писање. Машина може да помера траку напред-назад, мењајући њен садржај док извршава алгоритам. Машина се покреће у почетном стању, пролази кроз низ корака и зауставља се када наиђе на стање заустављања.[12]

Рачунари засновани на релеју

уреди

Рачунар З3, који је изумео Конрад Зус (1941), био је дигитални и програмабилни рачунар.[13] Зус је упознат са „Бабиџовом машином“ 1939. године док је покушавао да поднесе немачки патент.[13] Аналитичка машина је користила базу-10 — што је било лако разумети. Зус је препознао да је бинарну машину лако конструисати. Телефонски релеји су прекидачи са два положаја - отворени или затворени. З3 је имао приближно 2.600 релеја: 1.800 за меморију, 600 за аритметику и 200 за читач бушене траке, тастатуру и екран.[13] Кола су обезбедила рачунар са помичним зарезом са девет инструкција. Програмирање З3 се вршило помоћу посебно дизајниране тастатуре и бушене траке. Ручни унос је био преко тастатуре у стилу калкулатора која је прихватала децималне бројеве. Машина је конвертовала улаз у бинарни и проследила то кроз низ модула за рачунање.[9] Резултат је поново конвертован у децимални и приказан на излазној табли.[13]

Истовремено је развијен његов наследник — рачунар З4. (У ваздушном нападу 6. априла 1945. уништен је З3.) Године 1950. З4 је пуштен у производњу у Савезном техничком институту у Цириху.

Харвард Марк I, који је изумео ИБМ (1944), такође је био дигитални и програмабилни рачунар.[14] Рачунар је подржавао знаковне целе бројеве са 23 цифре и имао је седам главних јединица:[15]

Примери програма

уреди

Програме можемо да поделимо према програмском језику у коме су написани. Програми писани у програмским језицима прилагођеним у потпуности рачунару, такозваним машинским програмским језицима, су човеку готово нечитљиви. Постоји велики број програмских језика прилагођених човеку. Обично се визуелно представљају у облику текста. Други начин представљања који полако постаје све заступљинији, је у облику слика које представљају градивне блокове програма.

Следи пример једноставног програма писаног пајтон програмским језиком који исписује „Здраво свете!“

print('Здраво свете!')

Следећи програм писан у програмском језику гоу остварује сличне промене на рачунару као претходни:

package main

import "fmt"

func main() {
	fmt.Printf("Здраво свете!\n")
}

Следи пример програма у скрач језику. Ефекат једног тренутка интерпретације видљив је у десном делу слике. Маца броји уназад од сто до један. Приказ програма се налази у средњем делу слике. У левом делу виде се неки градивни блокови програма.

 
Извршење скрач програма у коме маца броји уназад од сто до један. У средњем делу се види код програма.

Референце

уреди
  1. ^ „The Free Dictionary: computer program”. Farlex. Приступљено 14. 11. 2021. 
  2. ^ Wilson, Leslie B. (2001). Comparative Programming Languages, Third Edition. Addison-Wesley. стр. 7. ISBN 0-201-71012-9. 
  3. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. стр. 98. ISBN 978-0-201-50480-4. 
  4. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. стр. 32. ISBN 978-0-13-854662-5. 
  5. ^ Simonite, Tom (24. 3. 2009). „Short Sharp Science: Celebrating Ada Lovelace: the 'world's first programmer'. New Scientist. Архивирано из оригинала 27. 3. 2009. г. 
  6. ^ Parker, Matt (2014). Things to Make and Do in the Fourth Dimension. Farrar, Straus & Giroux. стр. 261. ISBN 978-0-374-27565-5. 
  7. ^ а б McCartney, Scott (1999). ENIAC – The Triumphs and Tragedies of the World's First Computer. Walker and Company. стр. 16. ISBN 978-0-8027-1348-3. 
  8. ^ Bromley, Allan G. (1998). „Charles Babbage's Analytical Engine, 1838” (PDF). IEEE Annals of the History of Computing. 20 (4): 29—45. S2CID 2285332. doi:10.1109/85.728228. 
  9. ^ а б Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. стр. 15. ISBN 978-0-13-854662-5. 
  10. ^ J. Fuegi; J. Francis (2003), „Lovelace & Babbage and the creation of the 1843 'notes'”, Annals of the History of Computing, 25 (4): 16, 19, 25, doi:10.1109/MAHC.2003.1253887 
  11. ^ Rosen, Kenneth H. (1991). Discrete Mathematics and Its Applications. McGraw-Hill, Inc. стр. 654. ISBN 978-0-07-053744-6. 
  12. ^ Linz, Peter (1990). An Introduction to Formal Languages and Automata. D. C. Heath and Company. стр. 234. ISBN 978-0-669-17342-0. 
  13. ^ а б в г „Computers in Germany”. American Federation of Information Processing Societies. Приступљено 26. 11. 2021. 
  14. ^ „IBM Archives - Mark I Description”. International Business Machines. 23. 1. 2003. Приступљено 1. 1. 2022. 
  15. ^ „IBM Archives -- Mark I Specification”. International Business Machines. 23. 1. 2003. Приступљено 1. 1. 2022. 

Литература

уреди

Спољашње везе

уреди