Professor Mauricio Lederer
2014
Tabelas
(ou Vetores ou Matriz ou Arrays)
Suponha que num problema eu necessite armazenar até 5 números de telefone de um cliente. Eu
poderia criar 5 variáveis, por exemplo:
numeroTelefone1
numeroTelefone2
numeroTelefone3
numeroTelefone4
numeroTelefone5
Estas 5 variáveis teriam a mesma característica e iriam guardar o mesmo tipo de informação.
Para este caso, podemos criar uma Tabela com 5 elementos. Para isto basta criar uma única
variável numeroTelefone e assinalar que eu preciso de 5 elementos.
numeroTelefone[5]
Assim, quando eu preciso mover um conteúdo para uma das 5 variáveis, basta eu indicar para qual
elemento da tabela eu estou movendo, por exemplo:
numeroTelefone(1) = 33242424
Obs: Se eu criei a tabela dizendo que ela terá 5 posições e tentar mover ou verificar uma posição
fora da tabela, acarreta um erro no meu programa.
O número 1 entre parêntesis indica que eu estou movendo o número 33242424 para a posição 1 da
tabela. Seu nome é índice da tabela e ele pode ser uma variável.
Algoritmos e Lógica de Programação – Linguagem de Programação I
Página 1
Professor Mauricio Lederer
2014
Algoritmo TabelaExemplo1
var
numeroTelefone[5]: inteiro;
Início
ixTelefone = 1;
numeroTelefone(ixTelefone) = 33253464;
ixTelefone = ixTelefone + 1;
numeroTelefone(ixTelefone) = 33457765;
ixTelefone = ixTelefone + 1;
numeroTelefone(ixTelefone) = 35673342;
ixTelefone = ixTelefone + 1;
numeroTelefone(ixTelefone) = 35675632;
ixTelefone = ixTelefone + 1;
numeroTelefone(ixTelefone) = 33453542;
Para (ixTelefone = 1 ; ixTelefone > 5 ; ixTelefone = ixTelefone + 1)
Se numeroTelefone(ixTelefone) > 0
Escreva numeroTelefone(ixTelefone);
Fim-se;
Fim-para;
Fim
Algoritmos e Lógica de Programação – Linguagem de Programação I
Página 2
Professor Mauricio Lederer
2014
Exemplo 2:
Ler 100 números de um arquivo e apresentá-los na ordem inversa da leitura. No final dizer também
em que posição encontra-se o número 2313.
Algoritmo TabelaExemplo2
var
numero[100]: inteiro;
Início
ixNum = 1;
leia (numeroArquivo);
Faça enquanto não for fim de arquivo E ixNum <= 100
numero(ixNum) = numeroArquivo;
ixNum = ixNum + 1;
leia (numeroArquivo);
Fim-enquanto;
Para (ixNum = 100 ; ixNum > 0 ; ixNum = ixNum - 1)
escreva (numero(ixNum));
Se numero(ixNum) = 2313
posicao = ixNum;
Fim-se;
Fim-para;
Se posicao > 0
escreva (“A posição do número 2313 é “, posição);
Senão
escreva (“O número 2313 não estava no arquivo”);
Fim-se;
Fim
Algoritmos e Lógica de Programação – Linguagem de Programação I
Página 3
Professor Mauricio Lederer
2014
Exemplo 3:
Uma loja comercializa 5 tipos de mercadorias. A quantidade de mercadorias em estoque e o preço
de cada uma das 5 devem ser informadas pelo usuário através do teclado e armazenadas em duas
tabelas. Ao final de cada dia de trabalho, o comerciante informa a quantidade vendida de cada
mercadoria. Faça um algoritmo que:
Calcule e informe ao comerciante a situação do estoque de cada mercadoria;
Calcule e informe o faturamento do dia.
Algoritmo Faturamento
var
estoque[5]: inteiro;
preco[5]: real;
qtdeVendida[5]: inteiro;
faturamento: real;
Início
Para (i = 1 ; i > 5 ; i++)
escreva (“Informe o estoque inicial da mercadoria “, i);
leia (estoqueDigitado);
estoque(i) = estoqueDigitado;
escreva (“Informe o preco da mercadoria “, i);
leia (precoDigitado);
preco(i) = precoDigitado;
escreva (“Informe a Quantidade vendida da mercadoria “, i);
leia (qtdeVendidaDigitada);
qtdeVendida(i) = qtdeVendidaDigitada;
Fim-para
Para (i = 1 ; i > 5 ; i++)
estoque(i) = estoque(i) – qtdeVendida(i);
faturamento = faturamento + ( qtdeVendida(i) * preco(i) );
escreva (“O estoque atual do produto “, i , “é “, estoque(i));
Fim-para
escreva (“O faturamento do dia foi de “, faturamento);
Fim
Algoritmos e Lógica de Programação – Linguagem de Programação I
Página 4
Professor Mauricio Lederer
2014
Exercícios:
1. Faça um algoritmo que determine qual o maior elemento dentro de uma tabela com 1000 números.
2. Faça um algoritmo que determine qual o maior e o menor elemento dentro de uma tabela com 1000
números.
3. Faça um algoritmo que determine quantos números maiores que 1000 dentro de uma tabela com 10
números.
4. Faça um algoritmo que determine quantas vogais existem em uma tabela com 50 posições contendo
letras.
5. Faça um algoritmo que determine quantos dígitos numéricos existem em uma tabela com 50
posições contendo caracteres diversos.
6. Faça um algoritmo que receba três tabelas de 6 ocorrências cada uma. As duas primeiras conterão
números e a terceira será uma tabela de caracteres preenchida com as quatro operações aritméticas
básicas. O algoritmo efetuará as operações contidas na terceira tabela com a primeira tabela como
operador1 e a segunda tabela como operador2. O resultado deve ser armazenado em uma quarta tabela
e mostrado no final.
Exemplo:
Tabela 1:
10
5
7
11
3
45
Tabela 2:
1
5
4
15
1
5
Tabela 3:
‘+’
‘*’
‘-‘
‘-’
‘+’
‘/’
Resultado:
11
25
3
-4
4
9
7. Faça um algoritmo que leia um arquivo contendo o Número e Nome das Agências de um banco e
carregue em uma tabela, colocando o nome da agência na posição correspondente ao seu número
(supor, no máximo 2000 agências). Em seguida leu um segundo arquivo contendo o número da
Agência e a quantidade de funcionários da agência e imprimir um relatório com o Nome da agência e
esta quantidade de funcionários.
Algoritmos e Lógica de Programação – Linguagem de Programação I
Página 5
Download

Aula - Mauricio