Preskoči na glavno vsebino
Učilnica FRI 25/26
  • Domov
  • Koledar
  • Več
Sitewide search Zapri
Preklopi iskalni vnos
Slovenščina ‎(sl)‎
English ‎(en)‎ Slovenščina ‎(sl)‎ Македонски ‎(mk)‎ Русский ‎(ru)‎ 한국어 ‎(ko)‎
Trenutno uporabljate gostujoči dostop
Prijavite se
Učilnica FRI 25/26
Domov Koledar
Razširi vse Skrči vse
  1. Nadzorna plošča
  2. C
  3. Predavanja in vaje
  4. Naloge - 4. dan

Naloge - 4. dan

Zahteve zaključka
Rok za oddajo: četrtek, 28. september 2023, 23.59

Naloga 1 (2,5 točke)

Napiši program bitki.c, ki generira in izpiše vsa 8-bitna števila, ki imajo prižganih natanko i bitov. Na koncu naj program izpiše tudi, koliko je takih števil ter njihovo vsoto. Vrednost parametra i preberite iz prvega argumenta programa.

Primer izpisa za i=1:

00000001 = 1
00000010 = 2

00000100 = 4
00001000 = 8
00010000 = 16
00100000 = 32
01000000 = 64
10000000 = 128
i=1, n=8, vsota=255

 

Naloga 2 (2,5 točke)

Napiši program wc.c, ki prebere datoteko (ime je podano kot argument programa) in v njej prešteje število znakov, vrstic in besed (podobno, kot dela program wc na Linux). Program natančno preizkusite na različnih primerih. Pri tem bodite pozorni na dvojna ločila (npr. dva presledka), prazne vrstice na koncu datoteke in podobno.
 
Primer za datoteko wc_test.txt:
vrstic: 6, besed: 15, znakov: 114




Dodatna (neobvezna) naloga

Napiši program licenca.c, ki skrbi za upravljanje z licenco (registracijsko številko) namišljene programske opreme. Napišite funkcije za generiranje registracijske številke, za preverjanje pravilnosti registracijske številke in za ugotavljanje registriranih komponent v registracijski številki.

Registracijska številka je 32-bitna in je sestavljena iz dveh delov:

  • zgornjih 16 bitov je ID računalnika,
  • v spodnjih 16 pa je zakodirano, katere komponente programske opreme so registrirane (vsak bit je ena komponenta).

Scenarij uporabe programa:

  1. Uporabnik preko tipkovnice vnese ID računalnika (16-bitno število zapisano šestnajstiško), npr. C4FE.
  2. Uporabnik preko tipkovnice vnese številke registriranih komponent (med 1 in 16, lahko jih izbere več). Vnos je lahko v eni vrstici (števila so ločena s presledki ali vejicami) ali pa po eno število na vrstico.
  3. Program ustvari registracijsko številko in jo izpiše.
  4. Program zahteva vpis registracijske številke v šestnajstiški obliki in izpiše ali je pravilna (ID se ujema) in katere komponente so registrirane.

Namigi: Kateri podatkovni tip je najbolje uporabiti za hranjenje registracijske številke (ki je 32-bitna)? Pri branju s tipkovnice (npr. scanf) in izpisu na zaslon (printf) lahko namesto desetiške vrednosti celega števila (%d) uporabimo njegovo šestnajstiško vrednost (%x).

Vpisi ID racunalnika (4 znaki hex): C4FE
Vpisi stevilko registrirane komponente (vsako posebej, koncaj z 0).
St. komponente: 2
St. komponente: 3
St. komponente: 0
Registracijska stevilka: C4FE0006
Vpisi registracijsko stevilko za preverjanje: C4FE0006
Registracijska stevilka se ujema z ID racunalnika.
Registrirane komponente:
komponenta 01: ne
komponenta 02: DA
komponenta 03: DA
komponenta 04: ne
komponenta 05: ne
komponenta 06: ne
komponenta 07: ne
komponenta 08: ne
komponenta 09: ne
komponenta 10: ne
komponenta 11: ne
komponenta 12: ne
komponenta 13: ne
komponenta 14: ne
komponenta 15: ne
komponenta 16: ne

 

 

Trenutno uporabljate gostujoči dostop (Prijavite se)
Pridobi mobilno aplikacijo
Stran poganja Moodle
Obvestilo o avtorskih pravicah