You are on page 1of 10
1. Care dintre urmatoarele instructiuni sunt corecte sintactic? Variabilele care intervin sunt de tip string / char *. a) pos('a',s}:=2; b) c:sdelete(s,2,2); ¢) writeln(length('ana'}); @) insert ('red',s,4); 2, Se considera variabila s de tip string / a) pestrchr('a!,b); b) k = strchr(s,x)-s; ¢) cout<y then write(x) else if x0) cout<='a’)OR(x[1]}<='2") then write(*corect’); b) 4£ (x{1]>=a)aMp(x(1]<=z) then write(*Corect’) ; a a) Af (x[0]<'2") cout<<"Corect"; b) 4 (x[0]<'2"|| xf0]>"a') cout<<"Corect"; ¢) if upcase(x{1])=x[1] then write(*Corect’); a if (ord (x[1])>=97) AND (ord (c[1]}}<=122) then write(*‘Corect’); e) 4 (1 (x[0]>122e8x101<97)) cout<<"Corect"; a) Af (1 (x(0]<'a!) Bex 01 <= cout<<*Corect"; 22)) 9. Ce se va afisa pe ecran in urma rulérii urmatorului program? var a:array[1..3] of string(6]; begin write(al2},' '); write(a[2](1]," write(a[3][4]," write(a[1} (21); end 4 DG a) dedre b) deerd 10. Ce se va afiga pe ecran in urma rulatii var a,b,c:string; iibyte; begin crstcasa'; i:=pos('a',a); while i<-0 do begin delete(a,i,1); delete(c,i,1); i:=pos(‘a',a); end; insert (a,b, 2); writeln(a,’ ',b,' end. b ‘e) b) mn cmmana cs al mcanam cana casa 11. Consideraém urmatoarele declarati a)var a:array [1..9,1..9Jof char; b)var a:char{9]; c)var a:array [0..9] of word: d)var a:string[20]; Care dintre acestea reprezint& declaratia #includeciostream.h> #include ehar a(3] (101; void main() ( strepy(a[0] , "vector"); strepy(a[1],*de"); strepy(a[2] , "sirur: cout< #include char *a,*b, *c,k(256]; void main() ( mama"; b="cana*; c="casa"; dnt i=strchr(a,'a')-a; while (i>0) { strepy(ati,atitl); strepy(e+i,c+itl) ; isstrehr(a,'a')-a; } strnepy(k,b, 1); streat(k, a); streat(k,b+1) ant i; coutscacali+1] do inc(i); weiteln (itl); b) i:=0; while a[ij<>a[i+1] do ine (i); writeln(i); ce) a:=4; 4€ ali] = alivl] thea write(i) @) asst; 4€ afil<>afit1] then inc(i) else write(i+1); 15. Consideram urm&toarele declaratii: var a,b: string[100] ; Ce se va afiga in urma executiei urmatoar 8 a) i=0; while (a{i) cout<b then write(a) else if asb then write(‘identice’) else write(b) a) Mamaie; b) mama; ©) identice; a = "mama"; b="Namaie"; if (stremp(a,b)>0) couten; for (i=0;ien;it+) cin>>ali]; for (i=0;icn-1;i++) for (j=itl;jen;j++) if (stromp(ali],ali]) <0) { strepy(x,alj]); strepy(alj].ali}) : strepy(alil,); } Ce prelucrare realizeazi aceasta secvent& asupra elementelor vectorului a? ) Ordoneazi crescttor elementele tabloului a dupa lungimea sirurilor de caractere; b) OrdoneazA lexicografic crescdtor elementele tabloului a; c) inlocuieste elementele tabloului cu sirul de caractere maxim din punct de vedere lexicografie; 4) inlocuieste elementele tabloului cu girul de caractere de lungime maxima. 17. Consider’im programul urmator: var a,b: string: i,x,y: integer; begin readin(a) ;readin(b) ; drs]; x:slength(a); y:=length(b) ; while (y-x+]>=i) and (copy (b, i,x) <>a) do inc(i); if i> y-xel then i: writeln (i); end. finclude include char a[256],b(256]; int i,x,y; void main() { cine>a; cin>>b; xestrien(a); y=strlen(b): for(i=0; y-x>=i && strncmp(b+i, a,x) its); if (iey-x) is-1; cout<=/a’ && ali}<='Z") ali] += 32; For i to length(a) do if afi] im (\a'../2/] thea ali] :=chr (ord (ali]) +32) ; Stiind c& a este un sir de caractere gi i o variabila de tip intreg, identificati prelucrarea realizata asupra caracterelor sale. a) transformarea caracterelor de tip minuscul in majuscula corespunzitoare; b) inserarea sirului de caractere 32 dupa fiecare caracter de tip majuscul. c) transformarea caracterelor de tip majuscula in minuscula corespunzitoare; 4) ordonarea alfabetica a majusculelor in cadrul sirului; e) stergerea caracterelor spafiu. 19. Fie urmatorul program: var s:string[10]; #include i:integer; x:char; begin s:='clasa'; for i:=1 te length(s)-1 do begin i£(s[i]>s[i+1]) then begin xis (il; s{i]:=s[i+1]: slit] r=; end; write(s,' '); end end. #includecstring.h> char s[10];int i; void main() { strepy(s,"clasa*"); for (i=0;is[iel]) ( xestil; slil=sti+l); s(iel char x; z coute0 then b:scopy(b, 1, x-1) + copy (b, xtlength (a) ,x) ; al x=strstr (b,a)-b; 4£ (x>=0) strcpy (btx, btxtstrlen(a)); b) xestretr(b,a)-b; strepy (btx, b+x+strlen(a)-1); °) xestrstr(a,b)-a; if (0-0) stropy (atx, ate+strlen(b)) ; a xestrstr(a,b)-a; strepy(a+x,atxestrlen(b)); 21. Considerim urmatorul program. Ce conditie trebuie indeplinita pentru ca in urma rubirii acestuia s& se afiseze mesajul Corect ? var a,b:string; begin readin (a); readln(b) ; while(a[1]=b(1])end(a<>'')and (b<>? do begin delete(a,2,1); delete (b,1,1); *) then, write('Corect') else write('Incorect'); end, #includeciostream.h> #include char a(256],b[256]; void main() ( cin>>a; cin>>b; while(a[0]==b[0]a&a[0]!=0 e&b[0] 1=0) ¢ strepy(a,a+1) ; strepy(b, bt1) ; ) Af (a[0]==0 s@ b{0] cout<<"Corect"; else cout<<"Incorect" y a) afiseaza mesajul Corect doar dacd sirurile a si b au lungimi egale; b) afiseazi mesajul Corect doar daca sirurile a gi b au valori identice; ¢) afigeazd mesajul Corect doar dacd sirurile a si b au lungimi nule; 4) afigeazd mesajul Corect doar daca sirurile a si b au valori identice de lungime 1; 22. Se considera urmatorul program: ver s,b:string; finclude ivinteger, #includecstring.h> begin char a[256],b(256]; int i; ' void main() for i:=1 to 3 do begin {_strepy(b," readin(a); for(i=0; i<3; i++) ( bi=btcopy(a,i,length(a)-i+1); cin->a; stroat(b,ati); end: ) writeln(b) coute< end. y Identificati ce se va afisa dack de la tastaturd se vor introduce, in ordine, sirurile de caractere: “copil”,” masina”, “bloc”. a) opilsinac b) emb ¢) copilmasinbl @) copilasinaoc 23. Consideram urmatoarul program: var a,bistring; #includesiostream.h> begin #include readln(a); char a(256],b(256],*p; int i; readin (b) ; void main() while (pos(a[1],b)<>0) do { cins>a; cine>b; begin while (strchr(b,a[0]) delete(b,pos(af1] ,b),1); a(0] !=0)¢ delete(a,1,1); pestrehr(b,a[01); end; strepy(p,p+1) ;strepy(a, atl) ; if (as'')ana(b='') then ) write('Da') 4£ (a[0]==0 && bIO else cout<< ‘dat write(‘nu'); else cout<<*nu"; ond. ) La sférsitul rulirii acestuia se va afiga mesajul Da dac si numai daca: a) sirurile a si b au valori egale; ») sirurile a si b au lungimi identice; ¢) Sirurile a $i b sunt formate din exact aceleasi caractere, eventual in alt& ordine. 4) fiecare caracter al sirului a apare si in sirul 24, Fie @ un sir de caractere (string / char *) gi x o variabila intreaga. Care dintre urmatoarele instructiuni elimina toatd secventa de caractere identice de la inceputul sirului a (pentru a fi stearsd, seoventa va confine minimum 2 caractere): 2)x:length(a) ; a) xestrlen(a); while ((a(1})=a[2]) and while (ta==*(a+1)) (azate;) (length(a)>1) do delete(a,t,1); | if (strlen(a)!=x) 4 length(a)<>x then strepy(a, atl) ; delete(a,1,1); 2) while((a{1])=a(2])and length(a)>1) do delete(a,1,1); c) whdle((a[1]) <> ength{a)>1} do a(2])an@ delete(a,1,1); while((a[1]} <> ength(a)>1) do elete(a,1,1); a(2])and delete(a,1,1); strepy(a,atl); c) while (*a!=*(at1)) (a=att;) strepy(a,atl); @) while (*a==*(a+l)) (a=att;) strepy(a,a+1); 25. Fie a un sir de caractere (string / char *) si i, j variabile intregi. Care dintre urmétoarele instructiuni permit afigarea mesajului “Da” daca si numai daca valoarea lui a este palindrom? ajirel; j:slengthia); while (a[i]<>a[i])and(icj} do begin dec(i); inc(j); end; if (i>j) then write(‘DA’) else write(‘NU’); j jrelengthia); while (a[i]<>a(j])and(isj) then write(‘DA’) else write(‘NU'); ¢) dis; jrslength(a); while (a(i]=a(j])and(i=j) then write('DA’) else write(‘NU’); i sength (a) ; while (a{i]=a[j]) and (i=j} coute<"Da* else cout<<"NU"; b)i=0; while ((ali) (ist; j--3 ) 4£(i<=j) cout<<"DA‘; else cout<<"NU"; jestrlen(a)-1; (5) )88(4s3) cout<<"DA"; else cout<<*NU"; } j=strlen(a)-1; while ((a[i]!-afj])&&(icj)) Cin; +45) if (i>=j) cout<<"DA"; else cout<<"NU’ a) de caractere, numele unei discipline studiate in licen (maximum 50 caractere), identificati o declarare corecta a sa: a) var b) var ) var €) var acstring; arstring[39]; string[50]; arazray[1..50] of string; a) char a; b) char a[39]; ¢) char a[50]; @) char* [20]; 27, Stiind ca variabila a este utilizati pentru a memora numele celor 7 zile ale slptimdnii, cum trebuie ea declarata: l a)var a:string{7](7); a)ehar a7]; b)var a; arzay[l..7] of string; b)char a[7I[17]; c)var a:string[7]; c)ehar a; d)var a: array[1..7] of char; d)char** af7]; 28, Considerim seeventa de instructiuni urmitoare in care variabila s este un sir de caractere, i si k variabile intregi, x 0 variabil& din tipul char iar ok este o variabil din tipul boolean(Pascal) - ine(pentru C/C++): i := 1; ok := true; k := 0; i= 0; while (i<=length(s))and ok do ok = k = 0; begin while(i a i nr:integer; #include 3 | begin char 5[256];int nr, i; 4| readin(s); void main() { 5) srsse' '; mrs=0; gets(s); 6 | for i:=1 to length(s)-1 do streat(s," "); nx=0; 7 | af(s{il<>' ‘and for (i=0;itl

You might also like