Fig.1: Ilustração de Estrutura de Dados Fonte: Internet



Documentos relacionados
ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS. Prof. Angelo Augusto Frozza, M.Sc.

Solução usando variáveis simples

Grupo C Vetores e Matrizes

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

LISTA DE EXERCÍCIOS: 3ª Unidade. Registros e Arquivos

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Introdução a Algoritmos Parte 07

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Tipos agregados. Tipos estruturados

UNIVERSIDADE FEDERAL DO PARANÁ

Estrutura de Dados Básica

Estruturas II UFOP 1/1

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Programação de Computadores I. Linguagem C Vetores

Lista de Exercícios. Vetores

Técnicas de Programação I


UNIVERSIDADE FEDERAL DE SANTA MARIA

INF 1620 P1-10/04/02 Questão 1 Nome:

Capítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Estruturas (Registros)

UNIDADE 5 ESTRUTURAS DE DADOS

Programação científica C++

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Estruturas (registros)

ALGORITMO I VARIÁVEIS INDEXADAS

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Introdução a Algoritmos Parte 04

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Resolução de problemas e desenvolvimento de algoritmos

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Introdução a Java. Hélder Nunes

UFERSA Universidade Federal Rural do Semi-Árido. R Project R Project Criando e manipulando objetos.

OBS.: Qualquer variável utilizada num subprograma que não for parâmetro deve ser considerada como variável local.

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Controle de Estoque. Apresentação. Cadastro de Grupos de Produtos. Cadastro de Produtos

Gerenciamento de Clientes

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Semântica de Referência e Vetores / Matrizes

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

1ª Lista de exercícios

Linguagem algorítmica: Portugol

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE.

Manual do Aluno Tutorial EAD S.O.S. Professor MANUAL DE ACESSO. Leia este Tutorial antes de entrar na sala de aula virtual

Algoritmos com VisuAlg

A4 Projeto Integrador e Lista de Jogos

MC-102 Aula 17 Strings e Matrizes

Terceira Avaliação Visualg & Pascal

TUTORIAL AMBIENTE WEB PORTUGOL

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Dadas a base e a altura de um triangulo, determinar sua área.

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Revisão 04 Capítulo 08 da Apostila - Modularização

1. NÍVEL CONVENCIONAL DE MÁQUINA

Algoritmo e Programação

Introdução à Ciência da Computação. Registros em C. Sumário. Registros. Agradecimentos. Parte dos slides a seguir são adaptações dos originais:

Aula Teórica 12. Material Didático Proposto

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Lista de Exercícios 03b Algoritmos Repetição

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Ficheiros binários 1. Ficheiros binários

Registros. Técnicas de Programação. Rafael Silva Guimarães

Unidade IV: Ponteiros, Referências e Arrays

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Programação de Computadores I. Ponteiros

CAPITULO 3 VARIÁVEIS DO TIPO ARRAY

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Linguagens de Programação

Tarefa Orientada 16 Vistas

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

Exercícios de Java Aula 20 - Matrizes

Modelo Relacional. 2. Modelo Relacional (Lógico)

Planilha Eletrônica - Excel

Algumas notas sobre PASCAL

Atividade: matrizes e imagens digitais

Prof. Dr. Iron Macêdo Dantas

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Disciplina de Banco de Dados Introdução

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Levantamento, Análise e Gestão Requisitos. Aula 12

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Disciplina: Unidade III: Prof.: Período:

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo.

Transcrição:

ATENÇÃO: LOCAL DE ALTERAÇÃO/ACRESCIMO!!!! 5. Estruturas de Dados Geralmente, os algoritmos são elaborados para manipulação de dados e quando estes dados estão organizados de forma coerente, representam uma estrutura de dados. Os tipos Primitivos (inteiro, real, caracter e lógico) não são suficientes para representar todos os tipos de dados. Geralmente são utilizados os tipos primitivos para construir outras estruturas de dados mais complexas. A organização dos dados é chamada de estrutura composta de dados que se divide em duas formas fundamentais: homogêneas (vetores e matrizes) e heterogêneas (registros). Fig.1: Ilustração de Estrutura de Dados 5.1 Vetores Os vetores são também denominados Estruturas Compostas Homogêneas Unidimensionais. Eles permitem a manipulação de um conjunto de informações de um mesmo tipo Primitivo unidimensional. Fig.2: Ilustração de Vetores 1

Declaração: tipo CLASSE = vetor [1.. 40] de reais; CLASSE: VCLASSE; Onde: CLASSE: Nome do tipo que está sendo construído 1: Limite inicial do vetor 40: Limite final do vetor reais: Tipo primitivo base do vetor VCLASSE: Nome da variável criada com o tipo construído Manipulação: Inteiro: A; VCLASSE[7] = 6,5; VCLASSE[2] = 7,8; VCLASSE[4] = 5,3; Leia(A); //supondo que foi informado 6 VCLASSE[A] = 9,8; VCLASSE[A-1] = 9,1; Leia(VCLASSE[A+3]); //supondo que foi informado 4,7 VCLASSE Fig.3: Ilustração o Resultado após a Operação no Vetor de nome VClasse Exemplo: Encontrar o número de notas acima da média usando variáveis simples. Neste exemplo as notas são variáveis simples tipo real (A,B,C,D,E,F,G,H,I,J), as quais foram lidas e checadas se são maiores que a média das notas. No final do programa a variável Inteiro NotaAcima tem o total de notas acima da média. início inteiro: NotaAcima; real: A, B, C, D, E, F, G, H, I, J, Média; NotaAcima = 0; leia (A,B,C,D,E,F,G,H,I,J); Média = (A + B + C + D + E + F + G + H + I + J)/10; se (A > Média) então NotaAcima = NotaAcima + 1; se (B > Média) então NotaAcima = NotaAcima + 1;... se (J > Média) 2

então NotaAcima = NotaAcima + 1; escreva (NotaAcima); fim. Exemplo: Encontrar o número de notas acima da média usando vetores. Neste exemplo as notas são elementos da variável VClasse do tipo Classe, as quais foram lidas e checadas se são maiores que a média das notas. O tipo Classe é um vetor de 10 elementos reais. No final do programa a variável Inteiro NotaAcima tem o total de notas acima da média. início tipo Classe = vetor [1.. 10] de reais; Classe: VClasse; inteiro: NotaAcima, X; real: Soma, Média; Soma = 0; NotaAcima = 0; para X de 1 até 10 passo 1 faça leia (VClasse[X] ); Soma = Soma + VClasse[X]; Média = Soma / 10; para X de 1 até 10 passo 1 faça se (VClasse[X] > Média ) então NotaAcima = NotaAcima + 1; escreva (NotaAcima); fim. 5.2 Matrizes Estas estruturas são denominadas de Estruturas Compostas Homogêneas multidimensionais, eles permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo multidimensional. 3

Fig.4: Ilustração da Estrutura Matriz Declaração: tipo SALA = matriz [1.. 4, 1.. 4] de inteiros; SALA: MSALA; Onde: SALA: Nome do tipo que está sendo construído 1: Limite inicial da primeira e da segunda dimensão 4: Limite final da primeira e da segunda dimensão inteiros: Tipo primitivo base da matriz MSALA: Nome da variável criada do tipo construído Manipulação: Inteiro: A,B; MSALA[2,3] = 5; MSALA[3,2] = 6; MSALA[1,2] = 7; A = 4; B = 3; MSALA[A,B] = 8; MSALA[A,B-2] = 9; MSALA[A-2,B-2] = 10; MSALA[B,A] = 11; MSALA[B-2,A] = 12; MSALA 4

Fig.5: Ilustração do Resultado do Exemplo de Matriz 5.2.1 Exemplos com o Cartão de Loteria Esportiva Fig.5: Ilustração de Exemplo de Matriz Exemplo1: Este exemplo utiliza o cartão de Loteria Esportiva para buscar o jogo mais marcado, ou seja, a linha mais marcada com x varrendo todas as 14 linhas e as 3 colunas. A variável mloteria é do tipo Loteria que é uma matriz de 14 linhas e 3 colunas de elementos caracteres. No final a variável inteiro njogo recebe o número correspondente do time que recebe o maior número de x s que está armazenado na variável inteiro maismar. início tipo Loteria = matriz [1.. 14, 1.. 3] de caracteres; Loteria: mloteria; inteiro: I, J, maismar, njogo, marlin; maismar = 0; para I de 1 até 14 faça 5

marlin = 0; para J de 1 até 3 faça se mloteria[ I, J] = x ; então marlin = marlin + 1; se marlin > maismar então maismar = marlin; njogo = I; escreva ( Jogo mais marcado:, njogo, com, maismar); fim. Exemplo2: Este exemplo utiliza o cartão de Loteria Esportiva para buscar a coluna mais marcada, ou seja, o time mais marcado com x varrendo todas as 14 linhas e as 3 colunas. A variável mloteria é do tipo Loteria que é uma matriz constituído de 14 linhas e 3 colunas de elementos caracteres. No final a variável inteiro ncoluna recebe o número correspondente do time que recebe o maior número de x s que está armazenado na variável inteiro maismar. início tipo Loteria = matriz [1.. 14, 1.. 3] de caracteres; Loteria: mloteria; inteiro: I, J, maismar, ncoluna, marcol; maismar = 0; para J de 1 até 3 faça marcol = 0; para I de 1 até 14 faça se mloteria [ I, J] = x ; então marcol = marcol + 1; se marcol > maismar então maismar = marcol; ncoluna = J; escreva ( Coluna mais marcada:, ncoluna, com, maismar); fim. 5.3 Registros Estas estruturas são denominadas de Estruturas Compostas Heterogêneas, eles permitem a manipulação de um conjunto de informações de tipos primitivos diferentes. 6

Exemplo: Passagem de ônibus. A variável Passagem do tipo regpassagem possui tipos primitivos diferentes como: inteiro (Número), caracter (Origem, Destino, Data e Horário), inteiro (Poltrona) e real (Distância). É possível manipular estes tipos primitivos de forma em conjunto (registro) através dos comandos de leitura e escrita. Desta forma pode-se ler e/ou alterar as informações dos elementos que compõem o registro como a origem, destino, distância, etc. Declaração: Fig.7: Ilustração de Registro tipo regpassagem = registro inteiro: Número; caracter: Origem, Destino, Data, Horário; inteiro: Poltrona; real: Distância; fimregistro; regpassagem: Passagem; Manipulação: leia (Passagem); escreva (Passagem); leia (Passagem.Origem); escreva (Passagem.Destino); Passagem.Distância = 500; 5.3.1 Registros de Conjuntos A combinação de estruturas heterogêneas com homogêneas pode ser obtida ao incluir num registro outro tipo de dados construído. Exemplo1: Registro de Estoque com Baixa Semanal. Neste exemplo temos a combinação de estruturas heterogêneas e homogêneas na variável Produto do tipo regprod. Este tipo regprod possui estrutura heterogênea constituída de tipos primitivos diferentes como: caracter (Nome), inteiro (Codigo) e real (Preço) e uma estrutura homogênea constituída do tipo vdias (Baixa) constituída de 6 elementos inteiros. É possível manipular estes tipos primitivos de forma em conjunto (registro) através dos comandos de leitura e escrita. Desta forma pode-se ler e/ou alterar as 7

informações dos elementos que compõem o registro como o nome, código, preço, baixa, etc. Declaração: Manipulação: Fig.8: Ilustração de Exemplo de Registro tipo vdias = vetor [ 1.. 6 ] de inteiros; tipo regprod = registro caracter: Nome; inteiro: Código; real: Preço; vdias: Baixa; fimregistro; regproduto: Produto; escreva (Produto.Nome); escreva (Produto.Código); escreva (Produto.Preço); escreva (Produto.Baixa [ 1 ]); Produto.Baixa [ 4 ] = 500; Exemplo2: Ônibus formado por Passagem. Neste exemplo temos a variável onibus do tipo vetpassagem constituído de 44 RegPassagem's. RegPassagem é um tipo de registro constituído de tipos primitivos como: inteiro (Número e Poltrona), caracter (Origem, destino, Data e Horário) e Real (Distância). Portanto, cada elemento do vetor Onibus possui um registro com um Número, Poltrona, Origem, Destino, Data e Horário. É possível manipular estes tipos primitivos de forma em conjunto (registro) através dos comandos de leitura e escrita. Desta forma pode-se ler e/ou alterar as informações dos elementos que compõem o registro como o número, origem, destino, data, horário, poltrona, etc. 8

Fig.9: Ilustração de Exemplo de Registro Declaração: Manipulação: tipo regpassagem = registro inteiro: Número; caracter: Origem, Destino, Data, Horário; inteiro: Poltrona; real: Distância; fimregistro; Tipo vetpassagem = vetor [ 1.. 44 ] de regpassagem; vetpassagem: Ônibus; leia (Onibus [ 7 ]); escreva ( Onibus [ 4 ]); leia ( Onibus [12].Origem); escreva ( Onibus [21].Destino); Onibus [34].Distância = 500; 5.4 Exercícios de Fixação 1 Crie um vetor X de N elementos e : 1.1 Crie outro vetor Y contendo os elementos de X que estão na faixa entre 10 e 40; 1.2 Crie outro vetor W contendo os números que estão nas posições pares; 1.3 Pesquise a existência de um determinado elemento Z no vetor X; 1.4 Escreva o menor e maior elemento do vetor X. 2. Analise o algoritmo apresentado a seguir e defina a situação dos elementos de A após sua execução, caso A = [2, 4, 1, 4, 6, 12, 21, 6, 10, 12, 23, 3]. Qual um algoritmo alternativo para igual implementação. inteiro i, j, k, x, A[n]; início para i de 1 até n - 1 faça 9

k = i; x = A[i]; para j de i +1 até n faça se (A[j] < x) então k = j; x = A[k]; fim se fim para A[k] = a[i]; A[i] = x; fim para fim 3. Faça um algoritmo que leia um vetor N[20]. A seguir, encontre o menor elemento do vetor N e a sua posição dentro do vetor, mostrando: O menor elemento de N é, M, e sua posição dentro do vetor é:,p. 4. Faça um algoritmo que leia uma matriz D[60,10]. A seguir, troque o 1º,1º elemento com o 31º,1º, o 2º,2º com o 32º,1º, etc. Mostre no final o vetor modificado. 5. Faça um algoritmo que leia um vetor K[10] e um vetor N[10]. A seguir, crie um vetor M que seja a diferença entre o vetor K e N (M=K-N). Mostre a seguir o vetor M. 6. Faça um algoritmo que manipule os elementos de um registrador da turma de Biologia. Crie uma variável turma do tipo vetturma constituído de 40 RegAlunos. RegAlunos deve ser um tipo de registro constituído de tipos primitivos como: inteiro (Número de matricula), caracter (nome, endereço, idade). Portanto, cada elemento do vetor turma possui um registro com um número de matricula, nome, endereço, idade. 1