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


Uvod u programiranje, Rezime od Programiranje

Skripte uvoda u programiranje, prvih visih programskih jezika...

Tipologija: Rezime

2018/2019

Učitan datuma 20.11.2019.

teodoratj
teodoratj 🇸🇷

4.8

(13)

24 dokumenti

1 / 7

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
PROGRAMIRANJE
Programiranje u današnjem smislu nastalo je sa pojavom fon Nojmanovog tipa.
Moglo je da se programira samo na mašinski zavisnim programskim jezicima.
Jezici višeg nivoa nastaju nakon polovine 1950ih i drastično su olakšali programiranje.
„Računar sa uskladištenim programom u kome bi instrukcije računara bile uskladištene na isti način kao i
podaci.“
Na ovakvoj zamisli se kasnije zasnivala konstrukcija računara, Fon Nojmanova arhitektura.
Memorija sadrži instrukcije i podatke.
Viši programski jezici namenjeni su ljudima, ne mašinama.
Specijalizovani programi koji mogu automatski da proizvedu mašinski kod za specifičan računar na kome se
programi izvršavaju su:
Jezički procesori
Programski prevodioci
Kompajleri
Omogućena je prenosivost programa i olakšano je programiranje.
FAZE:
Planiranje
Pisanje– unošenje programa na višem programskom jeziku (izvorni program,izvorni kod ili source
code)
Prevođenje – dobija se prevedeni kod na mašinskom jeziku (object code)
--programski prevodilac
Povezivanje- više objektivnih programa povezuje se objektivnim kodom iz standardne
biblioteke u celinu (executable program). Povezivanje vrši linker.
Kreiran je program u izvršnom obliku (izvršava se)
PRVI VIŠI PROGRAMSKI JEZICI:
FORTRAN (1953-1957) – Unete matematičke formule prevodi u niz instrukcijakoje računar može
da izvrši . Autor je Džon Bakus koji je implementirao i prvi kompajler za ovaj jezik
LISP- Džon Mekarti, veštačka inteligencija
COBOL- (krajem 1950), oblast poslovanja, *GoTo naredba(skokovi u programima), teško razumeti
i održavati program
ALGOL 60 – (Krajem 1950ih), uneo mnoge koncepte prisutne u skoro svim današnjim jezicima
C-( Tokom 1970ih), osnovni jezik sistemskog programiranja
PASCAL- (1970ih), cilj je da ohrabri strukturno programiranje koje se idalje koristi
Dolazi do nastanka objektivno-orjentisanih jezika koji olakšavaju izradu velikih programa i podelu posla
u velikim programskim timovima
C++ - (1980ih), nadograđuje jezik C objektivno-orjentisanim konceptima
JAVA- (1990ih), pod uticajem interneta, osnovna ideja je prenosivost izvršnog koga između
heterogenih računarskih sistema
C#- (1990ih), Microsoft je započeo razvoj, koristio se za programiranje Windows aplikacija
PHP, Java Script, Python, Ruby – pojavom veba, to su skript jezici
PROGRAMSKA PARADIGMA
Određuje stil ili način programiranja
Pogled koji programer ima nad programom i njegovim izvršavanjem.
Najznačajnije su:
1. Imperativna (C, Pascal, Fortran, Basic)
pf3
pf4
pf5

Delimični pregled teksta

Preuzmite Uvod u programiranje i više Rezime u PDF od Programiranje samo na Docsity!

PROGRAMIRANJE

Programiranje u današnjem smislu nastalo je sa pojavom fon Nojmanovog tipa. Moglo je da se programira samo na mašinski zavisnim programskim jezicima. Jezici višeg nivoa nastaju nakon polovine 1950ih i drastično su olakšali programiranje.

„Računar sa uskladištenim programom u kome bi instrukcije računara bile uskladištene na isti način kao i podaci.“ Na ovakvoj zamisli se kasnije zasnivala konstrukcija računara, Fon Nojmanova arhitektura. Memorija sadrži instrukcije i podatke.

Viši programski jezici namenjeni su ljudima, ne mašinama. Specijalizovani programi koji mogu automatski da proizvedu mašinski kod za specifičan računar na kome se programi izvršavaju su:

  • Jezički procesori
  • Programski prevodioci
  • Kompajleri

Omogućena je prenosivost programa i olakšano je programiranje.

FAZE:

  • Planiranje
  • Pisanje– unošenje programa na višem programskom jeziku (izvorni program,izvorni kod ili source code)
  • Prevođenje – dobija se prevedeni kod na mašinskom jeziku (object code) --programski prevodilac
  • Povezivanje- više objektivnih programa povezuje se objektivnim kodom iz standardne biblioteke u celinu (executable program). Povezivanje vrši linker.
  • Kreiran je program u izvršnom obliku (izvršava se)

PRVI VIŠI PROGRAMSKI JEZICI:

  • FORTRAN (1953-1957) – Unete matematičke formule prevodi u niz instrukcijakoje računar može da izvrši. Autor je Džon Bakus koji je implementirao i prvi kompajler za ovaj jezik
  • LISP- Džon Mekarti, veštačka inteligencija
  • COBOL- (krajem 1950), oblast poslovanja, *GoTo naredba(skokovi u programima), teško razumeti i održavati program
  • ALGOL 60 – (Krajem 1950ih), uneo mnoge koncepte prisutne u skoro svim današnjim jezicima
  • C-( Tokom 1970ih), osnovni jezik sistemskog programiranja
  • PASCAL- (1970ih), cilj je da ohrabri strukturno programiranje koje se idalje koristi

Dolazi do nastanka objektivno-orjentisanih jezika koji olakšavaju izradu velikih programa i podelu posla u velikim programskim timovima

  • C++ - (1980ih), nadograđuje jezik C objektivno-orjentisanim konceptima
  • JAVA- (1990ih), pod uticajem interneta, osnovna ideja je prenosivost izvršnog koga između heterogenih računarskih sistema
  • C#- (1990ih), Microsoft je započeo razvoj, koristio se za programiranje Windows aplikacija
  • PHP, Java Script, Python, Ruby – pojavom veba, to su skript jezici

PROGRAMSKA PARADIGMA

Određuje stil ili način programiranja Pogled koji programer ima nad programom i njegovim izvršavanjem. Najznačajnije su:

  1. Imperativna (C, Pascal, Fortran, Basic)
  1. Objektno-orjentisana (C++, Java, C#)
  2. Funkcionalna (Lisp, Haskell, ML)
  3. Logička (Prolog)

Imperativni programski jezik Stanje programa karakterišu promenljive kojima se predstavljaju podaci i naredbe kojima se vrše određene transformacije promenljivih

Objektno-orjentisana paradigma Zasnovana je na skupu objekata koji imaju međusobnu interakciju. Obezbeđuje alate pomoću kojih programer predstavlja objekte tj. elemente u prostoru problema.Omogućeno je da se problem rešava sa ugla problema a ne računara

Sintaksa – bavi se pitanjem ispravnosti programa. Načinima za kombinovanje osnovnih elemenata jezika u ispravne jezičke konstrukcije

Leksika (podoblast sintakse)- bavi se opisivanjem osnovnih gradivnih elemenata jezika

Semantika – bavi se pitanjem značenja programa

Leksički analizator – deo programskog prevodioca koji se bavi leksikom programa

Sintaksički analizator - deo programskog prevodioca koji se bavi sintaksom programa

Semantika za dati program opisuje koje je izračunavanje opisano tim programom. Postoje statička i dinamična semantika.

Jezički procesori (programski prevodioci)

Analiziraju leksičku, sintaksičku i donekle semantičku ispravnost programa. Na osnovu ispravnog ulaznog programa generišu kod na mašinskom jeziku (vrši izračunavanje koje je opisano na višem programskom jeziku)

Da bi konstrukcija jezičkih procesora bila moguća potrebno je imati precizni opis leksike, sintakse i semantike.

KOMPAJLERI - faza prevođenja potpuno razdvojene

  • faza izvršavanja

INTERPRETATORI -faza prevođenja isprepletane

  • faza izvršavanja

OSNOVNO O JEZIKU C

-Nastao je 1972 godine. -Razvio ga je Denis Riči.

  • Provobitna namena mu je za pisanje sistemskog softvera u okviru operativnog sistema UNIX. -U razvoju se insistiralo na prenosivosti koda i standardizaciji. -Spada u grupu proceduralnih jezika. -Programerima nudi ditektan pristup memoriji i njegove konstrukcije se prevode na mašinski jezik. -Kreiran je u minimalističkom duhu-ima mali broj ključnih reči.
  • Standard K&R – Bojan Kerninger i Denis Riči (1978)
  • Standard ANSI C i ISO C – Predstavljaju zvaničku standardizaciju jezika C

Naredba RETURN O prekida funkciju MAIN i kao njen rezultat vraća vrednost INT a.^ – Deklaracija promenljive, uveli smo promenljivu „a“ celobrojnog tipa INT SCANF_S – Omogućava učitavanje vrednosti neke promenljive sa standardnog ulaza

% ili % d – celobrojna vrednost

Specifikator Tip Napomena % d int dekadni ispis % f float, double ispis bez eksponenta % Lf long, double ispis bez eksponenta % hd short dekadni ispis % lf long dekadni ispis % c char ispis karaktera

___ - tabulator (razmak)

___ - novi red

%% - ispis znaka %

___ - ispis znaka _

___ - ispis znaka “

%3c – štampa karakter u tri pozicije u desno _ _!

%3d – štampanje broja na 3 pozicije ili %6 na 6 pozicija

%f – štampa kao realan broj

%6f – štampa kao realan broj širok najviše 6 znakova

%2f – štampa kao realan broj sa 2 decimale

%6.2f – štampa kao realan broj širok najviše 6 znakova pri čemu su 2 iza decimala

a%2 – ostatak pri deljenju

a%2= = 0 – deljenje ako je ostatak =

SQRT – za računanje kvadratnog korena

Naredbe i kontrola toka

Naredbe su osnovni elemnti kojima se upisuju izračunavanja u programima. Naredbe se izvršavaju sekvencijalno tj.odozgo na dole. Izmena naredbe se vrši pomoću upravljačkih naredbi. U njih spadaju:

a. Naredbe primanja ili selekcije – omogućavaju izvršenja određenih naredbi u zavisnosti od ispunjenja, odnosno neispunjenja datih uslova (IF else/ switch) b. Naredbe ponavljanja – omogućavaju da se __ skup naredbi izvršava (petlje, ciklusi ili interacija) više puta (for / while)

Osnovni oblik naredbe koji se javlja u C-u je naredba izraza.

Svaki izraz završen karakterom .;“ je naredba.

Poseban slučaj osnovne programske naredbe je prazna naredba. Blok naredba ili sekvenca predstavlja skup programskih naredbi koje čine jednu celinu i koje se izvršavaju jedna za drugom. Piše se unutar vitičastih zagradi i ima opšti oblik.

Upotreba blok naredbi:

  • Za grupisanje više naredbi u jednu celinu
  • Kao telo neke funkcije
  • Za ograničavanje uloge određenih opisnih naredbi (definisanje ____) na jedan lokalni deo programa

1.Programske paradigme predstavljaju stil ili način programiranja.

Najznačajnije su:

  1. Imperativna
  2. Objektno-orjentisana
  3. Funkcionalna
  4. Logička 2. (^) Kratak pregled svih programskih jezika:
  • Fortran
  • PASCAL
  • LISP
  • C++
  • JAVA
  • C#
  • COBOL
  • ALGOL 60
  • C
  • (^) PHP, JAVA Script, Python 3. (^) Standardi jezika C:
  • Standard K&R
  • ANSI C (C89)^ i ISO C (C90)
  • C 99
  • C 11

4.CONST - koristimo kada imamo konstantnu vrednost koju nećemo menjati do kraja izvršavanja

programa.

18. (^) #define – zamenjuje tekst nekim drugim tekstom 19. (^) Vrste dosega:

a. Doseg nivoa datoteke b. Doseg nivoa bloka c. Doseg nivoa funkcije d. Doseg nivoa prototipa funkcije

Identifikatori koji imaju doseg nivoa datoteke su spoljašnji ili globalni, a identifikatiri ostalih (bloka) nazivaju se unutrašnji ili lokalni. Globalni i lokalni mogu imati isto ime funkcije – globalne

20. (^) Životni vek promenljive – deo vremena izvršenja programa kojim se garantuje da se za te promenljive

rezerviše deo promenljive i da se ta promenljiva može koristiti. Može biti:

  1. Statički
  2. Dinamički
  3. Automatski 21. (^) Kompajleri su programski prevodioci kod kojih su faze razdvojene. Generišu izvršni kod i dodatno ga

optimizuju, a zatim čuvaju u vidu izvršnih datoteka. Jednom sačuvan mašinski kod može se izvršavati neograničen broj puta bez potrebe za ponovnim prevođenjem. Svaka izmena u izvršnom kodu zahteva ponovno prevođenje.

22. (^) Interpretatori – isprepletene. Rezultat se ne smešta u izvršene datoteke već prilikom svakog izvršavanja

neophodno je iznova izvršiti analizu izvornog koda. Prilikom malih izmena nije potrebno iznova izvršavati analizu celokupnog koda.