If you can't read please download the document
Upload
carneolia
View
14
Download
1
Embed Size (px)
DESCRIPTION
liceu, prezentare informatica, siruri de caractere
Citation preview
Tipuri
structurate
de date
i r u r i d e c a r a c t e r e
Sumar
1.
2.
3.
4.
5.
6.
7. webografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2
generale
identificarea datelor care intervin ntr-o a dintre
acestea
elaborarea algoritmilor de rezolvare a problemelor
aplicarea algoritmilor fundamentali n prelucrarea datelor
identificarea conexiunilor dintre societate
specifice
datelor
prelucrarea datelor structurate
alegerea structurii de date unei probleme
elaborarea unui algoritm de rezolvare a unei probleme din aria
a
alegerea unui algoritm eficient de rezolvare a unei probleme
identificarea informaticii n
elaborarea implementarea unor algoritmi de rezolvare a unor
probleme cotidiene
3
4
Un de caractere:
- este un tablou unidimensional (vector) de caractere;
- o succesiune de caractere cuprins ntre ghilimele terminat cu caracterul NULL notat \ 0 ;
- orice tip de caracter: mare, caracter
special, delimitator, fiecare caracter fiind reprezentat prin codul ASCII.
Un de caractere este o de date care este dintr-o
de caractere, n care fiecare caracter se prin
sa n cadrul .
Exemplu: de caractere Limbajul C++ se poate reprezenta astfel:
L i m b a j u l C + + \ 0
5
Fiecare caracter din setul de caractere al limbajului C++ se
printr-un cod unic, numit codul ASCII al caracterului, un ntreg ntre 0 255 .
n cadrul setului ASCII, codurile caracterelor sunt cum : - literele mari ncepnd cu 65 (A - 65, B - 66, ... , Z - 90) ;
- literele mici ncepnd cu 97 (a 97, b 98, ... , z - 122 ) ;
- cifrele ncepnd cu 48 ( 0 48, 1 49, ... , 9 - 57) .
: ntre codul ASCII al litere mici codul ASCII al literei mari pereche este 32 .
Exemplu: char c1,c 2;
int x;
c1='A' ;
x=c 1+32; //conversie
c2=x; //conversie
cout
6
Declararea de caractere
- vectorul de caractere trebuie declarat cu un caracter mai mult (caracterul NULL) dect cel mai mare pe care l poate ;
- un de caractere poate fi definit ca un vector de caractere, n
moduri: char nume[dimensiune] ;
char *nume;
unde nume este identificatorul variabilei de tip de caractere, iar
dimensiune maxim de caractere ce pot fi memorate
n (inclusiv caracterul NULL);
char nume[dimensiune] ;
// se un vector cu elemente de tip caracter;
char *nume;
// se un pointer tipul caracter;
: caracterele vor ocupa consecutive n vector,
ncepnd cu 0
7
Exemplul 1: char sir[ 20] ;
- se un de caractere n care vor putea fi memorate maxim 19
caractere;
- variabila sir informatica reprezentarea n
memoria este :
unde: sir[ 0]=
sir[ 1]= n
sir[ 2]= f
sir[ 10]= a
- caracterul NULL \0 este automat de compilator;
- lungimea de caractere este de de caractere (n exemplu este de 11);
sir i n f o r m a t i c a \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
8
Exemplul 2: char s[ 5] ;
- se un de caractere n care vor putea fi memorate maxim 4
caractere;
- variabila s algoritm reprezentarea n memoria
este :
s a l g o \ 0
0 1 2 3 4
9
Exemplul 3: char a[ 15] ;
- se un de caractere n care vor putea fi memorate maxim 14
caractere;
- de caractere a a fost la declararea lui, iar reprezentarea n
memoria este :
- se de caractere, nu mai este nevoie se
precizeze lungimea a aceasta fiind de
compilator: char a[] ;
c a l c u l a t o r \ 0 \ 0 \ 0 \ 0 \ 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
10
Citirea
cin
- la nivel de caracter;
-
a. Citirea la nivel de caracter (caracter cu caracter)
cout numarul de caractere
cin >>n;
for( i =0;i< n;i ++)
cin >>sir[ i ];
sir[ i ]=NULL;
- citirea de caractere se face caracter cu caracter trebuie caracterul NULL la de caractere.
aractere
11
b. Citirea la nivelul irului de caractere
cin >>sir;
- n acest caz caracterul NULL este automat de compilator;
- de citire de la se atunci cnd a fost introdus un caracter alb ( sau Enter );
- pentru a citi caracterul se get care are
forme.
aractere
12
Forma 1: cin . get(sir,nr,ch) ;
unde:
sir este o de tip de caractere care se va citi;
nr este o de tip ntreg maxim de
caractere care vor fi citite, inclusiv caracterul NULL;
ch este o de tip caracter care caracterul care
ncheie citirea ;
- al treilea parametru se implicit caracterul \ n
generat de tasta Enter .
Forma 2: cin . get() ;
- o cin . get() cu parametri pentru a din
fluxul de date ultimul caracter citit, care ar mpiedica efectuarea unei a
doua de citire de la .
aractere
13
Exemplul 1: char s1[ 10] ;
cin >>s1;
//dac introducem textul informatica Enter se
n variabila s1 informati ;
Exemplul 2: char s2[ 10] ;
cin >>s2;
//dac introducem textul informat Enter se n
variabila s2 informat ;
Exemplul 3: char s3[ 10] ;
cin >>s3;
//dac introducem textul info arena Enter se
n variabila s3 info ;
aractere
14
Exemplul 4: char s4[ 10] ;
cin . get( s4, 10) ;
//dac introducem textul informatica Enter se
n variabila s4 informati ;
Exemplul 5: char s5[ 10] ;
cin . get ( s5, 5) ;
//dac introducem textul informatica Enter se
n variabila s5 info ;
Exemplul 6: char s6[ 10] ;
cin . get( s6, 10) ;
//dac introducem textul info arena Enter se
n variabila s6 info aren ;
aractere
15
Exemplul 7: char s7[ 10] ;
cin . get( s7, 10, ' $') ;
//dac introducem textul informat $ Enter se n
variabila s7 informat ;
Exemplul 8: char s8[ 10] ;
cin . get( s8, 10) ;
//dac introducem textul info $arena Enter se
n variabila s8 info $aren ;
Exemplul 9: char s9[ 10] ;
cin . get( s9, 9 \ ) ;
//dac introducem textul info arena $ Enter se
n variabila s9 info are ;
aractere
16
Exemplul 10: char a[ 10], b[ 10] ;
cin . get( a, 10) ;
cin . get( b, 10) ;
//dac introducem textul info Enter se n
variabila a info i nu va putea fi citit al doilea ;
Exemplul 11: char a[ 10], b[ 10] ;
cin . get( a, 10) ;
cin . get( ) ;
cin . get( b, 10) ;
//dac introducem textul info Enter apoi introducem
arena Enter se n variabila a info n
variabila b arena ;
aractere
17
Exemplul 12: char a[ 10], b[ 10] ;
cin . get( a, 10) ;
cin . get( b, 10) ;
//dac introducem textul info arena Enter se
n variabila a info aren n variabila b a;
aractere
18
Scrierea de caractere
cout
- la nivel de caracter;
-
a. Scrierea la nivel de caracter (caracter cu caracter)
cin >>sir;
i =0;
while(sir[ i ]!=NULL)
{
cout
19
b. Scrierea la nivelul irului de caractere
cout
20
Exemplul 1: char s1[ 10] ;
cin >>s1;
cout s2;
cout s3;
cout
21
1. STRLEN
2. STRCPY
3. STRNCPY
4. STRCAT
5. STRNCAT
6. STRCMP
7. STRNCMP
8. STRICMP
9. STRSET
10. STRNSET
11. STRLWR
12. STRUPR
13. TOUPPER
14. TOLOWER
15. STRCHR
16. STRRCHR
17. STRSTR
18. STRREV
22
STRLEN
strlen(sir)
unde sir
Exemplu: char s[21];
int n;
cin>>s;
n=strlen(s);
cout
23
STRCPY
strcpy(sir1,sir2)
unde sir1 sir2
Exemplu: char a[21], b[21];
cin >>a;
strcpy ( b, a) ;
cout
24
STRNCPY
Copie un de caractere specificat, dintr-un de caractere n alt
de caractere.
strncpy (sir1,sir2,nr)
unde sir 1 sir 2 sunt variabile de tip de caractere, iar nr
este o de tip ntreg. : strlen (sir 2)>a;
strncpy (b,a,4);
b[4]=NULL;
cout
25
STRCAT
strcat (sir1,sir2 )
unde sir1 sir2
Exemplu: char a[21],b[21];
cin >>a>>b;
strcat ( a,b );
cout
26
STRNCAT
strncat(sir1,sir2,nr)
unde sir 1 sir 2 sunt variabile de tip de caractere, iar nr
este o de tip ntreg.
Exemplu: char a[21],b[21];
cin >>a>>b;
strncat (a,b,3);
cout
27
6 STRCMP
Compar
strcmp(sir1,sir2 )
unde sir 1 sir 2 sunt variabile de tip de caractere.
sir1 sir2
Exemplu: char a[21],b[21];
cin >>a>>b;
cout
28
STRNCMP
Compar
strncmp (sir1,sir2,nr)
unde sir 1 sir 2 sunt variabile de tip de caractere, iar nr
este o de tip ntreg.
Exemplu: char a[21],b[21];
cin >>a>>b;
cout
29
STRICMP
Compar de caractere a face ntre litere mici
litere mari.
stricmp(sir1,sir2)
unde sir 1 sir 2 sunt variabile de tip de caractere.
Exemplu: char a[21],b[21];
cin >>a>>b;
cout
30
STRSET
strset (sir, ch )
unde sir este o de tip de caractere, iar ch este o
de tip caracter.
Exemplu: char a[21],x;
cin >>a>>x;
strset ( a,x );
cout
31
STRNSET
ntr-un de caractere, primele nr caractere, cu caracterul
ch .
strnset(sir,ch,nr )
unde sir este o de tip de caractere, ch este o de
tip caracter, iar nr este o de tip ntreg.
Exemplu: char a[21],x; int n=2;
cin >>a>>x;
strnset ( a,x,n );
cout
32
STRLWR
literele mari n litere mici.
strlwr(sir)
unde sir este o de tip de caractere.
Exemplu: char a[21];
cin >>a;
strlwr (a);
cout
33
STRUPR
literele mici n litere mari.
strupr(sir)
unde sir este o de tip de caractere.
Exemplu: char a[21];
cin >>a;
strupr (a);
cout
34
TOLOWER
o mare n .
tolower(ch )
unde ch este o de tip caracter.
Exemplu: char c;
cin >>c;
c=tolower (c);
cout
35
TOUPPER
o n mare.
toupper(ch )
unde ch este o de tip caracter.
Exemplu: char c;
cin >>c;
c=toupper (c);
cout
36
STRCHR
prima a ununi caracter ntr-un de caractere.
strchr(sir,ch)
unde sir este o de tip sir de caractere, iar ch este o
de tip caracter.
Exemplu: char a[21],c;
cin >>a>>c;
cout
37
STRRCHR
ultima a ununi caracter ntr-un de caractere.
strrchr(sir,ch)
unde sir este o de tip sir de caractere, iar ch este o
de tip caracter.
Exemplu: char a[21],c;
cin >>a>>c;
cout