Construcao de Algoritmos - Aula 13

63 visualizações

Publicada em

Procedimentos e Funções
Estruturas de dados homogêneas - vetores e matrizes
Registros

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

  • Seja a primeira pessoa a gostar disto

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

Nenhuma nota no slide

Construcao de Algoritmos - Aula 13

  1. 1. Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  2. 2. Link Drive bit.ly/ads-algoritmos 2
  3. 3. 3 Algoritmos
  4. 4. 4 Registros
  5. 5. • Registros • Introdução • Exemplo: • De que forma você criaria um algoritmo para declarar quatro cadastros para quatro pessoas? • Nome; • Idade; e • Sexo. 5
  6. 6. • Registros • Introdução • Exemplo: • De que forma você criaria um algoritmo para declarar quatro cadastros para quatro pessoas? 6 algoritmo "Exemplo 01" var nome1, nome2, nome3, nome4 : literal idade1, idade2, idade3, idade4: inteiro sexo1, sexo2, sexo3, sexo4: caractere inicio // instruções lógicas fimalgoritmo
  7. 7. • Registros • Introdução • Os tipos de variáveis vistos até então podem ser classificados em duas categorias:  Tipos básicos: inteiro, real, literal e etc.  Tipos homogêneos: vetores e matrizes. • Dependendo do tipo de problema a ser resolvido, esses tipos podem não ser suficientes. • Por essa razão, em Portugol é possível criar novos tipos de dados a partir dos tipos básicos. 7
  8. 8. • Registros • Introdução • Para criar um novo tipo de dado utilizamos as estruturas tipo e registro. • A ideia básica é criar apenas um tipo de dado que contenha vários membros. • Em outras palavras, a ideia é criar uma variável que contém dentro de si outras variáveis.  Esse novo tipo de dados deve ser criado acima da sessão var (versão >= 3 do Visualg). 8
  9. 9. 9 A versão 3 do Visualg NÃO suporta o tipo de dados literal.
  10. 10. 10 Estruturas: tipo
  11. 11. • Registros • Estruturas: tipo  Sintaxe: declarando um registro 11 tipo nome_registo = registro campo1: tipo1 campo2: tipo2 ... campon: tipon fimregistro O tipo1..n pode ser qualquer tipo de dado válido em Portugol.
  12. 12. • Registros • Estruturas: tipo  Exemplo 12 tipo cadastro = registro nome: caractere idade: inteiro sexo: caractere fimregistro
  13. 13. 13 Os nomes dos campos de uma estrutura devem ser diferentes uns dos outros. Porém, estruturas diferentes podem ter membros com nomes iguais.
  14. 14. • Registros • Estruturas: tipo  Exemplo 14 tipo cadastro = registro nome: caractere idade: inteiro sexo: caractere fimregistro tipo aluno = registro nome: caractere matricula: inteiro n1, n2: real fimregistro Cadastro: Aluno:
  15. 15. 15 Estruturas: tipo <Declarando uma variável do tipo da estrutura>
  16. 16. • Registros • Estruturas: tipo • A maneira como é declarada uma variável do tipo registro, é igual aos tipos estudados.  nome_variavel: tipo_registro • Ter de declarar quatro cadastros para quatro pessoas diferentes: • Utilizando um registro, o mesmo pode ser feito da seguinte maneira: c1, c2, c3, c4: cadastro 16 nome1, nome2, nome3, nome4 : literal idade1, idade2, idade3, idade4: inteiro sexo1, sexo2, sexo3, sexo4: caractere
  17. 17. 17 Estruturas: tipo <Acessando os campos de uma estrutura>
  18. 18. • Registros • Estruturas: tipo • Uma vez definida uma variável do tipo registro, é preciso acessar seus campos para se trabalhar. • O operador de acesso aos campos da estrutura é o ponto (.). • Sintaxe:  nome_variavel.campo 18
  19. 19. • Registros • Estruturas: tipo 19 algoritmo "Registro Atribuição" tipo cadastro = registro nome: caractere idade: inteiro sexo: caractere fimregistro var cad: cadastro inicio cad.nome ← "Paulo" cad.idade ← 21 cad.sexo ← "M" fimalgoritmo
  20. 20. 20 Se quiséssemos atribuir valores aos campos da estrutura a partir do teclado?
  21. 21. • Registros • Estruturas: tipo 21 Exemplo... algoritmo "Registro Atribuição" tipo cadastro = registro nome: caractere idade: inteiro sexo: caractere fimregistro var cad: cadastro inicio escreval("Nome: ") leia(cad.nome) escreval("Idade: ") leia(cad.idade) // demais campos.. fimalgoritmo
  22. 22. 22 Estruturas: tipo <Vetor de estruturas>
  23. 23. 23 De que forma você criaria um algoritmo para declarar quatro cadastros para quatro pessoas?
  24. 24. • Registros • Estruturas: tipo • Utilizando variáveis simples... • Utilizando uma estrutura, o mesmo pode ser feito da seguinte maneira:  c1, c2, c3, c4: cadastro • Esse problema pode ser simplificado se utilizarmos o conceito de vetores:  cadastros: vetor [1..4] de cadastro 24 nome1, nome2, nome3, nome4 : literal idade1, idade2, idade3, idade4: inteiro sexo1, sexo2, sexo3, sexo4: caractere
  25. 25. • Registros • Estruturas: tipo 25 Exemplo... algoritmo "Vetor de Registros" tipo cadastro = registro // campos do registro.. fimregistro var cadastros: vetor [1..4] de cadastro i: inteiro inicio para i de 1 ate 4 faca escreva("Nome: ") leia(cadastros[i].nome) escreva("Idade: ") leia(cadastros[i].idade) escreva("Sexo [F/M]: ") leia(cadastros[i].sexo) fimpara fimalgoritmo

×