Programiranje I Predavanja Vebe Praktikumi Predispitne obaveze 50
Programiranje I
• Predavanja • Vežbe • Praktikumi • Predispitne obaveze – 50 poena • Ispit (Pismeni i usmeni) – 50 poena
Predispitne obaveze • Pohađanje predavanja, vežbi i praktikuma. – Izrada testova – Kolokvijum – Izrada seminarskih (eventualno) • Ispit – Zadaci (praktični deo) – Teorijski deo
Sadržaj kursa • Osnovni pojmovi i sadržaji računarstva • Programski jezik C - elementi sintakse i semantike • Tehnike programiranja
Literatura • B. W. Kernighan, D. M. Ritchie, C – programski jezik, CET, Beograd 2003. • C. L. Tondo, S. E. Gimpel, Programski jezik C – rešenja zadataka, CET, 2004. • P. Prinz, T. Ceawford, C za programere, Mikroknjiga, 2006. • S. Prata, C Primer Plus, Fifth Edition, Sams, 2004. • M. Čabarkapa, C-osnovi programiranja, Krug, Beograd, 1996. • R. Sedgewick, Algorithms in C, Addison-Wesley, 1998. • T. J. Godfrey, Applied C, The IBM Microcomputers, Prentice Halll, 1990.
• Šta su to informacione tehnologije?
Informacione tehnologije • Pod informacionim tehnologijama podrazumevaju se postupci, metode i tehnike prikupljanja, prenosa, obrade, čuvanja i prezentacije informacija.
• Informacija predstavlja formalnu reprezentaciju saznanja prihvatljivog za žive organizme ili mašine. • Podatak je re-interpretabilna reprezentacija činjenice ili ideje na formalni način pogodan za komunikaciju, interpretaciju ili obradu.
Podela IT-ja • Ulazne tehnologije • Komunikacione tehnologije • Računarske tehnologije • Izlazne tehnologije
• Računarstvo se u savremenom društvu razvija pre svega u okviru računarske tehnologije kao jedne od informacionih tehnologija. • Računarski sistem predstavlja tehnološku podršku informacionim sistemima.
• Računarstvo deli zajedničke naučne metode sa matematikom, prirodnim naukama i tehnikom. • Paradigma koja ga vezuje za matematiku je teorija, sa prirodnim naukama vezuje ga eksperimentalni naučni metod, dok je projektovanje zajedničko za računarstvo i tehniku. • To se ogleda i kroz istoriju razvoja računarstva, ali i kroz savremeni razvoj računarstva kao spoja teorije algoritama, matematičke logike i pronalsaka elektronskog računara sa pamćenjem programa.
• Računarstvo je sistematično izučavanje algoritamskih procesa koji opisuju i transformišu informaciju: njihove teorije, analize, projektovanja, efikasnosti, implementacije i primene.
Osnovno pitanje koje se postavlja pred celo računarstvo je: • Šta se može efikasno automatizovati?
Funkcije računarstva • Prenos podataka • Obrada podataka • Čuvanje podataka • Kontrola prenosa, obrade i čuvanja podataka
• Programiranje je u najopštijem smislu aktivnost izrade programa za elektronsku računsku mašinu (računar). • Programiranje, pored izučavanja važnih klasa algoritama i programa koji se, kao česte komponente drugih programa mogu primeniti u rešavanju novih zadataka, mora da uključi i metode razvoja algoritama i programa sa unapred poznatim ponašanjem, tj. metode koje omogućuju da se, zajedno sa izvođenjem programa izvodi i dokaz njegove korektnosti (njegova semantika), što približava razvoj programa dokazu teoreme u matematici.
Razvoj računarstva • Period pre pojave elektronskih računara (ER) do 1946. godine) • Period nakon pojave elektronskih računara (nakon 1946. godiene) Navedena podela je vrlo gruba (prvi period je veoma dug, dok je drugi relativno kratak)
Detaljnija podela • Period abakusa (premehanički period) • Period mehaničkih računarskih mašina • Period elektomehaničkih računskih mašina • Period elektronskih računara
Period abakusa • Do 5000 g. p. n. e. - razvijeno brojanje • Oko 3000 g. p. n. e. - pojava prvih pisama (Sumeri u Mesopotamiji) • Oko 3000 g. p. n. e. - Razvoj 60 -teričnog brojnog sistema • Oko 2600 g. p. n. e. - Zapisi na papirusu • 1200 -1100 g. p. n. e. - Formiran abakus (abak, suanpen) • Oko 330 g. p. n. e. - Aristotel postavio osnove logike
• Oko 60 g. n. e. - Heron Aleksandrijski konstruisao automat • Oko 100 g. n. e. - U Kini pronađen papir • 100 -200 g. n. e. - Zapis dekadnih cifara u Indiji • 8 -9 vek n. e. Arapi usvoji indijski način zapisa brojeva. Al Horezmi precizno opisao 4 osnovne računaske operacije
Period mehaničkih računskih mašina • 1450. Johan Gutenberg - Konstrusao prvu štamparsku presu • 1614 -1620 John Napier otkrio prirodne logaritme i logaritamski računar • 1623/24 Wilhelm Schickard - prva računaska mašina sa prenosom desetica • 1642. Blaise Pascal je napravio 6 -mesnu računsku mašinu. • Godine 1647. usavršena na 8 -mesnu sa prenosom desetica.
• 1673. Wilhelm Laibniz - usavršio Pascalovu mašinu sa 4 računaske operacije (12 -mesna) • -Binarni brojni sistem • -Univerzalni jezik matematike • 1801. J. M. Jacquard - Automatski razboj sa bušenom karticom • 1820 -1860 - Period obeležen radom Charles Babbage-a (1792 -1871) – 1822 - diferencijalni mašina (analizator) – 1833 - nacrt analitičke mašine – Ada Augusta (1815 -1862)
Period elektomehaničkih računarskih mašina • U 19. veku napravljena su velika otkrića koja su poboljšala komunikaciju (telegraf, telefon, i počinje se sa korišćenjem elektične struje za pokretanje raznih mašina. ) • 1847. G. Bool - Bulova algebra
• Kraj 19. veka, u ovoj oblasti, obeležio je rad Hermana Holerita (Hermann Hollerith - 1860 - 1929) • 1884. je patentirao automatsku mašinu za tabeliranje • 1890. - popis u SAD i elektronski uređaji za sortiranje (Ranije 50 ljudi za 5 -7 godina, sada 43 mašine za nekoliko meseci) • 1896. - Osnovana Tabulating Machine Company, koja je 1924. prerasla u IBM.
Period elektronskih računara • 1939. John Atanasoff - 16 -bitni sabirač sa vakumaskim cevima. • 1941. Atanasov i Beri konstruisali kalkulator • 1946. J. P. Eckert i J. W. Mauchly konstruisali su ENIAC (Electronic Numerical Integrater And Computer) • 18000 elektronskih cevi 10000 kondezatora • 70000 otpornika 1500 releja • težak oko 30 tona 10 x 15 kv. met. • 150 KW energije • 0. 0002 sec - sabiranje 0. 0028 sec - množenje
• 1945. John von Neumann - Teorijski koncept ER Fon Nojmanovi računari • 1948. Bell Teleph. Corp. - prvi tranzistor • 1950. UNIVAC I - Prvi komercijalni ER • 1952. IBM 701 - Računar sa magnetnim trakama • 1954. Programski jezik FORTRAN (za IBM 650)
• 1955. Bell Corp. TRADIC - računar zasnovan na tranzistorima • 1958/59 - Texas Instriments - Integrisana verzija tranzistora • 1959. Prog. jezik COBOL
• 1960. - IBM 1401, 1620 - zasnovane potpuno na tranzistorima • 1960/61 - Integrisana kola za komercijalne svrhe • 1964. IBM-360 (CDC-499) • 1965. DEC serija PDP miniračunara • 1966. UNIVAC 9000 sa optičkim čitačem • 1968. Osnovan Intel (Pojava integrisane ploče sa 100 tranzistora) • 1970 - Pojavio se IBM 370
• 1970/71 - Prvi mikroprocesor (4 -bitni mikroprocesor napravljen u Intel-u od 2300 tranzistora. ) • 1974/75 - I 8080, M 6800, Zilog se izdvaja iz Intel-a. Pojavljuju se prvi mikroračunari • 1976. Apple-računari • 1977. Memorijski čipovi od 16 K (sa preko 20000 tranzistora) • 1978. I 8086
• 1980. Integrisana kola sa 200000 tranzisrora • 1981. Predstavljen prvi IBM PC • 1983. I 80286 • 1985. I 80386 • 1989. I 80486 • 1993. Pentim I
• Od 1993 -2004 Razvijene su 4 generacije Pentium procesora. • Paraleno su se razvijale periferne jedinice PC-računara sa znatnim uvećanjem kapaciteta, brzine, … • Danas se proizvode procesori sa nekoliko jezgara (2, 3, 4) sa tendencijom uvećanja ovog broja.
- Slides: 30