Probleme propuse, teste grilă

Testaţi-vă cumştiinţele!

TESTUL 1

1. Descrieţi modul de funcţionare al comenzii strcmp.

2. Dacă sir1="calculator" iar sir2="peformant".

Spuneţi ce va conţine sir1 dupa aplicarea funcţiei:

Strncat(sir1,sir2,6)

3. Se citeste un text de la tastatură. Să se afiseze histograma vocalelor din text.

4. Se citesc de la tastatură n numere naturale <=10. Să se convertească fiecare

număr într-un sir de caractere care reprezintă numărul în baza b (2<=b<=10).

TESTUL 2

1. Descrieţi modul de funcţionare al comenzilor: strchr, strstr.

2. Spuneţi care este efectul programului de mai jos:

void main()

{ char sir1[ ]="calculator", sir2[ ]="performant";

strcpy(sir1+5," ");

strcat(sir1,sir2);

cout<<sir1;

getch();

}

3. Se citesc de la tastatură numele colegilor de clasă. Să se afiseze în ordine

alfabetică numele citite.

TESTUL 3

1. Descrieţi modul de funcţionare al comenzilor:

char *ltoa(int valoare, char *s, int baza);

long strtol(const char *s, char **adresa, int baza);

2. Spuneţi care este efectul programului de mai jos:

void main()

{

char sir1[]="calculator", sir2[]="performant";

strcpy(sir1+3,sir2+6);

cout<<sir1;

getch();

}

3. Se citeşte un text. Să se afişeze cuvintele din text care contin cel puţin 3

vocale.

Probleme

1. Scieţi o funcţie care inserează pe poziţia p a unui şir un alt sir dat.

2. Scrieţi o funcţie care şterge dintr-un şir dat n caractere, începând cu poziţia p.

3. Fiind dat un cuvânt, să se afişeze toate sufixele sale.

4. Fiind dat un cuvânt, să se afişeze toate prefixele sale.

5. Se citeste un text de la tastatură, să se afiseze cuvintele în ordinea

crescătoare a lungimii lor.

6. Se citeşte un text de la tastatură, care conţine cuvinte separate prin spaţii. Să

se elimine spaţiile din text.

7. Se citesc cuvinte până la introducerea cuvantului END. Afişaţi cuvintele în

ordinea inversă citirii lor.

8. Număraţi ăpariţiile unui cuvânt într-un text.

9. Număraţi apariţiile fiecărei litere într-un text, fără a face distincţie între literele

mari şi mici.

10.Se citeste de la tastatură un text care conţine mai multe propoziţii. Cuvintele

textului sunt separate prin : spatiu, virgulă sau punct. Să se numere câte

propoziţii conţine textul, iar fiecare propoziţie, câte cuvinte are.

11.se citeşte un cuvânt de la tastatură. Să se ghicească cuvântul prin încercări

repetate. Fiecare tentativă va fi urmată de afisarea literelor ce se corespund.

12.Căutaţi un cuvânt într-un text şi afişaţi numărul de apariţii ale cuvântului. Dacă

acest cuvânt este inclus în alte cuvinte din text, nuu se va număra.

Test grilă

1. Ce se va afisa in urma executarii secventei:
a= "Primavara";
for (int i=1;i<=3;i++) strcpy(a+1,a+2);
cout<<a;

a) Pavara

b) Ara

c) Rim

d) Para


2. Ce se va afisa in urma executarii urmatoarei secvente de instructiuni:
x="Mama"; y="Macara";
if (strcmp(x,y)>0) cout<<x;
else if (strcmp(x,y)==0) cout<<"Incorect";
else cout<<y;

a) Macara

b) Mama

c) MamaIncorect

d) Incorect


3. Daca x este o variabila de tip sir de caractere, care din variante afiseaza 1 daca primul caracter din x este litera mica:


a) if (x[0]<'z') cout<<"1";

b) if ((x[0]<'z')||(x[0]>'a')) cout<<"1";

c) if (!(x[0]<'z' && x[0]<'a') cout<<"1";

d) if (!(x[0]<'a') && (x[0]<='z')) cout<<"1"


4. Fie declaratiile: char a[30],b[30]; Ce se va afisa in urma executiei secventei:
x="dimineata"; y="min";
strcat(y,x+strlen(x)-1);
p=strstr(y,x);
if (p!=NULL) cout<<(p-y);
else cout<<"0";

a) 0

b) 3

c) ta

d) dieta


5. Care din urmatoarele secvente verifica in mod corect daca un sirul de caractere s este format din acelasi caracter (de forma : s="AAAAAAA";


a) int ok=0;
for (i=1;i<strlen(s);i++)
if (s[i]==s[0]) ok=1;
if (ok) cout<<"Este";
else cout<<"Nu este";

b) int ok=0;
for (i=0;i<strlen(s);i++)
if (s[i]==s[i+1]) ok=1;
if (ok) cout<<"Este";
else cout<<"Nu este";

c) int ok=1;
for (i=1;i<strlen(s);i++)
if (s[i]==s[0]) ok=0;
if (ok) cout<<"Este";
else cout<<"Nu este";

d) int ok=1;
for (i=1;i<strlen(s);i++)
if (s[i]!=s[0]) ok=0;
if (ok) cout<<"Este";
else cout<<"Nu este";


6. Ce realizeaza secventa urmatoare:
char s[100];
cin>>s;
n=strlen(s);
i=0;j=n-1;
while ((i<j)&&(s[i]==s[j])) {i++;j--;}
if (i>=j) cout<<"Este";
else cout<<"Nu este";


a) Verifica daca sirul s este constant sau nu

b) Verifica daca sirul s este identic cu inversul lui s (este palindrom)

c) Verifica daca sirul s este format doar din litere

d) Verifica daca sirul s este sau nu format doar din caractere distincte


7. Consideram sirul de caractere s in care stim ca are toate caracterele distincte, exceptand ultimele doua care sunt identice. Care din secventele urmatoare afiseaza in mod corect lungimea lui s:

a) i=0;
while (a[i]!=a[i+1]) i++;
cout<<i+2;

b) i=0;
while (a[i]!=a[i+1]) i++;
cout<<i+1;

c) i=0;
while (a[i]==a[i+1]) i++;
cout<<i+2;

d) i=0;
while (a[i]!=a[i+1]) i++;
cout<<i;


8. Fie secventa (s este de tip sir de caractere, iar i de tip int)
for (i=0;i<strlen(s);i++)
if (s[i]>='A' && s[i]<='Z') s[i]=s[i]+'a'-'A';
Secventa realizeaza:


a) Transformarea literelor mici in litere mari

b) Inserarea literelor mici dupa fiecare litera mare

c) Transformarea literelor mari in litere mici

d) Ordonarea alfabetica a literelor mari in cadrul sirului


9. Care din urmatoarele secvente realizeaza corect eliminarea caracterului 'w' din sirul s:

a) char *p,s[100];
cin>>s;
while (p=strchr(s,'w'))
strcpy(p,p+1);

b) char *p,s[100];
cin>>s;
while (p=strchr(s,'w'))
strcpy(p+1,p);

c) char *p,s[100];
cin>>s;
while (p=strchr(s,'w'))
strcpy(p,p+1);

d) char *p,s[100];
cin>>s;
while (p=strchr(s,"w"))
strcpy(p+1,p);

Dotiţi să vă întoarceţi la pagina principală?

Informatica e uşoară dacă o iei pas cu pas!
Creat cu Webnode
Creați un site gratuit! Acest site a fost realizat cu Webnode. Creați-vă propriul site gratuit chiar azi! Începeți