Você está na página 1de 29

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


ALGORITMO I
• 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


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:
• Ler 10 notas
• Verifique se a nota < 7
• Imprimir as notas

Auxiliadora Freire 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:

• Ler nome
• Ler três notas
• Calcular media
• Imprimir media
Auxiliadora Freire 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 Slide 15
FIM_PARA
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; float quadr [4][4] ;


Notas : matriz[100] de inteiros; int notas [100] ;
Nome : matriz[4][20] de caractere 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, &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:

• Ler nome
• Ler três notas
• Calcular media
• Imprimir media
Auxiliadora Freire 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 IF(media[i] >= 6)

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


“aluno aprovado" nome[i], media[i]);
SENAO

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


"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

Você também pode gostar