Algoritmi i programiranje

Σχετικά έγγραφα
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

Autori: Dr Biljana Popović, redovni profesor Prirodno matematičkog fakulteta u Nišu Mr Borislava Blagojević, asistent Gradjevinskog fakulteta u Nišu

numeričkih deskriptivnih mera.

3.1 Granična vrednost funkcije u tački

Operacije s matricama

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

APROKSIMACIJA FUNKCIJA

Računarska grafika. Rasterizacija linije

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

18. listopada listopada / 13

SISTEMI NELINEARNIH JEDNAČINA

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Računarska grafika. Rasterizacija linije

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Elementi spektralne teorije matrica

IZVODI ZADACI (I deo)

41. Jednačine koje se svode na kvadratne

5. Karakteristične funkcije

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

7 Algebarske jednadžbe

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Algoritmi zadaci za kontrolni

Sortiranje prebrajanjem (Counting sort) i Radix Sort

EKSPONENCIJALNE i LOGARITAMSKE FUNKCIJE

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Teorijske osnove informatike 1

Ispitivanje toka i skiciranje grafika funkcija

Zavrxni ispit iz Matematiqke analize 1

OBRTNA TELA. Vladimir Marinkov OBRTNA TELA VALJAK

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Trigonometrijske nejednačine

ELEKTROTEHNIČKI ODJEL

III VEŽBA: FURIJEOVI REDOVI

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Kaskadna kompenzacija SAU

Sistemi veštačke inteligencije primer 1

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Riješeni zadaci: Nizovi realnih brojeva

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

INTELIGENTNO UPRAVLJANJE

4. Trigonometrija pravokutnog trokuta

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

Grafičko prikazivanje atributivnih i geografskih nizova

Algoritmi i strukture podataka - 1.cas

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

Pismeni dio ispita iz Matematike Riješiti sistem jednačina i diskutovati rješenja u zavisnosti od parametra a:

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

Osnovne teoreme diferencijalnog računa

radni nerecenzirani materijal za predavanja

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

TRIGONOMETRIJA TROKUTA

Zadaci iz trigonometrije za seminar

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

I Pismeni ispit iz matematike 1 I

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

Program testirati pomoću podataka iz sledeće tabele:

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

PRIMJER 3. MATLAB filtdemo

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

EXIT. Programski jezik C - 6. deo. Funkcija exit. (materijal sa predavanja D. Vitasa)

Juniorski četverac bez kormilara sezona 2014/2015 sa osvrtom na završne pripreme pred EP i SP. Aleksandar Smiljanić

IZVODI ZADACI (I deo)

6 Polinomi Funkcija p : R R zadana formulom

TRIGONOMETRIJSKE FUNKCIJE I I.1.

1.4 Tangenta i normala

Matematička analiza 1 dodatni zadaci

Matematka 1 Zadaci za drugi kolokvijum

Poglavlje 7. Blok dijagrami diskretnih sistema

Program za tablično računanje Microsoft Excel

2.2 Srednje vrijednosti. aritmetička sredina, medijan, mod. Podaci (realizacije varijable X): x 1,x 2,...,x n (1)

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Periodičke izmjenične veličine

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Transcript:

Univerzitet u Nišu Elektronski fakultet Algoritmi i programiranje zbirka rešenih zadataka na programskom jeziku C Grupa autora

Univerzitet u Nišu Elektronski fakultet Leonid Stoimenov, Dragan Janković, Dejan Rančić, Vladimir Ćirić, Natalija Stojanović, Oliver Vojinović, Nikola Davidović, Nataša Veljković Algoritmi i programiranje zbirka rešenih zadataka na programskom jeziku C Niš, 2012.

ALGORITMI I PROGRAMIRANJE ZBIRKA REŠENIH ZADATAKA NA PROGRAMSKOM JEZIKU C Autori Izdavač Recenzenti Teh.obrada Prof. dr Leonid Stoimenov, prof. dr Dragan Janković, prof. dr Dejan Rančić, Doc. dr Vladimir Ćirić, doc. dr Natalija Stojanović, mr Oliver Vojinović, Dipl. inž. Nikola Davidović, dipl. inž. Nataša Veljković Elektronski fakultet u Nišu P.fah 73, 18000 Niš http://www.elfak.ni.ac.rs/ Prof. dr Emina Milovanović, Elektronski fakultet u Nišu Doc. dr Suzana Stojković, Elektronski fakultet u Nišu Doc. dr Vladimir Ćirić Glavni i odgovorni urednik: Prof. dr Zoran Perić Odlukom Nastavno-naučnog veća Elektronskog fakulteta u Nišu, br. 07/05-008/12-003 od 24.05.2012. godine, rukopis je odobren za štampu kao pomoćni udžbenik na Elektronskom fakultetu u Nišu. ISBN 978-86-6125-069-9 Preštampavanje ili umnožavanje ove knjige nije dozvoljeno bez pismene dozvole izdavača. Tiraž: 300 primeraka Štampa: Unigraf, Niš

Predgovor U ovoj zbirci zadataka metodički je prezentovana kolekcija rešenih problema vezanih za kreiranje strukturnih dijagrama toka algoritma i implementaciju algoritama na programskom jeziku C. Kao takva, prvenstveno je namenjena studentima I godine Elektronskog fakulteta kao pomoćni udžbenik za predmet Algoritmi i programiranje, ali se može koristiti i kao priručnik za ovladavanje osnovnim algoritamskim operacijama nad skalarnim podacima i linearnim indeksiranim strukturama podataka. Zbirka se sastoji iz tri glave. U prvoj glavi izloženi su osnovni koncepti upravljanja izvršenjem programa i osnovneupravljačke strukture. Obrad ena je osnovna struktura programa u programskom jeziku C i kontrola toka izvršenja programa. U cilju ilistracije osnovnih struktura prikazani su tipični matematički problemi iz geometrije i dela numeričke matematike vezani za iterativne postupke. Druga glava posvećena je linearnim indeksiranim strukturama podataka. U ovoj glavi obrad ena su dva podtipa linearnih indeksiranih struktura: jednodimenzionalna i dvodimenzionalna polja, sa elementima numeričkih i znakovnog tipa. Utrećoj glavi predstavljeni su koncepti kreiranja korisničkih funkcija u programskom jeziku C. Obrad ene su funkcije koje za parametre imaju skalarne podatke i funkcije koje vrše obradu nad linearnim indeksiranim strukturama. Na kraju ove glave dat je skup problema kod kojih je u cilju čitanja i/ili upisa potrebno pristupiti fajlu. Obrad eni su tekstualni fajlovi sa sekvencijalnim pristupom. Poglavlja su koncipirana tako da su na početku poglavlja jednostavni primeri koji ilustruju osnovne koncepte, a za njima slede zadaci koji kombinuju osnovne principe u cilju rešavanja složenijih problema. Svaki zadatak se sastoji od tekstualnog opisa problema, dijagrama toka algoritma, koda na programskom jeziku C, i primera ulaznih podataka i izlaza koji se dobija za navedene ulazne podatke. Svi izlazi su dobijeni izvršavanjem odgovaraućeg C koda na računaru za ulazne podatke date u primeru. Svi dijagrami toka algoritma generisani su automatski iz C koda. Za konverziju koda u algoritam korišćen je kompajler autora doc. dr Vladimira Ćirića, koji vrši leksičku i sintaksnu analizu C programa i generiše dijagram toka korišćenjem L A TEX primitiva. Jedinstvena rešenja u programiranju su retkost, tako da velika većina zadataka iz ove zbirke ima i druga rešenja, različita od predloženih. Primarni cilj zbirke nije da da optimalna rešenja u bilo kom smislu, već da ponudi razumljiva rešenja. Sa i

ii druge strane, i pored proveravanja, moguće je da i dalje postoje greške i nedostaci uponud enim rešenjima. Autori će biti zahvalni ukoliko im se ukaže na eventualne greske. Autori 2π Zbirka zadataka

Sadržaj 1 Osnovne upravljačke strukture 1 1.1 Struktura C programa i osnovne aritmetičkeoperacije......... 1 1.2 Kontrola toka izvršenjaprograma..................... 8 1.2.1 Grananja.............................. 8 1.2.2 Petlje................................ 11 1.3 Iterativni postupci............................. 34 1.4 Geometrijski problemi........................... 39 2 Linearne indeksirane strukture podataka 49 2.1 Nizovi.................................... 49 2.1.1 Brojevni nizovi........................... 49 2.1.2 Znakovni nizovi - stringovi.................... 85 2.2 Matrice................................... 95 3 Funkcije i rad sa fajlovima 121 3.1 Funkcije sa skalarnim parametrima.................... 121 3.2 Prenos nizova preko parametara funkcije................. 124 3.3 Matrice u funkciji.............................. 133 3.4 Fajlovi.................................... 142 3.5 Fajlovi u funkciji.............................. 145 iii

iv SADRŽAJ Zbirka zadataka

1 Osnovne upravljačke strukture 1.1 Struktura C programa i osnovne aritmetičke operacije Zadatak 1.1 Nacrtati strukturni dijagram toka algoritma i na programskom jeziku C napisati program kojim se nad celobrojnim promenljivama a i b, čije vrednosti zadaje korisnik, izvršavaju osnovne aritmetičke operacije (+,-,*,/,%), i prikazuju odgovarajući rezultati. Rešenje start 1 a,b c=a+b c c=a c-=b 1 c a*b c=a/b a, b, c a%b end 1

2 1. OSNOVNE UPRAVLJAČKE STRUKTURE 1 #include <stdio.h> 2 main() 3 { 4 int a,b,c; 5 6 printf ( uneti prvi broj\n ) ; 7 scanf ( %d,&a) ; 8 printf ( uneti drugi broj\n ) ; 9 scanf ( %d,&b) ; 10 c=a+b ; 11 printf ( Zbir c=a+b iznosi %d\n,c) ; 12 c=a ; 13 c =b ; 14 printf ( Razlika c=a b iznosi %d\n, c) ; 15 printf ( Proizvod a b iznosi %d\n,a b) ; 16 c=a/b; 17 printf ( Celobrojni kolicnik %d/%d = %d\n, a,b, c) ; 18 printf( Ostatak pri deljenju a/b je %d\n, a%b) ; 19 } 1 15 2 10 Ulaz Izlaz 1 Zbir c=a+b iznosi 25 2 Razlika c=a b iznosi 5 3 Proizvod a b iznosi 150 4 Celobrojni kolicnik 15/10 = 1 5 Ostatak pri deljenju a/b je 5 Zadatak 1.2 Nacrtati strukturni dijagram toka algoritma i na programskom jeziku C napisati program kojim se nad realnim promenljivama a i b, čije vrednosti zadaje korisnik, izvršavaju osnovne aritmetičke operacije (+,-,*,/), i prikazuju odgovarajući rezultati. Rešenje 1 #include <stdio.h> 2 void main() 3 { 4 float a,b,c; 5 scanf ( %f,&a) ; 6 scanf ( %f,&b) ; 7 c=a+b ; 8 printf ( Zbir a+b iznosi %f \n, c) ; 9 printf ( Razlika a b iznosi %f \n,a b) ; 10 c=a ; c =b ; Zbirka zadataka