Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Informatika Java programiranje, Maturalni radovi od Računarstvo i informatika

Pojam programa Računarski program, softverski program ili jednostavno program (eng. Computer program; software program, program) je spisak naredbi napisan u nekom programskom jeziku namijenjen za određenu računarsku platformu. Računarski programi napisani u nekom programskom jeziku su razumljivi čovjeku, ali te naredbe ne razumije i računar, zbog toga se kod računarskog programa pomoću kompajlera mora prevesti u binarni kod da bi ga računar razumio i uopšte izvršavao.

Tipologija: Maturalni radovi

2018/2019

Učitan datuma 14.04.2019.

sladjana123
sladjana123 🇧🇦

2 dokumenti

1 / 15

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Sadržaj
Pojam programa
Programiranje
Programski jezici
JavaScript
Izvori
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Delimični pregled teksta

Preuzmite Informatika Java programiranje i više Maturalni radovi u PDF od Računarstvo i informatika samo na Docsity!

Sadržaj

Pojam programa Programiranje Programski jezici JavaScript Izvori

Pojam programa

Računarski program, softverski program ili jednostavno program (eng. Computer program; software program, program) je spisak naredbi napisan u nekom programskom jeziku namijenjen za određenu računarsku platformu. Računarski programi napisani u nekom programskom jeziku su razumljivi čovjeku, ali te naredbe ne razumije i računar, zbog toga se kod računarskog programa pomoću kompajlera mora prevesti u binarni kod da bi ga računar razumio i uopšte izvršavao.

Primjer računarskog programa

  • AdresaOznak a - Naredba • • Binarni kod • [1]

.begin .org 2048 a_start .equ 3000 2048 ld [length],&r1 11000010 00000000 00101000 00101100 2052 ld [address],%r2 11000100 00000000 00101000 00110000 2056 addcc %r3,%r0,% r

10000110 10001000 11000000 00000000

2060 loop: addcc %r1,%r1,% r

10000000 10001000 01000000 00000001 2064 be done 00000010 10000000 00000000 00000110 2068 addcc %r1,-4,%r1 10000010 10000000 01111111 11111100 2072 addcc %r1,%r2,% r

10001000 10000000 01000000 00000010 2076 ld %r4,%r5 11001010 00000001 00000000 00000000 2080 ba loop 00010000 10111111 11111111 11111011 2084 addcc %r3,%r5,% r

10000110 10000000 11000000 00000101

2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100 2092 length: 20 00000000 00000000 00000000 00010100 2096 address: a_start 00000000 00000000 00001011 10111000 .org a_start 3000 a: 25 00000000 00000000 00000000 00011001 3004 -10 11111111 11111111 11111111 11110110 3008 33 00000000 00000000 00000000 00100001 3012 -5 11111111 11111111 11111111 11111011 3016 7 00000000 00000000 00000000 00000111 .end

Najpoznatiji primjer je poznati Hello world program, koji pokazuje osnovne naredbe nekog programskog jezika. Računar u toku svog rada prepoznaje i izvršava u procesoru određeni broj elementarnih operacije koje se nazivaju mašinske instrukcije.

Programiranje

Programiranje ili računarsko programiranje (eng. programming) jeste vještina pomoću koje korisnik stvara i izvršava algoritme koristeći određene programske jezike da bi napravio računarski program. Programiranje sadrži elemente umjetnosti, nauke, matematike i konstruisanja. Pri izradi svakog programa potrebno je proći kroz 4 osnovne faze ili koraka:

  • Analiza problema
  • Kreiranje algoritma (crtanje dijagrama toka)
  • Pisanje programskog koda
  • Unos programskog koda u računar i pokretanje programa

Prvi korak u izradi računarskog programa je analiza potreba, razmatranje situacije i problem koji treba riješiti definisati preko jednačina, uslova i kroz tzv. pseudo algoritam. Programeru mora biti jasno kako će se dešavati promjene, zavisnosti, uzroci i posljedice, da bi sve to prenio i precizirao kroz programski kod. Sve mora biti matematički precizirano. Kod jednostavnijih programa ovaj dio je u domenu usmene analize, dok se kod složenijih programa ovaj dio radi u pisanoj i simboličkoj formi uz uredno dokumentiranje svih promjena ( ovaj dio spada u domen softverskog inženjerstva).

Kreiranje algoritma

Riječ algoritam potiče od imena arapskog matematičara Al Harizmija koji se smatra tvorcem algoritma kao skupom precizno definisanih pravila za izvršavanje aritmetičkih operacija. Algoritam je procedura (postupak) sa skupom jasno definisanih koraka koji nedvosmisleno vode ka rješenju problema. Svaki algoritam mora ispoštovati 5 osnovnih zakonitosti algoritma:

  • Definisanost (svi koraci moraju biti jasni i nedvosmisleni)
  • Konačnost (izvršenje algoritma se mora obaviti u određenom broju koraka)
  • (^) Posjedovanje ulaza i izlaza ( moraju se definisati ulazi kojih može biti: ni jedan, jedan ili više i izlazi kojih mora biti bar jedan ili više)
  • Efikasnost (algoritam se izvršava u razumnom vremenskom intervalu)
  • Rezultativnost (algoritam mora dati rješenje problema a ako nema rješenja onda poruku da rješenje ne postoji).

Pisanje programskog koda

Nakon završetka algoritma, pristupa se pisanju programskog koda na papiru. U ovom koraku se svaki korak algoritma prevodi u odgovarajuću komandu u programskom jeziku u kojem se piše.

Unos koda u računar i testiranje programa

Kada su izvršene sve (analitičke) pripreme i ručno ispisan kod potrebno ga je unijeti u računar prilagođavajući programskom alatu u kojem će se program testirati i izvršavati. Svaki programski jezik ima svoj editor koji omogućuje unos programskog koda tzv. Izvorni kod uz kontrolu ispravnosti ispisa ključnih riječi i sintakse uopće. Uz editor u svakom programskom alatu nalazi se i interpreter koji omogućava testiranje svake linije koda ili koda u cjelini kako bi se blagovremeno otklonile eventualne greške u sintaksi ili definisanim varijablama, dimenzionisanju varijabli i sl. Nakon unosa kompletnog programa u računar program se treba pokrenuti da bi se vidjelo da li radi. Program se treba više puta pokrenuti da bi se vidjelo da li program radi za različite ulazne vrijednosti,a ovo podrazumjeva i sve granične vrijednosti.

Algoritamske strukture se dijele u tri osnovne grupe:

  • Linijska (sekvencija)
  • Razgranata (selekcija)
  • Ciklična (iteracija)

Stvaranje nekog programa uključuje još i:

  • Analizu potreba
  • Tehnički opis
  • Dizajn i Arhitekturu
  • Kodiranje
  • Prevođenje
  • Isprobavanje
  • Dokumentaciju
  • Održavanje

Dijele se na:

  1. Algoritamske programske jezike
  2. Problemski orjentisani jezici- za posebne oblasti primene

Istorijat programskih jezika

Sve je počelo sa strojnim jezicima (asemblerima), koji su se brzo izvršavali, ali sporo pisali, te se danas samo kritični dijelovi operativnih sustava pišu na taj način.

    1. pojavio se Fortran, razvio ga je John Backus u IBM-u.
  • Iza Fortrana prvi se pojavio Algol, u kasnim 1950-im
  • bili su to jezici nezgrapne sintakse, zato su došli Cobol 1960. i Basic 1964. godine sa svojom sintaksom koja sliči na engleski jezik
  • dolazi vrijeme za razvoj "pravih" programskih jezika: Pascal Niklausa Wirtha i C Kena Thompsona i Dennisa Ritchie-a.
  • (^) 1974. za potrebe vojske SAD-a razvijena je Ada
  • OOP kuca na vrata: 1980. tu je Smalltalk-80, a 1985. pojavila se prva implementacija C++ koji je zamislio Bjarne Stroustrup.
    1. Larry Wall je stvorio Perl
    1. Guido van Rossum je izbacio konkurenciju Perlu, Python
    1. pojavio se PHP Rasmusa Lerdorfa, koji je prvenstveno namijenjen kreiranju web aplikacija, (nešto poput JSPa i ASP-a za Javu i VisualBasic, respektivno)
    1. pojavila se Java tvrtke Sun Microsystems
  • krajem 1999. godine pojavio se D, koji je zanimljiva mješavina programskih jezika C, C++ i Jave

JavaScript

JavaScript , takođe poznat kao ECMAScript je dinamični programski jezik. On se najčešće koristi kao dio web browsera, čija implementacija omogućava omogućava skripte na klijentskoj strani da vrše interakciju s korisnikom, kontrolišu browser, komuniciraju asinhrono, i mijenjanje sadržaja dokumenta koja se prikazuje. Takođe se koristi u server-side programiranju mreže sa runtime okruženjima kao Node.js , razvoju igara i stvaranju desktop i mobilnih aplikacija. JavaScript je klasificiran kao prototipno baziran skripti jezik s dinamičnim kucanjem i first-class funkcije. Ova mješavina karakteristika čini multi-paradigmičnim jezikom, koji podržava objektno orijentirane, imperativne, i funkcionalne stilove programiranja. Uprkos malim sličnostima, Java i JavaScript su veoma različiti i imaju veoma različite semantike. Sintaksa JavaScripta vuče korijene iz C-a, dok semantika i dizajn vode porijeklo od Self i Scheme programskih jezika. JavaScript se takođe koristi u sredinama koje nisu zasnovane na web, kao što su PDF dokumenti, pretraživači specifične za sajt, i desktop widgete. Noviji i brži JavaScript virtualnih strojeva (VM) i platforme izgrađene na njima su takođe povećale popularnost JavaScript-a za serversku stranu web aplikacija. JavaScript je standardizovan u ECMAScript specifikaciji jezika.

e 1.0 mart 1996. 2.0 3. 1.1 avgust

1.2 juni 1997. 4.0 - 4. 1.3 oktobar

4.06 4.

1.4 Netscape Server 1.5 novembar

6.0 1.0 5.5(JScript 5.5), 6 (JScript 5.6), 7( JScript 5.7), 8 (JScript 5.8)

1.0 6.0, 7.0, 8.0, 9.0,

3.0, 3.1, 3.2,

1.6 novembar

1.7 oktobar

1.8 juni 2008. 3. 1.8.1 3. 1.8.2 3. 1.9 4

Karakteristike

JavaScript podržava mnogo od strukturne programske sintakse iz C-a (npr. if uslovi, while petlje, switch uslovi, do while petlje...), Jedini izuzetak je scoping: block scoping iz C- a nije podržan, umjesto toga, JavaScript ima function scoping. Kucanje je, kao u većini skriptnih jezika, dinamično. Tipovi se vežu uz vrijednosti, ne za varijable. Npr. varijabla x se može vezati za broj, a kasnije se pretvoriti u string. JavaScript podržava razne načine testiranja tipa objekta, uključujući duck typing. JavaScript je skoro potpuno baziran na objektivna. JavaScript objekti su asocijativni nizovi. Podržavaju dvije sintakse: tačkastu notaciju (obj.x = 10) i notaciju sa zagradama (obj [‘x’] = 10). Osobine i njihove vrijednosti mogu biti dodavane, mijenjane ili obrisane u run- time-u. Većina osobina objekta (i one na prototype nasljednom lancu) može biti nabrojano koristeći for...in petlju. JavaScript posjeduje mali broj ugrađenih objekata kao što su Function i Date. JavaScript uključuje eval funkciju koja može izvršavati linije kao stringove u run- time-u. Funkcije su first-class; same po sebi su objekti. Kao takve, imaju svoje osobine i metode, kao .call() i .bind(). Ugnježdena funkcija je funkcija definisana unutar druge funkcije. Kreirana je svaki put kada je spoljašnja funkcija pozvana. JavaScript podržava i anonimne funkcije. JavaScript koristi prototipe za nasljeđivanje umjesto klasa. Moguće je simulirati mnoge karakteristike bazirane na klasa uz pomoć prototipa.

Funkcije djeluju i kao konstruktori objekata zajedno sa njihovom tipičnom ulogom. Prefiksovanjem poziva funkcije sa new napraviće verziju prototipa, naslijediti osobine i metode iz konstruktora (uključujući osobine iz Object prototipa). ECMAScript 5 nudi Object.create metodu, koja dozvoljava eksplicitno stvaranje verzije bez automatskom nasljeđivanja iz Object prototipa (starija orkuženja mogu odrediti vrijednost prototipa na null). Nove metode se mogu dodati mijenjanjem prototipa funkcije koja je korištena kao konstruktor. Ugrađeni konstruktori JavaScripta-a, kao što su Array ili Object, takođe imaju prototipe koji se mogu modifikovati. Iako jeste moguće modifikovati Object prototip, to se generalno smatra lošom navikom zato što većina objekata u JavaScriptu će naslijediti metode i osobine iz Object prototipa i možda neće očekivati promjene u njemu. Za razliku od mnogih objektno-orjentisanih jezika, ne postoji razlika između definisanja funkcije i definisanja metode. Umjesto toga, razlika se pojavljuje tokom poziva funkcije; kada se funkcija poziva kao metod objekta, funkcijina lokalna this ključna riječ je vezana za taj objekat tokom tog poziva. JavaScript se uglavnom oslanja na run-time okruženja, kao što su web browseri, kako bi pokrenuo objekte i metode, čije skripte mogu interaktivno komunicirati sa okruženjem. Takođe, JavaScriptu je potrebno run-time okruženje kako bi mogao da importuje skripte (kao što je HTML-ov var i, x = 0; for (i = 0; i < arguments.length; ++i) { x += arguments[i]; } return x; } sum(1, 2, 3); // vraća 6

Složeniji primjeri

Ovaj primjer koda prikazuje razne mogućnosti JavaScripta.

/* pronalazi najmanji zajednički sadržilac(LCM – lowest common multiple) dva broja */ function LCMCalculator(x, y) { // konstruktor funkcije var checkInt = function (x) { // unutrašnja funkcija if (x % 1 !== 0) { throw new TypeError(x + " nije integer"); // izbacuje izuzetak } return x; }; this .a = checkInt(x) // tačka-zarez nije neophodna, nova linija je dovoljna this .b = checkInt(y); } LCMCalculator. prototype = constructor: LCMCalculator, // gcd: function () { // metod koji računa najveći zajednički djelilac // Euklidov algoritam: var a = Math.abs( this .a), b = Math.abs( this .b), t; if (a < b) { // zamjena varijabli t = b; b = a; a = t; } while (b !== 0) { t = b; b = a % b; a = t; } // 'gcd' === "gcd", this['gcd'] === this.gcd this ['gcd'] = function () { return a; }; return a; }, // nazivi osobina objekta mogu biti određeni stringovima ograničenim navodnicima (") ili apostrofom (') lcm : function () { // nazivi varijabli se ne sudaraju sa osobinama objekta, npr., |lcm| nije |this.lcm|.

var lcm = this .a / this .gcd() * this .b; this .lcm = function () { return lcm; };