Prelucrarea Șirurilor Caracteriale

Laborator
7/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 8 în total
Cuvinte : 1546
Mărime: 91.23KB (arhivat)
Puncte necesare: 0

Extras din laborator

Obiectivele temei

1. Aprofundarea cunoştinţelor în limbajul şi mediul TurboC şi perfecţionarea tehnicii de programare cu subprograme predefinite în prelucrarea şirurilor de caractere în C.

2. Însuşirea procedeelor de utilizare efectivă a funcţiilor predefinite referitoare la şiruri caracteriale.

3. Analiza specificului de algoritmizare şi progamare a fragmentelor de texte prin comparaţia soluţiilor stereotipe şi celor eficiente de introducere, afişare şi diverse manipulări asupra textelor: parcurgeri, căutări, schimbări şi rearanjări etc.

Subiectele temei şi ordinea executării

1. Studierea principiilor prelucrării (descrierii, declarării, formării, etc.) şirurilor caracteriale în C.

2. Studierea metodelor şi tehnicilor de bază de prelucrare a textelor ca şiruri caracteriale, analizând exemplele din indicaţii şi de reflectat în raport cu comentariile de rigoare.

3. Elaborarea algoritmului şi programului de soluţionare a variantei respective (Anexa).

4. Depanarea programului şi verificarea corectitudinei cu ajutorul testelor elaborate.

Conţinutul raportului (vezi lucr. de laborator nr.1-6)

Suplimentar: Evidenţierea specificului prelucrării şirurilor caracteriale în C şi analiza erorilor admise pe parcursul efectuării lucrării şi eficienţa algoritmilor elaboraţi.

Întrebările de autocontrol:

1.1. Caracterizaţi şirurile caracteriale şi declaraţi în diferite moduri posibile în limbajul C.

Un şir este o succesiune de caractere scrise între ghilimele, de exemplu „ABCD”.

Când un şir apare într-un program C, compilatorul creează un masiv de caractere care conţine caracterele şirului şi plasează automat caracterul NULL (‚’) la sfârşitul şirului, astfel ca programele care operează asupra şirurilor să poată detecta sfârşitul acestora. Această reprezentare înseamnă că, teoretic, nu există o limită a lungimii unui şir, iar programele trebuie să parcurgă şirul, analizându-l pentru a-i determina lungimea. Se admit şi şiruri de lungime zero.

Tehnic, un şir este un masiv ale cărui elemente sunt caractere. El are tipul masiv de caractere şi clasa de memorie static. Un şir este iniţializat cu caracterele date.

tip_de_date nume_şir[dimensiune];

unde:

- -tip_de_date: este tipul datei (obligatoriu char) ;

- -nume şir: este numele pe care îl dăm şirului ;

- -dimensiune: reprezintă numărul de caractere pe care îl conţine şirul .

- ca tablou de caractere; exemple:

#define MAXCUVINT 100

char name [15]; char w[MAXCUVINT]; char sir1[30]; char sir2[10]="exemplu";

- ca pointer la caractere; exemple:

char *sir3; // şir3 trebuie initializat cu adresa unui şir sau a unui spatiu alocat pe heap

sir3=sir1; // sir3 ia adresa unui sir static

// sir3=&sir1; sir3=&sir1[0]; sunt echivalente cu instr de atribuire de mai sus

sir3=(char *)malloc(100); // se aloca dinamic un spatiu pe heap.

char *sir4="test"; // sir4 este initializat cu adresa sirului constant

char s[10]; vom avea tabloul s, cu elemente de tip char, având 10 elemente

1.2. În ce mod se citesc şi se afişează elementele şirurilor caracteriale?

Citirea unui sir poate fi efectuat in mai multe moduri de exemplu:

1) char s[20];

scanf(“%s”,s); //astfel va citi sirul pina la apasarea tastei space

2) gets(s); //va citi sirul pina la apasarea tastei enter

1.3. Enumeraţi şi exemplificaţi apelurile funcţiilor predefinite pentru prelucrarea şirurilor caracteriale.

declarate in stdio.h

char * gets(char * s);

citeste caracterele din intrare pina la intalnirea caracterului Enter, care nu se adauga la sirul s; plaseaza '' la sfarsitul lui s; returneaza adresa primului caracter din sir; daca se tasteaza CTRL/Z returneaza NULL; codul lui Enter e scos din buffer-ul de intrare

int puts(char * s);

tipareste sirul s, trece apoi la rand nou

scanf("%s",s);

citeste caracterele din intrare pina la intalnirea primului blanc sau Enter, care nu se adauga la sirul s; plaseaza '' la sfarsitul lui s; daca se tasteaza CTRL/Z returneaza EOF; codul lui blanc sau Enter raman in buffer-ul de intrare

printf("%s",s);

tipareste sirul s

declarate in string.h

int strcmp(char *s1,char *s2);

returneaza <0, daca s1 < s2

0, daca s1 = s2

>0, daca s1 > s2

int strncmp(char *s1,char *s2,int n);

comparare a doua siruri pe lungimea n

char* strcpy(char *d,char *s);

copiaza sirul sursa s in sirul destinatie d; returneaza adresa sirului destinatie

char* strncpy(char *d,char *s,int n);

copiaza maxim n caractere de la sursa la destinatie; returneaza adresa sirului destinatie

int strlen(char *s);

returneaza lungimea sirului fara a numara caracterul terminator

char* strcat(char *d,char *s);

concateneaza cele doua siruri si returneaza adresa sirului rezultat

char* strchr(char s,char c);

returneaza pozitia primei aparitii a caracterului c in sirul s, respectiv NULL daca c nu e in s

char* strstr(char *s,char *ss);

returneaza pozitia primei aparitii a sirului ss in sirul s, respectiv NULL daca ss nu e in s.

Preview document

Prelucrarea Șirurilor Caracteriale - Pagina 1
Prelucrarea Șirurilor Caracteriale - Pagina 2
Prelucrarea Șirurilor Caracteriale - Pagina 3
Prelucrarea Șirurilor Caracteriale - Pagina 4
Prelucrarea Șirurilor Caracteriale - Pagina 5
Prelucrarea Șirurilor Caracteriale - Pagina 6
Prelucrarea Șirurilor Caracteriale - Pagina 7
Prelucrarea Șirurilor Caracteriale - Pagina 8

Conținut arhivă zip

  • Prelucrarea Sirurilor Caracteriale.doc

Alții au mai descărcat și

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Baze de Date

Scopul lucrării : învăţarea notiunilor de bază ale cursului SGBD şi pregătirea instrumentelor de lucru pentru utilizarea lor în practică, inclusiv...

Lucrul cu Bazele de Date în Borland C++ Builder

Tema: “Lucrul cu bazele de date in Borland C++ Builder” Scopul: Utilizarea componentei TQuery, posibilitatile crearii si utilizarii cererilor SQL...

Baze de Date

WAMP reprezintã o suitã de aplicatii care dau posibilitatea de a instala si folosi cu mare usurintã un server web (propriul server web care poate...

Introducerea și Modificarea Datelor în Excel

1. Lansați aplicația „Microsoft Excel”: Am lansat aplicația „Microsoft Excel”, efectuînd următorii pași: Start→All programs→Microsoft...

Microsoft Excel

Scopul: Studierea principiilor generale a unuia din cele mai complexe programme de lucru cu bazele de date pentru procesorul de tabele Excel. 1...

Disconnected classes

Accesul la date este factorul crucial in toate aplicatiile, iar ADO.NET ofera mijloace de accesare a datelor in aplicatii. ADO.NET este o...

Proiectare asistată de calculator

Laborator 1 Tema: • pornirea/oprirea aplicaţiei • administrarea conturilor • lucrul cu tabele 1. Lansaţi ȋn execuţie aplicaţia Oracle...

Ai nevoie de altceva?