Vous êtes sur la page 1sur 27

MODULO III

Prof. Miguel Brasil


"Programadores no so mquinas ou seres de outro mundo, so apenas pessoas que transformam sonhos em produtos" (Prof. Miguel Brasil)

miguelbbrasil@hotmail.com www.facebook.com/profmiguelbrasil @miguelbbrasil

VETORES, MATRIZES E STRINGS


2

VETORES

VETORES
So variveis que so dimensionadas com um determinado tamanho, que indica quantos elementos do tipo especificado podem ser armazenados; Tambm so conhecidos como matrizes unidimensionais (uma s dimenso); A declarao de um vetor na linguagem C obedece ao seguinte formato:

tipo nome[tamanho];

Onde tipo o tipo de dados que sero armazenados, nome o nome da varivel e tamanho um valor numrico que indica quantos elementos do tipo especificados sero armazenados.
4

VETORES
Acesso:
Para acessar um dos elementos de um vetor, basta utilizar o nome da varivel seguido do ndice do elemento desejado. Em C (em outras linguagens isto pode variar!), o ndice do primeiro elemento do vetor sempre 0 (zero), e do ltimo o tamanho (quantidade de elementos no vetor) 1 (um). Ex.:
float vet[4];
10.5 2.77 8.97 4.31

A declarao acima define uma varivel chamada vet, que pode armazenar at 4 elementos do tipo ponto flutuante.
5

VETORES
Os acessos so feitos utilizando o ndice do elemento que se deseja acessar:

IMPORTANTE: em C (em outras linguagens isto pode variar!) no existe controle automtico de final. Se o ndice solicitado for maior que o declarado no momento da criao do vetor, o compilador interpretar isso como um erro. Ex.:

VETORES
No confunda o ndice com valor do elemento. O ndice um indicativo da posio do elemento, enquanto o valor o contedo ndice armazenado na posio. tipo
Ex.: tipo ou valor

ndice

valor

Alm de tornarem os programas mais elegantes, vetores simplificam e reduzem programas que devem trabalhar com grandes quantidades de dados semelhantes. Alm disso, a lgica fica mais compreensvel, pois os valores que fazem parte de um mesmo conjunto ficam agrupados explicitamente.

VETORES
Para ilustrar isto, vamos fazer um programa que leia 8 valores inteiros, calcule a sua mdia, e mostre na tela os valores que forem maiores que a mdia.
Sem o conhecimento de vetores:

VETORES
Com o conhecimento de vetores:
0 1 2 3 4 5

REPARE A DIFERENA ENTRE OS DOIS CDIGOS

Imagine agora que se deseja a mdia de 10000 elementos, e no apenas de 8!


10

STRINGS

11

STRINGS
Strings em C so tratados como vetores de tamanho determinado que podem armazenar qualquer caracter. Diferentemente de declarar apenas uma varivel do tipo char (que armazena apenas um caracter) a string uma cadeia de caracteres, ou seja, pode guardar quantos caracteres ns determinarmos.

Portanto, para declararmos uma string, basta ns criarmos um vetor de caracteres dessa forma:

char minhaString [50];

12

STRINGS
O nico problema das strings so o seu consumo de recursos. Por exemplo, se levarmos em conta o vetor de caracteres que acabamos de criar, apesar dele conter 50 posies, ns s poderemos digitar at 49 letras. Isso ocorre porque toda string deve ter um caracter terminal, que geralmente indicado pelo NULL (nulo). Isso quer dizer que um vetor de caracteres (string) de 50 posies ter 49 caracteres efetivos e um NULL indicando seu final. Lidar com strings extremamente importante para a programao, pois a string a base de qualquer arquivo e principalmente controles de rotina (por exemplo: rotinas e procedimentos de banco de dados, o SQL; endereamento de arquivos; modificao de configuraes...).

13

STRINGS
Capturar uma String: Para entrarmos com uma String no sistema em C usamos a funo gets(). Esta funo permite que possamos pegar toda a linha digitada e no s at o primeiro espao em branco do teclado. Ex.:

14

STRINGS
Obter o tamanho de uma String: Para obter o tamanho de uma string usamos a funo strlen (que a juno do ingls String Length, que quer dizer, largura de string).

A funo strlen retorna o nmero de caracteres utilizados (incluindo os espaos se houver). Ela recebe como argumento apenas a string que deve ser verificada e retorna o nmero de caracteres encontrados.

15

STRINGS
Percorrendo uma String: pode-se percorrer uma string atravs de estruturas de repetio.

16

STRINGS
Comparar duas strings: H tambm uma forma de compararmos duas strings para ver ser ambas so iguais. A funo que determina isso strcmp.

Embora C/C++ case sensitive, ou seja, diferencia maisculas de minsculas, isso no ir influenciar nessa funo. Essa funo retorna 0 (zero) se h igualdade entre as strings ou 1 (um) nmero diferente de zero se no houver igualdade.
17

STRINGS
Copiar uma String: Para copiar uma string para outra string usamos strcpy (que vem de String copy).

Essa funo recebe dois argumentos: 1 a string para onde ser armazenada a cpia; 2 a string que ser copiada. Resumidamente, ele copia a segunda string para a primeira.
18

STRINGS
Concatenar uma String: Concatenar uma string que dizer juntar. De uma forma mais simplria, como se dissssemos que a juno da palavra passa mais a palavra tempo igual a passatempo. A strcat (string concat) - pega duas strings e junta o que tiver na primeira com o que tiver na segunda. Tome cuidado: Se concatenarmos duas strings e uma delas ou ambas forem vazias ocorrer um erro.

19

EXERCCIOS DE FIXAO

Em aula.

20

MATRIZES

21

MATRIZES
Tambm conhecidos como arrays multidimensionais so estruturas de dados que armazenam os valores em mais do que uma dimenso. Na prpria matemtica e em muitos sistemas, e muitos tipos de clculo necessrio o uso de

matrizes. Uma matriz um conjunto de linhas e


colunas. Vejamos um exemplo ao lado:
22

MATRIZES NO DIA A DIA

23

MATRIZES NO DIA A DIA

24

MATRIZES
Exemplo: Um arquivo (fsico) que possui 4 salas, com 5 armrios em cada, 7 gavetas por armrio e 50 envelopes por gaveta, possvel declarar uma varivel como a seguinte para armazenar dados dos documentos que esto em cada pasta: int numero_documentos [4][5][7][50]; O funcionamento semelhante ao de matrizes bidimensionais. Deve-se levar em conta apenas a quantidade maior de ndices. Trecho de cdigo:

25

EXERCCIOS DE FIXAO

Em aula.

26

MDULOIII
Prof. Miguel Brasil

miguelbbrasil@hotmail.com www.facebook.com/profmiguelbrasil @miguelbbrasil

Vous aimerez peut-être aussi