SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Algoritmos e Linguagem
de Programação
Professor: Mauro Jansen

Parte 4 – Vetores, matrizes e registros

03/11/2010
Introdução
As variáveis que estudamos até o
momento guardavam apenas um único
valor
Existe um recurso que nos permite guardar
e acessar um conjunto de dados agrupados
na memória do computador:
As ESTRUTURAS DE DADOS

Isso nos permite, por exemplo, guardar a
nota dos alunos de uma turma usando
apenas uma variável
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

2
Estruturas de dados
As estruturas de dados são formas
agrupar dados na memória do
computador, usando variáveis ou
outros recursos de armazenamento
Tipos de estruturas de dados:
Homogêneas: guardam dados do
mesmo tipo. Ex: vetores e matrizes
Heterogêneas: guardar dados de tipos
diferentes. Ex: registros
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

3
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

4
Conceito de vetor
Um vetor, também conhecido como variável homogênea
unidimensional, é um conjunto de variáveis do mesmo
tipo, que possuem o mesmo identificador e são alocadas
sequencialmente na memória.

Podemos entender um vetor como uma variável dividida
em vários pedaços, onde cada pedaço é identificado
através de um número, chamado de índice.
O índice representa a posição que um dado ocupa no
vetor.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

5
Estrutura de um vetor
Podemos Imaginar que na memória do computador um
vetor seja mais ou menos da seguinte forma.
Nome do Vetor

Índices (Posições)

1
Nomes

Conteúdo
(Elementos)

2

3

4

João

Maria

Carlos

5

6

José

•Perceba que cada posição do vetor corresponde a uma
variável simples.
•Para representar o elemento 3, escrevemos Nomes [3].
•O valor de Nomes[2] é “Maria”

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

6
Declaração de vetores
Para declarar um vetor procedemos como
indicado a seguir:
NomeDoVetor[1..<tamanho>]: TipoDeDado
Exemplos:
Notas[1..10]: Real
(vetor chamado Notas com 10 posições para guardar
números reais)

Codigo[1..12]: Inteiro
(vetor chamado Codigo com 12 posições para guardar
números inteiros)

Nomes[1..10]: String
(vetor chamado nomes com 10 posições para guardar
strings)

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

7
Usando vetores
Para usar um vetor (armazenar dados ou
ler dados do mesmo), devemos especificar
o nome do vetor e o índice entre colchetes
Exemplo 1 (armazenando):
Nomes[1]

“João”

Guarda a string “João” na posição 1 do vetor nomes

Exemplo 2 (lendo):
Escreva(Nomes[1])
Mostra o conteúdo da posição 1 do vetor nomes

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

8
Usando vetores
O número do índice pode ser indicado por
uma variável ou expressão
A posição a ser acessada depende do valor da
variável ou expressão

Exemplos:
X
4
Escreva(Nomes[x])
Escreva(Nomes[x/2])

Prof. Mauro

{mostra posição 4}
{mostra posição 2}

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

9
Usando vetores
Podemos usar um vetor diretamente num
comando Leia:
X
5
Leia(Nomes[x-1])
No exemplo acima, o valor será lido do teclado
e guardado na posição 4 do vetor Nomes

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

10
Algoritmo para preencher um vetor
Para preencher um vetor inteiro, devemos usar uma
estrutura de repetição, pois o vetor tem várias posições e
temos que preencher uma a uma
Exemplo:
Algoritmo “Preenche Vetor”
Variaveis
numeros[1..4], i: inteiro
Inicio
Para i de 1 até 4 faca
Escreva(“Digite um valor: “)
Leia(numeros[i])
FimPara
Fim

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

Declaração do vetor com 4
posições
A variável i fará o controle da
repetição, e assumirá todos os
valores possíveis para o
índice do vetor.

11
Algoritmo para listar um vetor
Para listar ou “percorrer” todos os elementos de um
vetor, usamos também uma estrutura de repetição,
similar ao usado no preenchimento:
Algoritmo “Lista Vetor”
Variaveis
numeros[1..4], i: inteiro
Inicio
Para i de 1 até 4 faca
Escreva(numeros[i])
FimPara
Fim

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

12
Exemplos com vetores
Um algoritmo que preenche um vetor com 8 números inteiros,
calcula e mostra quantos elementos do vetor são números pares
Algoritmo "ContaPares"
var
vet: vetor[1..8] de inteiro
i, pares: Inteiro
Inicio
Para i de 1 ate 8 faca
Escreva("Digite um valor: ")
Leia(vet[i])
FimPara
pares <- 0
Para i de 1 ate 8 faca
Se vet[i] mod 2 = 0 entao
pares <- pares +1
FimSe
FimPara
Escreva("Você digitou ",pares,"
numeros pares")
FimAlgoritmo
Algoritmos e Ling.de Programação
Prof. Mauro

Vetores, matrizes e registros

Neste trecho é feito o
preenchimento do vetor.

A variável pares é inicializada
com 0, pois será nosso contador.
Neste trecho, o vetor é
percorrido, sendo checado para
cada posição se o valor ali
armazenado é par. Se for par a
variável pares é incrementada
em uma unidade.

13
Exemplos com vetores
Algoritmo que lê dois vetores de seis elementos inteiros, calcula a
soma entre os elementos e armazena os resultados em um terceiro
vetor:
Algoritmo "soma vetores"
Var
i: inteiro
v1, v2, v3: vetor [1..6] de Inteiro
Inicio
Para i de 1 ate 6 faca
Escreva("Digite valor ",i," para vetor 1:")
Leia(v1[i])
Escreva("Digite valor ",i," para vetor 2:")
Leia(v2[i])
FimPara
Para i de 1 ate 6 faca
v3[i] <- v1[i]+v2[i]
Escreval(v3[i])
FimPara
fimalgoritmo
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

14
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

15
Conceito de matriz
Uma matriz, também conhecido como variável
homogênea multidimensional, é um conjunto de variáveis
do mesmo tipo, que possuem o mesmo identificador e são
alocadas sequencialmente na memória.

Assim como o vetor, uma matriz pode ser vista como
uma variável dividida em vários pedaços
No caso da matriz cada pedaço é identificado através
DOIS OU MAIS índices (um índice para cada dimensão)

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

16
Estrutura de uma matriz
Podemos Imaginar que uma matriz seja mais ou menos
da seguinte forma.
Índices das Colunas
Nome da Matriz

1
1
Mat

2

2
3

4

8

5

3

5

25
12

5

6

10
3

Índices das Linhas
Esta é uma matriz bidimensional. Indicamos este
elemento como mat[1, 1]

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

17
Declaração de matrizes
A sintaxe da declaração de matrizes é a seguinte:
NomeDaMatriz[Dim1, Dim2]: TipoDeDado

Exemplos:
Vendas[10, 12]: Real
Uma matriz chamada Vendas com 10 linhas e 12 colunas,
para armazenar números reais.

Mat[3, 6]: Inteiro
Uma matriz chamada Mat com 3 linhas e 6 colunas para
armazenar números inteiros

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

18
Usando matrizes
Para usar uma matriz (armazenar dados ou ler
dados da mesma), devemos especificar o nome
da matriz e os índices correspondentes,
separados por vírgula
Exemplo 1 (armazenando):
Mat[2,5]

10

Guarda o valor 10 na posição 2,5 (linha 2, coluna 5) do matriz Mat

Exemplo 2 (lendo):
Escreva(Mat[1,4])
Mostra o conteúdo da posição 1,4 (linha 1, coluna 4) da matriz Mat

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

19
Usando matrizes
Os números dos índices podem ser
indicados por variáveis ou expressões
A posição a ser acessada depende do valor das
variáveis ou expressões

Exemplos:
X <- 2
Y <- 4
Escreva(Mat[x,y])
Escreva(Mat[x/2,y/2])
Prof. Mauro

{mostra posição 2,4}
{mostra posição 1,2}

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

20
Usando matrizes
Podemos usar uma matriz diretamente
num comando Leia:
X <- 2
Y <- 4
Leia(Mat[x,y-1])
No exemplo acima, o valor será lido do teclado
e guardado na posição 2,3 da matriz Mat

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

21
Algoritmo para preencher uma matriz
Para preencher uma matriz inteira, devemos usar duas
estruturas de repetição aninhadas, uma para as linhas e
outra para as colunas
Exemplo:
Algoritmo “Preenche matriz”
Variaveis
i,j: inteiro
Mat: vetor [1..3,1..6] de inteiro
Inicio
Para i de 1 ate 3 faca
Para j de 1 ate 6 faca
Escreva(“Digite um valor: “)
Leia(mat[i,j])
FimPara
FimPara
Fim
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

Declaração da matriz com 3
linhas e 6 colunas
A variável i fará o controle das
linhas
A variável i fará o controle das
linhas

22
Algoritmo para listar uma matriz
Para listar ou “percorrer” todos os elementos de um
vetor, usamos também estruturas de repetição anihadas,
similar ao usado no preenchimento:
Algoritmo “Lista matriz”
Variaveis
i,j: inteiro
Mat: vetor [1..3,1..6] de inteiro
Inicio
Para i de 1 ate 3 faca
Para j de 1 ate 6 faca
Escreval(mat[i,j])
FimPara
FimPara
Fim

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

23
Exercícios
Faça algoritmo para ler um vetor de 10 valores
inteiros e depois identificar e mostrar o menor
valor
Altere o algoritmo anterior para procurar um
número digitado pelo usuário, informando a sua
posição, se ele constar no vetor
Faça um algoritmo que inverta a posição dos
valores de um vetor de seis posições de inteiros

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

24
Exercícios
Crie um algoritmo que crie uma matriz 4 x 4 de
inteiros, solicite os valores ao usuário e depois
mostre qual o maior e menor valor na matriz
Altere o algoritmo anterior para procurar na
matriz um valor digitado pelo usuário
Faça um algoritmo para guardar os nomes e
resultados de jogos da loteria esportiva
Faça um algoritmo para multiplicar duas matrizes
Faça um algoritmo para calcular o determinante
de uma matriz
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

25
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

26
Conceito
Um registro é um conjunto de campos, em que
cada campo pode ser de um tipo de dado
diferente.

Registros são estruturas que podem agregar
diferentes informações.
São também chamadas de variáveis compostas
heterogêneas.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

27
Estrutura de um registro
Um registro é formado por um conjunto de itens de
dados (membros da estrutura), que não necessitam
ser do mesmo tipo.
Exemplo:
Dados de uma Conta Bancária
ITEM DE DADO VALOR
Número: 2245
Tipo: Especial
Cliente: José da Silva
Saldo: R$5.250,00

Neste registro, representamos
uma conta bancária, que tem os
seguintes tipos de dados:
Inteiro (Número)
Real (Saldo e Limite)
Literal (Tipo e Cliente)

Limite: R$950,00

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

28
Declaração de um registro
Antes de usar um registro é preciso declará-lo, conforme
a sintaxe abaixo:
NomeDaVariavel: Registro (NomesDosCampos: TiposDosCampos)

Exemplo
conta: Registro (num: Inteiro, saldo, limite: Real,
tipo, cliente: String)
Neste exemplo foi declarado um registro chamado conta, cujos
campos são num do tipo inteiro, saldo e limite do tipo real e
tipo e cliente do tipo string.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

29
Usando de um registro
Como um registro contém vários dados, para
acessar um campo individualmente é necessário
indicar o nome da variável e o nome do campo,
separado por um ponto.
Exemplo 1 (armazenando no registro)
conta.num ← 12
Coloca o número 12 no campo num da variável registro
denominada conta.

Exemplo 2 (lendo dado do registro)
Escreva conta.saldo
Mostra na tela o conteúdo do campo saldo da variável
conta.
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

30
Vetor de registros
O uso de registros torna-se mais efetivo
quando associado a vetores
Podemos criar um vetor de registros,
podendo guardar dados de vários
elementos distintos. Exemplos:
100 registros de contas bancárias
40 registros de alunos de uma turma

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

31
Vetor de registros - declaração
Exemplo
conta[3]: Registro (num: Inteiro,
saldo: Real, cliente: string)
Neste exemplo foi declarada uma variável
chamada conta.
Esta variável é um vetor de três posições.
Em cada posição será armazenado um registro,
composto por três campos.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

32
Vetor de registros - uso
Acesso aos Campos do Registro
Conta[2].num ← 13
O exemplo armazeno o número 13 no campo num da segunda
posição da variável registro denominada conta.
Leia conta[2].cliente
Neste exemplo é lida uma string e armazenada no campo cliente da
posição 2 da variável conta.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

33
Exemplo
Uma indústria faz a folha mensal de pagamento de seus
80 empregados baseado numa tabela com os dados de
cada funcionário (matrícula, nome e salário bruto);
Vamos escrever um algoritmo para ler e processar essa tabela e
emitir, para cada funcionário, seu contracheque.
Matrícula:
Nome:
Salário Bruto:
Dedução do INSS:
Salário Líquido:

O desconto do INSS é 11% do salário bruto.
O salário líquido é a diferença entre o salário bruto e o valor do
INSS.
Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

34
Exemplo
A estrutura de um funcionário é dada por uma variável do
tipo registro. Como são 80, é preciso trabalhar com um
vetor de 80 posições.
A declaração do registro é a seguinte:
func[80]: Registro (mat: Inteiro, nome: String,
salBruto, inss, salLiq: Real)

O algoritmo consistirá em preencher o vetor com 80
registros para representar os 80 funcionários da empresa.
Em seguida, para cada funcionário, calcular e mostrar o
contracheque (salário líquido e dedução do INSS)

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

35
Exemplo
A primeira parte do algoritmo consiste em preencher os dados de
todos os 80 funcionários. Para isso, utilizamos uma estrutura de
repetição contada para controlar as posições do vetor de
funcionários.
Algoritmo ControleFuncionarios
Variáveis
func[80]: Registro (mat: Inteiro, nome: String,
salBruto, inss, salLiq: Real)
i: Inteiro
Início
Para i de 1 até 80 Faça
Escreva “Digite a matrícula do funcionário”
Leia func[i].mat
Escreva “Digite o nome do funcionário”
Leia func[i].nome
Escreva “Digite o salário bruto do funcionário”
Leia func[i].salBruto
FimPara
...
Algoritmos e Ling.de Programação
Prof. Mauro

Vetores, matrizes e registros

36
Exemplo
Uma vez que os 80 registros estão preenchidos, é preciso calcular o
valor do INSS e do salário líquido. Isso é feito dentro de uma estrutura
Para-Faça, pois deve ser para os 80 funcionários.
...
Para i de 1 até 80 Faça
func[i].inss ← func[i].salBruto * 0.11
func[i].salLiq ← func[i].salBruto – func[i].inss
FimPara
...

Para acessar o campo de cada funcionário, utilizamos o nome da variável
mais o índice.
A primeira instrução calcula o valor do campo inss, multiplicando o valor do
campo salBruto pela taxa de 11%.
A segunda instrução calcula o valor do campo salLiq, subtraindo do salário bruto
o valor do INSS.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

37
Exemplo
Após realizar todos os cálculos, é preciso imprimir os contracheques
na tela. Para isso, utilizamos mais uma vez uma estrutura ParaFaça.
...
Para i de 1 até 80 Faça
Escreva func[i].mat
Escreva func[i].nome
Escreva func[i].salBruto
Escreva func[i].inss
Escreva func[i].salLiq
FimPara
Fim

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

38
Observação
As estruturas estudadas neste capítulo (vetores,
matrizes e registros) podem ser implementadas
em qualquer linguagem de programação.
Devemos conhecer a sintaxe da linguagem em
que queremos implementar os algoritmos para
escrever os comandos conforme as regras da
gramática da linguagem.

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

39
Exercícios
Crie um algoritmo para guardar o nome e
as duas notas dos 40 alunos de uma turma
e depois calcular a média e resultado de
cada um deles, sendo que a média para
aprovação é 7

Prof. Mauro

Algoritmos e Ling.de Programação
Vetores, matrizes e registros

40

Contenu connexe

Tendances

Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Ricardo Terra
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalWesley R. Bezerra
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 

Tendances (20)

6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Visualg
VisualgVisualg
Visualg
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 

En vedette

Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Flávio Freitas
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvRCiro Matheus
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

En vedette (7)

Algop - aula 08
Algop - aula 08Algop - aula 08
Algop - aula 08
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Aula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticaoAula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticao
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvR
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Similaire à Vetores, matrizes e registros em Algoritmos e Linguagem de Programação

Similaire à Vetores, matrizes e registros em Algoritmos e Linguagem de Programação (20)

Vetores e Matrizes.pdf
Vetores e Matrizes.pdfVetores e Matrizes.pdf
Vetores e Matrizes.pdf
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
 
Ipccea cap iv
Ipccea cap ivIpccea cap iv
Ipccea cap iv
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
8. matrizes
8. matrizes8. matrizes
8. matrizes
 
Alg aula 06 - vetores tp1
Alg   aula 06 - vetores tp1Alg   aula 06 - vetores tp1
Alg aula 06 - vetores tp1
 
Aula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdfAula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdf
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Aula09
Aula09Aula09
Aula09
 
Aula09
Aula09Aula09
Aula09
 
Algoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - VetoresAlgoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - Vetores
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11
 
Alg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdfAlg04 - Vetores e Matrizes.pdf
Alg04 - Vetores e Matrizes.pdf
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programação
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 

Plus de Mauro Pereira

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSSMauro Pereira
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesMauro Pereira
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadoresMauro Pereira
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de NumeracaoMauro Pereira
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosMauro Pereira
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Mauro Pereira
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeMauro Pereira
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamentoMauro Pereira
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesMauro Pereira
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitosMauro Pereira
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutençãoMauro Pereira
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantesMauro Pereira
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamentoMauro Pereira
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Mauro Pereira
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosMauro Pereira
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...Mauro Pereira
 

Plus de Mauro Pereira (20)

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
 

Vetores, matrizes e registros em Algoritmos e Linguagem de Programação

  • 1. Algoritmos e Linguagem de Programação Professor: Mauro Jansen Parte 4 – Vetores, matrizes e registros 03/11/2010
  • 2. Introdução As variáveis que estudamos até o momento guardavam apenas um único valor Existe um recurso que nos permite guardar e acessar um conjunto de dados agrupados na memória do computador: As ESTRUTURAS DE DADOS Isso nos permite, por exemplo, guardar a nota dos alunos de uma turma usando apenas uma variável Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 2
  • 3. Estruturas de dados As estruturas de dados são formas agrupar dados na memória do computador, usando variáveis ou outros recursos de armazenamento Tipos de estruturas de dados: Homogêneas: guardam dados do mesmo tipo. Ex: vetores e matrizes Heterogêneas: guardar dados de tipos diferentes. Ex: registros Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 3
  • 4. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 4
  • 5. Conceito de vetor Um vetor, também conhecido como variável homogênea unidimensional, é um conjunto de variáveis do mesmo tipo, que possuem o mesmo identificador e são alocadas sequencialmente na memória. Podemos entender um vetor como uma variável dividida em vários pedaços, onde cada pedaço é identificado através de um número, chamado de índice. O índice representa a posição que um dado ocupa no vetor. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 5
  • 6. Estrutura de um vetor Podemos Imaginar que na memória do computador um vetor seja mais ou menos da seguinte forma. Nome do Vetor Índices (Posições) 1 Nomes Conteúdo (Elementos) 2 3 4 João Maria Carlos 5 6 José •Perceba que cada posição do vetor corresponde a uma variável simples. •Para representar o elemento 3, escrevemos Nomes [3]. •O valor de Nomes[2] é “Maria” Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 6
  • 7. Declaração de vetores Para declarar um vetor procedemos como indicado a seguir: NomeDoVetor[1..<tamanho>]: TipoDeDado Exemplos: Notas[1..10]: Real (vetor chamado Notas com 10 posições para guardar números reais) Codigo[1..12]: Inteiro (vetor chamado Codigo com 12 posições para guardar números inteiros) Nomes[1..10]: String (vetor chamado nomes com 10 posições para guardar strings) Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 7
  • 8. Usando vetores Para usar um vetor (armazenar dados ou ler dados do mesmo), devemos especificar o nome do vetor e o índice entre colchetes Exemplo 1 (armazenando): Nomes[1] “João” Guarda a string “João” na posição 1 do vetor nomes Exemplo 2 (lendo): Escreva(Nomes[1]) Mostra o conteúdo da posição 1 do vetor nomes Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 8
  • 9. Usando vetores O número do índice pode ser indicado por uma variável ou expressão A posição a ser acessada depende do valor da variável ou expressão Exemplos: X 4 Escreva(Nomes[x]) Escreva(Nomes[x/2]) Prof. Mauro {mostra posição 4} {mostra posição 2} Algoritmos e Ling.de Programação Vetores, matrizes e registros 9
  • 10. Usando vetores Podemos usar um vetor diretamente num comando Leia: X 5 Leia(Nomes[x-1]) No exemplo acima, o valor será lido do teclado e guardado na posição 4 do vetor Nomes Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 10
  • 11. Algoritmo para preencher um vetor Para preencher um vetor inteiro, devemos usar uma estrutura de repetição, pois o vetor tem várias posições e temos que preencher uma a uma Exemplo: Algoritmo “Preenche Vetor” Variaveis numeros[1..4], i: inteiro Inicio Para i de 1 até 4 faca Escreva(“Digite um valor: “) Leia(numeros[i]) FimPara Fim Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros Declaração do vetor com 4 posições A variável i fará o controle da repetição, e assumirá todos os valores possíveis para o índice do vetor. 11
  • 12. Algoritmo para listar um vetor Para listar ou “percorrer” todos os elementos de um vetor, usamos também uma estrutura de repetição, similar ao usado no preenchimento: Algoritmo “Lista Vetor” Variaveis numeros[1..4], i: inteiro Inicio Para i de 1 até 4 faca Escreva(numeros[i]) FimPara Fim Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 12
  • 13. Exemplos com vetores Um algoritmo que preenche um vetor com 8 números inteiros, calcula e mostra quantos elementos do vetor são números pares Algoritmo "ContaPares" var vet: vetor[1..8] de inteiro i, pares: Inteiro Inicio Para i de 1 ate 8 faca Escreva("Digite um valor: ") Leia(vet[i]) FimPara pares <- 0 Para i de 1 ate 8 faca Se vet[i] mod 2 = 0 entao pares <- pares +1 FimSe FimPara Escreva("Você digitou ",pares," numeros pares") FimAlgoritmo Algoritmos e Ling.de Programação Prof. Mauro Vetores, matrizes e registros Neste trecho é feito o preenchimento do vetor. A variável pares é inicializada com 0, pois será nosso contador. Neste trecho, o vetor é percorrido, sendo checado para cada posição se o valor ali armazenado é par. Se for par a variável pares é incrementada em uma unidade. 13
  • 14. Exemplos com vetores Algoritmo que lê dois vetores de seis elementos inteiros, calcula a soma entre os elementos e armazena os resultados em um terceiro vetor: Algoritmo "soma vetores" Var i: inteiro v1, v2, v3: vetor [1..6] de Inteiro Inicio Para i de 1 ate 6 faca Escreva("Digite valor ",i," para vetor 1:") Leia(v1[i]) Escreva("Digite valor ",i," para vetor 2:") Leia(v2[i]) FimPara Para i de 1 ate 6 faca v3[i] <- v1[i]+v2[i] Escreval(v3[i]) FimPara fimalgoritmo Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 14
  • 15. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 15
  • 16. Conceito de matriz Uma matriz, também conhecido como variável homogênea multidimensional, é um conjunto de variáveis do mesmo tipo, que possuem o mesmo identificador e são alocadas sequencialmente na memória. Assim como o vetor, uma matriz pode ser vista como uma variável dividida em vários pedaços No caso da matriz cada pedaço é identificado através DOIS OU MAIS índices (um índice para cada dimensão) Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 16
  • 17. Estrutura de uma matriz Podemos Imaginar que uma matriz seja mais ou menos da seguinte forma. Índices das Colunas Nome da Matriz 1 1 Mat 2 2 3 4 8 5 3 5 25 12 5 6 10 3 Índices das Linhas Esta é uma matriz bidimensional. Indicamos este elemento como mat[1, 1] Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 17
  • 18. Declaração de matrizes A sintaxe da declaração de matrizes é a seguinte: NomeDaMatriz[Dim1, Dim2]: TipoDeDado Exemplos: Vendas[10, 12]: Real Uma matriz chamada Vendas com 10 linhas e 12 colunas, para armazenar números reais. Mat[3, 6]: Inteiro Uma matriz chamada Mat com 3 linhas e 6 colunas para armazenar números inteiros Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 18
  • 19. Usando matrizes Para usar uma matriz (armazenar dados ou ler dados da mesma), devemos especificar o nome da matriz e os índices correspondentes, separados por vírgula Exemplo 1 (armazenando): Mat[2,5] 10 Guarda o valor 10 na posição 2,5 (linha 2, coluna 5) do matriz Mat Exemplo 2 (lendo): Escreva(Mat[1,4]) Mostra o conteúdo da posição 1,4 (linha 1, coluna 4) da matriz Mat Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 19
  • 20. Usando matrizes Os números dos índices podem ser indicados por variáveis ou expressões A posição a ser acessada depende do valor das variáveis ou expressões Exemplos: X <- 2 Y <- 4 Escreva(Mat[x,y]) Escreva(Mat[x/2,y/2]) Prof. Mauro {mostra posição 2,4} {mostra posição 1,2} Algoritmos e Ling.de Programação Vetores, matrizes e registros 20
  • 21. Usando matrizes Podemos usar uma matriz diretamente num comando Leia: X <- 2 Y <- 4 Leia(Mat[x,y-1]) No exemplo acima, o valor será lido do teclado e guardado na posição 2,3 da matriz Mat Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 21
  • 22. Algoritmo para preencher uma matriz Para preencher uma matriz inteira, devemos usar duas estruturas de repetição aninhadas, uma para as linhas e outra para as colunas Exemplo: Algoritmo “Preenche matriz” Variaveis i,j: inteiro Mat: vetor [1..3,1..6] de inteiro Inicio Para i de 1 ate 3 faca Para j de 1 ate 6 faca Escreva(“Digite um valor: “) Leia(mat[i,j]) FimPara FimPara Fim Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros Declaração da matriz com 3 linhas e 6 colunas A variável i fará o controle das linhas A variável i fará o controle das linhas 22
  • 23. Algoritmo para listar uma matriz Para listar ou “percorrer” todos os elementos de um vetor, usamos também estruturas de repetição anihadas, similar ao usado no preenchimento: Algoritmo “Lista matriz” Variaveis i,j: inteiro Mat: vetor [1..3,1..6] de inteiro Inicio Para i de 1 ate 3 faca Para j de 1 ate 6 faca Escreval(mat[i,j]) FimPara FimPara Fim Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 23
  • 24. Exercícios Faça algoritmo para ler um vetor de 10 valores inteiros e depois identificar e mostrar o menor valor Altere o algoritmo anterior para procurar um número digitado pelo usuário, informando a sua posição, se ele constar no vetor Faça um algoritmo que inverta a posição dos valores de um vetor de seis posições de inteiros Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 24
  • 25. Exercícios Crie um algoritmo que crie uma matriz 4 x 4 de inteiros, solicite os valores ao usuário e depois mostre qual o maior e menor valor na matriz Altere o algoritmo anterior para procurar na matriz um valor digitado pelo usuário Faça um algoritmo para guardar os nomes e resultados de jogos da loteria esportiva Faça um algoritmo para multiplicar duas matrizes Faça um algoritmo para calcular o determinante de uma matriz Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 25
  • 26. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 26
  • 27. Conceito Um registro é um conjunto de campos, em que cada campo pode ser de um tipo de dado diferente. Registros são estruturas que podem agregar diferentes informações. São também chamadas de variáveis compostas heterogêneas. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 27
  • 28. Estrutura de um registro Um registro é formado por um conjunto de itens de dados (membros da estrutura), que não necessitam ser do mesmo tipo. Exemplo: Dados de uma Conta Bancária ITEM DE DADO VALOR Número: 2245 Tipo: Especial Cliente: José da Silva Saldo: R$5.250,00 Neste registro, representamos uma conta bancária, que tem os seguintes tipos de dados: Inteiro (Número) Real (Saldo e Limite) Literal (Tipo e Cliente) Limite: R$950,00 Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 28
  • 29. Declaração de um registro Antes de usar um registro é preciso declará-lo, conforme a sintaxe abaixo: NomeDaVariavel: Registro (NomesDosCampos: TiposDosCampos) Exemplo conta: Registro (num: Inteiro, saldo, limite: Real, tipo, cliente: String) Neste exemplo foi declarado um registro chamado conta, cujos campos são num do tipo inteiro, saldo e limite do tipo real e tipo e cliente do tipo string. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 29
  • 30. Usando de um registro Como um registro contém vários dados, para acessar um campo individualmente é necessário indicar o nome da variável e o nome do campo, separado por um ponto. Exemplo 1 (armazenando no registro) conta.num ← 12 Coloca o número 12 no campo num da variável registro denominada conta. Exemplo 2 (lendo dado do registro) Escreva conta.saldo Mostra na tela o conteúdo do campo saldo da variável conta. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 30
  • 31. Vetor de registros O uso de registros torna-se mais efetivo quando associado a vetores Podemos criar um vetor de registros, podendo guardar dados de vários elementos distintos. Exemplos: 100 registros de contas bancárias 40 registros de alunos de uma turma Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 31
  • 32. Vetor de registros - declaração Exemplo conta[3]: Registro (num: Inteiro, saldo: Real, cliente: string) Neste exemplo foi declarada uma variável chamada conta. Esta variável é um vetor de três posições. Em cada posição será armazenado um registro, composto por três campos. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 32
  • 33. Vetor de registros - uso Acesso aos Campos do Registro Conta[2].num ← 13 O exemplo armazeno o número 13 no campo num da segunda posição da variável registro denominada conta. Leia conta[2].cliente Neste exemplo é lida uma string e armazenada no campo cliente da posição 2 da variável conta. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 33
  • 34. Exemplo Uma indústria faz a folha mensal de pagamento de seus 80 empregados baseado numa tabela com os dados de cada funcionário (matrícula, nome e salário bruto); Vamos escrever um algoritmo para ler e processar essa tabela e emitir, para cada funcionário, seu contracheque. Matrícula: Nome: Salário Bruto: Dedução do INSS: Salário Líquido: O desconto do INSS é 11% do salário bruto. O salário líquido é a diferença entre o salário bruto e o valor do INSS. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 34
  • 35. Exemplo A estrutura de um funcionário é dada por uma variável do tipo registro. Como são 80, é preciso trabalhar com um vetor de 80 posições. A declaração do registro é a seguinte: func[80]: Registro (mat: Inteiro, nome: String, salBruto, inss, salLiq: Real) O algoritmo consistirá em preencher o vetor com 80 registros para representar os 80 funcionários da empresa. Em seguida, para cada funcionário, calcular e mostrar o contracheque (salário líquido e dedução do INSS) Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 35
  • 36. Exemplo A primeira parte do algoritmo consiste em preencher os dados de todos os 80 funcionários. Para isso, utilizamos uma estrutura de repetição contada para controlar as posições do vetor de funcionários. Algoritmo ControleFuncionarios Variáveis func[80]: Registro (mat: Inteiro, nome: String, salBruto, inss, salLiq: Real) i: Inteiro Início Para i de 1 até 80 Faça Escreva “Digite a matrícula do funcionário” Leia func[i].mat Escreva “Digite o nome do funcionário” Leia func[i].nome Escreva “Digite o salário bruto do funcionário” Leia func[i].salBruto FimPara ... Algoritmos e Ling.de Programação Prof. Mauro Vetores, matrizes e registros 36
  • 37. Exemplo Uma vez que os 80 registros estão preenchidos, é preciso calcular o valor do INSS e do salário líquido. Isso é feito dentro de uma estrutura Para-Faça, pois deve ser para os 80 funcionários. ... Para i de 1 até 80 Faça func[i].inss ← func[i].salBruto * 0.11 func[i].salLiq ← func[i].salBruto – func[i].inss FimPara ... Para acessar o campo de cada funcionário, utilizamos o nome da variável mais o índice. A primeira instrução calcula o valor do campo inss, multiplicando o valor do campo salBruto pela taxa de 11%. A segunda instrução calcula o valor do campo salLiq, subtraindo do salário bruto o valor do INSS. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 37
  • 38. Exemplo Após realizar todos os cálculos, é preciso imprimir os contracheques na tela. Para isso, utilizamos mais uma vez uma estrutura ParaFaça. ... Para i de 1 até 80 Faça Escreva func[i].mat Escreva func[i].nome Escreva func[i].salBruto Escreva func[i].inss Escreva func[i].salLiq FimPara Fim Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 38
  • 39. Observação As estruturas estudadas neste capítulo (vetores, matrizes e registros) podem ser implementadas em qualquer linguagem de programação. Devemos conhecer a sintaxe da linguagem em que queremos implementar os algoritmos para escrever os comandos conforme as regras da gramática da linguagem. Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 39
  • 40. Exercícios Crie um algoritmo para guardar o nome e as duas notas dos 40 alunos de uma turma e depois calcular a média e resultado de cada um deles, sendo que a média para aprovação é 7 Prof. Mauro Algoritmos e Ling.de Programação Vetores, matrizes e registros 40