ALGORITMO I
VARIÁVEIS INDEXADAS
Array
Auxiliadora Freire
Slide 1
ALGORITMO I
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
ALGORITMO I
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
ALGORITMO I
CONJUNTOS E VARIÁVEIS INDEXADAS
•
•
Nome
associado ao conjunto
Cada elemento do conjunto é referenciado pelo índice
• Vetores
• Exemplo
unidimensional de variáveis
A(3)
A(1) = 10
A(2) = 20
A(3) = 30
Auxiliadora Freire
vetor A com 3 elementos
ou A =
10
20
30
Slide 4
ALGORITMO I
• Matrizes
Exemplo
conjunto multidimensional
B(2,2)
matriz B com 4 elementos
B(1,1) = 10
B(2,1) = 20
B(1,2) = 30
B(2,2) = 40
B= 10 30
20 40
Auxiliadora Freire
Slide 5
ALGORITMO I
• 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
ALGORITMO I
Criar um algoritmo que leia um vetor de tamanho 10 e
após a leitura imprima reprovado, se nota < 7
Passos:
Auxiliadora Freire
•
•
•
Ler 10 notas
Verifique se a nota < 7
Imprimir as notas
Slide 7
ALGORITMO I
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 ]
FIM_PARA
Auxiliadora Freire
Slide 8
ALGORITMO I
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”)
FIM_PARA
.......
Auxiliadora Freire
......
Slide 9
ALGORITMO I
• 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:
•
•
•
•
Auxiliadora Freire
Ler nome
Ler três notas
Calcular media
Imprimir media
Slide 10
ALGORITMO I
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
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
Auxiliadora Freire
Slide 11
ALGORITMO I
Algoritmo ( cont)
Ling. C( cont.)
PARA (I=1,4) FAÇA
SE (media[i] >= 6) ENTAO
ESCREVA nome[i], media[i],
“aluno aprovado"
SENAO
ESCREVA nome[i], media[i],
"aluno reprovado“
FIM-SE
FIM_PARA
FIM
Auxiliadora Freire
Slide 12
ALGORITMO I
• 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 I
Algoritmo
Ling. C
// PARTE 1 – LEITURA DO VETOR
VAR
vetor [10],i,j,aux : inteiro
PARA (I=1 até 10) FAÇA
ESCREVER “Entre com o número”
LEIA vetor[i]
FIM_PARA
Auxiliadora Freire
Slide 14
ALGORITMO I
Algoritmo
Ling. C
// PARTE 2 – ORDENAR O VETOR
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
FIM_PARA
Auxiliadora Freire
FIM_PARA
Slide 15
ALGORITMO I
Algoritmo
Ling. C
// PARTE 3 – ESCREVER O VETOR
ORDENADO
PARA (i=1 até 10) FAÇA
ESCREVER vetor[i]
FIM_PARA
......
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
Auxiliadora Freire
vetor com 4 elementos com até 20 caractere.
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, &nota[i]);
FIM_PARA
Auxiliadora Freire
Slide 21
ALGORITMO I
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”)
FIM_PARA
.......
Auxiliadora Freire
......
Slide 22
ALGORITMO I
• 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:
•
•
•
•
Auxiliadora Freire
Ler nome
Ler três notas
Calcular media
Imprimir media
Slide 23
ALGORITMO I
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]
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
Auxiliadora Freire
}
Slide 24
ALGORITMO I
Algoritmo ( cont)
Ling. C( cont.)
PARA (I=1,4) FAÇA
SE (media[i] >= 6) ENTAO
ESCREVA nome[i], media[i],
“aluno aprovado"
IF(media[i] >= 6)
printf(“%s %f aluno aprovado"
nome[i], media[i]);
SENAO
ESCREVA nome[i], media[i],
"aluno reprovado“
printf(“%s %f aluno reprovado"
nome[i], media[i]);
FIM-SE
FIM_PARA
FIM
Auxiliadora Freire
Slide 25
ALGORITMO I
• 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 I
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
ESCREVER “Entre com o número”
LEIA vetor[i]
scanf (“%d”,&vetor[i]);
FIM_PARA
Auxiliadora Freire
Slide 27
ALGORITMO I
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++) {
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
Auxiliadora Freire
}
}
Slide 28
ALGORITMO I
Algoritmo
Ling. C
// PARTE 3 – ESCREVER O
VETOR ORDENADO
PARA (i=1 até 10) FAÇA
ESCREVER vetor[i]
printf (“%d”, vetor[i]);
FIM_PARA
......
Auxiliadora Freire
Slide 29
Download

ALGORITMO I - DEINF/UFMA