Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Estruturas de Dados: Vetores e Matrizes em Algoritmos e Programação, Resumos de Lógica Matemática

Este documento fornece uma explicação detalhada sobre a declaração, referenciação e exemplos de aplicação de vetores unidimensionais, bidimensionais e n-dimensionais, assim como matrizes em algoritmos e programação. Além disso, aborda a criação e referenciação de registros.

Tipologia: Resumos

2023

Compartilhado em 15/01/2024

jucimar-oliveira-macedo-da-silva
jucimar-oliveira-macedo-da-silva 🇧🇷

1 documento

1 / 14

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
21/09/2020
1
Algoritmos e Programação
Módulo V: Estruturas de Dados Homogêneas e Heterogêneas e Registros
1
Sumário
Vetor es
Cadeias de Caracteres
Matrizes
Cubos
Registros
Exercícios
2
Sumário
Vetor es
Cadeias de Caracteres
Matrizes
Cubos
Registros
Exercícios
3
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Pré-visualização parcial do texto

Baixe Estruturas de Dados: Vetores e Matrizes em Algoritmos e Programação e outras Resumos em PDF para Lógica Matemática, somente na Docsity!

Algoritmos e Programação

Módulo V: Estruturas de Dados Homogêneas e Heterogêneas e Registros

Sumário

• Vetores

• Cadeias de Caracteres

• Matrizes

• Cubos

• Registros

• Exercícios

Sumário

• Vetores

• Cadeias de Caracteres

• Matrizes

• Cubos

• Registros

• Exercícios

Vetores

  • Um vetor pode ser definido como uma estrutura de dados homogênea indexada utilizada para representar um conjunto de variáveis de um mesmo tipo, onde cada variável pode armazenar uma informação (valor) diferente de outra variável do conjunto
  • Cada variável do conjunto possui um índice que representa sua posição na estrutura - Isso permite não só a individualização da variável, mas também acesso rápido

a ela

  • Vetores possuem tamanho fixo (número de posições definida)
    • Mas em algumas linguagens de programação vetores podem ter tamanho

dinâmico

4 Vetores

  • Os vetores são classificados de acordo com sua dimensão - Unidimensional - Bidimensional - tridimensional - etc. 5 Vetores
  • Pode-se comparar um vetor com um conjunto de caixinhas enumeradas
  • Cada caixinha é capaz de armazenar um valor e possui um “endereço”
  • O endereço da caixinha é o índice e serve para identificar qual a posição da

mesma no vetor

  • No vetor unidimensional representado abaixo tem-se, por exemplo, armazenado no índice “5” o valor “4.7” - O primeiro índice de um vetor é sempre o “0”

Índice 0 1 2 3 4 5 6 7 8 9

Valor 8.5 7.6 9.3 10.0 6.3 4.7 8.8 9.0 3.6 9.

6

Vetores Unidimensionais – Exemplo vetorNum : vetor [50] de inteiro vetorLetra : vetor [23] de caractere

vetorReal : vetor [35] de real Para vetorNum^ (i^ = 0;^ i^ [<i] =^ Tam Tam;^ i^ = –^ i i+1)

Fim-Para

Para (i = 0; i < Tam; i = i +1)

vetorReal[i] = VetorNum[Tam – i – 1]

Fim-Para

10 Sumário

  • Vetores
  • Cadeias de Caracteres
  • Matrizes
  • Cubos
  • Registros
  • Exercícios 11 Cadeias de Caracteres
  • Comumente conhecidas como strings , cadeias de caracteres podem ser vistas como vetores unidimensionais
  • Toda cadeia de caractere é finalizada pelo caractere nulo “/0”
  • Se se deseja armazenar uma cadeia de 19 caracteres, deve-se declarar um

vetor de, pelo menos, 20 posições

NOME DO CURSO

D E S E N V O L V I M E N T O W E B /

12

Cadeias de Caracteres

  • A declaração e a referenciação de uma cadeia de caracteres obedece as

regras de declaração e referenciação de vetores unidimensionais, ou seja,

nomeVetor : vetor[n] de caractere

nomeVetor = “Desenvolvimento Web”

  • As instruções usadas para acesso de variáveis podem ser normalmente

utilizadas para manipulação de vetores

Leia (nomeVetor)

Escreva (nomeVetor)

13 Sumário

  • Vetores
  • Cadeias de Caracteres
  • Matrizes
  • Cubos
  • Registros
  • Exercícios 14 Vetores Bidimensionais – Referenciação
  • Vetores bidimensionais são também conhecidos como matrizes
  • A referenciação, ou seja, o acesso aos índices de um vetor bidimensional deve adotar a seguinte sintaxe:

nome_do_vetor[índice][índice]

  • Para, por exemplo, armazenar o valor 7.0 na primeira posição do vetor de notas seria necessário utilizar a instrução de atribuição

notas[0][0] = 7.

  • A única diferença entre atribuição de de variáveis simples e vetores é que com vetores torna-se necessário indicar o índice da posição que deve ser acessada 15

Sumário

  • Vetores
  • Cadeias de Caracteres
  • Matrizes
  • Cubos
  • Registros
  • Exercícios 19 Vetores Tridimensionais – Referenciação
  • Vetores tridimensionais são também conhecidos como cubos
  • A referenciação, ou seja, o acesso aos índices de um vetor tridimensional deve adotar a seguinte sintaxe:

nome_do_vetor[índice][índice][índice]

  • Para, por exemplo, armazenar o valor 7.0 na primeira posição do vetor de notas seria necessário utilizar a instrução de atribuição

notas[0][0][0] = 7.

  • A única diferença entre atribuição de de variáveis simples e vetores é que com vetores torna-se necessário indicar o índice da posição que deve ser acessada 20 Vetores Tridimensionais – Exemplo vetorNum : vetor [50][50][50] de inteiro vetorLetra : vetor [23][20][10] de caractere vetorReal : vetor [35][35][35] de real

Para (i = 0; i < Tam; i = i +1)

Para (j = 0; j < Tam; j = j +1)

Para (k = 0; k < Tam; k = k + 1)

vetorNum[i][j][k] = Tam – i + j - k

Fim-Para

Fim-Para

Para Para (i = 0;(j = 0; i < j Tam< Tam; i ;= j i= +1) j +1) Fim-Para

Para (k = 0; k < Tam; k = k +1)

vetorReal[i][j][k] = VetorNum[Tam – i – 1][Tam – j – 1][Tam – k – 1]

Fim-Para

Fim-Para

Fim-Para

21

Vetores N-dimensionais – Referenciação

  • A referenciação, ou seja, o acesso aos índices de um vetor n-dimensional

deve adotar a seguinte sintaxe:

nome_do_vetor[índice][índice][índice]...

  • Para, por exemplo, armazenar o valor 7.0 na primeira posição do vetor de

notas seria necessário utilizar a instrução de atribuição

notas[0][0][0]... = 7.

  • A única diferença entre atribuição de de variáveis simples e vetores é que

com vetores torna acessada -se necessário indicar o índice da posição que deve ser

22 Vetores 23 Sumário

  • Vetores
  • Cadeias de Caracteres
  • Matrizes
  • Cubos
  • Registros
  • Exercícios 24

Registros – Sintaxe e Declaração

  • Sintaxe
    • Registro : declara um

registro

  • Membro : declara os

membros do registro

  • Rótulo (opcional): atribui

um nome ao registro

Registro ponto: x y :: inteirointeiro Fim-Registro A declaração de um registro define um tipo

VAR

ab x :: pontointeiro Registro nome_do_registro: membro1 membro2:: Tipo_de_DadosTipo_de_Dados Fim-Registro 28 Registro – Referenciação

  • A referenciação, ou seja, o acesso aos membros de um registro deve adotar a seguinte sintaxe:

nome_do_registro.membro

  • Para, por exemplo, atribuir o valor 1.3 ao membro x de uma variável do tipo pontoXY seria necessário utilizar a instrução de atribuição

ab.x = 1.

29 Registro – Referenciação

  • O operador de membro de registro “.” conecta o nome do registro e o nome do nome
  • Para mostra as coordenadas do ponto ab , por exemplo, seriam necessárias as seguintes instruções

Imprima (ab.x)

Imprima (ab.y)

30

Registros – Aninhamento

  • Registros podem ser aninhados
  • A representação de um retângulo é um par de pontos que denota os vértices diagonalmente opostos

Registro retangulo:

pt1 : Registro ponto

pt2 : Registro ponto

Fim-Registro

31 Registros – Aninhamento

  • Se uma variável for declarada usando o registro retangulo , tem-se

tela : Registro retangulo

  • O acesso ao membro x do membro pt1 do registro ficaria

tela.pt1.x

32 Registro – Exemplo Algoritmo MostreDadosFunc VAR Registro funcionário: nome idade :: vetorinteiro [30] de caractere sexo altura :: caracterereal Fim-Registro func : Registro funcionario Início func.nome func.idade = “João”= 35 func.sexo = ‘M’ func.altura = 1. Imprima Imprima (“Nome: “)(func.nome) Imprima (“Idade: “) Imprima Imprima ((“Sexo: “)func.idade) Imprima Imprima ((“Altura: “)func.sexo) Imprima (func.altura) Fim-Algoritmo 33

Registros – Vetores de Registros

  • Considere escrever um algoritmo para contar a ocorrência de determinadas palavras em um texto
  • Torna-se necessário um vetor de caracteres para guardar os nomes e um vetor de inteiros para as quantidades

palavra_chave : vetor [20] de caracteres

quantidade : inteiro

  • Esses vetores são paralelos, ou seja, serão usados juntos
    • Isso sugere uma organização diferente – Um vetor de registros 37 Registros – Vetores de Registros Registro chave: palavra_chave : vetor [20] de caractere Fim-Registro^ quantidade^ :^ inteiro palavra_chave quantidade palavra_chave quantidade palavra_chave quantidade 0 ...^ N

tabelaChave : vetor[N] de Registro chave

38 Registros – Vetores de Registros Algoritmo ContarPalavras Registro chave: palavra_chave : vetor [20] de caractere Fim-Registro^ quantidade^ :^ inteiro VAR tam, i, j : inteiro tam tabelaChave = 100 : vetor [3] de Registro chave texto : vetor [tam] de caractere Início texto = “Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel gravida nisl non eget elit dui volutpat nec egestas ultricies. Mauris. Cras euismod ut consectetur sem quis tortor sapien. Suspendisse pharetra elementum elit. Quisque. Curabitur ac mauris non eu est posuere efficitur elit bibendum, nec congue vitae lacinia massa. Aliquam leo. Mauris et lorem eu laoreet blandit lorem.euismod Proin. Ut ac mattis tristique et lectus justo sed. Mauris tristique lorem. Morbi tempus dui non erat, pretium non nulla eu dapibus, rutrum nulla finibus. Donec orci blandit. Suspendisse libero a sit tristique amet volutpat congue massa. Integer.. Duis sit” amet tabelaChave tabelaChave[0].[0].quantidade = 0palavra_chave = “justo” tabelaChave tabelaChave[1].[1].quantidade = 0palavra_chave = “consectetur” tabelaChave tabelaChave[2].[2].quantidade = 0palavra_chave = “ac” Para j = 0 (i = 0; i < 3; i = i + 1) Enquanto Se (tabelaChave (j < 100)[ Faça i].palavra_chave == texto[j]) Então tabelaChave[i].quantidade = tabelaChave[i].quantidade + 1 Fim^ Fim - Enquanto^ - Se Fim - Para Para Im prim a (i = 0; (^) i(“Quantidade de vezes palavra “) < 3; i = i + 1) Im prim a Im prim a ((“ apareceu foi: ”)tabelaChave[i].palavra_chave) Fim^ Im prim a - Para^ (tabelaChave[i].quantidade) Fim - Algoritm o 39

Sumário

  • Vetores
  • Cadeias de Caracteres
  • Matrizes
  • Cubos
  • Registros
  • Exercícios 40 Exercícios 41 Referências
  1. http://www.facom.ufu.br/~backes/gsi002/Aula01- AlgoritmosFluxogramas.pdf
  2. https://dicasdeprogramacao.com.br/o-que-sao-vetores-e-matrizes- arrays/
  3. ftp://ftp.sm.ifes.edu.br/professores/EduardoSilva/Engenharia/Algor itmos/Logica%20de%20Programacao%20-%20Apostila%20SITE.pdf 42