vineri, 4 aprilie 2014

Test 1



Test siruri de caractere in C++
ŞIRURI DE CARACTERE

Itemii următori sunt preluaţi din variantele de bacalaureat 2009.

1. În secvenţa de instrucţiuni de mai jos, variabila s memorează un şir de caractere format doar din litere ale alfabetului englez, iar variabilele i şi n sunt de tip int. Ştiind că în urma executării secvenţei s-a afişat succesiunea de caractere eied*eael* scrieţi care este şirul de caractere memorat de variabila s.
n=strlen(s);
for(i=0;i<n;i++)
if (s[i]==’e’) cout<<’*’;
else cout<<'e'<<s[i];
2. Fie s o variabilă ce memorează un şir de caractere, format doar din litere ale alfabetului englez, şi i o variabilă de tip int. Scrieţi instrucţiunile ce pot înlocui punctele de suspensie din secvenţa de program alăturată astfel încât executarea ei să determine eliminarea tuturor literelor mici din şirul s şi apoi afişarea şirului obţinut.
i=0;
while (i<strlen(s))
...............
cout<<s;
3. Fie s o variabilă ce memorează un şir de caractere, c o variabilă de tip char, iar i şi j două variabile de tip int. Scrieţi instrucţiunile ce pot înlocui punctele de suspensie din secvenţa de program alăturată astfel încât executarea ei să determine modificarea conţinutul şirului s prin interschimbarea caracterelor aflate pe poziţii simetrice faţă de mijlocul şirului (primului caracter cu ultimul, al doilea cu penultimul, etc).
i=0;
j=strlen(s)-1;
while (i<j)
{...}
4. Ce se afişează în urma executării secvenţei de program alăturate dacă variabila s memorează şirul de caractere abcdefgh?
strcpy(s+2,s+4);
cout<<s<<” ”<<strlen(s);
5. Se consideră declararea de mai jos:
char s[50], x[50];
Ce se afişează în urma executării secvenţei de program scrisă alăturat dacă variabila s memorează şirul abcdefg?
strcpy(x,s+4);
strcpy(s+4,”123”);
strcat(s,x);
cout<<s;
6. Ce se va afişa în urma executării secvenţei de instrucţiuni alăturate dacă variabila s memorează şirul de caractere abbacdde, iar variabila i este de tip întreg?
i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1])
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s;
7. Ce se afişează pe ecran în urma executării secvenţei de program alăturate, în care variabila s memorează un şir cu cel mult 12 caractere, iar variabila i este de tip întreg?
strcpy(s,”abracadabra”);
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a')
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<” ”<<s;
8. Scrieţi ce se afişează pe ecran în urma executării secvenţei de program alăturate, în care variabila s memorează un şir de cel mult 12 caractere, iar variabila i este de tip întreg.
char s[13]="informatica";
cout<<strlen(s);
for (i=0;i<strlen(s);i++)
if (strchr("aeiou",s[i])!=NULL)
s[i]= '*';
cout<<" "<<s;
9. Scrieţi ce se afişează pe ecran în urma executării secvenţei de program alăturate, în care variabila s memorează un şir de cel mult 12 caractere, iar variabila i este de tip întreg.
char s[13]="abcdefghoid";
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (strchr("aeiou",s[i])!=NULL)
strcpy(s+i,s+i+1);
else i++;
cout<<" "<<s;
10. Ce se afişează pe ecran în urma executării secvenţei de program alăturate, în care variabila s memorează un şir cu cel mult 10 caractere, iar variabilele i şi j sunt de tip întreg?
char s[11]="abcduecda";
cout<<strlen(s);
i=0; j=strlen(s)-1;
while (i<j)
if (s[i]==s[j])
{ strcpy(s+j,s+j+1);
strcpy(s+i,s+i+1); j=j-2;
}
else
{ i=i+1; j=j-1; }
cout<<" "<<s;
11. Ce se va afişa pe ecran în urma executării secvenţei de program alăturate, în care variabila s memorează un şir cu cel mult 10 caractere, iar variabila i este de tip întreg?
i=0; char s[11]="abaemeiut";
cout<<strlen(s);
while (i<strlen(s))
if (strchr("aeiou",s[i])!=NULL))
{ strcpy(s+i,s+i+1); i=i+1; }
else
i=i+2;
cout<<" "<<s;
12. Ce se va afişa în urma executării secvenţei de program alăturate ştiind că variabila a memorează un şir cu cel mult 100 de caractere, iar variabilele i şi k sunt de tip întreg?
k=’a’-’A’;
strcpy(a,”clasa a-XII-a A”);
cout<<a<<endl;
for(i=0;i<strlen(a);i++)
if(a[i]>=’a’&& a[i]<=’z’) a[i]=a[i]-k;
cout<<a;
13.  Ce se va afişa în urma executării secvenţei de program alăturate ştiind că variabila a memorează un şir cu cel mult 100 de caractere, iar variabila i este de tip întreg ?
strcpy(a,”bacalaureat”);
cout<<strlen(a)<<endl;
for(i=0;i<strlen(a);i++)
if(strchr(”aeiou”,a[i])!=0)
cout<<’*’;
14. În secvenţa de program alăturată, variabila a memorează un şir cu cel mult 100 de caractere, iar variabila i este de tip întreg. Completaţi punctele de suspensie din secvenţă astfel încât, în urma executării secvenţei, aceasta să afişeze şirul de caractere *nf*rm*t*c*.
strcpy(a,”informatica”);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...;
else
cout<<...;
15. Ce se va afişa în urma executării secvenţei de program alăturate, ştiind că variabila x memorează un şir cu cel mult 100 de caractere, iar variabila i este de tip întreg ?
strcpy(x,”bac2009”);
cout<<x<<endl;
for(i=0;i<strlen(x);i++)
if (strchr(“0123456789”,x[i])==0)
cout<<x[i];
16. În secvenţa de program alăturată, variabila a memorează un şir cu cel mult 100 de caractere, iar variabila i este de tip întreg. Completaţi punctele de suspensie, astfel încât, în urma executării secvenţei, să se afişeze doar literele mici şi literele mari din şirul de caractere memorat în variabila a.
strcpy(a,”Bac 2009 iulie”);
for(i=0;i<strlen(a);i++)
if(...)
cout<<a
17. Ce valoare are expresia de mai jos dacă variabila s memorează şirul de caractere alfabet?
strlen(strcpy(s,s+2))
18. Care din următoarele expresii are valoarea 1 dacă şi numai dacă şirul de caractere s, format din exact 10 caractere, este obţinut prin concatenarea a două şiruri identice?
a. strcmp(s,s+5)==0
b. s==strstr(s,s+5)
c. s==s+5
d. strcmp(s,strcat(s,s+5))==0
19. Scrieţi o secvenţă de instrucţiuni C/C++ care determină, în urma executării ei, afişarea pe ecran a mesajului Corect dacă un şir de maximum 100 caractere, memorat de variabila s,este palindrom sau mesajul Incorect în caz contrar. Un şir de caractere este palindrom dacă citit de la început la sfârşit este identic cu şirul citit de la sfârşit la început.
Exemplu: şirul de caractere cojoc este palindrom
20. Care va fi şirul de caractere afişat după executarea secvenţei de program alăturate, în care variabila s memorează un şir cu cel mult 5 caractere ?
char s[]=”raton”;
s[1]=s[3];
cout<<s;
21. Care va fi şirul de caractere afişat pe ecran după executarea secvenţei de program alăturate în care variabila s memorează un şir cu cel mult 4 caractere iar variabila t un caracter?
char s[]=”arac”;
t=s[1]; s[1]=s[3];
s[3]=’t’;
cout<<s;
22. Care este valoarea expresiei strlen(s) pentru variabila s de tip şir de caractere, declarată şi iniţializată astfel:
 char s[15]=”Proba_E”;
23. Ce se va afişa în urma executării secvenţei alăturate, în care variabila c memorează un şir cu cel mult 20 de caractere, iar i este o variabilă de tip întreg?
char c[21]="tamara",*p;
for(i=0;i<strlen(c);i=i+1)
{ p=strchr(c,'a');
cout<<p-c; }
24. Ce se va afişa în urma executării secvenţei alăturate, în care variabila c memorează un şir cu cel mult 20 de caractere, iar variabila i este de tip întreg?
char c[]="tamara";
for(i=0;i<3;i++)
c[i]=c[i+1];
cout<<c;
25. Ştiind că în urma executării secvenţei alăturate s-a afişat succesiunea de caractere EXAMEN, care este şirul de caractere memorat de variabila s?
x=strlen(s);
for (i=0;i<x/2;i++)
cout<<s[i]<<s[x-i-1];
26. Considerăm că variabila s memorează şirul de caractere examen. Care va fi valoarea lui s după executarea instrucţiunilor scrise alăturat?
s[0]= ‘E’;
s[strlen(s)-1]= ‘A’;
s[strlen(s)/2-1]= ‘N’;
s[strlen(s)/2]= ‘M’;
27. Ce se afişează pe ecran în urma executării secvenţei de program scrisă alăturat, în
care i este o variabilă de tip char?
for (i='a';i<='z';i++)
if (strchr("info",i))
cout<<i;
28. Ce se afişează pe ecran în urma executării secvenţei de program alăturate, unde a este o variabilă de tip şir de caractere?
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a;
29. Ce valoare se va afişa pe ecran în urma executării secvenţei de program alăturate, ştiind că variabila a este de tip şir de caractere, iar i este o variabilă de tip întreg?
strcpy(a,"info");
for(i=0;i<strlen(a);i++)
a[i]=a[i]+1;
cout<<a;
30. Variabila s reţine şirul de caractere bacalaureat. Ce se afişează la executarea instrucţiunii de mai jos?
cout<<strchr(s,’a’);
31. În secvenţa alăturată, variabilele s1, s2 şi s3 reţin şiruri de caractere. După executarea acesteia, variabila întreagă val primeşte valoarea 1 dacă:
if(!(strcmp(s1,s2) || strcmp(s1,s3)))
val=1;
else val=2;
a. s1, s2, s3 reţin şiruri identice de caractere
b. s1, s2, s3 reţin şiruri de caractere ordonate lexicografic
c. s1, s2, s3 reţin şiruri de caractere de lungimi diferite
d. s1 este obţinut prin concatenarea şirurilor reţinute în s2 şi s3
32. În secvenţa de program următoare, variabila s memorează un şir de caractere, iar variabila i este de tip întreg. Ce valoare se va afişa în urma executării secvenţei?
strcpy(s,”bacalaureat”);
i=strchr(s,’a’)-s;
cout<<i+1;
33. În secvenţa alăturată, variabila x memorează un şir de caractere, iar toate celelalte variabile sunt de tip întreg. Ce valori au variabilele k1 şi k2 după executarea secvenţei de instrucţiuni alăturate?
strcpy(x,”bac2009”);
k1=strlen(x);
k2=0;
for (i=0;i<strlen(x);i++)
if( x[i]>=’0’ && x[i]<=’9’)
k2=k2+1;
34. Variabila s memorează un şir de caractere. Care dintre următoarele expresii C++ este nenulă dacă şi numai dacă lungimea efectivă a şirului este strict mai mică decât 10?
a. strlen(s)<10
b. strlen(s,10)<0
c. leng(s)<10
d. s-’0’<10
35. Variabila s memorează un şir de caractere. Care dintre următoarele expresii C++ este nenulă dacă şi numai dacă lungimea efectivă a şirului este un număr par?
a. s-2==0
b. strlen(s,2)=0
c. leng(s)%2
d. strlen(s)%2==0;
36. Care vor fi valorile afişate după executarea secvenţei de program alăturate?
char s1[20]=”algoritm”,
s2[20]=”bioritm”,s3[20]=”ritm”;
if (strlen(s1)< strlen(s2))
strcat(s3,s1);
else
strcat(s3,s2);
cout<<s1<<’ ’<<s2<<’ ’<<s3;
a. algoritmritm bioritm ritm
b. algoritm bioritm ritmalgoritm
c. algoritm bioritm ritmbioritm
d. algoritm bioritmritm ritm
37. În secvenţa alăturată, fiecare dintre variabilele x şi s sunt de tipul şir de caracter, iar i este de tip întreg. Dacă variabilele x şi s memorează iniţial şirul absolvent, ce se va memora în variabila x în urma executării secvenţei alăturate?
for(i=0; i<strlen(s); i++)
if(strcmp(x, s+i)<0)
strcpy(x,s+i);
38.Ce se va afişa în urma executării secvenţei de program de mai jos dacă variabila x memorează cuvântul bacalaureat, iar variabila y memorează cuvântul banal?
if(strcmp(x, y) > 0) cout << x;
else
if(strcmp(x,y) < 0) cout << y;
else cout << “imposibil”;
39. Ce se va afişa în urma executării secvenţei de program alăturate ştiind că i este o variabilă de tip întreg, iar variabila x este de tip şir de caractere?
strcpy(x, “ExAMeNe NaTiOnALe”);
for(i = 0; i < strlen(x); i++)
if(x[i] >= ‘A’ && x[i] <=’N’)
x[i] = x[i] + ‘a’-‘A’;
cout << x;
40. Un şir de caractere se numeşte palindrom dacă şirul citit de la stânga la dreapta este identic cu şirul citit de la dreapta spre stânga. Care dintre următoarele expresii C/C++ are valoarea 1 dacă şi numai dacă şirul de caractere memorat în variabila s, având exact 3 caractere, este palindrom?
a.              s[0]==s[1] b. s[1]==s[2] c. s[0]==s[2] d. s[1]==s[3]
41.Ştiind că variabila i este de tip întreg şi variabila s reţine un şir de caractere, ce se va afişa la executarea secvenţei alăturate?
strcpy(s,”bac2009”);
for(i=0;i<strlen(s);i++)
if(s[i]<’0’||s[i]>’9’)
cout<<s[i];
42. Variabila s reţine un şir de caractere format din cel puţin 2 şi cel mult 30 de litere mici ale alfabetului englez. Scrieţi secvenţa de program C/C++ care afişează pe ecran primul şi ultimul caracter al şirului s.
43. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai jos?
strncpy(s,strstr(″examen″,″am″),4); s[4]='\0';
44. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai jos?
strncpy(s,strstr("Informatica","form"),strlen("BAC08")); s[5]='\0';
45. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunii de mai jos?
s=strcat(strstr("bacalaureat", "bac")+ strlen("2009"),"09");
46. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai
jos?
strncpy(s,strstr("informatica","form"),strlen("BAC009"));
s[6]='\0';
47. Ce memorează variabila s, de tip şir de caractere, după executarea instrucţiunilor de mai
jos?
strncpy(s,"informatica",strlen("2009"));
s[strlen("2009")]='\0';
strcat(s,"BAC");
48. Ce se va afişa în urma executării secvenţei alăturate de program, în care variabila c memorează un şir cu cel mult 20 de caractere, iar variabila i este de tip întreg?
char c[]="abracadabra";
i=6;
cout<<c[i]<<c[i+1] <<endl;
while (i>=0)
{cout<<c[i];
i=i-1;}
49. Variabila s este de tip şir de caractere, iar variabilele c1 şi c2 sunt de tip char. Care
expresie are valoarea 1 dacă şi numai dacă şirul de caractere s conţine caracterele memorate de variabilele c1 şi c2?
a. strstr(s,c1+c2)!=0
b. strchr(s,c1)!=0 || strchr(s,c2)!=0
c. strchr(strchr(s,c1),c2)!=0
d. strchr(s,c1)*strchr(s,c2)!=0
50. Se consideră variabila s care memorează şirul de caractere CARACATITA. Ce valoare va avea s după executarea instrucţiunii de mai jos?
strcpy(s,strstr(s,"TI"));
51. Ce se va afişa în urma executării secvenţei de program alăturate, considerând că a este o variabilă de tip şir de caractere, iar i o variabilă de tip întreg?
char a[10]="Examen";
for (i=0;i<=2;i++)
strcpy(a+i,a+i+1);
cout<<a;
52. Considerăm variabila x care memorează şirul de caractere ABAC. Care dintre următoarele instrucţiuni conduc la afişarea caracterului B?
a. cout<<x[strlen(x)-3];
b. cout<<x[strlen(x)-1];
c. cout<<x[2];
d. cout<<x[strlen(x)];
53. Se consideră declararea char e[20]=”51+73”; Care este şirul memorat de variabila e după executarea instrucţiunii de mai jos?
strcpy(e,strchr(e,’+’)+2);




Niciun comentariu:

Trimiteți un comentariu