Tipos Estruturados de Dados

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Programação em Java Prof. Maurício Braga
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA MECÂNICA INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Estruturas de Repetição
Lógica e Estrutura de Dados Fundamentais Professor: Eduardo O. Teles
Linguagem de Programação VI Tipos de Dados Compostos - structs
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
03/08/2011 Professor Leomir J. Borba- –
Nivelamento de C: Tipos Estruturados de Dados
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Alocação Dinâmica de Memória
Arrays Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs.: Luciana Nedel, Júlio Machado e Bernardo Copstein) Arrays Exercícios.
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
Linguagem de Programação 1
Algoritmos Escher.
LPG-I: Tipos Complexos - Estruturas
FUNÇÃO MODULAR.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Wagner Santos C. de Jesus
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
Universidade de Brasília
Professor Victor Sotero
Estruturas de Dados Heterogêneas (struct)
Estruturas de Dados Heterogêneas (struct)
Ponteiros.
Variável Variável: “objecto” que pode assumir diversos valores;
Tratamento de Ficheiros
1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3.
Escola Secundária c/ 3º CEB da Batalha
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Apontadores ou Ponteiros
Vamos agora aprender a utilizar estruturas.
Monitoria GDI Aula Prática
Listas e algoritmos (em Scratch)
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Variáveis, Tipos de Dados e Constantes
Introdução a Computação e Cálculo Numérico
Linguagem de Programação II Parte VII
Conversão de um NFA para um DFA com um exemplo
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Definição de Tipos Estruturas e Ponteiros
Estruturas de Dados com Jogos
Salas de Matemática.
Estrutura de dados, pseudocódigo
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 05 Aquiles Burlamaqui UERN
Estrutura de Dados Avançada
Aula prática 6 Vetores e Matrizes
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Fundamentos de Programação
Vetores e Matrizes Ameliara Freire
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Algoritmos e Estruturas de Dados I – Registros
Objetivos Representação de Algoritmos Português Estruturado
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
POTENCIAÇÃO E RAIZ QUADRADA DE NÚMEROS RACIONAIS
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL UNIDADE 4 Itens fundamentais para Desenvolvimento de algoritmos.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Estruturas definidas pelo programador
Transcrição da apresentação:

Tipos Estruturados de Dados UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL Tipos Estruturados de Dados Professora: Fabíola Gonçalves.

Agenda Estrutura de Dados Heterogênea Sintaxe Acesso as variáveis Atribuição de Valores Array de Estruturas Atribuição entre Estruturas

ESTRUTURA DE DADOS HETEROGÊNEA As variáveis vistas até agora eram: Simples: definidas por tipo int, real e char; Compostas homogêneas: definidas por array; É possível que se criem novas estruturas a partir dos tipos básicos.

ESTRUTURA DE DADOS HETEROGÊNEA Estrutura suporta K variáveis, cada qual com um tipo de dado próprio; Sintaxe: estrutura nomestruct{ tipo1 campo1; tipo2 campo2; ... tipon campon; };

ESTRUTURA DE DADOS HETEROGÊNEA Ex.: estrutura cadastro { char nome[100]; int idade; char rua[50]; int numero; } ; cadastro char nome[100]; int idade; char rua[50]; int numero;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA - DECLARAÇÃO Uma vez definida a estrutura, uma variável pode ser declarada de modo similar aos tipos já existente: estrutura cadastro c; Obs: por ser um tipo definido pelo programador, usa- se a palavra estrutura antes do tipo da nova variável. Palavra reservada Estrutura Já definida Nome variável

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA O uso de estruturas facilita na manipulação dos dados do programa; Imagine ter que declarar 4 cadastros, para 4 diferentes pessoas: char nome1[100], nome2[100], nome3[100], nome4[100]; int idade1, idade2, idade3, idade4; char rua1[50], rua2[50], rua3[50], rua4[50]; int numero1, numero2, numero3, numero4;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA Utilizando uma estrutura, o mesmo pode ser feito da seguinte maneira: estrutura cadastro p1, p2, p3, p4, p5;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA Exercício: Declare uma estrutura capaz de armazenar o número de um aluno e 3 notas para um dado aluno.

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA Exercício: Declare uma estrutura capaz de armazenar o número e 3 notas para um dado aluno. estrutura aluno { int num_aluno; int nota1, nota2, nota3; };

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA – ACESSO ÀS VARIÁVEIS Como é feito o acesso às variáveis da estrutura? Cada variável da estrutura pode ser acessada com o operador “.”. Sintaxe: nomeEstrutura.nomeVariavel Ex.: copiar(c.nome,"João"); c.idade = 18; copiar(c.rua,"Avenida Brasil"); c.numero = 1082;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA – ACESSO ÀS VARIÁVEIS Como nos arrays, uma estrutura pode ser previamente inicializada: estrutura ponto { int x; int y; }; estrutura ponto p1 = { 220, 110 }; Permite inicializar as variáveis da estrutura.

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA – ACESSO ÀS VARIÁVEIS E se quiséssemos ler os valores das variáveis da estrutura do teclado? Resposta: basta ler cada variável independentemente, respeitando seus tipos. EX: leia(c.nome); escreva(c.idade); leia(c.rua); escreva(c.numero);

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA – ACESSO ÀS VARIÁVEIS Note que cada variável dentro da estrutura pode ser acessada como se apenas ela existisse, não sofrendo nenhuma interferência das outras. Assim: Uma estrutura pode ser vista como um simples agrupamento de dados.

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA Voltando ao exemplo anterior, se, ao invés de 5 cadastros, quisermos fazer n cadastros?

ESTRUTURA DE DADOS HETEROGÊNEA ARRAY DE ESTRUTURA SOLUÇÃO: criar um array de estruturas; Sua declaração é similar a declaração de uma array de um tipo básico: estrutura cadastro c[100]; Desse modo, declara-se um array de 100 cadastros.

ESTRUTURA DE DADOS HETEROGÊNEA ARRAY DE ESTRUTURA Lembrando: estrutura: define um “conjunto” de variáveis que podem ser de tipos diferentes; array: é uma “lista” de elementos de mesmo tipo. Como assim?

ESTRUTURA DE DADOS HETEROGÊNEA ARRAY DE ESTRUTURA Exercício: Utilizando a estrutura do exercício anterior, faça um programa para ler o número e as 3 notas de 10 alunos.

ESTRUTURA DE DADOS HETEROGÊNEA ARRAY DE ESTRUTURA Exercício: Utilizando a estrutura do exercício anterior, faça um programa para ler o número e as 3 notas de 10 alunos. estrutura aluno { int num_aluno; int nota1, nota2, nota3; }; estrutura aluno a[10]; int i; para i de 1 até 10 faça leia(a[i].num_aluno); leia(a[i].nota1); leia(a[i].nota2); leia(a[i].nota3); fim para

ESTRUTURA DE DADOS HETEROGÊNEA ATRIBUIÇÃO ENTRE ESTRUTURAS Atribuições entre estruturas só podem ser feitas quando os campos são IGUAIS! Ex.: estrutura cadastro c1,c2; c1 = c2; //CORRETO Ex: estrutura cadastro c1; estrutura ficha c2; c1 = c2; //ERRADO!! TIPOS DIFERENTES

ESTRUTURA DE DADOS HETEROGÊNEA ATRIBUIÇÃO ENTRE ESTRUTURAS No caso de estarmos trabalhando com arrays, a atribuição entre diferentes elementos do array também é válida; Ex: estrutura cadastro c[10]; c[1] = c[2]; //CORRETO Note que nesse caso, os tipos dos diferentes elementos do array são sempre IGUAIS.

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA DE ESTRUTURAS Sendo uma estrutura um tipo de dado, podemos declarar uma estrutura que utilize outra estrutura previamente definida: estrutura endereco{ char rua[50] int numero; }; estrutura cadastro{ char nome[50]; int idade; estrutura endereco ender;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA DE ESTRUTURAS Nesse caso, o acesso aos dados do endereço do cadastro é feito utilizando novamente o operador “.”; estrutura cadastro c; copia(c.nome,"João"); c.idade = 18; copia(c.ender.rua,"Avenida Brasil"); c.ender.numero = 1082;

ESTRUTURA DE DADOS HETEROGÊNEA ESTRUTURA DE ESTRUTURAS Inicialização de uma estrutura de estruturas: estrutura ponto { int x, y; }; estrutura reta { estrutura ponto inicio, fim; estrutura reta r = {{10,20},{30,40}}; r.ponto.x r.ponto.y

REFERÊNCIAS Adaptada da apresentação de André Backes; Martins, L. G. A., Silva, A. J. Introdução à Algoritmos. Apostila da FACOM-UFU.