SlideShare a Scribd company logo
1 of 52
Disciplina: Constr. de Algoritmos e Prog. de Sistemas
Professor: Jeovane Reges
Caxias – MA
2016
ACULDADE DE CIÊNCIAS
E TECNOLOGIA DO
MARANHÃO
Link Drive
bit.ly/ads-algoritmos
2
3
Algoritmos
4
Estruturas Homogêneas
<Vetores>
• Algoritmos
• Estruturas Homogêneas
• Introdução
• Para resolução dos problemas propostos até
então, utilizamos:
 Tipos de dados básicos;
• <real, inteiro, literal, caractere e lógico>
 Comandos de controle;
• <decisão e repetição>
 Variáveis simples, que "armazenam um único"
valor por vez.
5
• Algoritmos
• Estruturas Homogêneas
• Sempre que atribuímos um novo valor a uma
variável simples, o valor anterior é perdido.
6
algoritmo "Problema 01"
var
x: inteiro
inicio
x ← 10
escreval("Valor de x: ", x)
x ← 20
escreval("Valor de x: ", x)
fimalgoritmo
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Representação da memória ao criar uma
variável simples.
7
X
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Representação da memória ao criar uma
variável simples.
 Atribuição do valor 10 a variável x.
8
XX ← 10
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Representação da memória ao criar uma
variável simples.
 Atribuição do valor 20 a variável x.
// O valor 20 sobescreve o valor anterior que era 10.
9
X ← 10X ← 20
10
Isso ocorre porque cada variável está
associada a uma única posição de
memória, e dentro dela é possível
armazenar apenas um único valor.
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Existem problemas em que as variáveis simples
NÃO são suficientes.
• Para atingir a solução de tais problemas,
utilizamos as estruturas de dados homogêneas.
 Armazenam diversos dados de um mesmo tipo em
uma única variável.
 Vetores (unidimensionais); e
 Matrizes (bidimensionais).
11
• Algoritmos
• Estruturas Homogêneas
• Exemplo:
 Solicitar ao usuário as notas de 5 alunos de uma
turma e no "final" apresentar as notas digitadas.
12
algoritmo "Notas"
var
notas: real
i: inteiro
inicio
para i de 1 ate 5 faca
escreva(i, "a. nota: ")
leia(notas)
fimpara
escreval("Notas: ", notas)
fimalgoritmo
• Algoritmos
• Estruturas Homogêneas
• Saída:
13
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Mas, se quisermos "armazenar" todos as notas
em uma única variável?
• Se quiséssemos acessar tais valores
individualmente a qualquer momento?
• Com o que foi visto até então, não é possível
"alcançar" esse comportamento.
14
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Em casos como esse que é útil a utilização das
estruturas de dados homogêneas (vetores).
• Vetores são variáveis que permitem armazenar
vários valores do mesmo tipo.
• Funciona como uma caixa, na qual você pode
guardar o conteúdo que desejar.
15
16
Estruturas de dados homogêneas são
estruturas que permitem armazenar um
conjuntos de dados do mesmo tipo em
uma única variável.
17
Vetores
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Tal como as variáveis simples, os vetores
precisam ser declarados antes de utilizados.
• Por se tratar de uma variável indexada a
maneira como a declaramos é diferente.
• A ideia geral é que estamos declarando diversas
variáveis dentro de uma só.
 Diferenciadas por um índice.
18
• Algoritmos
• Estruturas Homogêneas
• Vetores
 Estruturas que armazenam os dados em uma
única linha e várias colunas.
19
1 2 3 4 5
índexes
V[1..5] =
• Algoritmos
• Estruturas Homogêneas
• Vetores
 Estruturas que armazenam os dados em uma
única linha e várias colunas.
20
1 2 3 4 5
índexes
V[1..5] =
7 8.5 7.2 9.2 7.1
• Algoritmos
• Estruturas Homogêneas
• Vetores
 Sintaxe:
• Tamanho = [Vi..Vf],
 Vi = valor inicial; e
 Vf = valor final.
21
<identificador> : vetor [tamanho] de <tipo>
• Algoritmos
• Estruturas Homogêneas
• Vetores
 Exemplo:
• Declaração de um vetor com 10 posições.
 Devem ser declarados dentro da sessão var.
22
notas : vetor [1..10] de real
Nome do vetor Tipo de dados
Tamanho do vetor (note que são apenas DOIS PONTOS!)
23
Vetores
(Atribuição de valores)
• Algoritmos
• Estruturas Homogêneas
• Vetores
• Vimos que vetores são "variáveis".
• A declaração de um vetor apenas reserva
espaço na memória e não associa valores a ele.
• Porém, em algumas situações é necessário
iniciar os vetores com algum valor predefinido.
 Ou iniciar todo o vetor, dependendo do problema.
24
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
• Assim como as variáveis comuns, os valores de
um vetor também podem ser inicializados.
• Sintaxe:
25
<identificador>[posição] ← <valor>
<identificador>[posição] := <valor>
Índice
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {1}
26
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
fimalgoritmo
7
1 2 3 4 5
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {1}
27
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
fimalgoritmo
7 8.5
1 2 3 4 5
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {1}
28
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
fimalgoritmo
7 8.5 7.2
1 2 3 4 5
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {1}
29
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
fimalgoritmo
7 8.5 7.2 0 0
1 2 3 4 5
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {2}
30
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
escreva("Nota do 1o. Aluno: ")
leia(notas[1])
escreva("Nota do 2o. Aluno: ")
leia(notas[2])
escreva("Nota do 3o. Aluno: ")
leia(notas[3])
fimalgoritmo
• Algoritmos
• Estruturas Homogêneas
• Vetores → Atribuição de valores
 Exemplo: {3}
31
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
i: inteiro
inicio
para i de 1 ate 5 faca
escreva("Notas: ")
leia(notas[i])
fimpara
fimalgoritmo
32
Vetores
(Acessando valores)
• Algoritmos
• Estruturas Homogêneas
• Vetores → Acessando valores
 Exemplo: {1}
33
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
escreval("1a. nota: ", notas[1])
escreval("2a. nota: ", notas[2])
escreval("3a. nota: ", notas[3])
fimalgoritmo
• Algoritmos
• Estruturas Homogêneas
• Vetores → Acessando valores
 Exemplo: {2}
34
algoritmo "ExVetores"
var
notas: vetor [1..5] de real
i: inteiro
inicio
notas[1] ← 7
notas[2] ← 8.5
notas[3] ← 7.2
para i de 1 ate 5 faca
escreval(i, "a. nota: ", notas[i])
fimpara
fimalgoritmo
• Algoritmos
• Estruturas Homogêneas
• Vetores → Acessando valores
 Saída: {2}
35
36
Exemplos Resolvidos
<Vetores>
37
Problema I
Faça um algoritmo que leia 5 números inteiro
fornecidos pelo teclado e "armazene-os" em um
vetor. Em seguida, imprima-os na ordem em
que foram "digitados".
• Algoritmos
 Resolução do Problema I
38
algoritmo "Problema 01"
var
numeros: vetor [1..5] de inteiro
i, j: inteiro
inicio
para i de 1 ate 5 faca
escreva("Digite um valor: ")
leia(numeros[i])
fimpara
para j de 1 ate 5 faca
escreva(numeros[j])
fimpara
fimalgoritmo
39
Problema II
Faça um algoritmo que dado um vetor
inicializado com 5 valores, some estes
valores e em seguida imprima a soma.
• Algoritmos
40
algoritmo "Problema 02"
var
numeros: vetor [1..5] de inteiro
i, soma: inteiro
inicio
numeros[1] ← 7
numeros[2] ← 8
numeros[3] ← 2
numeros[4] ← 5
numeros[5] ← 3
para i de 1 ate 5 faca
soma ← soma + numeros[i]
fimpara
escreval("Soma: ", soma)
fimalgoritmo
ResoluçãodoProblemaII
41
Problema III
Faça um algoritmo que dado um vetor
inicializado com 5 valores, apresente a
média dos valores contidos no vetor.
• Algoritmos
42
algoritmo "Problema 03"
var
numeros: vetor [1..5] de inteiro
i, soma: inteiro
media: real
inicio
numeros[1] ← 7
numeros[2] ← 8
numeros[3] ← 2
numeros[4] ← 5
numeros[5] ← 3
para i de 1 ate 5 faca
soma ← soma + numeros[i]
fimpara
media ← soma / 5
escreval("Media: ", media)
fimalgoritmo
ResoluçãodoProblemaIII
43
Problema IV
Faça um algoritmo que leia 5 números
inteiros e "armazene-os" em um vetor. Em
seguida, "imprima" somente os números
pares que se encontram no vetor.
• Algoritmos
44
algoritmo "Problema 04"
var
numeros: vetor [1..5] de inteiro
i, j: inteiro
inicio
para i de 1 ate 5 faca
escreva("Digite um valor: ")
leia(numeros[i])
fimpara
para j de 1 ate 5 faca
se (numeros[j] % 2 = 0) entao
escreval(numeros[j])
fimse
fimpara
fimalgoritmo
ResoluçãodoProblemaIV
45
Problema V
Faça um algoritmo que leia um vetor com
5 posições de números inteiros. Em
seguida, "imprima" a quantidade de
números pares existentes no vetor.
• Algoritmos
46
algoritmo "Problema 05"
var
numeros: vetor [1..5] de inteiro
i, j, conta_par: inteiro
inicio
para i de 1 ate 5 faca
escreva("Digite um valor: ")
leia(numeros[i])
fimpara
para j de 1 ate 5 faca
se (numeros[j] % 2 = 0) entao
conta_par ← conta_par + 1
fimse
fimpara
escreval(conta_par)
fimalgoritmo
ResoluçãodoProblemaV
47
Problema VI
Faça um algoritmo que dado um vetor de
inteiro com 10 elementos, retorne o
"maior" valor que se encontra no vetor.
• Algoritmos
 Resolução do Problema VI
48
algoritmo "Problema 06"
var
numeros: vetor [1..10] de inteiro
i, mv: inteiro
inicio
// Suponha que o vetor já preenchido
mv ← numeros[1]
para i de 2 ate 10 faca
se (numeros[i] > mv) entao
mv ← números[i]
fimse
fimpara
escreval(mv)
fimalgoritmo
49
Problema VII
Faça um algoritmo que dado um vetor
de números inteiros e positivos com 10
elementos, apresente os índices dos
"números ímpares".
• Algoritmos
 Resolução do Problema VII
50
algoritmo "Problema 07"
var
numeros: vetor [1..10] de inteiro
i, j: inteiro
inicio
para i de 1 ate 10 faca
escreva("Digite um valor: ")
leia(numeros[i])
fimpara
para j de 1 ate 10 faca
se (numeros[j] % 2 <> 0) entao
escreval("Valor ímpar na posição: ", i)
fimse
fimpara
fimalgoritmo
51
Problema VIII
Faça um algoritmo que dados um conjunto
de valores inteiros armazene os seis
primeiros números maiores do que ZERO
em um vetor.
• Algoritmos
 Resolução do Problema VIII
52
algoritmo "Problema 08"
var
numeros: vetor [1..6] de inteiro
i, valor: inteiro
inicio
repita
escreva("Digite um valor: ")
leia(valor)
se (valor > 0) entao
numeros[i] ← valor
i ← i + 1
fimse
ate(i > 6)
fimalgoritmo

More Related Content

What's hot

Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
Crishna Irion
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
Regis Magalhães
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
softeam
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
Hercules Santhus
 

What's hot (20)

Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11
 
Construcao de Algoritmos - Aula 02
Construcao de Algoritmos - Aula 02Construcao de Algoritmos - Aula 02
Construcao de Algoritmos - Aula 02
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
python.comandos
python.comandospython.comandos
python.comandos
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Lista funcões e recursividade
Lista funcões e recursividadeLista funcões e recursividade
Lista funcões e recursividade
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
0001
00010001
0001
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Introdução ao matlab
Introdução ao matlabIntrodução ao matlab
Introdução ao matlab
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
 

Viewers also liked

Lógica de programação com visu alg
Lógica de programação com visu algLógica de programação com visu alg
Lógica de programação com visu alg
Leandro Santos
 

Viewers also liked (17)

Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02 Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02
 
Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04
 
Construcao de Algoritmos - Aula 01
Construcao de Algoritmos - Aula 01Construcao de Algoritmos - Aula 01
Construcao de Algoritmos - Aula 01
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13
 
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaAlgoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01
 
Lógica de programação com visu alg
Lógica de programação com visu algLógica de programação com visu alg
Lógica de programação com visu alg
 
Semana 05 - Estruturas Condicionais - Exercícios
Semana 05   - Estruturas Condicionais - ExercíciosSemana 05   - Estruturas Condicionais - Exercícios
Semana 05 - Estruturas Condicionais - Exercícios
 
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03  - Exercícios de Leitura e AtribuiçãoAlgoritmos 01 - Semana 03  - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Semana 01 - Lista de Exercícios
Semana 01 - Lista de ExercíciosSemana 01 - Lista de Exercícios
Semana 01 - Lista de Exercícios
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 

Similar to Construcao de Algoritmos - Aula 10

Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
Osvano Silva
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
Thalles Anderson
 

Similar to Construcao de Algoritmos - Aula 10 (20)

mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Aula06
Aula06Aula06
Aula06
 
Vetores e Matrizes.pdf
Vetores e Matrizes.pdfVetores e Matrizes.pdf
Vetores e Matrizes.pdf
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Alg aula 06 - vetores tp1
Alg   aula 06 - vetores tp1Alg   aula 06 - vetores tp1
Alg aula 06 - vetores tp1
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Alg aula 07 - matrizes tp1
Alg   aula 07 - matrizes tp1Alg   aula 07 - matrizes tp1
Alg aula 07 - matrizes tp1
 
Aula 13
Aula 13Aula 13
Aula 13
 
Matrizes em c#
Matrizes em c#Matrizes em c#
Matrizes em c#
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Aula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdfAula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdf
 
Aula 01
Aula 01Aula 01
Aula 01
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 

Recently uploaded

Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Pastor Robson Colaço
 

Recently uploaded (20)

Nós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-NovaNós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-Nova
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamente
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é preciso
 
Apresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoApresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimento
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
 
AULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxAULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptx
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
 
O que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditivaO que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditiva
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docxUnidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 

Construcao de Algoritmos - Aula 10

  • 1. Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  • 5. • Algoritmos • Estruturas Homogêneas • Introdução • Para resolução dos problemas propostos até então, utilizamos:  Tipos de dados básicos; • <real, inteiro, literal, caractere e lógico>  Comandos de controle; • <decisão e repetição>  Variáveis simples, que "armazenam um único" valor por vez. 5
  • 6. • Algoritmos • Estruturas Homogêneas • Sempre que atribuímos um novo valor a uma variável simples, o valor anterior é perdido. 6 algoritmo "Problema 01" var x: inteiro inicio x ← 10 escreval("Valor de x: ", x) x ← 20 escreval("Valor de x: ", x) fimalgoritmo
  • 7. • Algoritmos • Estruturas Homogêneas • Vetores • Representação da memória ao criar uma variável simples. 7 X
  • 8. • Algoritmos • Estruturas Homogêneas • Vetores • Representação da memória ao criar uma variável simples.  Atribuição do valor 10 a variável x. 8 XX ← 10
  • 9. • Algoritmos • Estruturas Homogêneas • Vetores • Representação da memória ao criar uma variável simples.  Atribuição do valor 20 a variável x. // O valor 20 sobescreve o valor anterior que era 10. 9 X ← 10X ← 20
  • 10. 10 Isso ocorre porque cada variável está associada a uma única posição de memória, e dentro dela é possível armazenar apenas um único valor.
  • 11. • Algoritmos • Estruturas Homogêneas • Vetores • Existem problemas em que as variáveis simples NÃO são suficientes. • Para atingir a solução de tais problemas, utilizamos as estruturas de dados homogêneas.  Armazenam diversos dados de um mesmo tipo em uma única variável.  Vetores (unidimensionais); e  Matrizes (bidimensionais). 11
  • 12. • Algoritmos • Estruturas Homogêneas • Exemplo:  Solicitar ao usuário as notas de 5 alunos de uma turma e no "final" apresentar as notas digitadas. 12 algoritmo "Notas" var notas: real i: inteiro inicio para i de 1 ate 5 faca escreva(i, "a. nota: ") leia(notas) fimpara escreval("Notas: ", notas) fimalgoritmo
  • 13. • Algoritmos • Estruturas Homogêneas • Saída: 13
  • 14. • Algoritmos • Estruturas Homogêneas • Vetores • Mas, se quisermos "armazenar" todos as notas em uma única variável? • Se quiséssemos acessar tais valores individualmente a qualquer momento? • Com o que foi visto até então, não é possível "alcançar" esse comportamento. 14
  • 15. • Algoritmos • Estruturas Homogêneas • Vetores • Em casos como esse que é útil a utilização das estruturas de dados homogêneas (vetores). • Vetores são variáveis que permitem armazenar vários valores do mesmo tipo. • Funciona como uma caixa, na qual você pode guardar o conteúdo que desejar. 15
  • 16. 16 Estruturas de dados homogêneas são estruturas que permitem armazenar um conjuntos de dados do mesmo tipo em uma única variável.
  • 18. • Algoritmos • Estruturas Homogêneas • Vetores • Tal como as variáveis simples, os vetores precisam ser declarados antes de utilizados. • Por se tratar de uma variável indexada a maneira como a declaramos é diferente. • A ideia geral é que estamos declarando diversas variáveis dentro de uma só.  Diferenciadas por um índice. 18
  • 19. • Algoritmos • Estruturas Homogêneas • Vetores  Estruturas que armazenam os dados em uma única linha e várias colunas. 19 1 2 3 4 5 índexes V[1..5] =
  • 20. • Algoritmos • Estruturas Homogêneas • Vetores  Estruturas que armazenam os dados em uma única linha e várias colunas. 20 1 2 3 4 5 índexes V[1..5] = 7 8.5 7.2 9.2 7.1
  • 21. • Algoritmos • Estruturas Homogêneas • Vetores  Sintaxe: • Tamanho = [Vi..Vf],  Vi = valor inicial; e  Vf = valor final. 21 <identificador> : vetor [tamanho] de <tipo>
  • 22. • Algoritmos • Estruturas Homogêneas • Vetores  Exemplo: • Declaração de um vetor com 10 posições.  Devem ser declarados dentro da sessão var. 22 notas : vetor [1..10] de real Nome do vetor Tipo de dados Tamanho do vetor (note que são apenas DOIS PONTOS!)
  • 24. • Algoritmos • Estruturas Homogêneas • Vetores • Vimos que vetores são "variáveis". • A declaração de um vetor apenas reserva espaço na memória e não associa valores a ele. • Porém, em algumas situações é necessário iniciar os vetores com algum valor predefinido.  Ou iniciar todo o vetor, dependendo do problema. 24
  • 25. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores • Assim como as variáveis comuns, os valores de um vetor também podem ser inicializados. • Sintaxe: 25 <identificador>[posição] ← <valor> <identificador>[posição] := <valor> Índice
  • 26. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {1} 26 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 fimalgoritmo 7 1 2 3 4 5
  • 27. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {1} 27 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 fimalgoritmo 7 8.5 1 2 3 4 5
  • 28. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {1} 28 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 fimalgoritmo 7 8.5 7.2 1 2 3 4 5
  • 29. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {1} 29 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 fimalgoritmo 7 8.5 7.2 0 0 1 2 3 4 5
  • 30. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {2} 30 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio escreva("Nota do 1o. Aluno: ") leia(notas[1]) escreva("Nota do 2o. Aluno: ") leia(notas[2]) escreva("Nota do 3o. Aluno: ") leia(notas[3]) fimalgoritmo
  • 31. • Algoritmos • Estruturas Homogêneas • Vetores → Atribuição de valores  Exemplo: {3} 31 algoritmo "ExVetores" var notas: vetor [1..5] de real i: inteiro inicio para i de 1 ate 5 faca escreva("Notas: ") leia(notas[i]) fimpara fimalgoritmo
  • 33. • Algoritmos • Estruturas Homogêneas • Vetores → Acessando valores  Exemplo: {1} 33 algoritmo "ExVetores" var notas: vetor [1..5] de real inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 escreval("1a. nota: ", notas[1]) escreval("2a. nota: ", notas[2]) escreval("3a. nota: ", notas[3]) fimalgoritmo
  • 34. • Algoritmos • Estruturas Homogêneas • Vetores → Acessando valores  Exemplo: {2} 34 algoritmo "ExVetores" var notas: vetor [1..5] de real i: inteiro inicio notas[1] ← 7 notas[2] ← 8.5 notas[3] ← 7.2 para i de 1 ate 5 faca escreval(i, "a. nota: ", notas[i]) fimpara fimalgoritmo
  • 35. • Algoritmos • Estruturas Homogêneas • Vetores → Acessando valores  Saída: {2} 35
  • 37. 37 Problema I Faça um algoritmo que leia 5 números inteiro fornecidos pelo teclado e "armazene-os" em um vetor. Em seguida, imprima-os na ordem em que foram "digitados".
  • 38. • Algoritmos  Resolução do Problema I 38 algoritmo "Problema 01" var numeros: vetor [1..5] de inteiro i, j: inteiro inicio para i de 1 ate 5 faca escreva("Digite um valor: ") leia(numeros[i]) fimpara para j de 1 ate 5 faca escreva(numeros[j]) fimpara fimalgoritmo
  • 39. 39 Problema II Faça um algoritmo que dado um vetor inicializado com 5 valores, some estes valores e em seguida imprima a soma.
  • 40. • Algoritmos 40 algoritmo "Problema 02" var numeros: vetor [1..5] de inteiro i, soma: inteiro inicio numeros[1] ← 7 numeros[2] ← 8 numeros[3] ← 2 numeros[4] ← 5 numeros[5] ← 3 para i de 1 ate 5 faca soma ← soma + numeros[i] fimpara escreval("Soma: ", soma) fimalgoritmo ResoluçãodoProblemaII
  • 41. 41 Problema III Faça um algoritmo que dado um vetor inicializado com 5 valores, apresente a média dos valores contidos no vetor.
  • 42. • Algoritmos 42 algoritmo "Problema 03" var numeros: vetor [1..5] de inteiro i, soma: inteiro media: real inicio numeros[1] ← 7 numeros[2] ← 8 numeros[3] ← 2 numeros[4] ← 5 numeros[5] ← 3 para i de 1 ate 5 faca soma ← soma + numeros[i] fimpara media ← soma / 5 escreval("Media: ", media) fimalgoritmo ResoluçãodoProblemaIII
  • 43. 43 Problema IV Faça um algoritmo que leia 5 números inteiros e "armazene-os" em um vetor. Em seguida, "imprima" somente os números pares que se encontram no vetor.
  • 44. • Algoritmos 44 algoritmo "Problema 04" var numeros: vetor [1..5] de inteiro i, j: inteiro inicio para i de 1 ate 5 faca escreva("Digite um valor: ") leia(numeros[i]) fimpara para j de 1 ate 5 faca se (numeros[j] % 2 = 0) entao escreval(numeros[j]) fimse fimpara fimalgoritmo ResoluçãodoProblemaIV
  • 45. 45 Problema V Faça um algoritmo que leia um vetor com 5 posições de números inteiros. Em seguida, "imprima" a quantidade de números pares existentes no vetor.
  • 46. • Algoritmos 46 algoritmo "Problema 05" var numeros: vetor [1..5] de inteiro i, j, conta_par: inteiro inicio para i de 1 ate 5 faca escreva("Digite um valor: ") leia(numeros[i]) fimpara para j de 1 ate 5 faca se (numeros[j] % 2 = 0) entao conta_par ← conta_par + 1 fimse fimpara escreval(conta_par) fimalgoritmo ResoluçãodoProblemaV
  • 47. 47 Problema VI Faça um algoritmo que dado um vetor de inteiro com 10 elementos, retorne o "maior" valor que se encontra no vetor.
  • 48. • Algoritmos  Resolução do Problema VI 48 algoritmo "Problema 06" var numeros: vetor [1..10] de inteiro i, mv: inteiro inicio // Suponha que o vetor já preenchido mv ← numeros[1] para i de 2 ate 10 faca se (numeros[i] > mv) entao mv ← números[i] fimse fimpara escreval(mv) fimalgoritmo
  • 49. 49 Problema VII Faça um algoritmo que dado um vetor de números inteiros e positivos com 10 elementos, apresente os índices dos "números ímpares".
  • 50. • Algoritmos  Resolução do Problema VII 50 algoritmo "Problema 07" var numeros: vetor [1..10] de inteiro i, j: inteiro inicio para i de 1 ate 10 faca escreva("Digite um valor: ") leia(numeros[i]) fimpara para j de 1 ate 10 faca se (numeros[j] % 2 <> 0) entao escreval("Valor ímpar na posição: ", i) fimse fimpara fimalgoritmo
  • 51. 51 Problema VIII Faça um algoritmo que dados um conjunto de valores inteiros armazene os seis primeiros números maiores do que ZERO em um vetor.
  • 52. • Algoritmos  Resolução do Problema VIII 52 algoritmo "Problema 08" var numeros: vetor [1..6] de inteiro i, valor: inteiro inicio repita escreva("Digite um valor: ") leia(valor) se (valor > 0) entao numeros[i] ← valor i ← i + 1 fimse ate(i > 6) fimalgoritmo