8
 SETUL 1. Operaţii simple de citire/scriere a datelor. Operatori şi expresii  1. Scrieţi un program care citeşte de la tastatură două numere întregi şi afişează “a devărat” daca primul num ăr este un multiplu al celui de- al doilea şi “fals” în caz contrar.  2. Scrieţi un program care citeşte de la tastatură două numere întregi reprezentând o dată calendaristică (lună şi zi) şi afişează “adevărat” dacă ea coincide cu data Crăciunului şi “fals” în caz contrar.  3. Scrieţi un program care să testeze dacă un an este sau nu bisect. Dacă da, afişează “adevărat”, dacă nu, afişează “fals”. Precizare: anii bisecţi sunt, în general, multipli de 4, dar anii multipli de 100 care nu sunt şi multipli de 400 nu sunt bisecţi. De exemplu, anul 2000 este an bisect, în timp ce anii 1700, 1800, 1900 nu sunt ani bisecţi. 4. Să se scrie un program care să citească de la tastatură trei valori întregi, pozitive, strict mai mici decât 1000 pe care apoi să le tipărească împreună cu media lor aritmetică sub forma:  A = *** B = *** C = * ** MEDIA = ***.** (S-a notat prin * o poziţie în care se va afişa un caracter ce face parte din reprezentarea valorii numerice respective) 5. Considerând R - raza unu i cerc, Lung Cerc - lungimea cercului şi Aria - suprafaţa acestuia (valori numer ice de tip real), să se scrie secvenţa de instrucţiuni necesară pentru afişarea următoarelor informaţii:  Raza cercului : ****.*** Lungimea cercului : ****.*** Aria cercului : *****.**** 6. Scrieţi un program care citeşte de la tastatură un număr şi afişea ză sub formă de tabel num ărul respectiv, numărul 2 , numărul 3 , numărul 4 . 7. O dată calendaristică introdus ă de la tastatură sub forma a trei valori întregi (zi, lună, an) trebuie afiş ată pe ecran sub forma zi/lună/an, păstrând din valoarea anului doar ultimele două cifre. Scrieţi fragmentul de  program care implem entează această funcţie.  8. Două intervale de timp sunt exprim ate în ore, minute şi secunde. Să se calcu leze suma lor exprimată în acelaşi mod. SETUL 2. Instrucţiuni ale limbajului C 1. Fiind dat un număr întreg pozitiv n , scrieţi un program care să calcu leze numărul de cifre zecim ale necesare  pentru a scrie valoarea lui n. De exemplu, pentru numărul 27 sunt necesare 2 cifre zecimale iar pentru numărul 5, una singură. 2. De la tastatură se introduce o listă de numere întregi pozitive. Se cere să se afişeze valoarea m aximă depistată în listă. 3. Cunoscând valoarea n, num ăr întreg pozitiv introdus de la tastatură, să se calculeze şi să se afiş eze suma n S =  (-1) k * k ! k=1 4. Citindu-se de la tastatură numărul natural n, să se calculeze şi să se afişeze lista puterilor pozitive ale lui 2 a căror valoare este cel mult egală cu n.  5. De la tastatură se introduce o dată cale ndaristică sub forma a trei întregi (zi, lună, an). Se cere să s e afişeze data sub forma zi- lună-an, în care luna să apară cu numele ei şi nu ca număr întreg. 6. Scrieţi un fragment de program cu ajutorul căruia s ă se determine dacă un caracter dat este literă, cifră, spa ţiu, semn de punctuaţie sau “alt caracter”.  7. Să se calculeze coefic ienţii binomia li C n 1 , C n 2 , ... C n  p , în care n şi p sunt valori întregi pozitive citite de la tastatură (p <= n), ştiind că există următoarea relaţie de recurenţă: 

Set Probleme

Embed Size (px)

Citation preview

SETUL 1. Operaii simple de citire/scriere a datelor. Operatori i expresii 1. Scriei un program care citete de la tastatur dou numere ntregi i afieaz adevrat daca primul numr este un multiplu al celui de-al doilea i fals n caz contrar. 2. Scriei un program care citete de la tastatur dou numere ntregi reprezentnd o dat calendaristic (lun i zi) i afieaz adevrat dac ea coincide cu data Crciunului i fals n caz contrar. 3. Scriei un program care s testeze dac un an este sau nu bisect. Dac da, afieaz adevrat, dac nu, afieaz fals. Precizare: anii biseci sunt, n general, multipli de 4, dar anii multipli de 100 care nu sunt i multipli de 400 nu sunt biseci. De exemplu, anul 2000 este an bisect, n timp ce anii 1700, 1800, 1900 nu sunt ani biseci. 4. S se scrie un program care s citeasc de la tastatur trei valori ntregi, pozitive, strict mai mici dect 1000 pe care apoi s le tipreasc mpreun cu media lor aritmetic sub forma: A = *** B = *** C = *** MEDIA = ***.** (S-a notat prin * o poziie n care se va afia un caracter ce face parte din reprezentarea valorii numerice respective) 5. Considernd R - raza unui cerc, LungCerc - lungimea cercului i Aria - suprafaa acestuia (valori numerice de tip real), s se scrie secvena de instruciuni necesar pentru afiarea urmtoarelor informaii: Raza cercului : ****.*** Lungimea cercului : ****.*** Aria cercului : *****.**** 6. Scriei un program care citete de la tastatur un numr i afieaz sub form de tabel numrul respectiv, numrul2, numrul3, numrul4. 7. O dat calendaristic introdus de la tastatur sub forma a trei valori ntregi (zi, lun, an) trebuie afiat pe ecran sub forma zi/lun/an, pstrnd din valoarea anului doar ultimele dou cifre. Scriei fragmentul de program care implementeaz aceast funcie. 8. Dou intervale de timp sunt exprimate n ore, minute i secunde. S se calculeze suma lor exprimat n acelai mod. SETUL 2. Instruciuni ale limbajului C 1. Fiind dat un numr ntreg pozitiv n, scriei un program care s calculeze numrul de cifre zecimale necesare pentru a scrie valoarea lui n. De exemplu, pentru numrul 27 sunt necesare 2 cifre zecimale iar pentru numrul 5, una singur. 2. De la tastatur se introduce o list de numere ntregi pozitive. Se cere s se afieze valoarea maxim depistat n list. 3. Cunoscnd valoarea n, numr ntreg pozitiv introdus de la tastatur, s se calculeze i s se afieze suma n S= (-1)k * k ! k=1

4. Citindu-se de la tastatur numrul natural n, s se calculeze i s se afieze lista puterilor pozitive ale lui 2 a cror valoare este cel mult egal cu n. 5. De la tastatur se introduce o dat calendaristic sub forma a trei ntregi (zi, lun, an). Se cere s se afieze data sub forma zi-lun-an, n care luna s apar cu numele ei i nu ca numr ntreg. 6. Scriei un fragment de program cu ajutorul cruia s se determine dac un caracter dat este liter, cifr, spaiu, semn de punctuaie sau alt caracter. 7. S se calculeze coeficienii binomiali Cn1, Cn2, ... Cnp, n care n i p sunt valori ntregi pozitive citite de la tastatur (p = 2. 9. Dndu-se numrul ntreg n, s se calculeze numrul ntreg x format din n cifre citite pe rnd de la tastatur ntr-o aceeai variabil c, n ipoteza c: a) prima cifr citit de la tastatur este cea mai semnificativ cifr a lui x; b) prima cifr citit de la tastatur este cea mai puin semnificativ cifr a lui x. n 10. S se calculeze cu o precizie eps dat limita irului xn = k * ak, tiind c pentru a < 1 irul este convergent. k=1 1 1*3 1*3* ... *(2*n-1) 11. Pentru n cunoscut, s se calculeze suma S = ---- + ------- + ... ----------------------2 2*4 2*4* ... *(2*n) 12. S se scrie un program care, folosind valoarea unui unghi x i o precizie eps dat (eps> 0), calculeaz valoarea funciei sin(x) cu o precizie (relativ) eps, folosind dezvoltarea n serie: x x3 x5 sin(x) = ----- - ----- + ----- - ... , cu x numr de tip real. 1! 3! 5! SETUL 3. Tipul tablou (masiv de date) 1. Scriei un program care afieaz n ordine invers componentele unui tablou a format din 10 elemente (numere ntregi). 2. Scriei secvena de instruciuni necesar pentru nmulirea aT * b, unde a i b sunt doi vectori de aceeai dimensiune. 3. Scriei un program care normalizeaz un vector dat, v, de dimensiune dat, n, adic mparte fiecare component a vectorului prin valoarea absolut maxim depistat prin explorarea valorilor absolute ale tuturor componentelor.

4. De la tastatur se introduc valorile componentelor a dou matrice numerice, a i b. S se calculeze i s se afieze elementele matricei s ce reprezint suma matricelor a i b. 5. S se afieze un vector v avnd n componente, scriind cte p componente pe un rnd. 6. Fiind cunoscut matricea numeric ptrat m de dimensiune n*n precizat, scriei un program care stabilete dac: - m este simetric fa de diagonala principal; - m este inferior triunghiular, adic toate elementele situate deasupra diagonalei principale sunt nule. 7. Pentru o matrice numeric format din n linii i m coloane (1< n, m < 10) s se scrie un program care afieaz liniile coninnd k elemente nule (0 < k = mb i na >= nb. S se decid dac b este o submatrice a lui a, adic dac exist k, l astfel nct : a k+i-1, l+j-1 = bi, j cu i=1, ..., mb i j=1, .... , nb. n caz afirmativ se vor tipri k i l. SETUL 4. Cutri i sortri pentru date de tip tablou (masiv) 1. S se scrie un program care, primind un ir x de numere ntregi cu n elemente, neordonate, i o valoare ntreag v, decide dac v se afl sau nu n ir. {n caz afirmativ, tiprete toate poziiile pe care se afl valoarea v. {n caz contrar, tiprete un mesaj corespunztor.

2. ntr-un ir de numere s cu n elemente, s se determine elementele cu o singur apariie. Elementele irului se citesc de la tastatur, precedate de numrul lor, n (n ny. S se decid dac y este un subir al lui x, adic dac exist un numr k astfel nct: xk = y1 xk+1 = y2 ... xk+ny-1 = yny {n caz afirmativ se va tipri valoarea lui k. 8. O matrice de numere, notat a, are p linii i q coloane. S se creeze o nou matrice b din matricea a, exceptnd liniile i coloanele la intersecia crora se afl elemente nule. Se vor utiliza doi vectori de numere n care se vor marca liniile, respectiv coloanele care urmeaz s nu mai apar n b. 9. Se dau dou iruri x i y ordonate strict cresctor, avnd m i respectiv n elemente. S se construiasc un nou ir z ordonat strict cresctor care s conin elementele irurilor x i y (interclasare de iruri). 10. De la tastatur se citete un ir de numere, notat x, cu n elemente ordonate strict cresctor. S se insereze n acest ir un numr neprecizat de valori alfa citite de la tastatur, astfel inct irul s rmn ordonat strict cresctor. Procesul de inserare nceteaz n momentul n care alfa < x1, x1 fiind primul element al irului x. 11. Se d o matrice, notat a. S se scrie un program care afieaz elementele maximale de pe coloane, ordoneaz descresctor liniile matricei dup primul element din fiecare linie a acesteia i apoi afieaz matricea astfel ordonat. SETUL 5. Funcii definite de ctre programator 1. Scriei o funcie care s furnizeze ca rezultat puterea a patra a unei valori de tip real. Folosii funcia pentru a calcula valoarea expresiei (a+b)4, unde a i b sunt dou valori de tip real. 2. Scriei o funcie care s aib ca rezultat valoarea minim existent ntr-un tablou de numere. 3. S se scrie o funcie care s determine cel mai mic multiplu comun pentru dou numere ntregi precizate. 4. Scriei o funcie care s aib ca rezultat suma cifrelor ce formeaz un numr ntreg. 5. S se scrie o funcie cifra(n,m) care are ca rezultat valoarea celei de-a m-a cifre de la dreapta spre stnga a numrului n scris n sistemul zecimal. De exemplu: cifra(7283, 3) are valoarea 2. 6. Scriei o funcie care s stabileasc dac un numr dat n conine n reprezentarea sa zecimal o anumit cifr precizat, notat, de exemplu, c. Se va utiliza apoi aceast funcie pentru a afia toi ntregii cu valori cuprinse ntre 1 i p (p citit de la tastatur) pentru care numrul, ptratul i cubul reprezrntrii sale conin aceeai cifr. Exemple de astfel de numere: 1, 5, 6, 10, 11, 12 etc. 7. Scriei o funcie pentru calcularea valorii xn, unde x i n sunt numere ntregi pozitive folosite ca parametri. Utilizai apoi aceast funcie n cadrul unui program pentru a testa dac valoarea 4(k+1) divide sau nu suma (2k+1)2k+3 + (2k+3)2k+1, considernd k o valoare cunoscut ce ndeplinete condiia 0 1. SETUL 8. Directive ctre preprocesor 1. Scriei o macro-definiie care s reprezinte cea mai mic dintre dou valori numerice. Folosii aceast macrodefiniie n cadrul unui program. 2. Scriei o macro-definiie care s reprezinte cea mai mare dintre trei valori numerice. Testai aceast macrodefiniie cu ajutorul unui mic program. 3. Scriei o macro-definiie care s furnizeze o valoare diferit de zero n cazul n care un caracter este liter mare (majuscul). 4. Scriei o macro-definiie care s furnizeze o valoare diferit de zero n cazul n care un caracter este liter. Aceast macro-definiie va folosi alte dou macro-definiii care s testeze faptul c este vorba de liter mic sau respectiv liter mare. 5. Scriei o macro-definiie care s furnizeze o valoare diferit de zero n cazul n care un caracter este cifr (0, 1, ..., 9). Folosii-o apoi pentru scrierea unei alte macro-definiii care s aib ca rezultat o valoare diferit de zero n cazul n care caracterul testat este caracter special (adic nu este liter i nu este cifr). Se poate utiliza i macro-definiia din problema anterioar.

6. Scriei o macro-definiie care s calculeze valoarea absolut a argumentului su. Asigurai-v c o expresie de tipul VALOARE_ABSOLUT (x + delta) va fi corect evaluat. SETUL 9. Structuri 1. Fie declaraia: struct lista int nr; float nota; ; S se scrie o funcie care s aib ca parametru un tablou cu maximum 100 de elemente de tip lista i s returneze ca rezultat valoarea cmpului nr asociat celei mai mari valori a cmpului nota din tablou. 2. Se consider un tablou de elemente ce conin informaii despre activitatea de producie a mai multor firme. Fiecare element memoreaz urmtoarele informaii: codul numeric al firmei, codul numeric al produsului, cantitatea produs. S se scrie o funcie care, folosind ca parametri tabloul i o valoare numeric x, furnizeaz ca rezultat numrul de firme care produc cea mai mare cantitate de produse al cror cod numeric este x. 3. Definii un tip structur pentru descrierea unui moment de timp exprimat prin valorile or, minute, secunde. Scriei apoi o funcie care s calculeze timpul scurs ntre dou momente de timp cunoscute. De exemplu, de la momentul 3:45:15 pn la momentul 9:44:03 au trecut 5 ore, 58 de minute i 48 de secunde. Atenie la momentele de timp situate nainte i dup miezul nopii ! 4. Definii un tip structur (eventual structur ierarhizat) pentru descrierea unui moment prin dat calendaristic (zi, lun, an) i moment de timp (or, minute, secunde). Scriei apoi o funcie care la fiecare apelare s actualizeze momentul de timp curent prin incrementare cu o secund i o funcie care s realizeze o operaie similar, dar prin incrementare cu o zi a datei calendaristice. Cele dou funcii vor fi utilizate de o a treia astfel: se va apela funcia de actualizare a momentului de timp i, dac n acest mod se depete miezul nopii, se va apela a doua funcie pentru a se trece la ziua urmtoare. Rezultatul final va reprezenta structura complet, actualizat. 5. Definii un tip structur convenabil pentru descrierea unei figuri geometrice plane. De exemplu, structura va conine denumirea formei figurii geometrice i: - pentru un cerc : raza; - pentru un dreptunghi : dimensiunile celor dou laturi. Scriei apoi o funcie care s aib ca rezultat aria unei figuri geometrice date i folosii-o ntr-un program. 6. S se defineasc un tip structur care s permit declararea de variabile numere complexe i cu ajutorul acesteia s se simuleze n limbajul C toate operaiile asupra numerelor complexe: adunarea, scderea, nmulireqa, mprirea, calcularea modulului, a argumentului, a prii reale i a prii imaginare. De asemenea, s se scrie funcii care s citeasc de la tastatur o valoare complex i, respectiv, s afieze pe ecran o astfel de valoare. SETUL 10. Pointeri 1. Scriei un program de ordonare descresctoare a unui tablou de numere unidimensional (vector) folosind ca instrument de lucru pointeri. 2. Scriei o funcie numit sort3 care s ordoneze cresctor trei numere ntregi date, fr a folosi tipul tablou. 3. Scriei o funcie care s realizeze inserarea unui nou element n cadrul unei liste nlnuite. Funcia poate folosi ca parametri un pointer ctre elementul ce urmeaz a fi inserat i un pointer ctre elementul listei dup care urmeaz s se realizeze inserarea. 4. Scriei o funcie care s realizeze eliminarea unui element din cadrul unei liste nlnuite. Funcia poate folosi ca parametru un pointer ctre elementul care l precede n list pe cel ce urmeaz a fi eliminat. 5. O list dublu nlnuit este o list n care fiecare element conine att un pointer ctre elementul precedent ct i un pointer ctre elementul urmtor. Definii un tip structur care s exprime n mod corespunztor un astfel de element i scriei un mic program care s implementeze o list dublu nlnuit i s afieze elementele acesteia.

6. Pentru o list dublu nlnuit s se defineasc i s se utilizeze ntr-un program demonstrativ funcii care s permit inserarea i respectiv eliminarea unor elemente. SETUL 11. Siruri de caractere 1. Scriei o funcie care s compare dou iruri de caractere terminate cu caracterul punct. 2. Scriei o funcie care primete ca parametru un ir de caractere i al crui rezultat spune dac se poate considera c irul respectiv reprezint un cuvnt (format doar din litere i, eventual cratim (-)). 3. S se scrie o funcie care s converteasc, dac este posibil, un ir de caractere primit ca parametru ntr-un valoare numeric de tip real (float). 4. S se scrie o funcie care s converteasc o valoare numeric ntreag (int) primit ca parametru n irul de caractere corespunztor acesteia. 5. Scriei o funcie care, primind ca parametri dou iruri de caractere, furnizeaz rezultatul comparrii acestora. Se va folosi un raionament asemntor celui necesar pentru nscrierea/cautarea cuvintelor ntr-un dicionar. 6. Scriei un program care s citeasc de la tastatur o linie de text i apoi s o afieze subliniind-o, adic scriind cte o liniu sub fiecare caracter (pe linia urmtoare, evident). 7. S se scrie o funcie care, folosind ca parametri dou iruri de caractere, notate a i b, arat dac a reprezint sau nu prefixul lui b. 8. S se scrie o funcie care s realizeze extragerea unei buci dintr-un ir de caractere ntr-un ir nou, separat. Funcia va folosi ca informaii cunoscute (parametri) irul surs, poziia n irul surs a primului caracter ce urmeaz a fi extras i numrul de caractere ce trebuie extrase. 9. S se fac o statistic a cuvintelor de 1, 2, ..., 10 litere dintr-un text. Cuvintele sunt separate ntre ele prin unul sau mai multe spaii. 10. {ntr-un text citit de la tastatur s se nlocuiasc toate apariiile unui ir de caractere notat ir1 prin alt ir de caractere notat ir2. Cele dou iruri de caractere vor fi citite separat, naintea textului. 11. Scriei un program care s citeasc de la tastatur dou propoziii terminate prin caracterul punct i apoi s afieze o list a literelor ce apar n ambele propoziii. SETUL 12. Fiiere 1. Scriei un program care s numere cuvintele i propoziiile unui text. Textul este ncheiat de caracterul sfrit de fiier. Cuvintele sunt separate prin virgul i spaiu iar propoziiile se termin cu unul dintre caracterele punct, semnul exclamrii sau semnul ntrebrii. Un cuvnt poate ncepe printr-o liter sau printr-o cifr iar n interiorul cuvintelor se accept doar: literele, cifrele i caracterul cratim (-). 2. Se dau un text i un cuvnt ce urmeaz a fi cutat n acest text. S se scrie un program care s numere apariiile cuvntului cutat iar n locul lui s introduc un alt cuvnt, de asemenea precizat. {n final, se va afia textul astfel modificat. 3. Dintr-un text considerat cunoscut s se contorizeze numrul de caractere, numrul de cuvinte i numrul de linii. Pentru fiecare cuvnt din text (identificat printr-un numr de ordine) s se afieze lungimea (numrul de caractere din care este compus). 4. S se realizeze descrierea n limbajul C a informaiilor referitoare la un grup de persoane (numrul maxim de persoane n grup este 1000). Despre fiecare persoan se folosesc urmtoarele informaii: nume, prenume, adres, sex, greutate, nlime, vrst, culoare a prului i a ochilor. S se scrie un program care stocheaz informaiile despre persoane pe disc magnetic ntr-un fiier care s poat fi citit dac se dorete afiarea acestora ntr-o form convenabil. Programul se poate extinde astfel nct s solicite introducerea de la tastatur a numelui unei persoane i s afieze informaiile despre toate persoanele cu numele respectiv (dac

exist asemenea persoane). Dac de la tastatur se introduce textul oricare, programul va afia informaiile despre toate persoanele, indiferent de nume. 5. S se scrie un program care s citeasc patru grupuri de caractere, notate a, b, c, d. Fiecare grup este situat pe cte o linie distinct. Programul calculeaz urmtoarele expresii i le afieaz sau stocheaz ntr-o form convenabil: (a - b) U (c - d) (a - b) - (c - d) 6. S se scrie un program care, primind numele a cel mult patru fiiere precedate de numrul acestora, s formeze fiierul obinut prin concatenarea tuturor informaiilor din acestea. Fiierele conin numere de tip real. 7. S se scrie un program care compar, linie cu linie, coninutul a dou fiiere text, tiprind numrul de ordine al liniilor n care apar deosebiri. 8. S se scrie un program care s ordoneze un fiier ce conine elemente de tip structur dup o cheie format din 8 caractere, transfernd apoi nregistrrile astfel ordonate n alt fiier. 9. Se consider un fiier care conine informaii referitoare la mrfurile prezentate n cadrul unui catalog promoional. Pentru fiecare marf se precizeaz (pentru simplitate) doar codul alfanumeric asociat i preul exprimat n lei. S se scrie o funcie care s furnizeze ca rezultat marfa cu cel mai mic pre din ntregul catalog (codul alfanumeric asociat acesteia). 10. Se consider un fiier n care se pot pstra ca informaii numere ntregi. S se scrie o funcie care depune n acest fiier numerele Fibonacci ce nu depesc o valoare dat ca parametru, notat n. 11. Se consider un fiier n care sunt inscrise urmtoarele informaii referitoare la o grup de studeni: nume student, prenume student, media obinut de student n sesiunea de examene curent. S se scrie funcii care s realizeze urmtoarele operaii: - s afieze media i numele studentului cu media cea mai mare; - s determine media studentului de la mijlocul fiierului i s semnalizeze situaia n care fiierul conine un numr impar de articole; - s ordoneze cresctor articolele fiierului dup valoarea mediilor i s afieze media i numele studentului aflat pe ultima poziie din fiier n urma acestei operaii. 12. Pentru fiecare produs realizat de o anumit firm se pstreaz evidena urmtoarelor informaii: cod beneficiar, cod produs, cantitate livrat, valoare. S se scrie un program care s realizeze urmtoarele operaii: - s creeze un fiier notat f care s conin informaii referitoare la toate produsele firmei; - s creeze un fiier notat g n care s stocheze toate articolele fiierului f a cror valoare este mai mare dect o valoare x precizat; - s creeze un fiier notat h n care s stocheze articolele fiierului f pentru care cantitatea livrat este mai mic dect o valoare y precizat. 13. Articolele unui fiier conin urmtoarele informaii referitoare la lucrtorii din cadrul unei secii: - numr marc; - nume lucrtor; - cod operaie efectuat; - numr de execuii ale operaiei; - valoare manoper pentru execuia unei operaii. Dac articolele sunt ordonate cresctor dup valoarea numr marc, s se creeze un fiier cu articole care conin urmtoarele informaii: numr marc, nume lucrtor, retribuia. 14. Se consider un fiier cu informaii despre locul naterii unor persoane. S se determine pentru fiecare localitate numrul de persoane nscute n localitatea respectiv. 15. S se scrie un program prietenos cu utilizatorul care s realizeze evidena operaiilor efectuate ntr-un magazin comercial pe baza urmtoarelor precizri: - la fiecare vnzare se nregistreaz lista mrfurilor cerute de cumprtor mpreun cu cantitile solicitate. Se presupune c exist un fiier cu mrfurile disponibile i preurile acestora. Programul va trebui

s indice costul total al mrfurilor solicitate care exist n magazin i lista mrfurilor ce nu sunt disponibile n cantitatea solicitat. Atunci cnd cumprtorul achiziioneaz mrfurile existente se va face actualizarea stocului; - la fiecare aprovizionare se introduce o list de mrfuri mpreun cu cantitile ce vor intra n magazie. Pentru mrfurile cu preuri noi se va specifica i preul pe bucat; - la sfritul fiecrei sptmni se va edita un raport ce va conine pentru fiecare produs codul i cantitatea disponibil n stoc. De asemenea, se va afia lista produselor cel mai des solicitate. 16. Se dau fiierele: f1 cu articole a1 = (a,b,c,d); f2 cu articole a2 = (e,f,g,h,i); f3 cu articole a3 = (j,k), unde a,b,c,d,e,f,g,h,i,j, i k sunt numere reale. S se creeze fiierele: f4 cu articole a4 = (t1,t2,t3,t4) i f5 cu articole a5 = (u1,u2,u3,u4,u5), unde: t1 = max (a,b,c,d); t2 = min (e,f,g,h,i); t3 = max (j,k); t4 = max (a,b,c,d,e,f,g,h,i,j,k); u1= min (a,b,c,d); u2= max (e,f,g,h,i); u3= min (j,k); u4= min (a,b,c,d.e,f,g,h,i,j,k); u5= min (u1,u2,u3,u4). 17. Se consider un fiier ce conine urmtoarele informaii referitoare la produsele prezentate n cadrul unui catalog: codul firmei, codul produsului, denumirea produsului i cantitatea produs. Se cere: - s se ordoneze fiierul cresctor dup codul firmei, stabilindu-se apoi numrul de produse realizate de ctre fiecare firm; - s se ordoneze fiierul cresctor dup codul produsului, stabilindu-se pentru fiecare produs numrul de firme care l realizeaz. 18. Scriei un program care creeaz un fiier text prin combinarea informaiilor coninute n alte dou fiiere de acelai tip. (n noul fiier apar alternativ: prima linie din primul fiier, prima linie din al doilea fiier, a doua linie din primul fiier, a doua linie din al doilea fiier etc.). Se va lua n considerare i cazul n care cele dou fiiere conin un numr diferit de linii. 19. Scriei un program care s afieze din fiecare linie a unui fiier text toate coloanele (caracterele coninute n poziiile) m pn la n, unde m i n se citesc de la tastatur. 20. Scriei un program care s afieze coninutul unui fiier text astfel: - se afieaz primele 20 de linii din fiier; - se ateapt introducerea unui caracter de la tastatur; - dac s-a apsat tasta corespunztoare literei s (cu semnificaia de stop), programul se ncheie (se abandoneaz afiarea); - dac se apas orice alt tast (corespunztoare altor litere dect s), se vor afia urmtoarele 20 de linii din fiier.