Linguagens Procedimentais

Variáveis Compostas
São um conjunto de variáveis identificadas por um mesmo nome.

Linguagem C/C++
Homogêneas (vetores e matrizes)

Vetores, Matrizes, Strings
Heterogêneas (estruturas)

1

2

Variáveis Compostas Homogêneas
Correspondem a posições da memória:
identificadas por um único nome individualizadas por índices cujo conteúdo é de um mesmo tipo

Variáveis Compostas Homogêneas :: Exemplo
Posição do livro
0 0 1 2 … … … … ⋱ n-1 156 196 526 ⋮ 788 598 265 145 258 369 989 565 345 ⋮ ⋮ ⋮

Prateleira
3

1 2 ⋮

Notas: Posição:

6,1 0

2,3 1

9,4 2

5,1 3

8,9 4

9,8 5

10 6

7,0 7

6,3 8

4,4 9

m-1 845 153 564 892 210
4

Também são conhecidos como arrays ou matrizes. Arranjos multidimensionais Utilizados para armazenar conjuntos de dados cujos elementos necessitam ser endereçados por mais de um índice.Arranjos unidimensionais Utilizados para armazenar conjuntos de dados cujos elementos podem ser endereçados por um único índice. 5 6 Arranjos multidimensionais :: Exemplos Arranjos de 2 dimensões 0 0 1 2 ⋮ 1 2 … … … … ⋱ n-1 156 196 526 ⋮ Arranjos multidimensionais :: Exemplos Arranjo de 3 dimensões 0 0 1 2 3 0 1 2 3 0 1 2 3 1 0 1 2 3 0 1 2 3 2 0 1 2 3 0 1 2 3 3 0 1 2 3 788 598 265 145 258 369 989 565 345 ⋮ ⋮ ⋮ m-1 845 153 564 892 210 7 8 . Também são conhecidos como vetores.

0) (1.0) 1 2 3 0 1 2 3 (0.Arranjos multidimensionais :: Exemplos Arranjo de 4 dimensões 0 0 1 2 3 (0.1) (1.. Nome_cliente[50].. 10 (1..2) 0 1 2 3 0 1 2 3 (0. n-1 Índice do primeiro elemento: zero Índice do último elemento: n – 1 Quantidade de elementos: n 11 12 . Índices: VetInt 0 1 2 3 4 5 . Exemplos: 0 0 1 2 3 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 float int char float 9 VetReais[100].3) 0 1 2 3 Vetores e Matrizes na Linguagem C Como declarar: <tipo> <nome> [<tamanho1>][<tamanho2>].2) (1.... . cubo[20][12][7]. Vetor[5][9]. Vetores e Matrizes na Linguagem C int VetInt[n]..3) Vetores e Matrizes na Linguagem C O compilador C aloca uma porção contígua da memória para armazenar os elementos das matrizes e vetores.1) 0 1 2 3 0 1 2 3 (0.

3}. pois mantém o mesmo tamanho ao longo de toda a execução do programa. i<5. após a compilação. 8 1 9 2 3 4 5 Vetor[6] Vetor[1] X2 = 9.{4.3. int Vetor[6]. Vetores e Matrizes na Linguagem C :: Exemplos Colocar os números de 1 a 5 num vetor: for (i=0.6}}. vetores e matrizes são chamadas estruturas de dados estáticas.5.2. 15 16 .2. Vetor[6] = 8.Vetores e Matrizes na Linguagem C Índices fora dos limites podem causar comportamento anômalo do código. não pode ser mudado. int X2 Vetores e Matrizes na Linguagem C O tamanho de um vetor ou matriz é prédefinido. i<5. float matriz[2][3] = {{1. 13 14 Vetores e Matrizes na Linguagem C :: Exemplos Atribuir valores na declaração do vetor: int vetor[5] = {1. Portanto. Atribuir valores na declaração da matriz: Colocar os números de 5 a 1 num vetor: for (i=0. ou seja. i++) Vetor[i] = i + 1. 0 2 X1 int X1.i. i++) Vetor[i] = 5 .5}. Vetor[-1] = 2.4.

i < N. VetCopia[TAM_MAX]. for (i=0. 19 20 . j < N. // outros elementos } // fim do for das linhas } // fim do for das colunas } 17 // diagonal principal // fim do for das linhas 18 Vetores e Matrizes na Linguagem C :: Exemplos Copiar dados de um vetor para outro: #define TAM_MAX 10 double VetReais[TAM_MAX]. i++) { // Linhas Vetores e Matrizes na Linguagem C :: Exemplos Criar uma matriz identidade n × n: for (i=0. i<TAM_MAX.Vetores e Matrizes na Linguagem C :: Exemplos Preencher uma matriz n × m com zeros: for (i=0. j++) // Colunas if (i == j) { Matriz[i][j] = 1. Vetores e Matrizes na Linguagem C :: Exemplos Leitura dos dados de um vetor: for (i=0. } Boa prática de programação: Definir o tamanho de vetores com constantes flexibiliza a manutenção do código. &Vet[i]). else } // fim do for das colunas Matriz[i][j] = 0. j++) // Colunas { // Linhas for (j=0. j < M. Matriz[i][j] = 0. i++) { printf("Digite um número: "). scanf("%f". i<TAM_MAX. i++) { for (j=0. i < N. i++) VetCopia[i] = VetReais[i].

Ler um vetor A de N elementos. e assim sucessivamente. M[4][(M[1][2]+M[3][0])] 0 0 1 2 3 4 5 1.Vetores e Matrizes na Linguagem C :: Problema A Determinar: 1. 23 Vetores e Matrizes na Linguagem C :: Problema D Faça um programa que imprima uma matriz quadrada de dimensão N contendo: o número 1 nos elementos abaixo da diagonal principal o número 0 nos demais elementos N deve ser menor ou igual a 20. 2. 24 . M[3][0] 2. Verificar se o elemento K está presente no vetor: Se estiver. 3. Ao final. 5. imprimir o vetor invertido. -2 1 0 21 Vetores e Matrizes na Linguagem C :: Problema B 1 2 -5 1 2 0 -1 2 3 3 1 0 1 -2 3 4 0 1 0 1 -2 Ler um elemento K. M[M[3][1]][1] 6. 1 5 1 -3 0 -1 22 Vetores e Matrizes na Linguagem C :: Problema C Ler N valores inteiros (N ≤ 100) até que seja digitado o valor zero. -3 1 0 4. imprimir a posição onde ele foi encontrado. o 2º com o penúltimo. inverter o vetor. 6. M[4][2] 3. trocando o 1º elemento com o último. A seguir. Caso contrário. imprimir mensagem "elemento K não encontrado". M[1][3] 4. M[5][M[0][2]] 5.

Construir um algoritmo que leia a tabela anterior e informe ao usuário a distância entre duas cidades fornecidas por ele. Strings Uma string é um vetor de caracteres. e que imprima a distância total para cumprir todo o percurso especificado entre as cidades fornecidas. até inserir “xx”. deve-se levar em consideração. Ao definir uma string. O terminador nulo também pode ser escrito como '\0‘.Vetores e Matrizes na Linguagem C :: Problema E Fonte: DENIT BELÉM Vetores e Matrizes na Linguagem C :: Problema E 1. até que ele forneça duas cidades iguais (origem e destino). o caractere nulo que termina a string. além do número de caracteres da string. cujo final é indicado com um caractere nulo (valor inteiro zero). Construir um algoritmo que permita ao usuário informar várias cidades. 27 28 . FORTALEZA BELÉM FORTALEZA MANAUS PORTO VELHO RIO DE JANEIRO SALVADOR SÃO PAULO 1611 5298 4397 3250 2100 2933 1611 5298 5763 4397 4865 901 3250 2805 4374 3473 2100 1389 5009 4023 1649 2933 3127 3971 3070 429 1962 5763 4865 2805 1389 3127 901 4374 5009 3971 3473 4023 3070 1649 429 1962 SÃO PAULO 25 SALVADOR MANAUS PORTO VELHO RIO DE JANEIRO 26 Vetores e Matrizes na Linguagem C :: Problema E 2.

Strings :: Leitura a partir do teclado Função gets() Lê string até o primeiro enter Strings :: Atribuição de valores char curso[15] = "Engenharia". strcpy(curso.h 29 30 Manipulação de caracteres A Linguagem C possui algumas funções especiais para análise e manipulação de caracteres.h A biblioteca ctype."Engenharia"). 31 32 . não de strings inteiras. Tais funções estão definidas na biblioteca ctype. // Requer biblioteca // string.h possibilita a manipulação de caracteres. // Valido somente na // declaracao! Função scanf() Lê string até o primeiro espaço em branco char curso[15]. Função tolower Converte seu argumento para uma letra minúscula: <var1> = tolower(var2). Manipulação de caracteres :: Funções tolower e toupper Função toupper Converte seu argumento para uma letra maiúscula: <var1> = toupper(var2).

h. a-f ou A-F) 34 Manipulação de strings :: Biblioteca string.h A Linguagem C possui funções especiais para análise e manipulação de strings.Manipulação de caracteres :: Outras funções Função isalnum isalpha isascii iscntrl isgraph isprint Testa se seu argumento é um caractere alfanumérico caractere alfabético caractere ASCII (0 a 127) caractere de controle (0-0x1F ou 0x7F) caractere imprimível na tela (não leva espaço em consideração) caractere imprimível na tela (leva espaço em consideração) 33 Manipulação de caracteres :: Outras funções Função islower isupper ispunct isspace isdigit isxdigit Testa se seu argumento é um caractere minúsculo caractere maiúsculo caractere de pontuação caractere de espaço. tabulação caractere numérico (0-9) dígito hexadecimal (0-9. Manipulação de strings :: Biblioteca string.h possibilita a manipulação de strings completas (sem considerar caractere a caractere).h strcat(str1. Retorna o tamanho de str1 35 36 . Tais funções estão definidas na biblioteca string. A biblioteca string. str2) Concatena str2 ao final de str1 int tam = strlen(str1).

strlwr(str) Converte uma string para minúsculas.h Questões Função atoi(<str>) atof(<str>) itoa(<int>) Converte String em int String em float Int em string 39 40 . str2). se str1 > str2. int valor = strcmpi(str1. se str1 < str2.h int valor = strcmp(str1. valor = 0. 37 38 Manipulação de strings :: Conversão para números A seguintes funções fazem parte da biblioteca stdlib. Mesmo que strcmp. strset(str. str2). mas não é sensível ao caso strrev(str) Inverte o conteúdo de uma string. valor < 0. se str1 e str2 são iguais. Manipulação de strings :: Biblioteca string. valor > 0.char) Substitui todos os caracteres de uma string pelo caractere especificado.h strupr(str) Converte uma string para maiúsculas.Manipulação de strings :: Biblioteca string.

Sign up to vote on this title
UsefulNot useful