Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação Prof. Teresinha Letícia da Silva Linguagem de Programação Aula 4 – Linguagem de Programação C – Vetores e Matrizes Prof.: Teresinha Letícia da Silva leticia@cafw.ufsm.br UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Lógica de Programação Prof. Teresinha Letícia da Silva Variáveis Estruturadas Diferem das variáveis simples pelo fato de que contém vários valores ao invés de um só; Cada elemento de um tipo estruturado, em sua forma mais básica é um tipo simples; Possibilitam otimizar o uso da memória do computador; Habilitam o programador para codificar problemas mais complexos ou sistemas maiores de forma mais elegante e legível; Lógica de Programação Prof. Teresinha Letícia da Silva Vetores Vetor é uma forma de declarar uma variável para guardar nela mais de um valor; Uma variável do tipo vetor é uma lista indexada (possui um índice) de elementos do mesmo tipo(homogênea). Exemplo .. um vetor de strings denominado de “DiasDaSemana”, poderia guardar (de forma indexada) os seguintes valores: 0 1 2 3 4 5 6 Dom Seg Ter Quar Quin Sex Sab Índice Elemento/ Valor Lógica de Programação Prof. Teresinha Letícia da Silva Vetores Com a utilização de vetores o computador consegue dispor os bytes que representam os valores das posições do vetor sequencialmente na memória, otimizando sua gestão pelo sistema operacional. Quando declaramos um vetor precisamos definir seu tamanho (quantos elementos irão compor o vetor); Em função do tamanho do vetor todo o espaço necessário para armazená-lo é reservado pelo programa quando o mesmo entra em execução. Lógica de Programação Prof. Teresinha Letícia da Silva Vetores Um vetor possui quatro propriedades básicas: a) Os itens de dados individuais são chamados de elementos. b) Todos os elementos devem ser do mesmo tipo de dados. c) Todos os elementos são armazenados contiguamente na memória do computador, e em linguagem C o índice do primeiro elemento sempre será zero. d) O nome do vetor é um valor constante que representa o endereço do primeiro elemento no vetor. Lógica de Programação Prof. Teresinha Letícia da Silva Vetores Um vetor em C é definido escrevendo-se o tipo do vetor, seguido de um nome, e um par de colchetes contendo uma expressão constante que define o tamanho do vetor. <tipo> <nomevetor> [<tamanho>] Ex: float notas[40]; int numeros[200]; Lógica de Programação Prof. Teresinha Letícia da Silva Vetores Um vetor pode ser inicializado explicitamente quando é declarado: int numeros[3] = {2,4,6}; char vogais[5] = {'a','b','c','d','e'}; Observe que não se pode usar uma variável na definição da matriz para dimensionar o seu tamanho, pois o compilador precisa alocar a memória necessária no momento da compilação. Lógica de Programação Prof. Teresinha Letícia da Silva Vetores de Strings Quando precisamos de um vetor de string, declaramos como uma matriz de caracteres, por exemplo, se queremos uma lista de 250 nomes com 80 letras cada: char nomes[250][80]; Quant. Nomes Quant. Letras Lógica de Programação Prof. Teresinha Letícia da Silva Vetores O acesso aos elementos de um vetor é feito de forma individual, ou seja, cada elemento por vez. Ex: printf(“%d”,numeros[0]); printf(“%d”,numeros[1]); Para automatizar o processo de leitura e escrita de todos os elementos de um vetor podemos usar uma estrutura de repetição. Ex: for(i=0;i<10;i++) { printf(“%d”,numeros[i]); } Lógica de Programação Prof. Teresinha Letícia da Silva Passagem de vetor como parâmetro Quando efetuamos a passagem de um vetor como parâmetro devemos ter em mente que o que está sendo passado não é realmente o vetor e sim um ponteiro para ele. Quando um vetor é passado como parâmetro, apenas o endereço do primeiro elemento é passado. Quando se passa um vetor não se cria uma cópia; em vez disso é passado o endereço do primeiro elemento do vetor de forma automática e transparente para o utilizador. A consequência dessa forma de passagem é que os elementos do vetor que forem modificados na função mantêm essas modificações, mesmo depois da função terminar. Lógica de Programação Prof. Teresinha Letícia da Silva Passagem de vetor como parâmetro Existem basicamente três maneiras de declarar um vetor como um parâmetro de uma função: void teste (char nome[31] ) void teste(char nome[] ) void teste(char *nome) Lógica de Programação Prof. Teresinha Letícia da Silva Passagem de vetor como parâmetro Exemplo: #include <stdio.h> void ler_vetor(int vetor[]) { int i; for(i=0;i<10;i++) { printf("\n Digite um valor"); scanf("%d",&vetor[i]); } } void escreve_vetor(int vetor[]) { int i; for(i=0;i<10;i++) { printf("\n %d",vetor[i]); } } int main() { int vetor[10]; ler_vetor(vetor); escreve_vetor(vetor); return 0; } Lógica de Programação Prof. Teresinha Letícia da Silva Exercícios Lógica de Programação Prof. Teresinha Letícia da Silva Matrizes Matrizes são vetores com duas dimensões; Uma matriz é uma tabela (composta por linhas e colunas), como vetores paralelos. Exemplo uma matriz para armazenar as 3 notas de 5 alunos 5 7 2 10 2 7 3 7 10 5 9 6 8 9 3 0 1 2 0 1 2 3 4 Alunos Notas Lógica de Programação Prof. Teresinha Letícia da Silva Matrizes Uma matriz multidimensional é definida escrevendo-se o tipo da matriz, seguida de um nome, e tantos pares de colchetes quantas forem a dimensões, contendo uma expressão constante que define o tamanho da matriz em cada dimensão. Ex: int Notas[40][3]; float Vendas[12][3]; Lógica de Programação Prof. Teresinha Letícia da Silva Matrizes Em C o primeiro elemento sempre será o elemento de índice 0. Uma matriz pode ser inicializada explicitamente quando é declarada: Ex: int num[2][5]={{2,4,6,8,10},{1,3,5,7,9}}; Lógica de Programação Prof. Teresinha Letícia da Silva Matrizes como parâmetros de funções Exemplo de passagem de passagem de parâmetro por valor de uma matriz: #include <stdio.h> void imprime(int mat2[3][3]) { int a, b; for (a=0;a<3;a++) for (b=0;b<3;b++) printf("%d ",mat2[a][b]); } int main() { int i, j, mat[3][3]; for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%d",&mat[i][j]); imprime(mat); } Lógica de Programação Prof. Teresinha Letícia da Silva Exercícios
Compartilhar