PowerPoint Presentation

Слични документи
Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Funkcije predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Grananje u programu predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Primenjeno programiranje - vezbe GUI i baze podataka

Uvod u računarstvo 2+2

Pojačavači

Microsoft Word - 02 Elementi programskog jezika Pascal

Strukture predavač: Nadežda Jakšić

Uvod u računarstvo 2+2

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

070-ALIP2-udzbenik.indb

Računarski praktikum I - Vježbe 01 - Uvod

Slide 1

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

PowerPoint Presentation

Microsoft Word - 11 Pokazivaci

Programski jezik C

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

PowerPoint Presentation

P1.2 Projektovanje asemblera

Tutoring System for Distance Learning of Java Programming Language

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

PowerPoint Presentation

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

P1.0 Uvod

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Primenjeno programiranje - Vežbe

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

3.Kontrlne (upravlja~ke) strukture u Javi

Programski jezik C

Uvod u računarstvo 2+2

P1.3 Projektovanje makroasemblera

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s

Računarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova k

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft PowerPoint - C-4-1

PowerPoint Presentation

** Osnovni meni

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

P11.3 Analiza zivotnog veka, Graf smetnji

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Microsoft Word - Lekcija 11.doc

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako

Programiranje za UNIX Okruženje unix procesa

Slide 1

Fortran

Упутство за коришћење АМРЕС FileSender услуге

PHP kod

Inženjering informacionih sistema

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Programski jezici i strukture podataka

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Uvod u takmičarsko programiranje

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након

PowerPoint Presentation

Uvod u računarstvo 2+2

Objektno orjentirano programiranje

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

PowerPoint Presentation

Uvod u PHP

P2.1 Formalne gramatike

Писање и превођење модула

Lekcija 6 Prikaz podataka na graficima. Upis u fajl. 1. Cilj vežbe Cilj vežbe je da studente upozna sa: načinima prikaza podataka na različitim grafič

KATUŠIĆ ANTONIO.pdf

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Универзитет у Београду Економски факултет Катедра за економску политику и развој Јавне финансије 2018/19 УПУТСТВО ЗА ПРИЈАВЉИВАЊЕ НА Е-КУРС ИЗ ПРЕДМЕТ

COMARC/A Format

Microsoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode]

Baze podataka MySQL Community Server i MySQL Workbench

Slide 1

СТАРТ - СТОП АПЛИКАЦИЈА - КОРИСНИЧКО УПУТСТВО

Datoteke predavač: Nadežda Jakšić

PASCAL UVOD 2 II razred gimnazije

Laboratorija za termičku obradu Inženjerstvo površina Kratko uputstvo za obradu i analizu profila u programskom paketu SPIP Programski paket SPIP preu

Повезивање са интернетом

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

Транскрипт:

II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc. Opis jezika dat je u knjizi Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Prentice-Hall, 1978. Tokom 70 i 80 godina jezik se brzo širio pa je American National Standard Institute (ANSI) izvršio njegovu standardizaciju 1989 god. Definisan kao strukturni jezik opšte namene i otklonjene su mnoge neodređenosti i izmenjeni neki koncepti u njemu Ima neke specifičnosti koje ga približavaju asemblerskim jezicima C je portabilan a to znači da se ne vezuje za OS ili hardware. Programi napisani u C-u su efikasni, uglavnom manji i brži od programa pisanih u drugim programskim jezicima. Smatra se za jedan od najvažnijih programskih jezika u istoriji komercijalne računarske industrije. C jezik se preporučuje svima onima koji se nikada ranije nisu susreli sa bilo kakvim programiranjem.

II Karakteristike C jezika Jezik vrlo niskog nivoa jer su programi u C bliski načinu rada hardvera C jezik koristi kratke sintaksne konstrukcije teško čitljiv program Koristi se kada je ključna brzina izvođenja i/ili prenosivost programa Fleksibilan jezik opšte namene, što znači da se u njemu mogu programirati gotovo sve vrste aplikacija: Razni namenski programi, CAD, igre, komercijalni sistemi, Veštačka inteligencija (ekspertni sistemi, robotika) Upravljanje procesima, real-time sistemi Sistemski softver (operat.sistemi, kompajleri, linkeri, drajveri itd.) Aplikacije na mobilnim telefonima,... Dozvoljava operacije niskog nivoa: nedostatak (slabi pouzdanost sistema) prednost (sprega niskog nivoa sa resursima sistema) Pod uticajem C-a razvijeni su brojni drugi programski jezici Mnogi od njih su nasledili njegovu sintaksu: C++, Java, JavaScript, C#, PHP, Objective-C,...

II Prednosti upotrebe C jezika Kompaktnost asemblerskog jezika Mali skup komandi tj. mali broj ključnih reći Efikasnost Nije jezik sa jakom tipizacijom Strukturni jezik visokog nivoa Modularan dizajn Integracija sa asemblerskim jezikom Rad sa bitovima - ima bogat i složen operatorski jezik Pokazivačke promenljive Razvijen sistem funkcija Prilagođene strukture i mogućnost prenosivosti Podrška nezavisnih proizvođača

II Nedostaci upotrebe C jezika Ne postoje operacije za direktnu manipulaciju sa složenim objektima (stringovi, liste, polja) - ne postoji operacija za manipulaciju sa celim poljem ili stringom Ne postoji direktna podrška za ulaz i izlaz ne postoje READ i WRITE naredbe Nije ugrađen pristup fajlovima tj. ne postoje metode pristupa C nije strogo tipiziran jezik Ne postoji automatska konverzija neusaglašenih tipova C je relativno mali jezik, opisan kratko i uči se brzo. Ima reputaciju da je težak za učenje. Većina koncepata u C-u se nalaze i u Pascalu: funkcije, povezane liste, polja, parametri

II Razvoj C programa Faze: 1. Editovanje 2. Preprocesiranje Editor Preprocesor Kompajler Disk Disk Disk Program je kreiran u editoru i zapamćen na disku. Preprocesiranje Kompajler kreira objektni kod i smešta ga na disk. 3. Kompilacija 4. Linkovanje 5. Učitavanje(Load) Linker Loader Disk Disk Osnovna memorija.. Linker povezuje objektni kod sa bibliotekama Loader učitava program u memoriju. 6. Izvršenje CPU. Osnovna memorija.. CPU uzima svaku instrukciju i izvršava je, eventualno smešta nove vrednosti podataka..

II Razvoj C programa

II Razvoj C programa Svakoj izradi programa prethodi analiza problema i izrada algoritama za rešenje problema U toku pisanja programa često je potrebno ispravljati sintaktičke greške koje mogu da se dogode. Ukoliko se program ne izvršava u potpunosti, moguće je postojanje greške u korišćenju računarskih resursa (na primer korišćenje memorije). Postojanje takvih grešaka se ispituje posebnim programima dibagerima (debugger). Postupak programiranja ne može biti završen ako program pri izvršavanju iskazuje nelogične rezultate. Tada ne preostaje ništa drugo nego da se krene od početka i da se ponovo kritički sagleda zadatak programiranja.

II Struktura C programa Izvorni program (source code) u C-u je običan tekstualni fajl, kreiran u bilo kom editoru teksta (npr. Notepad). Svaki C program sastoji se od funkcija i promenljivih. Funkcija sadrži naredbe koje određuju računarske operacije koje treba da se obave prilikom izvršavanja programa Promenljive čuvaju vrednosti koje se koriste tokom izračunavanja. C funkcije su slične potprogramima i funkcijama u Fortranu ili procedurama i funkcijama u Pascalu. Jedan od metoda za razmenu podataka između funkcija je da pozivajuća funkcija obezbedi listu vrednosti, tzv. argumenata, za funkciju koju poziva. Zagrade iza imena funkcije okružuju listu argumenata. Ako funkcija ne očekuje ni jedan argument, to se označava praznom listom ( ). Naredbe u C-u su razdvojene znakom ; -ima ulogu separatora naredbi

II Struktura C programa Naredbe od kojih se sastoji funkcija čine telo funkcije. Telo funkcije se navodi iza zaglavlja funkcije, unutar velikih (vitičastih) zagrada { }. Funkcija koja mora da postoji u svakom programu je main(). Izvršavanje programa se svodi na izvršavanje tela ove funkcije. Telo funkcije se navodi iza zaglavlja funkcije main(), između velikih zagrada { } U telu funkcije se na početku navode deklaracije pomenljivih, nakon čega sledi proizvoljan niz naredbi. int main()/*zaglavlje funkcije main*/ { /*ovde počinje telo funkcije*/ /*deklaracije promenljivih*/ /*naredbe*/ } /* kraj tela funkcije */

II Primer C koda Primer: Napisati program koji na standardni izlaz ispisuje poruku Zdravo, svete! #include <stdio.h> int main() { printf("zdravo, svete!\n"); return 0; } Objašnjenje: #include <stdio.h> - ukazuje prevodiocu da uključi informacije o standardnoj ulazno/izlaznoj biblioteci; ovaj red se nalazi na početku mnogih izvornih datoteka u C-u. int main() obavezna funkcija u svakom C programu { } velike zagrade ograničavaju svako telo funkcije main() printf("zdravo, svete!\n ) - funkcija kojom se na standardnom izlazu ispisuje poruka Zdravo, svete!. return 0 izlaz iz funkcije gde 0 označava da nema nekog rezultata

II Primer C koda Svaka funkcija se poziva navođenjem njenog imena i iza toga liste argumenata u zagradama koji su potrebni za izvršenje ove funkcije. Sekvenca znakova između dvostrukih navodnika, kao što je Zdravo, svete!\n, naziva se znakovni string ili string konstanta. Sekvenca \n u stringu je C notacija koja označava novi red, koji kada se navede proizvodi prelazak u levu marginu novog reda. Ako se izostavi onda se ne dolazi do prelaska u novi red Primer: Šta je izlaz iz sledećeg programa? #include <stdio.h> int main() { printf("zdravo, "); Rešenje printf("svete!"); Zdravo svete! printf("\n"); return 0; }

Uvođenje promenljivih u program. II Primer C koda #include <stdio.h> int main() { /* Deklaracija vise promenljivih istog tipa */ int rez, pom1, pom2; pom1 = 20; pom2 = 15; rez = pom1 - pom2; /* Ispisivanje rezultata */ printf("rezultat je %d - %d = %d\n", pom1, pom2, rez); return 0; } Izlaz iz programa je: Rezultat je 20 15 = 5

II Okruženje za pisanje programa Microsoft Visual Studio 2013 predstavlja integrisano okruženje za razvoj softvera. Sastoji se od sledećih celina: Visual C++, Visual Basic, Visual C# MSDN Library. Druge Visual studio C++ je okruženje koje omogućava razvoj i pisanje programa u program. jeziku C++, a samim tim i u prog.jeziku C. Pokretanje Visual Studio 2013 okruženja Okruženje Visual Studio 2013 se može otvoriti klikom na taster Start i izborom stavke Microsoft Visual Studio 2013 iz liste programa. Nakon startovanja otvoriće se osnovi prozor okruženja Visual Studio 2013 koji je prikazan na sledećoj slici:

II Okruženje za pisanje programa

II Okruženje za pisanje programa Kreiranje projekta za konzolnu aplikaciju Da bi se napisao, kompilirao, izvršio i eventualno debagirao C program, u Visual Studiju je potrebno kreirati projekat koji sadrži odgovarajuće datoteke sa izvornim kodom programa. Za potrebe pisanja programa u C-u biće korišćen najjednostavniji tip projekta koji obezbeđuje pravljenje konzolnih aplikacija. Konzolne aplikacije su programi koji se izvršavaju u komandnom (DOS) prozoru i koriste standardni ulaz i izlaz. Kreiranje projekta se vrši startovanjem stavke iz menija File/New, izborom kartice Project i stavke Visual C++ i zatim Win32 Console Application (vidi sliku na sledećem slajdu). Pri kreiranju projekta potrebno je uneti naziv projekta u polje Project name, i eventualno promeniti direktorijum na disku gde će projekat biti kreiran (polje Location). Po unosu naziva projekta aktiviraće se taster OK. Klikom na ovaj taster pojaviće se prozor za izbor tipa konzolnog projekata koji se želi kreirati (sledeći slajdovi).

II Okruženje za pisanje programa

II Okruženje za pisanje programa

II Okruženje za pisanje programa

II Okruženje za pisanje programa U ovom slučaju ne treba ništa menjati jer je već odabrana opcija za kreiranje praznog projekta (An empty project). Da bi se kreirao projekat potrebno je kliknuti na taster Finish. Ukoliko želite možete kliknuti i na dugme Next. U tom slučaju će Vam biti prikazan prozor sa dodatnim opcijama. Nakon kreiranja praznog projekta za konzolnu aplikaciju potrebno je kreirati i dodati u projekat datoteke koje će se koristiti za unos izvornog koda programa. U VS2013 obično je za Vas već kreiran fajl koji se zove isto kao vaš projekat. Ukoliko nije, potrebno je kreirati i dodati datoteku na sledeći način. Pozivate stavku iz menija File/New File i stavke Visual C++. Zatim možete izabrati između C++ File ili Header File. Potrebno je uneti željeni naziv datoteke u polje File name i kliknuti na taster OK.

II Okruženje za pisanje programa Po kreiranju i dodavanju nove datoteke u projekat potrebno je uneti odgovarajući sadržaj (ukucati program). Za to se koristi centralni deo glavnog prozora Visual Studio poseduje neke napredne opcije za prikaz izvornog koda programa kao što su bojenje ključnih reči i komentara.

II Osnovni pojmovi u C jeziku Izraz (Expression) kombinacija literalnih vrednost, promenljivih, operatora ili funkcija Opseg važenja (Scope) deo programa u kome je ime nekog entiteta (promenljive ili funkcije) validno i može se iskoristiti za pristup tom entitetu Deklaracija (definicija) promenljive određivanje tipa promenljive prilikom koje se rezerviše memorijski prostor za taj tip promenljive. Primer: int broj (rezerviše 4B), char p (rezerviše 1B) Inicijalizacija promenljive dodeljivanje inicijalne vrednosti nekoj promenljivi Komentar komentar jedne linije ili komentar dela programa Promenljiva (Variable) ime ili referenca na zapamćenu vrednost (obično u memoriji) Tip podatka (Data type) određuje veličinu promenljive u memoriji, definiše koje vrednosti ona može da uzme kao i koje operacije su dozvoljene sa njom

II Leksička pravila Program se piše povezivanjem osnovnih simbola u logičke izraze Koriste se velika i mala slova, cifre i specijalni simboli iz ASCII skupa slova engleske abecede A, B, C,..., X, Y, Z, a, b, c,..., x, y, z cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 specijalni znaci: + = _ - ( ) * & % #!., ; : ' /? { } ~ \ [ ] ^ neštampajući znaci blanko (space), znak za novu liniju, tab,... Programski jezik C razlikuje velika i mala slova! - case sensitive. int x, X; /*To su dve različite promenljive!!!*/ Komentari služe za objašnjenja u toku pisanja programa. Pomoću komentara program postaje čitljiviji i jasniji za čoveka Prevodiocu (kompajleru) je potpuno sve jedno da li postoji sto hiljada linija komentara ili ni jedna jedina jer ih on jednostavno ignoriše. Komentar počinje znakom /*, a završava se znakom */ Ako se koriste znakovi /* i */ komentari se mogu prostirati u više linija ali ne mogu biti ugnježdeni. Ako je za komentar dovoljan jedan red teksta možemo koristiti i znakove // na primer: // ovo je komentar

II Elementi prog.jezika - Tokeni Osnovni element svakog programskog jezika je reč ili token Reč (token) je niz znakova koji predstavljaju elementarnu logičku celinu koja ima neko značenje u programskom jeziku. Tokeni se razdvajaju belinama(blanko), tabulatorima i novim redovima Prilikom prevođenja kompajler prepoznaje tokene i proverava u sintasniom analizatoru da li je njihov redosled odgovarajući Postoji šest vrsta tokena: 1. Ključne reči 2. Identifikatori 3. Separatori 4. Konstante 5. Stringovi (Literali) 6. Operatori

II Ključne reči To su rezervisane reči koje imaju unapred definisano značenje Postoje 32 ključne reći i one se ne mogu koristiti kao identifikatori. Ključne reči se koriste za: definisanje jezičkih konstrukcija (if, while, for), imena tipova (int, float, char), itd. Sve ključne reči u programskom jeziku C pišu se malim slovima. auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

II Identifikatori 1. Identifikatori (simbolička imena) Identifikatore čine reči koje se sastoje od: slova, cifara i znaka '_' Svaki identifikator mora da počne sa slovom ili znakom '_' Koriste se za označavanje osnovnih objekata jezika: konstanti, labela, promenjivih, funkcija i korisničkih tipova podataka. Identifikator može biti proizvoljne dužine, ali stari kompajleri tretiraju: 31 znak za interna imena koja se definišu i koriste samo u jednom fajlu 6 znakova za imena koja se koriste u više fajlova. Primeri ispravnih imena: skola, x, a, zbir, Programski_jezik_C, INT Nedozvoljeno je: 3dan, int, x+y, programski jezik, -povrsina, $a, Primer: Ulaz: N; F=1; for i=2, N do F=F+i end Prikaz: F;

II Separatori Separatori su posebni specijalni znaci koji imaju određeno (unapred definisano) sintaksno i semantičko značenje u programu Separatori ne označavaju nikakvu operaciju već razdvajaju druge tokene u grupe. U ovu grupu reči spadaju: 1. { - početak neke programske celine (bloka) 2. } - kraj programske celine (bloka) 3. ( - početak liste parametara funkcije 4. ) kraj liste parametara u funkciji 5. ; - kraj naredbe (ne predstavlja prelazak u novi red) 6. // - oznaka za linijski deo koda komentar, koji kompajler ne prevodi 7. /*... */ - oznaka za blokovski deo koda komentar, koji kompajler ne prevodi

Hvala na pažnji!!! Pitanja???