|
ATESTAT INFORMATICA - INTENSIV - PROGRAMARE
Fisierul date.in contine cel mult 100000 numere naturale separate prin spatii, fiecare numar avand cel mult noua cifre. Sa se realizeze un program care scrie in fisierul date.out, pe o singura linie, separate prin cate un spatiu, toate numerele din date.in care au prima cifra para.
Exemplu
date.in date.out
45 123 68 8 134 56 876 45 68 8 876
Fisierul Atestat.txt contine cel mult 100 de numere naturale de cel mult 6 cifre fiecare, cate un numar pe fiecare linie a fisierului. Scrieti un program care:
a) afiseaza pe ecran toate numerele din fisier, cate 3 pe fiecare linie, numerele de pe o linie fiind separate prin cate un spatiu, ultima linie ramanand eventual incompleta
b) afiseaza pe ecran, pe urmatoarea linie, suma numerelor prime din fisier
Exemplu
Atestat.txt
5
6
8
7
4
3
3
Se afiseaza:
5 6 8
7 4 3
3
18
Se considera fisierul cuvinte.txt ce contine pe prima linie un numar natural n iar pe urmatoarele n linii cate un cuvant cu maxim 10 caractere. Sa se afiseze pe ecran cuvintele din fisierul dat care sunt palindroame. In cazul in care nu exista nici un cuvant palindrom se va afisa NU. Un cuvant este palindrom daca citindu-l de la dreapta la stanga sau de la stanga la dreapta se obtine acelasi cuvant.
Exemplu
cuvinte.txt
3
sas
Creion
Ioi
Se afiseaza:
sas
SUBIECTUL 4
Fisierele text a.txt si b.txt contin numere naturale, cate un numar pe fiecare linie. Stiind ca in fiecare fisier numerele sunt memorate in ordine descrescatoare, scrieti un program care sa scrie pe ecran toate numerele din cele doua fisiere in ordine descrescatoare, separate printr-un singur spatiu.
Exemplu
a.txt
83
76
60
40
30
b.txt
79
75
72
45
25
Se afiseaza:
83 79 76 75 72 60 40 45 30 25
SUBIECTUL 5
Fisierul atestat.txt contine pe prima linie un numar natural n si pe fiecare linie dintre urmatoarele n linii cate un cuvant format din cel mult 20 de litere mici ale alfabetului englez. Sa se scrie un program care citeste valoarea n si apoi determina cate dintre cele n cuvinte memorate in fisier contin secventa bac. Programul va afisa pe ecran numarul de cuvinte determinat (0 in cazul ca nu exista niciunul).
Exemplu
atestat.txt
5
tabac
laureat
tabacar
bacterie
barca
Se afiseaza:
3
SUBIECTUL 6
Fisierul text cuvinte.txt contine mai multe linii nevide de text, fiecare linie de cel mult 255 de caractere. Orice linie este compusa din unul sau mai multe cuvinte separate prin cate un spatiu. Sa se scrie un program care citeste de la tastatura un numar natural L si scrie in fisierul cuvinte.out toate cuvintele de lungime L din fisierul de intrare, in ordinea in care apar ele in text.
Exemplu
cuvinte.txt
A fost odata
Ca niciodata
O fata frumoasa de imparat
L = 4
cuvinte.out
fost fata
SUBIECTUL 7
Scrieti un program care citeste de la tastatura un sir cu maxim 255 de caractere format numai din litere mici si mari ale alfabetului englez si il scrie in fisierul atestat.out codificat conform urmatoarei reguli: daca numarul de vocale din sir este mai mare sau egal cu numarul de consoane din sir, fiecare vocala se va inlocui cu caracterul urmator din alfabetul englez, altfel, fiecare consoana se va inlocui cu caracterul precedent din alfabetul englez.
Exemplu
Pentru sirul de intrare: 'Bacalaureat' se scrie in fisierul atestat.out 'Bbcblbvrfbt'.
Pentru sirul de intrare: 'Basca' se scrie in fisierul atestat.out ' aarba'.
SUBIECTUL 8
Se citesc de la tastatura doua numere intregi m si n, apoi m perechi de numere intregi reprezentand extremitatile muchiilor unui graf neorientat cu m muchii si n varfuri. Sa se construiasca si sa se afiseze pe ecran matricea de adiacenta, apoi sa se scrie gradele in fisierul Graf.txt (pe fiecare rand se vor scrie varful si gradul sau, separate prin spatii).
Exemplu
m=4 n=4
1 2
3 2
4 3
2 4
Matricea de adiacenta:
0 1 0 0
1 0 1 1
0 1 0 1
0 1 1 0
Graf.txt
1 1
2 3
3 2
4 2
SUBIECTUL 9
Se citesc de la tastatura doua numere intregi m si n , apoi m perechi de numere intregi reprezentand extremitatile muchilor unui graf neorientat cu m muchii si n varfuri. Sa se construiasca si sa se afiseze pe ecran matricea de adiacenta, apoi sa se scrie pentru fiecare varf lista veciniilor in fisierul Graf.txt (pe fiecare rand se vor scrie varful si lista veciniilor, separate prin spatii).
Exemplu
m=4 n=4
1 2
3 2
4 3
2 4
Matricea de adiacenta:
0 1 0 0
1 0 1 1
0 1 0 1
0 1 1 0
Graf.txt
1 2
2 1 3 4
3 2 4
4 2 3
SUBIECTUL 10
Fisierul nr.txt contine pe prima linie un numar natural k si, pe urmatoarele linii, cate un numar intreg. Sa se memoreze intr-o structura de tip lista liniara simplu inlantuita numerele intregi distincte din fisier si apoi sa se afiseze elementele acestei liste care sunt multipli de k.
Exemplu
Nr.txt
3
6
5
45
8
6
5
Lista contine 6 5 45 8
Se afiseaza: 6 45
SUBIECTUL 11
Fie un tablou bidimensional (matrice) cu n linii si n coloane. Se cere:
a) sa se afiseze transpusa matricei;
b) sa se afiseze cate perechi de numere prime intre ele sunt pe diagonala secundara a matricei initiale.
Datele de intrare se vor citi din fisierul date.in astfel:
pe prima linie se gaseste n
pe urmatoarele n linii se gasesc cate n numere ce reprezinta elementele matricei.
Exemplu
Fisierul de intrare date.in: 4 1234 5678 910 11 12 13 14 15 16 |
Se afiseaza: a) 1 5 913 2 61014 3 71115 4 81216 b) 5 |
SUBIECTUL 12
In fisierul date.in se gasesc, pe o singura linie, prenumele unor elevi separate prin cate un spatiu.
a) Sa se ordoneze alfabetic (fara sa se faca distinctie intre litere mari si mici) si sa se afiseze sirul de nume astfel obtinut.
b) Sa se afiseze numarul de fete din fisier, stiind ca numai prenumele fetelor se termina cu litera "a".
Datele de iesire se vor scrie pe ecran, astfel:
pe prima linie, prenumele ordonate
pe a doua linie, numarul de fete.
Exemplu
Pentru fisierul de intrare date.in: IOANA Marius Ciprian maria Silvia Gabriel Vlad |
Se afiseaza pe ecran: a) Ciprian Gabriel IOANA maria Marius Silvia Vlad b) 3 |
SUBIECTUL 13
In fisierul date.in se gasesc, pe aceeasi linie, numere intregi separate prin spatii.
a) Sa se afiseze elementele din fisier situate pe pozitii pare (al doilea, al patrulea etc.).
b) Sa se construiasca o lista simplu inlantuita care sa contina toate elementele sirului, in ordine inversa celei in care apar in fisier. Sa se afiseze pe ecran continutul acestei liste.
Datele de iesire se vor scrie pe ecran, astfel:
pe o linie, elementele, din fisier, situate pe pozitiile pare
pe linia a doua, elementele listei.
Exemplu
Pentru fisierul de intrare date.in: 18201734152916141534 |
Se afiseaza pe ecran: a) 2034291434 b) 34151416291534172018 |
SUBIECTUL 14
In fisierul date.in se gasesc cuvinte separate prin cate un spatiu, cuvinte care sunt scrise cu litere mari si mici. Se cere:
a) sa se afiseze cuvintele din fisier, in ordinea crescatoare a lungimii fiecarui cuvant.
b) sa se memoreze fiecare cuvant din fisier transformat in litere mari precum si numarul de vocale ce apar in cuvantul respectiv; se vor lua in calcul doar vocalele a e i o si u;
Datele de iesire se vor scrie pe ecran astfel:
pe un rand cuvintele in ordinea ceruta la punctul a, separate prin spatii.
pe randul al doilea cuvintele si numarul de vocale in formatul (cuvant, nr_de_vocale).
Exemplu
Pentru fisierul de intrare date.in: InformatICa eLEV sCOalA CARTE |
Se vor afisa pe ecran liniile: eLEV CARTEsCOalAInformatICa (INFORMATICA,5) (ELEV,2) (SCOALA,3) (CARTE,2) |
SUBIECTUL 15
Un graf neorientat cu n noduri si m muchii este descris in fisierul graf.in cu urmatoarea structura :
pe prima linie valorile pentru n si m separate printr-un spatiu;
pe urmatoarele m linii, perechi de numere i,j reprezentand noduri ce formeaza o muchie.
Sa se realizeze un program care sa raspunda urmatoarelor cerinte:
a) sa se afiseze matricea de adiacenta asociata grafului descris in fisierul graf.in.
b) sa se afiseze nodurile grafului in ordinea descrescatoare a gradelor.
Exemplu
Pentru fisierul graf.in:
5 4
1 2
1 4
2 4
3 4
a)Se va afisa pe ecran:
0 1 0 1 0
1 0 0 1 0
0 0 0 1 0
1 1 1 0 0
0 0 0 0 0
b) Deoarece d(1)=2, d(2)=2, d(3)=1,
d(4)=3 si d(5)=0, se va afisa: 4 1 2 3 5
SUBIECTUL 16
Scrieti un program care rezolva urmatoarea problema: se citeste un numar intreg format din cel mult 8 cifre. Sa se afiseze mesajul DA daca toate cifrele numarului citit sunt identice, in caz contrar, sa se afiseze mesajul NU.
Exemplu:
Daca se citeste unul dintre numerele 777777 sau -9999 se va afisa mesajul DA, iar daca se citeste unul dintre numerele 777767 sau -9099 se va afisa mesajul NU.
SUBIECTUL 17
In fisierul date.in se gasesc pe o linie, numere naturale de cel mult 9 cifre, separate prin cate un spatiu. Se cere:
a) sa se determine numerele ce reprezinta un factorial, adica sunt de forma k!, pentru fiecare astfel de numar afisandu-se valoarea lui k.
b) sa se scrie, in ordine descrescatoare dupa prima cifra, toate numerele din fisier.
Datele de iesire se vor scrie pe ecran, astfel:
- pe prima linie, numerele k determinate, separate prin spatii;
- pe a doua linie numerele sortate descrescator dupa prima cifra, separate prin spatii.
Exemplu:
Fisierul date.in:
233 24 210 6 17 720
a)Se va afisa pe ecran:
4 3 6
72062332421017
SUBIECTUL 18
Pe prima linie a fisierului date.in se gasesc numere naturale nenule. Se cere:
a) pentru fiecare numar impar din fisier sa se afiseze cel mai mare numar care se poate forma din cifrele lui;
b) sa se verifice daca numerele din fisierul de intrare, in ordinea in care se afla in fisier, reprezinta o progresie aritmetica; in caz afirmativ sa se afiseze primul element si ratia, altfel sa se afiseze un mesaj corespunzator.
Datele de iesire se vor scrie pe ecran, astfel:
- pe prima linie, elementele determinate la punctul a);
- pe a doua linie, raspunsul cerintei b).
Exemplu:
Fisierul date.in:
313845525966
Se afiseaza pe ecran:
313854529566
Primul termen este: 31 si ratia: 7
SUBIECTUL 19
Fie un sir de n(0<n<1000) numere intregi. Se cere:
a) sa se verifice daca numerele din sirul dat pot forma o multime;
b) sa se scrie in ordine crescatoare factorii primi din descompunerea elementului maxim din sirul dat;
Datele de intrare se vor citi din fisierul date.in astfel:
- pe prima linie se gaseste n;
- pe linia a doua se gasesc elementele sirului.
Datele de iesire se vor scrie pe ecran astfel:
- pe primul rand un mesaj;
- pe randul urmator factorii primi separati prin spatii.
Exemplu:
Fisierul date.in:
5
8064509645
Se va afisa pe ecran:
Elementele din
fisier pot forma o multime
23
SUBIECTUL 20
Se da un tablou bidimensional cu n linii si m coloane ce contine numere naturale nenule distincte.
a) sa se determine, daca exista un numar "superprim" in matrice si sa se afiseze; daca exista mai multe astfel de numere, afisati unul dintre ele, daca nu exista nici unul, dati un mesaj (un numar este "superprim" daca atat el cat si rasturnatul sau sunt numere prime);
b) sa se determine si sa se afiseze toate elementele vecine elementului maxim din matrice.
Datele de intrare se vor citi din fisierul date.in astfel:
- pe prima linie se gasesc n si m;
- pe urmatoarele n linii se gasesc cate m numere ce reprezinta elementele matricei.
Datele de iesire se vor scrie pe ecran astfel:
- pe prima linie, numarul superprim si indicele de linie sau un mesaj corespunzator, in cazul in care nu exista nici un numar superprim;
- pe
linia a doua elementele cerute la punctul b) separate printr-un spatiu.
Exemplu:
Fisierul date.in:
43
33 65 105
44 32 22
62 76 41
311 12
Se va afisa pe ecran:
31 4
653222