Sunteți pe pagina 1din 4

PROBLEME – TIPUL FIŞIER TEXT

1.În fişierul text NUMERE.TXT se găsesc numere naturale de maxim 9 cifre separate prin spaţii. Scrieţi un
program care să creeze fişierele DIV2.TXT şi DIV3.TXT. Aceste fişiere vor conţine numerele divizibile cu 2
respectiv 3 din fişierul iniţial. Programul va afişa numărul de numere citite din fişierul de intrare.
2.Fişierul SIRURI.TXT conţine mai multe şiruri de numere întregi, elementele fiecărui şir aflându-se pe câte o
linie. Nu se cunoaşte numărul de şiruri şi nici câte elemente are fiecare şir. Aflaţi numărul de ordine al fiecărei linii
din fişier care conţine un şir ordonat crescător.
3.În fişierul text PROBLEME.TXT sunt scrise enunţurile mai multor probleme de informatică, fiecare problemă
fiind scrisă pe o linie. Determinaţi numărul de probleme care cer prelucrarea unor fişiere. Aceste probleme conţin
cuvântul ‚fişier’ în textul lor. Scrieţi un program care determină acest număr şi îl afişează.
4. Există creat pe disc fişierul CUVINTE.IN care conţine un text format din mai multe linii. Scrieţi un program
care citeşte textul din fişierul dat şi scrie în fişierul MAJUSCULE.OUT toate cuvintele care încep cu majusculă,
fiecare cuvânt va fi scris pe o linie.
5.Într-un fişier text sunt memorate adresele de e-mail ale unor persoane, separate prin câte un spaţiu. Afişaţi câte
adrese de e-mail sunt în fişier şi câte persoane au cont de e-mail pe ‘yahoo’.
6.În fişierul ELEVI.DAT se găsesc scrise pe câte un rând mdia generală şi numele elevilor, separate prin spaţiu. Să
se scrie un program care afişează elevii cu media 10 şi creează fişierul ELEVBUN.DAT, conţinând numele elevilor
cu media peste 7.
7.Se dau două fişiere cu acelaşi număr de linii.Primul, cu numele PRECIP.DAT, conţine cantitatea de precipitaţii,
iar celălalt, cu numele LOCALIT.DAT, conţine localitatea în care s-au înregistrat aceste precipitaţii.Scrieţi un
program care să determine cantitatea de precipitaţii maximă, precum şi localitatea în care s-au înregistrat aceste
precipitaţii.Se mai citeşte denumirea unei localităţi şi se cere să se afişeze cantitatea de precipitaţii pentru acea
localitate.
8.Există creat pe disc fişierul DOCUMENT.TXT, al cărui conţinut trebuie copiat în N fişiere. Numele acestora se
citeşte pe rând de la tastatură. Datele existente în aceste fişiere nu trebuie şterse, conţinutul fişierului
DOCUMENT.TXT trebuie adăugat.

9.Un elev are pe discul calculatorului foarte puţin spaţiu liber. De aceea el vrea să depisteze fişierele text identice şi
să aleagă unul dintre ele. Scrieţi un program care citeşte numele a două fişiere, verifică dacă sunt identice şi în caz
afirmativ, şterge fişierul cu numele mai lung.

10.Se citeşte dintr-un fişier o mulţime, ce conţine numai caracterele de la ‘a’ la ‘m’ şi apoi de la tastatură un
caracter. Să se verifice dacă acest caracter se găseşte în mulţime.

11.Fişierul text ECUAŢII.TXT conţine pe fiecare linie triplete de forma abc numere reale.Să se creeze fişierul
SOLUŢII.TXT ce va conţine pe fiecare linie soluţiile ecuaţiei de gradul al II-lea cu coeficienţi a, b, c, iar dacă
ecuaţia nu are soluţii reale va scrie pe linia corespunzătoare mesajul “NU ARE SOLUŢIE REALĂ”.

12.Fişierul IN.TXT conţine un text format din litere mici.Scrieţi un program care transformă prima literă a fiecărui
cuvânt în literă mare, apoi afişează conţinutul fişierului pe ecran.

13.În fişierul ROMAN.TXT se găseşte scris un roman de aventură.Să se scrie un program care determină câte
aliniate are romanul şi câte pagini, ştiind că pe o pagină intră 40 rânduri.

14.Să se scrie un program care crează fişierul ALEATOR.OUT, care să conţină toate numerele divizibile cu 3 din
intervalul [1, 20000].

15.Se citesc dintr-un fişier numere. Să se scrie un program care să citească câte 4 numere şi să se afişeze suma lor
pe ecran. La sfârşit să se afişeze şi suma tuturor numerelor din fişier.

16.Să se calculeze şi să se afişeze frecvenţa de apariţie a fiecărei cifre dintr-un text scris pe mai multe linii într-un
fişier. Frecvenţa se calculează ca raport între numărul de apariţii al cifrei şi numărul total de caractere din text.

17.Într-un fişier text se află termenii unui polinom, fiecare pe câte o linie (coeficientul urmat de un spaţiu şi gradul
termenului). Sunt păstraţi doar termenii diferiţi de zero. Să se calculeze valoarea polinomului pentru o valoare reală
x, dată de la tastatură.
18.Adelina a scris o scrisoare bunicii sale şi a salvat textul într-un fişier de tip text. A doua zi a mai scris o parte din
scrisoare şi a salvat-o într-un alt fişier de tip text.
a)Scrieţi un program prin care să o ajutaţi pe Adelina să concateneze cele două fişiere astfel încât scrisoarea pentru
bunica ei să se afle într-un singur fişier.
b)Număraţi de câte ori apare în scrisoarea Adelinei (din fişier) cuvântul ‚bunic’ (chiar dacă se găseşte ca parte a
unui alt cuvânt, de exemplu ‚bunicuţa’ sau ‚bunicul’) şi tipăriţi valoarea obţinută.

19.Adelina a salvat textul cu scrisoarea pentru bunica ei de două ori, în două fişiere diferite pe aceeaşi dischetă, în
acelaţi director. A încurcat textele şi acum nu mai ştie dacă cele două fişiere sunt identice sau conţin părţi diferite
ale scrisorii. Scrieţi un program care preia de la tastatură numele celor două fişiere, le compară şi afişează unul
dintre textele: ‚fişierele sunt identice’ sau ‚fişierele sunt diferite’.

20.Se consideră două fişiere ce conţin litere. Se va crea un fişier ce are pe prima linie literele comune şi pe a doua
linie literele distincte.

21.Un fişier text conţine pe fiecare linie câte un identificator de fişier format din nume şi extensie, separate prin
punct. Să se afişeze lista fişierelor Pascal.

22.Doi asociaţi ai unei firme au numele persoanelor care urmează să fie invitate la un dineu păstrate în două fişiere
text (pe fiecare linie este trecut numele unei persoane). Alcătuiţi lista finală astfel încât o persoană să nu fie invitată
de două ori.

23.Într-un fişier text există pe fiecare linie media şi numele unui elev, despărţite prin spaţiu. Să se scrie ‚promovat’
în dreptul elevilor cu medii peste 5, respectiv ‚respins’ în cazul celorlalţi.

24.Un copil vede pe o maşină sigla unei ţări necunoscute. Ajutaţi-l să afle din ce ţară e maşina, folosind un fişier
text ce conţine pe fiecare linie sigla unei ţări (formată din una sau două litere) şi denumirea ţării, separate prin
caracterul ‚=’.

25.Codul numeric personal din buletinul de identitate este format din 13 cifre: prima reprezintă codul genului (1
pentru bărbaţi şi 2 pentru femei), următoarele 4 codifică data naşterii sub forma aallzz, iar ultimele sunt
caracteristice fiecărei persoane. Ştiind că în fişierul text CODURI.TXT sunt păstrate codurile personale ale unor
angajaţi dintr-o firmă (fiecare pe câte o linie), se cere să se stabilească:
a)câte persoane de gen feminin şi câte de gen masculin sunt angajate la firmă
b)dacă există persoane născute în perioada 1960-1970 care lucrează în firmă

26.Într-un fişier text există date despre fiecare produs dint-un magazin. Fiecare linie conţine numele produsului şi
categoria din care face el parte. Să se afişeze aceste produse ordonate alfabetic după categoria din care fac parte.

27.Se citeşte un text scris pe mai multe linii într-un fişier. Să se codifice textul, iar rezultatul obţinut să se scrie într-
un alt fişier de tip text, păstrându-se lungimea liniilor. Codificarea se realizează înlocuind fiecare literă cu litera
precedentă (b cu a, c cu b,..., iar a cu z) şi fiecare cifră cu cifra precedentă (1 cu 0, 2 cu 1,..., 0 cu 9), celelalte
caractere rămânând neschimbate.

28.Dintr-un fişier text se citesc de pe prima linie numărul de linii şi numărul de coloane ale unui tablou
bidimensional, ce păstrează aşezarea mai multor flori de specii diferite într-un strat. De pe liniile următoare se
citesc elementele tabloului astfel: pe fiecare linie din fişier se află câte o linie din tablou, denumirile florilor fiind
scrise fiecare pe câte 15 caractere. Să se creeze un alt fişier text care conţine indicii de linie şi de coloană ai
poziţiilor în care se află în strat ‚lalele’. Se vor scrie pe fiecare linie câte doi indici separaţi prin spaţiu, întâi
indicele de linie apoi cel de coloană.

29.În urma unui examen de admitere a rezultat un fişier text conţinând pe fiecare linie punctajul obţinut de un
candidat, un spaţiu şi apoi numele şi prenumele candidatului respectiv. Ştiind că rezultatele nu sunt ordonate
descrescător după punctaj şi cunoscând numărul de reuşiţi, să se determine (fără a ordona) dacă un candidat cu
numele dat de la tastatură este admis sau respins în urma examenului. În cazul în care este admis se va afişa şi
poziţia pe care o ocupă în clasament.
30.Se consideră un fişier text cu numele Mult.in care are două linii. Fiecare linie conţine elementele (ce fac parte
din multimea {‘a’…’z’,’A’,…’Z’,’0’…’9’}) mulţimilor A şi B, separate între ele prin câte un spaţiu. Să se scrie un
program care:
a. scrie pe prima linie din fişierul text Mult.out mesajul ‘DA’ dacă A este inclusă în B, respectiv ‘NU’ în caz
contrar;
b. scrie pe a doua linie din fişierul text Mult.out elementele mulţimii (A\B)(B\A), adică diferenţa simetrică.

31.Fie TARI.TXT un fişier text ce conţine pe fiecare linie populaţia unei ţări şi numele ţării respective şi
CONTINENT.TXT un fişier text ce conţine pe fiecare linie un nume de continent şi, separate prin spaţii, pe rândul
respectiv, ţările de pe respectivul continent. Se cere fişierul TOTAL.TXT ce va conţine pe fiecare linie numele
continentului şi populaţia totală pe acel continent.

32.Profesoara a dat celor n elevi ai săi să realizeze câte un mic fişier text care să conţină informaţii despre modul
de viaţă al unor vieţuitoare şi le-a spus să salveze lucrările cu numele: parte1.txt, parte2.txt,..., parten.txt. Scrieţi o
aplicaţie care să concateneze aceste fişiere în fişierul profesor.txt

33.Fişierul NUME.TXT conţine un cod de 4 caractere (litere sau cifre), urmat de spaţiu şi numele unor agenţi
secreţi. Fişierul MISIUNE.TXT conţine descrisă misiunea pe care agenţii o au de realizat (caractere alfabetice,
numerice şi spaţii). În acest text apar însă numele agenţilor. Se cere să se scrie un program care să creeze un fişier
MISIUNEF.TXT care să conţină descrierea misiunii însă nu cu numele agenţilor, ci cu codul lor.

34.Să se afişeze numărul de numere de pe fiecare linie a unui fişier text cu numele citit de la tastatură. Exemplu:
dacă numele fişierului citit este F1.TXT iar conţinutul acestui fişier este:
12 4 67 43 878
2 7 8 5 3 2 89 123
9
valorile afişate vor fi 5, 8, 1.

35.Să se scrie un program care afişează pe ecran conţinutul unui fişier text cu nume citit de la tastatură.

36.Din fişierul text FISIN.TXT se citesc mai multe numere întregi, scrise pe unul sau mai multe rânduri. Să se
copieze în fişierul FISOUT.TXT acele numere din fişierul de intrare care au cel mult două cifre, toate pe primul
rând al fişierului de ieşire separate prin spaţiu şi să se afişeze pe ecran câte astfel de numere s-au găsit. Exemplu:
dacă fişierul FISIN.TXT are următorul conţinut:
12 5 784 2374
23 5 6657 34 222
4 890
fişierul fisout.txt va fi 12 5 23 5 34 4, iar pe ecran se va afişa valoarea 6.

37.Să se creeze un fişier text care să conţină toate numerele cuprinse între a şi b formate din cifre identice. Valorile
lui a şi b se citesc de la tastatură. Exemplu: pentru a=10 şi b=150 fişierul de ieşire va conţine:
11 22 33 44 55 66 77 88 99 111

38.În fişierul text PROBL.TXT se găsesc pe prima linie două numere a şi b, iar pe următoarea linie mai multe
numere întregi. Să se verifice dacă toate aceste numere se găsesc în intervalul [a, b] sau se găsesc toate în afara
acestuia. Se va afişa pe ecran un mesaj corespunzător. Exemplu: dacă fişierul PROBL.TXT conţine:
20 25
2 6 8 30 55 3 -22 4 103
se va afişa mesajul DA (sau unul cu acelaşi sens).

39.Se dau două şiruri de caractere S şi T şi un fişier text IN.TXT. Să se scrie un program care copiază conţinutul lui
IN.TXT într-un alt fişier text OUT.TXT, însă înlocuieşte fiecare apariţie a şirului S cu şirul T. Exemplu: S=’abc’,
T=’12345’
IN.TXT OUT.TXT
uvabcxyabcmn uv12345xy12345mn
cabcde c12345de
40.Se citesc din fişierul text ABC.TXT un şir de numere întregi aflate toate pe prima linie a fişierului, separate prin
spaţii. Se cere să se determine câte din numerele citite sunt mai mici decât media aritmetică a tuturor numerelor.
Rezultatul se va afişa pe ecran. Exemplu: dacă ABC.TXT este: 45 678 23 12 5 89 4 21 atunci se va afişa
valoarea 7 (media este 109.625 deci în afară de numărul 678 toate sunt mai mici decât această medie).

41.Să se scrie un program care şterge fiecare apariţie a unui şir S dintr-un fişier text cu numele citit de la tastatură.
Exemplu: dacă iniţial fişierul era:
abc fdg dgh ergadfv abc sdf
esrgsfb erg abc fgsdfb fgabcde szdg
iar s=’abc’, atunci în final fişierul va arăta astfel:
fdg dgh ergadfv sdf
esrgsfb erg fgsdfb fgde szdg

42.Pe prima linie a fişierului text LITERE.TXT se găseşte o succesiune de cel puţin două şi cel mult 2000 de
caractere, caractere ce pot fi doar litere mici şi spaţii. Scrieţi un program care citeşte de la tastatură un număr
natural k (1<k<1000) şi stabileşte dacă există în fişier vreo literă care apare de exact k ori. Programul afişează pe
ecran mesajul DA urmat de literele care îndeplinesc condiţia amintită sau NU dacă nu exisă astfel de litere.
Exemplu: dacă fişierul LITERE.TXT are următorul conţinut: ydfb sdfgn hfmfgvbasg asefnetzhj sdfgbasdfgsrtn
iar k=3, atunci se vor afişa mesajul DA şi literele b, n, a.

43.Se dă un fişier text cu numele IN1.TXT care conţine codurile ASCII ale unor caractere, separate prin spaţiu. Să
se construiască fişierul OUT1.TXT care să conţină caracterele cu codurile ASCII din fişierul IN1.TXT. Exemplu:
IN1.TXT OUT1.TXT
103 42 116 87 33 g * t W !
91 76 [ L
110 92 124 n \ |

44.Din fişierul NR.IN se citesc mai multe numere întregi. Ele sunt scrise în fişier pe mai multe linii, două numere de pe aceeaşi linie
fiind separate prin spaţiu. Să se scrie un program care construieţte fişierul text NR.OUT conţinând numărul cel mai mare şi numărul cel
mai mic din fiecare linie a fişierului NR.IN. Cele două numere se vor scrie pe aceeaşi linie separate prin spaţiu. Exemplu:
NR.IN NR.OUT
12 342 56 3 21 3 342
1 21 -7 5 -7 21
3 3 3
90 1 902 1 902
2 2 2 2 2

45.Se dă un fişier text IN.TXT care conţine mai multe linii de text. Să se creeze un nou fişier OUT.TXT care conţine liniile din fişierul
IN.TXT precedate de numărul de caractere din linia respectivă. Acest număr va fi separat de restul textului din linie printr-un caracter
punct. Exemplu: IN. TXT OUT.TXT
sdbm sdgasfd 12. sdbm sdgasfd
fadf 4.fadf
sfgnytaer 9.sfgnytaer
fvd 3.fvd

46.Fişierul text TRIUNGHI.TXT conţine pe fiecare linie câte trei numere separate prin câte un spaţiu. Nu se cunoaşte câte astfel de
triplete sunt în fişier. Pentru fiecare dintre aceste triplete să se verifice dacă pot reprezenta laturile unui triunghi (sunt pozitive şi suma a
oricare două este mai mare decât al treilea număr). În caz afirmativ se va stabili natura triunghiului (isoscel, eghilateral, oarecare).
Rezultatele se vor afişa într-un alt fişier.

47.Rezultatele obţinute de către elevii unui liceu la Bacalaureat se găsesc în fişierul ‘bac.in’, care conţine  : pe primul rând numărul de
elevi n, apoi, pe fiecare din următoarele n rânduri, media la bacalaureat şi numele unui elev, în această ordine, separate printr-un
spaţiu.Creaţi fişierul ‘bac.out’ care conţine elevii din fişierul ‘bac.in’ în ordinea crescătoare a mediilor (în acelaşi format ca şi cel din
fişierul de intrare), apoi tipăriţi pe ecran : numărul elevilor cu media sub 5, numărul elevilor cu media între 5 şi 7 şi numărul elevilor cu
media peste 7.

48.Se citeşte o matrice din fişierul text ‘mat.in’.Fişierul conţine :


 pe primul rând numărul m de linii şi numărul n de coloane ale matricii
 pe fiecare din următoarele m rânduri, elementele unei linii a matricii, separate prin spaţii
Să se interschimbe între ele liniile date L1, L2, scriindu-se matricea rezultată în fişierul ‘mat.out’ (elementele fiecărei linii a matricii pe un
rând).

S-ar putea să vă placă și