O laboratoriju
Osebje
Objave
Raziskave
Pravila
Predmeti/ vaje
Izpitni roki
Rezultati
Naloge
Informacije
Real-time Systems Laboratory

Vaje - Reševanje problemov s programiranjem,
ITK UNI/1

Gradivo za vaje

Demonstracijski program (zip, 1.2M)

Domače naloge za avditorne vaje

Domačo nalogo oddajte v pisni obliki na pričetku avditornih vaj!

  1. Izdelaj postopek, ki bo izračunal povprečno vrednost treh števil. Če je katero od števil negativno, naj se v izračunu ne upošteva. Postopek naj prečita tri vrednosti in izpiše povprečno vrednost. (14.11.2007)
  2. Izdelaj postopek, ki bo na zaslon z zvezdicami ('*') izpisal očrtan kvadrat, katerega dimenzijo podamo na začetku; kvadrat naj bo dimenzije najmanj 1 in največ 20 znakov. Nalogo razgradi na čim več blokov! (21.11.2007)
  3. Izdelaj postopek, ki bo v nizu znakov poiskal in izpisal najdaljšo besedo! (28.11.2007)
  4. Izdelaj postopek, ki bere števila tako dolgo, dokler ne vpišemo 0, na koncu pa izpiše, kateri števili sta imeli najmanjše in največje število števk! Primer: {10, 905, 7, 5} -> 5(1) in 905(3) (5.12.2007)
  5. Ugotovi, kaj dela naslednji program. Razmisli, kaj naj bi delal in določi vse tipe vhodov, za katere ta program ne dela! Zapiši svoje ugotovitve v berljivem poročilu, kjer boš podal analizo programa in zaključke. Iz vsega opaženega napiši par zaključkov, kaj je bil vzrok za takšno obnašanje programa. (12.12.2007)
  6. Preuči objavljeno rešitev 5. domače naloge!
    1. Preveri, ali je rešitev dobra!
    2. Najdi še kakšno drugo rešitev!
    3. Funkciji preskoci_besedo in preskoci_locilo "popravi" tako, da ne bosta vec potrebovali zadnjega parametra (len), ki določa velikost polja! Izkoristi dejstvo, da so vsi nizi znakov zaključeni z znakom '\0'!
    4. Izogni se indeksom pri dostopu do polja znakov in jih nadomesti s kazalci! Primer: s[i] se spremeni recimo v *i! Ustrezno popravi tudi vse spremljevalne funkcije!
    Nalogo pre-programiraj, preizkusi ter oddaj listing izvorne kode pod točko 3! (19.12.2007)
  7. Janezek je moral napisati program, ki bi brez zank uredil tabelo 4 elementov! Elementi v tabeli naj bi bile strukture, ki sestojijo iz niza 12 črk (ime) in enega int-a (številka). Elementi v tabeli naj bodo urejeni po svojih številkah.
    Janezek je naredil že skoraj vse... Pomagaj mu:
    1. Najdi napako v funkciji sort4()!
    2. Napiši verzijo funkcije sort4() in check() s kazalci!
    3. Ustvari dodatne testne vzorce za preverjanje sortiranja!
    4. Za 3. fazo ustvari in uporabi funkcijo za preverjanje originalnega in dodatnih testnih vzorcev!
    Nalogo preizkusi in oddaj listinge izvorne kode za točke 2, 3 in 4! (9.1.2008)
    p.s. lepe praznike!
  8. V C/C++ napiši funkcijo, ki vrne največji skupni delitelj dveh celih števil! Nato definiraj strukturo ulomek in napiši funkcijo, ki sprejme dva ulomka in vrne njuno vsoto v okrajšani obliki! (16.1.2008)

Računalniške vaje

Pred izdelavo naloge je potrebno izvesti analizo in predlagati rešitev problema v obliki razrednega diagrama, psevdo-koda, grobe strukture programa ali podatkovnih struktur ipd. Rezultat je potrebno pripraviti v neformalni pisni obliki, ki je sestavni del opravljene naloge. Dokument je potrebno pripraviti pred zagovorom vaje in je del programske dokumentacije.

  1. Izdelaj program, ki izpiše prvih n števil, ki so deljiva s k, kjer sta n (0<n<100) in k (0<k<10) vnešena parametra!
  2. Izdelaj program, ki bo izračunal povprečno, minimalno in maksimalno vrednost vnešenih pozitivnih števil (negativna števila naj ignorira). Vnos števil zaključimo z vnosom vrednosti 0!
  3. Izdelaj program, ki bo v podani datoteki preštel vse prisotne črke angleške abecede in v naraščajočem vrstnem redu izpisal njihove frekvence pojavljanja; malo in veliko črko naj šteje kot isto črko!
  4. Izdelaj program, ki bo znal vneseno število x (0 < x  <= 1000) izpisati z rimskimi številkami (I,V,X,L,C,D,M) in obratno - rimsko število (I <= a <= M) pretvoriti v arabsko! Na začetku naj vpraša, katero pretvorbo želimo. 
  5. Izdelaj program, ki bo na zaslon z zvezdicami ('*') izpisal očrtan pravokotnik, katerega širino a (1<a<=80) in višino b (1<b<=20) podamo na začetku; za sam izpis lahko uporabis natančno 2 zanki (for, do, while) in nobenega if stavka!
  6. Izdelaj program, ki prikazuje delovanje statično implementirane krožne vrste celih števil velikosti n (podano v času prevajanja programa) in sicer naj omogoča
    1. vnos podatka (v)
    2. brisanje podatka (b)
    3. izpis vsebine (p)
    Interakcijo z uporabnikom izvedi preko preprostega vmesnika, kjer s črkami (v, b, p) določiš operacijo, ki naj se izvede!
  7. Izdelaj "knjižnico" funkcij s funkcionalnostjo statičnega sklada, katerega velikost je znana v času prevajanja. Razmisli, kaj so vhodni parametri funkcij in kaj funkcije vračajo, da bodo uporabne za programerja! Za razliko od prejšnje naloge ne delaj "uporabniškega vmesnika" za delo s funkcijami, ampak napiši par (testnih) funkcij, ki dejansko uporabljajo napisane funkcije!
  8. Izdelaj funkcijo, ki s pomočjo bisekcije ugotavlja, ali zaporedje urejenih števil vsebuje podano število ali ne. Funkcijo izdelaj v nerekurzivni in rekurzivni obliki!

Povezave

Vsebina predmeta
Rezultati informativnega testa

Rezultati

Izpiti
Rezultati študija

Drugo

Razpored po skupinah 2007/8
Na vrh | Prva stran | O laboratoriju | Osebje | Inštitut za informatiko | E-pošta

 

RTS UM Inštitut za informatiko FERI FERI