POS/Predrok 2021

Izvor: SI Wiki
< ПОС
Datum izmene: 15. jun 2021. u 13:21; autor: Fedja (razgovor | doprinosi) (+tekst drugog zadatka pos predrok 2021)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

Predrok traje 120 minuta.

Zadatak 2

Postavka

(15p) Napisati bash skriptu koja pronalazi sve celobrojne i realne konstante definisane kao makroe unutar .c datoteka. Konstana[sic] se definiše kao makro u formatu:

#define nazivKonstante vrednost

Skripta prima sledeće argumente:

  • jedini pozicioni argument je putanja do direktorijuma koji treba pretražiti do prizvoljne dubine. Ovaj direktorijum i svi njegovi poddirektorijumi sadrže .c datoteke unutar kojih treba pronaći konstante definisane kao makroe;
  • opcija -o sa argumentom koji predstavlja putanju do datoteke u koju je potrebno upisati u zasebnom redu nazivKonstante=vrednost za svaku konstantu koja se pronađe;
  • opcija -s bez argumenta treba da ispiše zbir svih celobrojnih konstanti nakon završetka skripte u formatu "Zbir je: zbir";
  • opcija -z sa argumentom koji predstavlja direktorijum u kome treba napraviti datoteku pod nazivom arhiva koja sadrži komprimovane i arhivirane samo one .c datoteke u kojima je pronađena bar jedna konstanta koja je definisana kao makro.

Opcija o je obavezna, dok opsije s i z nisu obavezne. Ispisivati kratke poruke o greškama u slučaju nekorektnih argumenata prilikom pokretanja skripte i takvim slučajevima prekinuti rad skripte.