PowerPoint Presentation

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

Uvod u računarstvo 2+2

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

Uvod u računarstvo 2+2

Strukture predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

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

Funkcije predavač: Nadežda Jakšić

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

PowerPoint Presentation

Tutoring System for Distance Learning of Java Programming Language

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]

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

Microsoft Word - 11 Pokazivaci

070-ALIP2-udzbenik.indb

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode]

PowerPoint Presentation

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

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 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p

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

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

PASCAL UVOD 2 II razred gimnazije

Uvod u takmičarsko programiranje

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

Uvod u računarstvo 2+2

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

PROMENLJIVE, TIPOVI PROMENLJIVIH

3.Kontrlne (upravlja~ke) strukture u Javi

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

07_PJISP_II_Predavanja

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

Microsoft Word - 02 Elementi programskog jezika Pascal

Uvod u računarstvo 2+2

Programiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1

PowerPoint Presentation

Programski jezici i strukture podataka

Datoteke predavač: Nadežda Jakšić

Slide 1

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

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

Programski jezik C

Funkcije predavač: Nadežda Jakšić

Objektno orjentirano programiranje

Pojačavači

Programski jezik C

P11.3 Analiza zivotnog veka, Graf smetnji

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U

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

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

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

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

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Tutoring System for Distance Learning of Java Programming Language

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

KATALOG ZNANJA IZ INFORMATIKE

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

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

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Microsoft PowerPoint - 11.Programski_Jezik_C_ulaz-izlaz [Compatibility Mode]

Tutoring System for Distance Learning of Java Programming Language

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

1

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Microsoft PowerPoint - JavaP9_2019

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

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

Programiranje 1 3. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/1

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

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

Slide 1

PowerPoint Presentation

Primenjeno programiranje - vezbe GUI i baze podataka

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

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

AR2019

Sveucilište u Zagrebu

Zbirka resenih zadataka iz arhitekture racunara

03 SUBP

MergedFile

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

Algoritmi i arhitekture DSP I

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

P1.0 Uvod

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

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

mikrorem d.o.o. m e r n o r e g u l a c i o n a o p r e m a Uputstvo za korišćenje uređaja ZLR1CP doc /10 "MIKROREM" d.o.o., Braće Spasić 4A,

MJEŠOVITA SREDNJA TEHNIČKA ŠKOLA TRAVNIK PROGRAMIRANJE I PROGRAMSKI JEZICI PROGRAMSKI JEZIK C -SKRIPTA ZA INTERNU UPOTREBU-

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

PowerPoint Presentation

P1.2 Projektovanje asemblera

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

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr

NIZOVI

Upitni jezik SQL

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

Транскрипт:

Programski jezici i strukture podataka UVOD

Izvođači nastave Srđan Popov (JUG 215) Petar Marić (JUG 105) Milena Počuča (JUG 215) Milica Milutinović (JUG 215) Termini konsultacija naknadno

Cilj vežbi Sticanje osnovnih znanja o: Strukturnom programiranju C programskom jeziku strukturama podataka

Literatura za vežbe Rešeni zadaci iz programskog jezika C, Laslo Kraus Programski jezik C rešenja zadataka, drugo izdanje, Clovis L. Tondo i Scott E. Gimpel Potpuni vodič za programski jezik C, Augie Hansen Uvod u korišćenje Linux operativnog sistema, prvo poglavlje praktikuma računarskih vežbi za predmet Arhitektura računara, Žarko Živanov, Ivan Nejgebauer, Lazar Stričević, Miroslav Hajduković Thinking in C: Foundations for Java & C++, Chuck Allison i B. Eckel C programming A Modern Approach, K. N. King

Informacije i nastavni materijali Sajt katedre: http://www.acs.uns.ac.rs/ Instalacije Ubuntu-a: /mnt/nastavni_materijali/opsti_materijali/install/

Platforma za održavanje nastave PC kompatibilni računar Operativni sistem: Ubuntu distribucija GNU/Linux-a (lokalizovana distribucija se može preuzeti na jednom CD-u ili flešu kod laboranta A2-0) Operativni sistem: Windows + VirtualBox (MS Virtual PC) + Ubuntu Operativni sistem: Windows + CodeBlocks Kompajler: gcc Dibager: ddd Editor: gedit ili po izboru CodeBlocks integrisano okruženje

Upoznavanje sa sistemom Obratiti pažnju na: Osnovni meni Link na nastavne materijale Link na home direktorijum

Rad sa Terminal-om

Rad sa Editor-om

Rad sa fajl sistemom

Tema 1 Rešavanje problema, Osnovni tipovi

Rešavanje problema Razumevanje problema Izgradnja modela Formulisanje algoritma Provera ispravnosti Realizacija algoritma (pisanje programa) Testiranje programa Sastavljanje dokumentacije

BDA Formalan način zapisivanja algoritma Start ulaz/izlaz Stop s (а+b+c)/2 a>0 da potprogram ne

Zadatak 1 Izračunati površinu trougla upotrebom Heronovog obrasca. a = 2 cm b = 4 cm c = 5 cm

Rešavanje problema - Razumevanje Terminologija! Šta je Heronov obrazac? Šta je dato? a,b,c Šta se traži? - P Dopuštene metode. math.h (sqrt) Podaci? - a = 2 cm, b = 4 cm, c = 5 cm

Rešavanje problema - Izgradnja modela s=(a+b+c)/2 P=sqrt( s*(s-a)*(s-b)*(s-c))

Rešavanje problema - Formulisanje algoritma Start a=? b=? c=? 1. Uneti ulazne podatke a, b, c s=(a+b+c)/2 2. Izračunati poluobim s P=sqrt( s*(s-a)*(s-b)*(s-c) P ) 3. Preko Heronovog obrasca izračunati površinu trougla 4.Ispisati ovako izračunatu površinu Stop

Rešavanje problema - Realizacija algoritma (pisanje programa) #include <stdio.h> #include <math.h> int main() { float a=2.0; float b=4.0; float c=5.0; float s,p; s=(a+b+c)/2; P=sqrt( s*(s-a)*(s-b)*(s-c)); printf("p = %f\n",p); } return 0;

Kompajliranje i pokretanje programa Iz fajl menadžera ili terminala kreirati folder mkdir v01 Sa cd preći u folder u kome želite da sačuvate ko cd v01 U folderu kreirati novi.c fajl i u njemu sačuvati kod gedit zadatak1.c & Kompajliramo sa: gcc -o zad zadatak1.c lm Pokretanje programa./zad

Šta su varijable? Imenovani prostor u memoriji računara, koji je namenjen čuvanju vrednosti određenog tipa (celobrojne, realne, karakteri, itd). Sadrže podatke koje koristi vaš program Koriste se za čuvanje podataka koji se koriste u toku izvršavanja programa

Deklarisanje varijabli u C-u Pre korišćenja varijabla mora biti deklarisana. Deklaracija se vrši navođenjem tipa i naziva varijable. Opciono, mogu se pomoću kvalifikatora dodatno specificirati karakteristike varijable. VAŽNO: Kada se izvrši deklaracija varijable, njena vrednost je nedefinisana.

Primer deklaracije varijabli int i; char c; float f1, f2; float f1=7.0, f2 = 5.2; unsigned int ui = 0; (u poslednja dva slučaja izvršena je i inicijalizacija na početnu vrednost)

Principi imenovanja varijabli Za nazive varijabli se mogu koristiti slova, brojevi i _ CSE_5a vrlo_dugo_ime_promenljive (nepraktično) brojac (opisno ime vrlo praktično, kod čitljiviji) Prvi karakter u nazivu promenljive ne sme biti cifra 5a_CSE nije validan naziv promenljive! C pravi razliku između malih i velih slova Naziv nije ista promenljiva kao i naziv

Tipovi podataka u C-u char jednobajtni znakovni tip. short int (ili samo short) celobrojni tip, obično dužine 2 bajta (ređe korišćen tip). int - celobrojni tip obično dužine 4 bajta. long int (ili samo long) celobrojni tip, dužina 4 ili 8 bajta (ređe korišćen tip). float realna vrednost jednostruke preciznosti obično 4 bajta. double realna vrednost dvostruke preciznosti obično 8 bajta. long double - realna vrednost dvostruke preciznosti obično 8 bajta (ređe korišćen tip). Signed nasuprot unsigned tipova

Tipovi podataka u C-u Ispred tipova podataka mogu se pojaviti modifikatori ispred int : short, long, unsigned (signed) ispred char : unsigned (signed) ispred double : long Tip Dužina Opseg ---------------+-----------+------------------------------------------ unsigned char 8 bitova 0 do 255 char 8 bitova -128 do 127 enum 16 bitova -32,768 do 32,767 unsigned int 16 bitova 0 do 65,535 short int 16 bitova -32,768 do 32,767 int 16 bitova -32,768 do 32,767 unsigned long 32 bitova 0 do 4,294,967,295 long 32 bitova -2,147,483,648 do 2,147,483,647 float 32 bitova 3.4 * (10**-38) do 3.4 * (10**+38) double 64 bitova 1.7 * (10**-308) do 1.7 * (10**+308) long double 80 bitova 3.4 * (10**-4932) do 1.1 * (10**+4932)

Primer 1 Napisati program koji primenom operatora sizeof određuje veličinu memorije u bajtovima koja je potrebna za smeštanje podataka tipa: char, int, float, double. Rešenje: #include <stdio.h> int main() { printf("velicina memorije (izrazena u bajtovima) iznosi:"); printf("\n-za char \t %lu", sizeof(char)); printf("\n-za int \t %lu", sizeof(int)); printf("\n-za float \t %lu", sizeof(float)); printf("\n-za double \t %lu", sizeof(double)); return 0; }

printf i scanf Formatirani ulaz-izlaz printf ispisuje na standardni izlazni uređaj stdout (ekran). Može prihvatiti varijable i ispisati njihovu vrednost u odgovarajućem formatu. scanf učitava vrednost sa standardnog ulaznog uređaja stdin(tastatura) i učitanu vrednost dodeljuje varijabli.

Primer 2 /* Učitava se temperatura u celzijusima i konvertuje u Kelvine*/ #include <stdio.h> int main( ) { double celzijusi, kelvini; printf( Unesite temperaturu u celzijusima: "); scanf("%lf",&celzijusi); kelvini = celzijusi +273.15; printf( %lf stepeni celzijusa je %lf stepeni kelvina\n", celzijusi, kelvini); } return 0;

printf može prikazati vrednost varijable printf ("z=%d\n", z ); Format string ("... ") Sekvenca %d je specijalna sekvenca (format specifikator) i ona se ne štampa na izlaznom uređaju! %d saopštava printf-u da na zadatom mestu ispiše vrednost celobrojne promenljive koja sledi iza format stringa. Format specifikator: %[indikator][širina][.preciznost][f N h l L]tip

printf može prikazati vrednost varijable printf ("z=%d\n", z ); Format string ("... ") Sekvenca %d je specijalna sekvenca (format specifikator) i ona se ne štampa na izlaznom uređaju! %d saopštava printf-u da na zadatom mestu ispiše vrednost celobrojne promenljive koja sledi iza format stringa. Format specifikator: %[indikator][širina][.preciznost][f N h l L]tip

printf indikator i širina Definiše kako se štampa vrednost [indikator] Šta znači -----------+-------------------------------------------------------- - Left-justifies the result, pads on the right with blanks. If not given, right-justifies result, pads on left with zeros or blanks. + Signed conversion results always begin with a plus (+) or minus (-) sign. Definiše broj cifara [širina] Kako utiče na preciznost ---------+-------------------------------------------------------- n Štampa zadati broj cifara. 0n Štampa zadati broj cifara. Ako broj nema toliko cifara, sa leve se popunjava nulama.

Definiše broj decimala printf - preciznost [.prec] Kako utiče na preciznost ---------+----------------------------------------------------- (none) Preciznost se postavlja na default: = 6 za e, E, f tipove = Sve važne cifre za g, G tipove = Štampa do kraja stringa (prvi null karakter) = Ne utiče na c tip.n n decimala se štampa. Ako ima više od n decimala, rezultat će biti ili odsečen ili zaokružen. Ako je string u pitanju, štampa n slova.

printf - modifikator Definiše kraći ili duži tip podatka Modifikator tip argumenta arg se interpretira kao... -----------+---------------+----------------------------- h d i o u x X short int l d i o u x X long int e E f g G double L e E f g G long double

printf tip Tip Očekivan ulaz Format rezultat ------------------------------------------------------------------------------ Brojevi ------------------------------------------------------------------------------ d Integer Signed decimal integer i Integer Signed decimal integer o Integer Unsigned octal integer u Integer Unsigned decimal integer x Integer Unsigned hexadecimal int (with a, b, c, d, e, f) X Integer Unsigned hexadecimal int (with A, B, C, D, E, F) f Floating point Signed value oblika [-]dddd.dddd. e Floating point Signed value oblika [-]d.dddd or e[+/-]ddd g Floating point Kraći zapis od %f i %e E Floating point Isto kao e; samo ima E za eksponent G Floating point Isto kao e; samo ima E za eksponent ako je e format ------------------------------------------------------------------------------ Karakteri --------------------------------------------------------------------------- c Character Jedno slovo s String Štampa string do kraja ili do zadatog broja slova % Ništa Štampa znak % --------------------------------------------------------------------------

printf - primeri printf("celobrojni: %d\n", c); --> celobrojni: 356 printf("celobrojni: %6d\n", c); --> celobrojni: 356 printf("celobrojni: %-6d\n", c); --> celobrojni: 356 printf("celobrojni: %+6d\n", c); --> celobrojni: +356 printf("celobrojni: %+6d\n", -c); --> celobrojni: -356 printf("razlomljeni: %f\n", 3.141); --> razlomljeni: 3.141000 printf("razlomljeni: %6.2f\n", 3.141); --> razlomljeni: 3.14 printf("razlomljeni: %e\n", 3.141); --> razlomljeni: 3.141000e+00 printf("razlomljeni: %6.2e\n", 3.141); --> razlomljeni: 3.14e+00 printf("razlomljeni: %g\n", 3.141); --> razlomljeni: 3.141

scanf("%f", &var); Format string ("...") scanf učitava vrednosti Čeka dok korisnik ne unese realnu vrednost, i učitanu vrednost smešta u varijablu pod nazivom var. & je unarni operator koji vraća adresu promenljive

Zadatak 2 Izračunati površinu trougla upotrebom Heronovog obrasca, vrednosti stranica uneti sa tastature. Na izlazu štampati vrednost površine trougla na dve decimale.

Zadatak 3 Napisati program kojim se vrši prevođenje količine tečnosti iz galona u litre, ako je 1 galon 4.54 litra. Količina tečnosti u galovnima se unosi sa tastature.

Zadatak 4 Jedan radnik određeni posao uradi za M dana, a drugi radnik isti posao uradi za N dana. Napisati program kojim se određuje za koliko dana bi taj posa bio završen ako bi radili zajedno. Vrednosti M i N se unose sa tastature.