Algoritmos e 
Programação 
Prof. Marcos Saúde 
marcosr@pitagoras.com.br
Vetores 
 Os tipos estruturados permitem a criação de 
conjuntos; 
 VETOR 
 <identificador>: VETOR[faixas] DE tipo; 
 ...
Vetores 
 Para tentarmos simplificar a definição de vetor podemos 
imaginar a seguinte situação: 
 Temos que armazenar d...
Vetores 
 A referência a um dos elementos de um vetor é feita, de acordo 
com o deslocamento de endereço, partindo do pri...
Vetores 
 Declarações 
VAR Vet: ARRAY[1..8] OF INTEGER; 
 Leitura: 
For i := 1 to 8 do 
Begin 
Readln(Vet[i]); {ler o el...
Vetores 
 A faixa de um vetor pode ser de 
qualquer tipo ordinal (Integer, LongInt, 
Byte, Word, Boolean e Char); 
 Pode...
Vetores – Estruturas de Dados Homogêneos 
 1) Escreva um algoritmo que permita a leitura dos nomes de 10 pessoas e 
armaz...
Vetores – Estruturas de Dados Homogêneos 
 6) Faça um algoritmo para ler e armazenar em um vetor a temperatura média 
de ...
Matrizes 
 Os índices de linha e coluna de uma 
matriz começam com o número 1 (no 
Pascal). Logo, o primeiro elemento é 
...
Matrizes 
 Declarações 
VAR Mat : ARRAY[1..8,1..8] OF INTEGER; 
 Leitura: 
For linha := 1 to 8 do 
Begin 
For coluna := ...
Exercícios 
 11) Crie um módulo que informa qual o menor número de uma matriz 
20x40 de números inteiros (fica a cargo do...
Próximos SlideShares
Carregando em…5
×

Algop - aula 08

1.350 visualizações

Publicada em

Material de apoio para Algoritmos e Programação da Faculdade Pitágoras em Linhares – 2010

Publicada em: Engenharia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.350
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algop - aula 08

  1. 1. Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br
  2. 2. Vetores  Os tipos estruturados permitem a criação de conjuntos;  VETOR  <identificador>: VETOR[faixas] DE tipo;  As definições da faixa são obrigatórias;  A palavra ARRAY define a construção de vetores e a definição de matrizes, talvez seja uma das estruturas de dados mais conhecidas pois é utilizada em diversas linguagens de programação;
  3. 3. Vetores  Para tentarmos simplificar a definição de vetor podemos imaginar a seguinte situação:  Temos que armazenar dados de uma empresa por meses, e para isto poderíamos ter 12 variáveis diferentes que poderiam, por sua vez, estar em locais diferentes da memória.  VAR mes01, mes02, mes03, mes04, mes05, mes06, mes07, mes08, mes09, mes10, mes11, mes12 : REAL;  Ou ainda estar em uma área contínua, permitindo um acesso um pouco mais facilitado, aliás a grande vantagem de se ter um vetor está justamente no fato de se poder criar algoritmos que facilitam a lógica de alguns programas:  meses : VETOR[1..12] DE REAL; // em Linguagem Algorítmica  VAR meses : ARRAY [1..12] OF REAL; // em Pascal
  4. 4. Vetores  A referência a um dos elementos de um vetor é feita, de acordo com o deslocamento de endereço, partindo do primeiro elemento, mais o tamanho em bytes de cada elemento, multiplicado pela posição menos 1. Se no vetor meses declarado no slide anterior, quisermos nos referir ao mês de maio, basta que coloquemos o valor 5 com índice:  meses[5] := <expressão>;  Quando utilizamos o índice, o próprio compilador da linguagem se encarrega de fazer o cálculo do endereço de memória de acordo com o índice:  meses[ind] está na posição de memória = meses + (ind - 1)*tamanho do tipo
  5. 5. Vetores  Declarações VAR Vet: ARRAY[1..8] OF INTEGER;  Leitura: For i := 1 to 8 do Begin Readln(Vet[i]); {ler o elemento índice i do vetor} End;  Escrita: For i := 1 to 8 do Begin Writeln(Vet[i]); {mostrar o elemento índice i do vetor} End;
  6. 6. Vetores  A faixa de um vetor pode ser de qualquer tipo ordinal (Integer, LongInt, Byte, Word, Boolean e Char);  Pode ter também mais de uma dimensão. No caso de duas dimensões teremos uma MATRIZ;
  7. 7. Vetores – Estruturas de Dados Homogêneos  1) Escreva um algoritmo que permita a leitura dos nomes de 10 pessoas e armaze os nomes lidos em um vetor. Após isto, o algoritmo deve permitir a leitura de mais 1 nome qualquer de pessoa e depois escrever a mensagem ACHEI, se o nome estiver entre os 10 nomes lidos anteriormente (guardados no vetor), ou NÃO ACHEI caso contrário;  2) Ler um vetor Q de 20 posições (aceitar somente números positivos). Escrever a seguir o valor do maior elemento de Q e a respectiva posição que ele ocupa no vetor;  3) O mesmo exercício anterior, mas agora deve escrever o menor elemento do vetor e a respectiva posição dele nesse vetor;  4) Ler um vetor A de 10 números. Após, ler mais um número e guardar em uma variável X. Armazenar em um vetor M o resultado de cada elemento de A multiplicado pelo valor X. Logo após, imprimir o vetor M;  5) Faça um algoritmo para ler 20 números e armazenar em um vetor. Após a leitura total dos 20 números, o algoritmo deve escrever esses 20 números lidos na ordem inversa;
  8. 8. Vetores – Estruturas de Dados Homogêneos  6) Faça um algoritmo para ler e armazenar em um vetor a temperatura média de todos os meses do ano. Calcular e escrever:  a) Mês de Menor temperatura do ano  b) Mês de Maior temperatura do ano  c) Temperatura média anual  7) Faça um programa que leia dez nomes, armazene-os em um vetor, transforme-os em letras maiúsculas, ordene-os e mostre o resultado na tela (dica: declarar um vetor auxiliar que conterá os nomes em ordem crescente);  8) Faça um algoritmo para ler dois vetores V1 e V2 de 15 números cada. Calcular e escrever a quantidade de vezes que V1 e V2 possuem os mesmos números e nas mesmas posições;  9) Faça um algoritmo para ler um vetor de 30 números. Após isto, ler mais um número qualquer, calcular e escrever quantas vezes esse número aparece no vetor;  10) Faça um algoritmo para ler 10 números e armazenar em um vetor. Após isto, o algoritmo deve ordenar os números no vetor em ordem crescente. Escrever o vetor ordenado;
  9. 9. Matrizes  Os índices de linha e coluna de uma matriz começam com o número 1 (no Pascal). Logo, o primeiro elemento é mat[1,1];
  10. 10. Matrizes  Declarações VAR Mat : ARRAY[1..8,1..8] OF INTEGER;  Leitura: For linha := 1 to 8 do Begin For coluna := 1 to 8 do Begin Readln(Mat[linha,coluna]); {ler o elemento linha e coluna da matriz} End; End;  Escrita: For linha := 1 to 8 do Begin For coluna := 1 to 8 do Begin Writeln(Mat[linha,coluna]); {mostrar o elemento linha e coluna da matriz} End; End;
  11. 11. Exercícios  11) Crie um módulo que informa qual o menor número de uma matriz 20x40 de números inteiros (fica a cargo do programa carregar esta matriz com números inteiros);  12) Uma matriz de caracteres 3x3 foi utilizada para armazenar uma partida de jogo da velha. Os caracteres ‘O’ e ‘X’ foram utilizados para armazenarem a jogada de cada participante. Informe na tela se o vencedor foi o jogador ‘O’, o jogador ‘X’ ou se o resultado foi empate.  IMPORTANTE: não serão informadas partidas com dois vencedores, apenas partidas válidas e todas as 9 casas estarão preenchidas com ‘O’ ou ‘X’;  13) Dado um vetor de 30 números inteiros sem nenhum número repetido e uma matriz 20x20, informe quantos números existentes no vetor também existem na matriz;  14) Dadas duas matrizes A (4x3) e B (3x4), faça um programa que calcule a matriz C (4x4), resultante da multiplicação entre as matrizes A e B. Pesquise e descubra como se faz multiplicação entre matrizes;

×