VARIÁVEIS INDEXADAS Array Auxiliadora Freire Slide 1
Array: Conjunto de informações do mesmo tipo, cada informação é representada na memória do computador por uma variável. O nome de qualquer variável deste grupo é composto do nome do array acrescido de um indicador de posição. Auxiliadora Freire Slide 2
Exemplo de Array: nome do array(posição) mês(i) Índice: número que indica a posição de uma variável em um array. Dimensão: quantidade de índices. Vetor: Vet(I); Índice I; Dimensão 1 Matriz: Mat(I, J); Índices I, J; Dimensão 2 Auxiliadora Freire Slide 3
CONJUNTOS E VARIÁVEIS INDEXADAS Nome associado ao conjunto Cada elemento do conjunto é referenciado pelo índice Vetores unidimensional de variáveis Exemplo A(3) vetor A com 3 elementos A(1) = 10 10 A(2) = 20 ou A = 20 A(3) = 30 30 Auxiliadora Freire Slide 4
Matrizes conjunto multidimensional Exemplo B(2,2) matriz B com 4 elementos B(1,1) = 10 B(1,2) = 30 B(2,1) = 20 B(2,2) = 40 B= 10 30 20 40 Auxiliadora Freire Slide 5
Declaração dos VETORES / MATRIZES //declaração de variáveis quadr : matriz[4][4] de real Notas : matriz[100] de inteiros Nome: matriz[4] de caractere Auxiliadora Freire Slide 6
Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7 Passos: Ler 10 notas Verifique se a nota < 7 Imprimir as notas Auxiliadora Freire Slide 7
Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7 ALGORITMO LING. C VAR i, nota [10]: INTEIRO PARA ( i=1 até 10 ) FAÇA ESCREVA Nota, i LEIA nota [ i ] Auxiliadora Freire Slide 8
Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7 ALGORITMO (CONT.) LING. C (CONT.) PARA ( i=1 até 10 ) FAÇA SE ( nota [ i ] < 7 ) ESCREVA ( Aluno, i, esta reprovado )...... Auxiliadora Freire Slide 9
Exemplo Leia 3 notas e os nomes de 4 alunos. Escreva no final o nome e a média de cada aluno Se a média for maior ou igual a 6 escreva Aluno Aprovado, caso a média for menor que 6, escreva Aluno Reprovado. Passos: Ler nome Ler três notas Calcular media Imprimir media Auxiliadora Freire Slide 10
VAR Algoritmo N1[4],n2[4],n3[4],media[4]: real i: inteiro Nome[4]: caractere PARA (I=1 até 4) FAÇA ESCREVER Entre com o nome LEIA nome[i] ESCREVA,"entre com as notas: n1,n2,n3" LEIA n1[i],n2[i],n3[i] media[i] = (n1[i] + n2[i] + n3[i] )/ 3. Ling. C Auxiliadora Freire Slide 11
Algoritmo ( cont) PARA (I=1,4) FAÇA Ling. C( cont.) SE (media[i] >= 6) ENTAO ESCREVA nome[i], media[i], aluno aprovado" SENAO ESCREVA nome[i], media[i], "aluno reprovado FIM-SE FIM Auxiliadora Freire Slide 12
Exemplo Leia um vetor com 10 elemento e escreva em ordem numérica. Passos: Ler 10 números aleatórios em um vetor Ordenar o vetor Imprimir o vetor ordenado Auxiliadora Freire Slide 13
Algoritmo // PARTE 1 LEITURA DO VETOR Ling. C VAR vetor [10],i,j,aux : inteiro PARA (I=1 até 10) FAÇA ESCREVER Entre com o número LEIA vetor[i] Auxiliadora Freire Slide 14
Algoritmo // PARTE 2 ORDENAR O VETOR Ling. C PARA (i=1 até 10) FAÇA PARA (j=i até 10) FAÇA SE (vetor[i] > vetor[j]) ENTAO aux = vetor[i] vetor[i] = vetor[j] vetor[j] =aux FIM_SE Auxiliadora Freire Slide 15
Algoritmo // PARTE 3 ESCREVER O VETOR ORDENADO Ling. C PARA (i=1 até 10) FAÇA ESCREVER vetor[i]... Auxiliadora Freire Slide 16
Exercício de fixação - Utilizando MATRIZES Faça os algoritmos 1 - Escreva um algoritmo que leia dois vetores A e B de tamanho 10 e gere um vetor C e D que contenha: a) Vetor C a soma entre A e B; b) Vetor D a diferença entre A e B; A cada operação, mostrar resultado. Dica: operações feitas com elementos de índices iguais. 2 - Escreva um algoritmo que leia 10 elementos de um vetor, encontre o maior elemento do vetor e mostra o elemento e a posição em que se encontra no vetor. Auxiliadora Freire Slide 17
Exercício de fixação - Utilizando MATRIZES Faça os algoritmos 3 Dada uma matriz quadrada de ordem 3, faça um algoritmo que calcule: a) A soma dos elementos da primeira coluna. b) A soma dos elementos da terceira linha. c) A multiplicação dos elementos da diagonal principal d) A soma de todos os elementos da matriz. A cada operação mostrar o imprimir o resultado. 4 Escreva um algoritmo que lê uma matriz e retorna sua correspondente matriz transposta. 5 - Escreva um algoritmo que leia as matrizes A(2,2) e B(2,2) e calcule a matriz C = A + B e D = A * B. ((dica: c(i,j) = c(i,j) + a(i,k) * b(k,j)) Auxiliadora Freire Slide 18
Exercício de fixação - Utilizando MATRIZES Faça os algoritmos 6- Leia um vetor com nomes de 5 alunos e depois escreva: 1- ordenando por nome. 2- ordenando por nota 7- Considerando o exercício anterior, pesquise a nota de um aluno específico Auxiliadora Freire Slide 19
LINGUAGEM C MATRIZES - Declaração Matriz é uma estrutura de dados de tamanho finito e precisa ser definido em sua declaração. ALGORITMO LINGUAGEM C //declaração de variáveis //declaração de variáveis quadr : matriz[4][4] de real; Notas : matriz[100] de inteiros; Nome : matriz[4][20] de caractere float quadr [4][4] ; int notas [100] ; char nome[4][20]; // Nome vetor com 4 elementos com até 20 caractere. Auxiliadora Freire Slide 20
EXERCÍCIOS LING C Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7 ALGORITMO LING. C VAR i, nota [10]: INTEIRO int i,nota[10]; PARA ( i=1 até 10 ) FAÇA ESCREVA Nota, i LEIA nota [ i ] scanf (%d, ¬a[i]); Auxiliadora Freire Slide 21
Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7 ALGORITMO (CONT.) LING. C (CONT.) PARA ( i=1 até 10 ) FAÇA SE ( nota [ i ] < 7 ) if ( nota [ i ] < 7 ) ESCREVA ( Aluno, i, esta reprovado )...... Auxiliadora Freire Slide 22
Exemplo Leia 3 notas e os nomes de 4 alunos. Escreva no final o nome e a média de cada aluno Se a média for maior ou igual a 6 escreva Aluno Aprovado, caso a média for menor que 6, escreva Aluno Reprovado. Passos: Ler nome Ler três notas Calcular media Imprimir media Auxiliadora Freire Slide 23
Algoritmo Ling. C VAR n1[4],n2[4],n3[4],media[4]: real real n1[4],n2[4],n3[4],media[4]; i: inteiro... Nome[4]: caractere com 20 caractere char nome [4][20]; PARA (I=1 até 4) FAÇA for ( i=1,i<=4;i++) { ESCREVER Entre com o nome... LEIA nome[i] ESCREVA,"entre com as notas: n1,n2,n3" LEIA n1[i],n2[i],n3[i] scanf ( %s,&nome[i]);... scanf ( %f %f%f,&n1[i],&n2[i],&n3[i]); media[i] = (n1[i] + n2[i] + n3[i] )/3. media[i] = (n1[i] + n2[i] + n3[i] )/3. } Auxiliadora Freire Slide 24
Algoritmo ( cont) PARA (I=1,4) FAÇA Ling. C( cont.) SE (media[i] >= 6) ENTAO IF(media[i] >= 6) ESCREVA nome[i], media[i], aluno aprovado" SENAO ESCREVA nome[i], media[i], "aluno reprovado printf( %s %f aluno aprovado" nome[i], media[i]); printf( %s %f aluno reprovado" nome[i], media[i]); FIM-SE FIM Auxiliadora Freire Slide 25
Exemplo Leia um vetor com 10 elemento e escreva em ordem numérica. Passos: Ler 10 números aleatórios em um vetor Ordenar o vetor Imprimir o vetor ordenado Auxiliadora Freire Slide 26
Algoritmo // PARTE 1 LEITURA DO VETOR Ling. C VAR vetor [10],i,j,aux : inteiro int vetor [10],i,j,aux; PARA (I=1 até 10) FAÇA ESCREVER Entre com o número LEIA vetor[i] scanf ( %d,&vetor[i]); Auxiliadora Freire Slide 27
Algoritmo // PARTE 2 ORDENAR O VETOR Ling. C PARA (i=1 até 10) FAÇA For (i=1;i<=10;i++) { PARA (j=i até 10) FAÇA For (j=1;j<=10;j++) { SE (vetor[i] > vetor[j]) ENTAO if (vetor[i] > vetor[j]) { aux = vetor[i] aux = vetor[i]; vetor[i] = vetor[j] vetor[i] = vetor[j]; vetor[j] =aux vetor[j] =aux; FIM_SE } } } Auxiliadora Freire Slide 28
Algoritmo // PARTE 3 ESCREVER O VETOR ORDENADO Ling. C PARA (i=1 até 10) FAÇA ESCREVER vetor[i] printf ( %d, vetor[i]);... Auxiliadora Freire Slide 29