SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
INTRODUÇÃO A
LINGUAGEM PASCAL
Profº.: Tácito Henrique
tacito.graca@gmail.com
CEMA – Centro Educacional Miguel Alves
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
VETORES E MATRIZES
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são vetores?
• Um vetor (array em inglês) é uma coleção de variáveis de
um mesmo tipo;
• compartilham o mesmo nome e ocupam posições
consecutivas de memória;
• Cada variável da coleção denomina-se elemento e é
identificada por um índice;
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são vetores?
• Cada variável da coleção denomina-se elemento e é
identificada por um índice.
• Se v é um vetor indexado de 1 a n, seus elementos são v[1],
v[2], v[3], ..., v[n].
• Antes de criar um vetor é preciso declarar o seu tipo, ou seja,
especificar a quantidade e o tipo dos elementos que ele irá
conter.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são vetores?
• Isso é feito através do comando type;
type vetor = array[1..5] of integer;
var v : vetor;
• A primeira linha define um novo tipo de vetor,
denominado vetor, cujos elementos indexados de 1 a 5
são do tipo integer.
• A segunda linha declara uma variável, denominada v, do
tipo recém definido.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Sintaxe e declaração de Vetores
• Sintaxe:
<nome array>: array [dimensão] of <tipo>;
• Exemplo:
• Var
vet:array[1..6] of integer;
Begin
vet[2]:=90;
vet[4]:=45;
vet[5]:=30;
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Um pouco mais sobre vetores?
• Em geral, um vetor v pode ser indexado com qualquer
expressão cujo valor seja um número inteiro.
• Essa expressão pode ser uma simples constante, uma
variável ou então uma expressão propriamente dita,
contendo operadores aritméticos, constantes e variáveis.
• A manipulação de vetores é grandemente facilitada pelo
uso dos comandos de repetição, especialmente o for.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que NÃO podemos fazer com Vetores
• Não é possível:
• a) Não se pode ler todo um vetor diretamente com um comando read. Não se pode
escrever: read(v);
É necessário ler casa a casa, diretamente, ou com um laço de repetição como for no exemplo
acima.
• b) Não se pode escrever todos os elementos de um vetor com um único comando write.
Não é permitido escrever: write(v). Também nesse caso cada elemento deve ser tratado
como uma variável independente, por exemplo:
for i:= 1 to 6 do write(v[i]:3);
• c) Não é possível copiar os valores dos elementos de um vetor para outro com um único
comando de atribuição. Ou seja, dados dois vetores v e w, ambos do mesmo tamanho e do
mesmo tipo, não é permitido fazer: w:= v; . Também aqui é necessário trabalhar elemento a
elemento, e o comando for mais uma vez é indicado:
for i:= 1 to 6 do w[i]:= v[i];
• d) Não existe comandos ou funções que dão o tamanho (número de elementos) de um
vetor.
• e) Não é permitido tentar acessar uma posição fora do intervalo de posições definido para o
vetor. A tentativa causará um erro em tempo de execução e o programa abortará. No caso
do vetor v com 6 posições, por exemplo, não é permitido escrever: v[8]:= 20, read(v[8])
ou write (v[8]) porque a faixa de valores das posições vai de 1 a 6 apenas.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que PODEMOS fazer com Vetores
• O que é permitido:
• a) A faixa de valores das posições não precisa começar em 1. Qualquer intervalo
de valores pode ser usado na definição de um vetor. Por exemplo, podemos
definir um vetor assim:
var v:array[15..20] of real;
Nesse caso o vetor v terá apenas os elementos: v[15], v[16], v[17], v[18], v[19] e
v[20]
• b) As posições não precisam ser necessariamente números inteiros. Podem ser
qualquer tipo ordinal, ou seja, que possa ser definido por uma seqüência
ordenada de valores. Por exemplo, os caracteres em Pascal formam uma
seqüência ordenada na tabela de caracteres, e podem portanto serem
marcadores de posição em um vetor.
Podemos definir um vetor assim:
var letras: array['a'..'z'] of integer;
Nesse caso os elementos do vetor são: letras['a'], letras['b'], ….., letras['z']
Um uso possível para esse vetor poderia ser que cada posição poderia guardar a
quantidade de vezes que a letra dessa posição aparece em uma determinada
frase.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Exercícios Resolvidos
Exercício 1
• Crie um programa que armazene em vetor 5 números e depois exiba o conteúdo
de cada posição;
Program Pzim ;
type vetor = array[1..5] of integer;
var
v : vetor;
i : integer;
Begin
v[1] := 10;
v[2] := 20;
v[3] := 30;
v[4] := 40;
v[5] := 50;
for i:=1 to 5 do
writeln('Posição do Vetor (',i,'): ',v[i]);
End.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são Matrizes?
• Os elementos de um vetor guardam uma relação de posicionamento
entre si apenas em uma dimensão.
• Essas variáveis estão dispostas como que em uma linha, e cada
elemento é identificado pela sua posição relativa na linha:
• Quando há mais de uma dimensão, damos o nome de matriz a esse
arranjo de variáveis.
• O caso mais comum é a matriz de 2 dimensões. Os elementos ficam
dispostos em um plano, composto por várias linhas do mesmo tamanho,
como abaixo:
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são Matrizes?
• Na matriz de inteiros anterior, existem 3 linhas, cada linha com
4 colunas, ou 3x4 (três por quatro). Essa matriz pode ser
declarada assim:
var mat: array[1..3, 1..4] of integer;
• Após o nome da matriz, são colocados entre colchetes os
intervalos em que ficam os números das linhas, e os números
das colunas, nessa ordem.
Note que também aqui os elementos da matriz devem ser todos
do mesmo tipo.
• Cada elemento da matriz é identificado pela notação: mat[i,j],
onde i é o número da linha, e j o número da coluna, onde se
encontra o elemento. Na figura acima, temos então que
mat[1,1] tem o valor 40.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que são Matrizes?
O comando for... do é muito usado para processar os valores de matrizes.
Exemplos:
a) Para zerar todos os elementos de uma matriz m, com 3 linhas e 4 colunas, declarada como:
var
m: array[1..3, 1..4] of integer;
basta fazer:
for i:= 1 to 3 do
for j:= 1 to 4 do m[i,j] := 0;
Nota: é usual usar-se a variável i para representar as linhas de uma matriz, a variável j para
representar as colunas.
b) Para ler do teclado valores para preencher a matriz acima (12 valores):
for i:= 1 to 3 do
for j:= 1 to 4 do read(m[i,j] );
Nota: O usuário poderá digitar todos os 12 números em uma só linha (separados por
espaços), ou um número por linha, ou, melhor, 4 números por linha, de forma a visualizar
melhor a matriz.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Sintaxe e Declaração de Matrizes
• Sintaxe: <nome array>: array [dimensões] of <tipo>;
• Declaração:
• Var
mat:array[1..5,1..3] of integer; {matriz 5x3}
Begin
mat[1,2]:=10;
mat[3,1]:=11;
mat[5,3]:=12;
mat[2,2]:=78;
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Exercícios de Fixação
• 1) Fazer um programa que tem dois vetores do mesmo tamanho (6). O
usuário fornecerá os dados do primeiro, e depois deverá ser armazenado e
exibido o valor do segundo vetor que é o valor do primeiro vetor vezes a
posição do elemento. Por exemplo:
• vet1:
• 80 / 28 / 35 / 44 / 35 / 16
vet2:
• 80x1 / 28x2 / 35x3 / 44x4 / 35x5 / 16x6
• 2) Leia 4 números, coloque-os em um vetor e mostre-os na ordem inversa de
sua leitura.
• 3) Fazer um programa que lê 16 valores e armazene numa matriz. O
programa deve mostrar esses números em ordem, levando primeiro em
consideração a coluna e depois a linha. Logo, deve-se mostrar primeiro toda
a primeira coluna e depois a segunda coluna. O programa não deve exibir os
números que estão na diagonal principal da matriz.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
DESAFIOS 1,0 ponto
• DESAFIO I: Leia 20 números, deposite-os em um vetor e
mostre os números pares lidos, e após, os números que
estão nas posições pares.
• DESAFIO II: Faça um programa que execute a leitura de
números inteiros para completar uma matriz qualquer,
sendo que o número de linhas e o número de colunas da
mesma, serão parâmetros por valor, enquanto que a
matriz será um parâmetro por referência.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal

Mais conteúdo relacionado

Mais procurados

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Vetores e Matrizes
Vetores e MatrizesVetores e Matrizes
Vetores e Matrizesprofjr
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaExercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente EncadeadasLeinylson Fontinele
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Phpsofteam
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Estudo das funções do tipo y=1/x
Estudo das funções do tipo y=1/xEstudo das funções do tipo y=1/x
Estudo das funções do tipo y=1/xPedro Teixeira
 

Mais procurados (20)

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Vetores e Matrizes
Vetores e MatrizesVetores e Matrizes
Vetores e Matrizes
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com JavaExercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
Exercicios Pilhas (Stacks) - Estruturas de dados e algoritmos com Java
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Conjuntos numéricos
Conjuntos numéricosConjuntos numéricos
Conjuntos numéricos
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Correlação Estatística
Correlação EstatísticaCorrelação Estatística
Correlação Estatística
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Visualg
VisualgVisualg
Visualg
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Estudo das funções do tipo y=1/x
Estudo das funções do tipo y=1/xEstudo das funções do tipo y=1/x
Estudo das funções do tipo y=1/x
 

Destaque (20)

Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Pascal Registros
Pascal RegistrosPascal Registros
Pascal Registros
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2Vetores, Matrizes e Strings em C Parte 2
Vetores, Matrizes e Strings em C Parte 2
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Condicional 02 Pascal Exercicio
Condicional 02 Pascal ExercicioCondicional 02 Pascal Exercicio
Condicional 02 Pascal Exercicio
 
Aula vetores e matrizes (arrays)
Aula vetores e matrizes (arrays)Aula vetores e matrizes (arrays)
Aula vetores e matrizes (arrays)
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13
 
Logica
LogicaLogica
Logica
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Ordenação
OrdenaçãoOrdenação
Ordenação
 
Sugestões de 71 jogos
Sugestões de 71 jogosSugestões de 71 jogos
Sugestões de 71 jogos
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
aula 08 - Logica de Programacao
aula 08 - Logica de Programacaoaula 08 - Logica de Programacao
aula 08 - Logica de Programacao
 
Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1
 

Semelhante a Aula 06 vetores e matrizes

Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxOsvano Silva
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlex Camargo
 
Alg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfAlg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfSilvano Oliveira
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1Thalles Anderson
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - VetorWesley R. Bezerra
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em JavaDaniel Brandão
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
Estruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEstruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEverson Wolf
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programaçãoKamila Joyce
 

Semelhante a Aula 06 vetores e matrizes (20)

Aula 5 aed - vetores
Aula 5   aed - vetoresAula 5   aed - vetores
Aula 5 aed - vetores
 
Vetores e Matrizes.pdf
Vetores e Matrizes.pdfVetores e Matrizes.pdf
Vetores e Matrizes.pdf
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Aula 13
Aula 13Aula 13
Aula 13
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Alg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfAlg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdf
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Aula 2 | Vetores
Aula 2 | VetoresAula 2 | Vetores
Aula 2 | Vetores
 
Ipccea cap iv
Ipccea cap ivIpccea cap iv
Ipccea cap iv
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
8. matrizes
8. matrizes8. matrizes
8. matrizes
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
Estruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programaçãoEstruturas de dados e técnicas de programação
Estruturas de dados e técnicas de programação
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programação
 

Aula 06 vetores e matrizes

  • 1. INTRODUÇÃO A LINGUAGEM PASCAL Profº.: Tácito Henrique tacito.graca@gmail.com CEMA – Centro Educacional Miguel Alves Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 2. VETORES E MATRIZES Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 3. O que são vetores? • Um vetor (array em inglês) é uma coleção de variáveis de um mesmo tipo; • compartilham o mesmo nome e ocupam posições consecutivas de memória; • Cada variável da coleção denomina-se elemento e é identificada por um índice; Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 4. O que são vetores? • Cada variável da coleção denomina-se elemento e é identificada por um índice. • Se v é um vetor indexado de 1 a n, seus elementos são v[1], v[2], v[3], ..., v[n]. • Antes de criar um vetor é preciso declarar o seu tipo, ou seja, especificar a quantidade e o tipo dos elementos que ele irá conter. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 5. O que são vetores? • Isso é feito através do comando type; type vetor = array[1..5] of integer; var v : vetor; • A primeira linha define um novo tipo de vetor, denominado vetor, cujos elementos indexados de 1 a 5 são do tipo integer. • A segunda linha declara uma variável, denominada v, do tipo recém definido. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 6. Sintaxe e declaração de Vetores • Sintaxe: <nome array>: array [dimensão] of <tipo>; • Exemplo: • Var vet:array[1..6] of integer; Begin vet[2]:=90; vet[4]:=45; vet[5]:=30; end. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 7. Um pouco mais sobre vetores? • Em geral, um vetor v pode ser indexado com qualquer expressão cujo valor seja um número inteiro. • Essa expressão pode ser uma simples constante, uma variável ou então uma expressão propriamente dita, contendo operadores aritméticos, constantes e variáveis. • A manipulação de vetores é grandemente facilitada pelo uso dos comandos de repetição, especialmente o for. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 8. O que NÃO podemos fazer com Vetores • Não é possível: • a) Não se pode ler todo um vetor diretamente com um comando read. Não se pode escrever: read(v); É necessário ler casa a casa, diretamente, ou com um laço de repetição como for no exemplo acima. • b) Não se pode escrever todos os elementos de um vetor com um único comando write. Não é permitido escrever: write(v). Também nesse caso cada elemento deve ser tratado como uma variável independente, por exemplo: for i:= 1 to 6 do write(v[i]:3); • c) Não é possível copiar os valores dos elementos de um vetor para outro com um único comando de atribuição. Ou seja, dados dois vetores v e w, ambos do mesmo tamanho e do mesmo tipo, não é permitido fazer: w:= v; . Também aqui é necessário trabalhar elemento a elemento, e o comando for mais uma vez é indicado: for i:= 1 to 6 do w[i]:= v[i]; • d) Não existe comandos ou funções que dão o tamanho (número de elementos) de um vetor. • e) Não é permitido tentar acessar uma posição fora do intervalo de posições definido para o vetor. A tentativa causará um erro em tempo de execução e o programa abortará. No caso do vetor v com 6 posições, por exemplo, não é permitido escrever: v[8]:= 20, read(v[8]) ou write (v[8]) porque a faixa de valores das posições vai de 1 a 6 apenas. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 9. O que PODEMOS fazer com Vetores • O que é permitido: • a) A faixa de valores das posições não precisa começar em 1. Qualquer intervalo de valores pode ser usado na definição de um vetor. Por exemplo, podemos definir um vetor assim: var v:array[15..20] of real; Nesse caso o vetor v terá apenas os elementos: v[15], v[16], v[17], v[18], v[19] e v[20] • b) As posições não precisam ser necessariamente números inteiros. Podem ser qualquer tipo ordinal, ou seja, que possa ser definido por uma seqüência ordenada de valores. Por exemplo, os caracteres em Pascal formam uma seqüência ordenada na tabela de caracteres, e podem portanto serem marcadores de posição em um vetor. Podemos definir um vetor assim: var letras: array['a'..'z'] of integer; Nesse caso os elementos do vetor são: letras['a'], letras['b'], ….., letras['z'] Um uso possível para esse vetor poderia ser que cada posição poderia guardar a quantidade de vezes que a letra dessa posição aparece em uma determinada frase. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 10. Exercícios Resolvidos Exercício 1 • Crie um programa que armazene em vetor 5 números e depois exiba o conteúdo de cada posição; Program Pzim ; type vetor = array[1..5] of integer; var v : vetor; i : integer; Begin v[1] := 10; v[2] := 20; v[3] := 30; v[4] := 40; v[5] := 50; for i:=1 to 5 do writeln('Posição do Vetor (',i,'): ',v[i]); End. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 11. O que são Matrizes? • Os elementos de um vetor guardam uma relação de posicionamento entre si apenas em uma dimensão. • Essas variáveis estão dispostas como que em uma linha, e cada elemento é identificado pela sua posição relativa na linha: • Quando há mais de uma dimensão, damos o nome de matriz a esse arranjo de variáveis. • O caso mais comum é a matriz de 2 dimensões. Os elementos ficam dispostos em um plano, composto por várias linhas do mesmo tamanho, como abaixo: Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 12. O que são Matrizes? • Na matriz de inteiros anterior, existem 3 linhas, cada linha com 4 colunas, ou 3x4 (três por quatro). Essa matriz pode ser declarada assim: var mat: array[1..3, 1..4] of integer; • Após o nome da matriz, são colocados entre colchetes os intervalos em que ficam os números das linhas, e os números das colunas, nessa ordem. Note que também aqui os elementos da matriz devem ser todos do mesmo tipo. • Cada elemento da matriz é identificado pela notação: mat[i,j], onde i é o número da linha, e j o número da coluna, onde se encontra o elemento. Na figura acima, temos então que mat[1,1] tem o valor 40. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 13. O que são Matrizes? O comando for... do é muito usado para processar os valores de matrizes. Exemplos: a) Para zerar todos os elementos de uma matriz m, com 3 linhas e 4 colunas, declarada como: var m: array[1..3, 1..4] of integer; basta fazer: for i:= 1 to 3 do for j:= 1 to 4 do m[i,j] := 0; Nota: é usual usar-se a variável i para representar as linhas de uma matriz, a variável j para representar as colunas. b) Para ler do teclado valores para preencher a matriz acima (12 valores): for i:= 1 to 3 do for j:= 1 to 4 do read(m[i,j] ); Nota: O usuário poderá digitar todos os 12 números em uma só linha (separados por espaços), ou um número por linha, ou, melhor, 4 números por linha, de forma a visualizar melhor a matriz. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 14. Sintaxe e Declaração de Matrizes • Sintaxe: <nome array>: array [dimensões] of <tipo>; • Declaração: • Var mat:array[1..5,1..3] of integer; {matriz 5x3} Begin mat[1,2]:=10; mat[3,1]:=11; mat[5,3]:=12; mat[2,2]:=78; end. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 15. Exercícios de Fixação • 1) Fazer um programa que tem dois vetores do mesmo tamanho (6). O usuário fornecerá os dados do primeiro, e depois deverá ser armazenado e exibido o valor do segundo vetor que é o valor do primeiro vetor vezes a posição do elemento. Por exemplo: • vet1: • 80 / 28 / 35 / 44 / 35 / 16 vet2: • 80x1 / 28x2 / 35x3 / 44x4 / 35x5 / 16x6 • 2) Leia 4 números, coloque-os em um vetor e mostre-os na ordem inversa de sua leitura. • 3) Fazer um programa que lê 16 valores e armazene numa matriz. O programa deve mostrar esses números em ordem, levando primeiro em consideração a coluna e depois a linha. Logo, deve-se mostrar primeiro toda a primeira coluna e depois a segunda coluna. O programa não deve exibir os números que estão na diagonal principal da matriz. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  • 16. DESAFIOS 1,0 ponto • DESAFIO I: Leia 20 números, deposite-os em um vetor e mostre os números pares lidos, e após, os números que estão nas posições pares. • DESAFIO II: Faça um programa que execute a leitura de números inteiros para completar uma matriz qualquer, sendo que o número de linhas e o número de colunas da mesma, serão parâmetros por valor, enquanto que a matriz será um parâmetro por referência. Profº.: Tácito Henrique ::: Introdução a linguagem Pascal