ALGORITMO I - deinf.ufma.brmaria/arqalg/aula-alg4.pdf · Exercício de fixação - Utilizando...

29
VARIÁVEIS INDEXADAS ALGORITMO I Auxiliadora Freire Slide 1 Array

Transcript of ALGORITMO I - deinf.ufma.brmaria/arqalg/aula-alg4.pdf · Exercício de fixação - Utilizando...

VARIÁVEIS INDEXADAS

ALGORITMO I

Auxiliadora Freire Slide 1

Array

Array:Conjunto de informações do mesmo tipo, cadainformação é representada na memória docomputador por uma variável.

ALGORITMO I

Auxiliadora Freire Slide 2

computador por uma variável.

O nome de qualquer variável deste grupo écomposto do nome do array acrescido de umindicador de posição.

Exemplo de Array: • nome do array(posição) – mês(i)

• Índice: número que indica a posição de uma variável emum array.

ALGORITMO I

Auxiliadora Freire Slide 3

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

ALGORITMO I

CONJUNTOS E VARIÁVEIS INDEXADAS• Nome ���� associado ao conjunto • Cada elemento do conjunto é referenciado pelo índice

• Vetores ���� unidimensional de variáveis

Auxiliadora Freire Slide 4

• Exemplo ���� A(3) ���� vetor A com 3 elementos

A(1) = 10 10A(2) = 20 ou A = 20A(3) = 30 30

• Matrizes ���� conjunto multidimensional

Exemplo ���� B(2,2) ���� matriz B com 4 elementos

B(1,1) = 10 B(1,2) = 30B(2,1) = 20 B(2,2) = 40

ALGORITMO I

Auxiliadora Freire Slide 5

B(2,1) = 20 B(2,2) = 40

B= 10 3020 40

• Declaração dos VETORES / MATRIZES

ALGORITMO I

//declaração de variáveis

Auxiliadora Freire Slide 6

quadr : matriz[4][4] de realNotas : matriz[100] de inteirosNome: matriz[4] de caractere

ALGORITMO I

Criar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7

Passos:• Ler 10 notas

Auxiliadora Freire Slide 7

• Ler 10 notas• Verifique se a nota < 7 • Imprimir as notas

ALGORITMO ICriar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota < 7

ALGORITMO LING. C

VAR

Auxiliadora Freire Slide 8

VAR

i, nota [10]: INTEIRO

PARA ( i=1 até 10 ) FAÇA

ESCREVA “Nota “, i

LEIA nota [ i ]

FIM_PARA

ALGORITMO ICriar 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 )

Auxiliadora Freire Slide 9

SE ( nota [ i ] < 7 )

ESCREVA (“Aluno “, i , “ esta reprovado”)

FIM_PARA

....... ......

• 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”.

ALGORITMO I

Auxiliadora Freire Slide 10

• Passos:

• Ler nome• Ler três notas• Calcular media• Imprimir media

Algoritmo Ling. C

VAR

N1[4],n2[4],n3[4],media[4]: real

i: inteiro

Nome[4]: caractere

PARA (I=1 até 4) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 11

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.

FIM_PARA

Algoritmo ( cont) Ling. C( cont.)PARA (I=1,4) FAÇA

SE (media[i] >= 6) ENTAO

ESCREVA nome[i], media[i],“aluno aprovado"

ALGORITMO I

Auxiliadora Freire Slide 12

“aluno aprovado"SENAO

ESCREVA nome[i], media[i], "aluno reprovado“

FIM-SE

FIM_PARA

FIM

• Exemplo – Leia um vetor com 10 elemento e escreva em ordem numérica.

• Passos:

• Ler 10 números aleatórios em um vetor

ALGORITMO I

Auxiliadora Freire Slide 13

• Ler 10 números aleatórios em um vetor• Ordenar o vetor• Imprimir o vetor ordenado

Algoritmo Ling. C// PARTE 1 – LEITURA DO VETOR

VAR

vetor [10],i,j,aux : inteiro

PARA (I=1 até 10) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 14

PARA (I=1 até 10) FAÇA

ESCREVER “Entre com o número”

LEIA vetor[i]

FIM_PARA

Algoritmo Ling. C

// PARTE 2 – ORDENAR O VETOR

PARA (i=1 até 10) FAÇA

PARA (j=i até 10) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 15

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 FIM_PARA

FIM_PARA

Algoritmo Ling. C// PARTE 3 – ESCREVER O VETOR

ORDENADO

PARA (i=1 até 10) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 16

PARA (i=1 até 10) FAÇA

ESCREVER vetor[i]

FIM_PARA

......

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;

Exercício de fixação - Utilizando MATRIZES Faça os algoritmos

Auxiliadora Freire Slide 17

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.

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.

Exercício de fixação - Utilizando MATRIZES Faça os algoritmos

Auxiliadora Freire Slide 18

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))

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

Exercício de fixação - Utilizando MATRIZES Faça os algoritmos

Auxiliadora Freire Slide 19

LINGUAGEM CMATRIZES - Declaração

Matriz é uma estrutura de dados de tamanho finito e precisa ser definido em sua declaração.

ALGORITMO

//declaração de variáveis

LINGUAGEM C

//declaração de variáveis

Auxiliadora Freire Slide 20

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.

EXERCÍCIOS – LING CCriar um algoritmo que leia um vetor de tamanho 10 e após a leitura imprima reprovado, se nota <

7

ALGORITMO LING. C

VAR

Auxiliadora Freire Slide 21

VAR

i, nota [10]: INTEIRO int i,nota[10];

PARA ( i=1 até 10 ) FAÇA

ESCREVA “Nota “, i

LEIA nota [ i ] scanf (%d, &nota[i]);

FIM_PARA

ALGORITMO ICriar 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 )

Auxiliadora Freire Slide 22

SE ( nota [ i ] < 7 ) if ( nota [ i ] < 7 )

ESCREVA (“Aluno “, i , “ esta reprovado”)

FIM_PARA

....... ......

• 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”.

ALGORITMO I

Auxiliadora Freire Slide 23

• Passos:

• Ler nome• Ler três notas• Calcular media• Imprimir media

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];

ALGORITMO I

Auxiliadora Freire Slide 24

PARA (I=1 até 4) FAÇA for ( i=1,i<=4;i++) {

ESCREVER “Entre com o nome” ...

LEIA nome[i] scanf (“%s”,&nome[i]);

ESCREVA ,"entre com as notas: n1,n2,n3"

...

LEIA n1[i],n2[i],n3[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.

FIM_PARA }

Algoritmo ( cont) Ling. C( cont.)

PARA (I=1,4) FAÇA

SE (media[i] >= 6) ENTAO IF(media[i] >= 6)

ESCREVA nome[i], media[i],“aluno aprovado"

printf(“%s %f aluno aprovado"nome[i], media[i]);

SENAO

ALGORITMO I

Auxiliadora Freire Slide 25

SENAO

ESCREVA nome[i], media[i], "aluno reprovado“

printf(“%s %f aluno reprovado"nome[i], media[i]);

FIM-SE

FIM_PARA

FIM

• Exemplo – Leia um vetor com 10 elemento e escreva em ordem numérica.

• Passos:

• Ler 10 números aleatórios em um vetor

ALGORITMO I

Auxiliadora Freire Slide 26

• Ler 10 números aleatórios em um vetor• Ordenar o vetor• Imprimir o vetor ordenado

Algoritmo Ling. C// PARTE 1 – LEITURA DO VETOR

VAR

vetor [10],i,j,aux : inteiro int vetor [10],i,j,aux;

PARA (I=1 até 10) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 27

PARA (I=1 até 10) FAÇA

ESCREVER “Entre com o número”

LEIA vetor[i] scanf (“%d”,&vetor[i]);

FIM_PARA

Algoritmo Ling. C// PARTE 2 – ORDENAR O VETOR

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++) {

ALGORITMO I

Auxiliadora Freire Slide 28

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 }FIM_PARA }

FIM_PARA }

Algoritmo Ling. C// PARTE 3 – ESCREVER O VETOR ORDENADO

PARA (i=1 até 10) FAÇA

ALGORITMO I

Auxiliadora Freire Slide 29

ESCREVER vetor[i] printf (“%d”, vetor[i]);

FIM_PARA

......