Documente Academic
Documente Profesional
Documente Cultură
TCLP
TCLP
Numele si prenumele............................................ ,
2. Reformulati urmtorul fragment de program folosind o bucl de repetitie. Adugati variabile a a a , , , si expresii dac este nevoie. a , print print print ... print * , 1 , 10 *, 2, 9 *, 3, 8 * , 10 , 1
3. Indicati ce efect are urmtorul fragment de program, dac variabilele x si y au valorile initiale a a , , , x=1.0 si y=3.0: do x = x + 1.0 E -1 y = y - 1.0 E -1 if ( x == y ) then print * , x , y exit end if end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s construiasc o matrice cu 4 linii si 6 coloane, ca a a , , gura de mai jos, astfel at zona hasurat (din gur) elementele matricii s aib n nc n a a a a , valoarea egal cu suma dintre numrul de linie si numrul de coloan iar in afara zonei a a a a , hasurate elementele s aib valoarea zero. a a ,
0 0 0 0 0 0 0 0 0 0 0 0
5. 9 siere diferite, numite date-1.dat, date-2.dat ... date-9.dat se gsesc cte 9 In a a , numere ntregi, scrise ecare pe cte un rnd. Scrieti un program sau o subrutin care a a a , s deschid toate cele 9 siere, s preia din ecare sier toate cele 9 numere si apoi s a a a a , , , scrie toate numerele ntr-un sier numit rezultate.dat astfel at prima linie din sierul nc , , rezultate.dat s contin toate numerele care erau cele 9 siere pe prima line, linia a a a n , , 2-a s contin toate elementele care se gseau cele 9 siere pe linia a 2-a s.a.m.d. a a a n , , ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Reformulati urmtorul fragment de program folosind o bucl de repetitie. Adugati variabile a a a , , , si expresii dac este nevoie. a , print print print ... print *, *, *, 1, 2 3, 6 5 , 10
* , 11 , 22
3. Indicati ce efect are urmtorul fragment de program, dac variabilele x si y au valorile initiale a a , , , x=1.0 si y=3.0: do x = x - 1.0 E -1 y = y + 1.0 E -1 if ( x == y ) then print * , x , y exit end if end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s construiasc o matrice cu 4 linii si 6 coloane, ca a a , , gura de mai jos, astfel at zona hasurat (din gur) elementele matricii s aib n nc n a a a a , valoarea egal cu suma dintre numrul de linie si numrul de coloan iar in afara zonei a a a a , hasurate elementele s aib valoarea zero. a a ,
0 0 0 0 0 0 0 0 0 0 0 0
5. 9 siere diferite, numite date-1.dat, date-2.dat ... date-9.dat se gsesc cte 9 In a a , numere ntregi, scrise ecare pe cte un rnd. Scrieti un program sau o subrutin care a a a , s deschid toate cele 9 siere, s preia din ecare sier toate cele 9 numere si apoi s a a a a , , , scrie toate numerele ntr-un sier numit rezultate.dat astfel at prima linie din sierul nc , , rezultate.dat s contin toate numerele care erau cele 9 siere pe prima line, linia a a a n , , 2-a s contin toate elementele care se gseau cele 9 siere pe linia a 2-a s.a.m.d. a a a n , , ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Reformulati urmtorul fragment de program folosind o bucl de repetitie. Adugati variabile a a a , , , si expresii dac este nevoie. a , print print print ... print print *, 1, *, 2, *, 3, * , 87 , * , 88 , 1 0 1 1 0
3. Indicati ce efect are urmtorul fragment de program, dac variabilele x si y au valorile initiale a a , , , x=1.0 si y=3.0: do d = max (x , y ) - min (x , y ) x = x + d / 10 y = y - d / 10 if ( x == y ) then print * , x , y exit end if end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s construiasc o matrice cu 4 linii si 6 coloane, ca a a , , gura de mai jos, astfel at zona hasurat (din gur) elementele matricii s aib n nc n a a a a , valoarea egal cu suma dintre numrul de linie si numrul de coloan iar in afara zonei a a a a , hasurate elementele s aib valoarea zero. a a ,
0 0 0 0 0 0 0 0 0 0 0 0
5. 9 siere diferite, numite date-1.dat, date-2.dat ... date-9.dat se gsesc cte 9 In a a , numere ntregi, scrise ecare pe cte un rnd. Scrieti un program sau o subrutin care s a a a a , deschid toate cele 9 siere, s preia din ecare sier toate cele 9 numere si apoi s scrie a a a , , , suma numerelor de pe ecare linie corespunztoare a ntr-un sier numit rezultate.dat. ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Reformulati urmtorul fragment de program folosind o bucl de repetitie. Adugati variabile a a a , , , si expresii dac este nevoie. a , print print print ... print *, 0, *, 1, *, 2, 1 10 100
* , 6 , 100000
3. Indicati ce efect are urmtorul fragment de program, dac variabilele x si y au valorile initiale a a , , , x=1.0 si y=3.0: do d = max (x , y ) - min (x , y ) x = x + d / 10 y = y - d / 10 if ( x == y ) then print * , x , y exit end if end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care, avnd o matrice cu 4 linii si 6 coloane, ca gura de a n , , mai jos, s calculeze media aritmetic a elementelor din zona hasurat (din gur). a a a a ,
0 0 0 0 0 0 0 0 0 0 0 0
5. 9 siere diferite, numite date-1.dat, date-2.dat ... date-9.dat se gsesc cte 9 In a a , numere ntregi, scrise ecare pe cte un rnd. Scrieti un program sau o subrutin care s a a a a , deschid toate cele 9 siere, s preia din ecare sier toate cele 9 numere si apoi s scrie a a a , , , suma numerelor de pe ecare linie corespunztoare a ntr-un sier numit rezultate.dat. ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Reformulati, folosind o structur repetitiv, fragmentul de program de mai jos: a a i =1; print * , i i =2; print * , 2* i i =3; print * , 3* i ... i =20; print * , 20* i
3. Cte linii tiprete pe ecran fragmentul de program de mai jos? Justicati rspunsul dat. a a s a do i =1 ,N ,2 if ( mod (i ,2) ==0) print * , " Nu mai arunc hirtii prin clasa ! " end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Construiti o subrutin care s tipreasc pe ecran un interval de timp, dat secunde, a a a a n n format ore, minute, secunde. Subrutina va avea ca argument un numr a ntreg reprezentnd durata intervalului de timp secunde (a se vedea scheletul de mai jos). a n subroutine AfiseazaOreMinuteSecunde ( secunde ) implicit none integer , intent (...) :: secunde ... end subroutine Dac a ntr-un program va apelat subrutina de mai sus call AfiseazaOreMinuteSecunde(3730), a aceasta va trebui s aeze pe ecran ore: 1, minute: 2, secunde: 10. a s Indicatie: Functia intrinsec int returneaz partea a a ntreag a unui numr, ex. int(3.7) a a returneaz 3. Pentru partea zecimal a unui numr se poate folosi diferenta dintre numr a a a a i partea s ntreag. a
5. Intr-un ier text (ASCII) cu numele matrice.dat se gsesc elementele unei matrice s a ptratice cu 3x3 elemente. Programul care a scris elementele matricii ier nu le-a a n s tiprit pe linii i coloane, ci cte un element pe ecare linie, ordinea a11 , a21 , a31 . . . , a s a n a13 , a23 , a33 . Scrieti un program sau o subrutin care s citeasc elementele matricii din a a a ier i s calculeze suma elementelor de pe diagonala principal, s s a a
3
S=
i=1
aii
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Construiti o structur repetitiv care s aib ca efect aarea pe ecran a urmtoarelor linii: a a a a s a 1 2 0 0 2 3 0 0 3 4 0 0 ... 8 9 0 0
3. Cte linii tiprete pe ecran fragmentul de program de mai jos? Justicati rspunsul dat. a a s a do i =1 , N do j =1 , i print * , " Nu mai arunc hirtii prin clasa ! " end do end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Construiti o subrutin care s tipreasc pe ecran o not, cuprins a a a a a a ntre 1.00 i 10.00, cus n vinte, astfel at apelarea subrutinei nc ntr-un program sub forma call TiparesteNota(7.33) s aib ca efect tiprirea pe ecran a textului 7 si 33 sutimi. Subrutina poate avea schea a a letul de mai jos: subroutine TiparesteNota ( nota ) implicit none real , intent (...) :: nota ... end subroutine Indicatie: Functia intrinsec int returneaz partea a a ntreag a unui numr, e x. int(3.7) a a returneaz 3. Pentru partea zecimal a unui numr se poate folosi diferenta dintre numr a a a a i partea s ntreag. a
5. Intr-un ier text (ASCII) cu numele numere.dat se gsesc mai multe numere s a ntregi (pozitive i negative) scrise cte dou pe rnd. Scrieti un program sau o subrutin care s s a a a a a deschid erul, s citeasc toate numerele din ier i s calculeze i s aeze pe ecran a s a a s s a s a s suma numerelor pozitive.
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Construiti o structur repetitiv care s aib ca efect aarea pe ecran a urmtoarelor linii: a a a a s a 2 1 0 0 3 2 0 0 4 3 0 0 ... 9 8 0 0
3. Cte linii tiprete pe ecran fragmentul de program de mai jos? Justicati rspunsul dat. a a s a do i =1 ,N ,2 if ( mod (i ,2) ==0) print * , " Nu mai arunc hirtii prin clasa ! " end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Construiti o subrutin care s tipreasc pe ecran o not, cuprins a a a a a a ntre 1.00 i 10.00, cus n vinte, astfel at apelarea subrutinei nc ntr-un program sub forma call TiparesteNota(7.33) s aib ca efect tiprirea pe ecran a textului 7 si 33 sutimi. Subrutina poate avea schea a a letul de mai jos: subroutine TiparesteNota ( nota ) implicit none real , intent (...) :: nota ... end subroutine Indicatie: Functia intrinsec int returneaz partea a a ntreag a unui numr, e x. int(3.7) a a returneaz 3. Pentru partea zecimal a unui numr se poate folosi diferenta dintre numr a a a a i partea s ntreag. a
5. Intr-un ier text (ASCII) cu numele numere.dat se gsesc mai multe numere s a ntregi (pozitive i negative) scrise cte trei pe rnd. Scrieti un program sau o subrutin care s s a a a a deschid erul, s citeasc toate numerele din ier i s calculeze i s aeze pe ecran a s a a s s a s a s suma tuturor numerelor.
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Construiti o structur repetitiv care s aib ca efect aarea pe ecran a urmtoarelor linii: a a a a s a 2 1 0 0 3 2 0 0 4 3 0 0 ... 9 8 0 0
3. Ce tiprete pe ecran fragmentul de program de mai jos? Justicati rspunsul dat. a s a do while ( n > 0 ) if ( n > 2 ) then n = n - 2 print * , 2 else print * , n n = 0 end if end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Construiti o subrutin care s tipreasc pe ecran un interval de timp, dat secunde, a a a a n n format ore, minute, secunde. Subrutina va avea ca argument un numr a ntreg reprezentnd durata intervalului de timp secunde (a se vedea scheletul de mai jos). a n subroutine AfiseazaOreMinuteSecunde ( secunde ) implicit none integer , intent (...) :: secunde ... end subroutine Dac a ntr-un program va apelat subrutina de mai sus call AfiseazaOreMinuteSecunde(3730), a aceasta va trebui s aeze pe ecran ore: 1, minute: 2, secunde: 10. a s Indicatie: Functia intrinsec int returneaz partea a a ntreag a unui numr, ex. int(3.7) a a returneaz 3. Pentru partea zecimal a unui numr se poate folosi diferenta dintre numr a a a a i partea s ntreag. a
5. Intr-un ier text (ASCII) cu numele numere.dat se gsesc mai multe numere s a ntregi (pozitive i negative) scrise cte trei pe rnd. Scrieti un program sau o subrutin care s s a a a a deschid erul, s citeasc toate numerele din ier i s calculeze i s aeze pe ecran a s a a s s a s a s suma tuturor numerelor.
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Scrieti o instructiune care s aseze pe ecran, pe aceeasi linie, variabilele x=0.4571, a , , , , c="TCLP" si i=34 ca exemplul de mai jos: n , 34 TCLP 4.57 E -01
3. Indicati ce efect are urmtorul fragment de program, dac variabilele x si y au valorile initiale a a , , , x=1.0 si y=3.0: do print * , x , y if ( x == y ) then print * , x , y exit end if x = y y = y end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s verice, folosind o structur repetitiv, dac a a a a , 1 x 1 = 1 11 x 11 = 121 111 x 111 = 12321 1111 x 1111 = 1234321 11111 x 11111 = 123454321 ... 111111111 x 111111111 = 12345678987654321
5. Functia cos(x) (cu argumentul radiani) se poate aproxima folosind urmtoarea serie n a , innit de puteri: a x2 x4 x6 cos(x) = 1 + + ... 2! 4! 6! Scrieti o functie cosAprox(x) care s calculeze valoarea functiei cos(x) folosind formula a , , , de aproximare de mai sus. Ca indicatie, se poate remarca faptul c termenii din seria de a , puteri au valori din ce ce mai mici, pe msur ce ordinul termenului creste, motiv pentru n a a , care calculul se poate opri atunci cnd s-a ajuns la un termen mai mic dect o valoare a a prestabilit, de exemplu 106 . a
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Scrieti o instructiune care s aseze pe ecran, pe aceeasi linie, variabilele x=0.4571, a , , , , c="TCLP" si i=-834 ca exemplul de mai jos: n , TCLP 0.46 -834
3. Indicati ce efect are urmtorul fragment de program, dac variabilele i si j au valorile initiale a a , , , i=1 si j=5: do while ( i < 10) j = j + 1 i = j - 1 print * , i , j end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s verice, folosind o structur repetitiv, dac a a a a , 1 x 1 = 1 11 x 11 = 121 111 x 111 = 12321 1111 x 1111 = 1234321 11111 x 11111 = 123454321 ... 111111111 x 111111111 = 12345678987654321
5. Functia sin(x) (cu argumentul radiani) se poate aproxima folosind urmtoarea serie n a , innit de puteri: a x3 x5 x7 sin(x) = x + + ... 3! 5! 7! Scrieti o functie sinAprox(x) care s calculeze valoarea functiei sin(x) folosind formula a , , , de aproximare de mai sus. Ca indicatie, se poate remarca faptul c termenii din seria de a , puteri au valori din ce ce mai mici, pe msur ce ordinul termenului creste, motiv pentru n a a , care calculul se poate opri atunci cnd s-a ajuns la un termen mai mic dect o valoare a a prestabilit, de exemplu 106 . a
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Scrieti o instructiune care s aseze pe ecran, pe aceeasi linie, variabilele x=0.4571, a , , , , c="TCLP" si i=-834 ca exemplul de mai jos: n , TCLP *** -834
3. Indicati ce efect are urmtorul fragment de program, dac variabilele i si j au valorile initiale a a , , , i=1 si j=5: do i =1 ,10 j = i + 1 print * , i , j end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s calculeze, mod repetat, valoarea urmtoarea a n a , expresii 1 f= 1 1+ 1 1+ 1 1+ 1 1+ 1 + pn cnd valoarea calculat nu difer fat de cea calculat la pasul anterior cu mai mult a a a a a ,a a 4 de 10 .
5. Functia intrinsec mod(a, b) calculeaz restul artirii numrului a la numrul b. Dac a a mp , a a a , functia aceasta nu ar exista, s-ar putea construi una echivalent folosind artiri de numere a mp , , ntregi. Construiti o functie rest(a, b) care s reproduc rezultatul functiei mod(a,b), a a , , , fr a folosi, evident, functia mod(a,b). aa ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Scrieti o instructiune care s aseze pe ecran, pe aceeasi linie, variabilele x=0.4571, a , , , , c="TCLP" si i=-834 ca exemplul de mai jos: n , TCLP 0.4571 ****
3. Indicati ce efect are urmtorul fragment de program, dac variabilele i si j au valorile initiale a a , , , i=1 si j=5: do i =1 ,10 j = j + 1 print * , i , j end do
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Scrieti un fragment de program care s verice, folosind o structur repetitiv, dac a a a a , 1 x 1 = 1 11 x 11 = 121 111 x 111 = 12321 1111 x 1111 = 1234321 11111 x 11111 = 123454321 ... 111111111 x 111111111 = 12345678987654321
5. Functia intrinsec mod(a, b) calculeaz restul artirii numrului a la numrul b. Dac a a mp , a a a , functia aceasta nu ar exista, s-ar putea construi una echivalent folosind artiri de numere a mp , , ntregi. Construiti o functie rest(a, b) care s reproduc rezultatul functiei mod(a,b), a a , , , fr a folosi, evident, functia mod(a,b). aa ,
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Pentru ecare operatie din lista de mai jos, dati cte un exemplu continnd una sau mai a a , , , multe instructiuni (dup caz): a , a) atribuirea de valori unei variabile; b) repetarea unei instructiuni de un numar n de ori; , c) compararea a 2 numere ntregi; d) asarea pe ecran a unor informatii; , ,
3. Indicati ce efect are urmtorul fragment de program dac variabilele i si j au valorile initiale a a , , , i=1 si j=5: do i =1 ,10 j = j + 1 print * , i , j end do Reformulati fragmentul de program de mai sus folosind structura repetitiv a , do while(...)...end do.
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Luati orice numr a ntreg. Dac numrul este par, artiti-l la 2. Dac este impar, a a mp , , a nmultiti, , , l cu 3 si adunati 1. Repetati operatia cu numrul obtinut. Indiferent de numrul ales, dup a a a , , , , , matematic, aceast problem este cunoscut mai multe astfel de operatii veti obtine 1. In a a a a , , , drept conjectura lui Collatz si a fost enuntat 1937. Scrieti un program care s preia de a n a , , , la utilizator un numr a ntreg si s verice dac prin repetarea operatiilor descrise mai sus se a a , , obtine 1. ,
5. Scrieti un fragment de program care s copieze elementele unei matrici ptratice A cu 4 a a , linii si 4 coloane ntr-o matrice B de aceleasi dimensiuni conform indicatiilor din gura de , , , mai jos.
pagina 2 din 2
Grupa...........
Numele si prenumele............................................ ,
2. Pentru ecare operatie din lista de mai jos, dati cte un exemplu continnd una sau mai a a , , , multe instructiuni (dup caz): a , a) repetarea unor instructiuni ct timp o variabil a a ntreag este pozitiv; a a , b) asarea pe ecran a unui text dac dou numere sunt egale; a a , c) preluarea de la utilizator a 2 valori ntregi; d) atribuirea unei valori unui element dintr-o matrice;
3. Indicati ce efect are urmtorul fragment de program dac variabilele i si j au valorile initiale a a , , , i=1 si j=5: do i =10 ,1 , -1 j = j + 1 print * , i , j end do Reformulati fragmentul de program de mai sus folosind structura repetitiv a , do while(...)...end do.
pagina 1 din 2
Grupa...........
Numele si prenumele............................................ ,
4. Luati orice numr a ntreg. Dac numrul este par, artiti-l la 2. Dac este impar, a a mp , , a nmultiti, , , l cu 3 si adunati 1. Repetati operatia cu numrul obtinut. Indiferent de numrul ales, dup a a a , , , , , matematic, aceast problem este cunoscut drept mai multe de operatii veti obtine 1. In a a a a , , , conjectura lui Collatz si a fost enuntat 1937. Scrieti un program care s preia de la a n a , , , utilizator un numr a ntreg si s verice dac prin repetarea operatiilor descrise mai sus se a a , , obtine 1. ,
5. Scrieti o functie limbaj Fortran 90 care s preia un numr n a a ntreg (furnizat ca argument al , , functiei) si s returneze ultima cifr din numrul respectiv. Functia poate avea urmtoarea a a a a , , , form: a integer function UltimaCifra ( n ) implicit none integer :: n ... end function UltimaCifra Indicatie: puteti folosi functia int care returneaz partea a ntreag a unui numr real. a a , , ,
pagina 2 din 2