Algoritmos Escher.

Slides:



Advertisements
Apresentações semelhantes
Conteúdo: - Atribuição de Valores a Variáveis.
Advertisements

Algoritmo I Aula 05 Pseudo-Linguagem.
Lógica e Estrutura de Dados Fundamentais Professor: Eduardo O. Teles
Linguagem de Programação VI Tipos de Dados Compostos - structs
Algoritmo e Programação
Construção de Algoritmos AULA 07
Programação II Estruturas de Dados
Introdução a Programação
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.
Programação II Estruturas, uniões e enumerações
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
Algoritmos Escher.
AULA – Linguagem C – Vetores, Ponteiros Estruturas
Algoritmos Escher.
Linguagem de Programação 1
LPG – I Prof. Flavio Marcello
LPG-I: Tipos Complexos - Estruturas
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
Curso de Programação em C++
Professor Victor Sotero
Estruturas de Dados Heterogêneas (struct)
Vetores, Matrizes e Funções
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Estruturas de Dados Heterogêneas (struct)
Exercícios de php Dia 04/03/2011.
Ponteiros.
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.
Vamos agora aprender a utilizar estruturas.
O Portal do Estudante de Computação
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Registros.
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
Exercício 1 Faça um programa que receba como entrada o nome e o salário de um funcionário de uma empresa e que calcule o novo valor do salário do.
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte V
Definição de Tipos Estruturas e Ponteiros
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estrutura de Dados Avançada
Tipos Estruturados de Dados
Seminário 1: Revisão de C
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Programação em C++ Compiladores
Aula 10 - Armazenamento de Dados em Registros
Vetores e Matrizes Ameliara Freire
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Algoritmos e Estruturas de Dados I – Registros
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Algoritmos e Estruturas de Dados I – Registros
Tipos de dados inteiro caracter real logico
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Estruturas Revisando: tipos de dados simples
PCI- Registros Profa. Mercedes Gonzales Márquez. Conceito Variáveis compostas heterogêneas (não homogêneas) Estruturas: variáveis que podem conter uma.
VETORES.
Linguagem de Programação II Parte VI Professora: Flávia Balbino da Costa.
Linguagem de Programação II
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados.  Variáveis Compostas homogenias Objetivo: apresentar VETOR.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Linguagem de Programação
Programação de Computadores I – Arquivos Profa. Mercedes Gonzales Márquez.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Transcrição da apresentação:

Algoritmos Escher

Agenda Estruturas Heterogêneas; Exercícios.

Conceitos Iniciais Motivação: Tipos básicos: Tipos de Dados Inteiros Tipos de Dados Reais Tipos de Dados Caracteres (String) Variáveis guardam um só valor. Tipos de Dados Homogêneos Vetores e Matrizes Variáveis guardam coleções de objetos de mesmo tipo. Como guardar coleções de tipos diversos?

Conceitos Iniciais Estruturas Heterogêneas – Estrutura (Struct): Para armazenar, ou agrupar, informações “relacionadas” que têm tipos diferentes deve-se utilizar variáveis do tipo registro, ou estrutura (struct). structs armazenam diversos itens de uma só vez; Isto significa, que numa mesma estrutura de dados, é possível ter diversas variáveis de tipos de dados básicos agrupadas.

Conceitos Iniciais Estruturas Heterogêneas – Estrutura (Struct): Contém um número fixo de elementos chamados de campos, ou “membros”; Os campos podem ser de tipos diferentes (estrutura heterogênea); Cada campo tem um nome próprio chamado de “identificador de campo”, onde campo = unidade de registro.

Estruturas - struct Campos x Registros: Registros - informações do cadastro. Campos - informações do registro. Os clientes de uma empresa nome, endereço, e-mail, cpf, ... Os assinantes da lista telefônica nome, telefone, endereço Os alunos da disciplina de Matemática matrícula, nome, faltas, notas bimestrais, situação

Estruturas - struct Contextualizando: Considere que seja informado o nome de um aluno e suas quatro notas bimestrais que deverão ser agrupadas. Esquema de um registro (struct) de aluno formado pelos campos: Nome, Primeira Nota, Segunda Nota, Terceira Nota e Quarta Nota. Cadastro de Notas Escolares Nome..........:_______________________ Primeira Nota.: ________ Segunda Nota..: ________ Terceira Nota.: ________ Quarta Nota...: ________

Estruturas - struct Sintaxe: Na linguagem C, os registros (ou structs) devem ser definidos antes das declarações das variáveis, pois é muito comum ocorrer a necessidade de se declarar uma ou mais variáveis com o tipo de registro definido, conforme a seguinte sintaxe:

Estruturas - struct Sintaxe: struct <IdentificadorDoRegistro> { // definição do tipo registro, ou seja, definição da struct struct <IdentificadorDoRegistro> { <lista dos tipos e seus campos (ou membros)>; }; // declaração da variável do tipo registro definido, struct <IdentificadorDoRegistro> <NomeDaVariável>; IdentificadorDoRegistro: nome do tipo registro definido lista dos tipos e seus campos: relação de tipos e campos do registro. NomeDaVariável: nome da variável declarada a partir do tipo registro definido anteriormente.

Estruturas - struct Campos (ou membros): onde: struct <IdentificadorDoRegistro> { <tipo1> <campo1>; <tipo2> <campo2>; ... <tipoN> <campoN>; }; onde: campo1, campo2, ..., campoN: representam os nomes associados a cada campo do registro; tipo1, tipo2, ..., tipoN: representam qualquer um dos tipos básicos ou ‘tipo anteriormente definido’.

Estruturas - struct Definindo uma struct - Exemplo: Considere : Ling. C: Cadastro de Notas Escolares Nome..........:_______________________ Primeira Nota.: ________ Segunda Nota..: ________ Terceira Nota.: ________ Quarta Nota...: ________ // definição do tipo registro CNotasEscolar struct CNotasEscolar { char nome[35]; float nota1, nota2; float nota3, nota4; };

Estruturas - struct Campos (ou membros): // declaração da variável Aluno declarada a partir do tipo registro CNotasEscolar struct CNotasEscolar Aluno; Este exemplo corresponde à definição de um modelo de um registro (CNotasEscolar) e à criação de uma área de memória chamada Aluno, capaz de conter cinco subdivisões, ou campos: nome, nota1, nota2, nota3 e nota4.

Estruturas - struct Como acessar os Campos (ou membros): Para utilizar um campo específico do registro, deve-se diferenciar esse campo. Para tal, utiliza-se o caractere “.” (ponto) para estabelecer a separação do nome da variável registro do nome do campo. struct CNotasEscolar { char nome[35]; float nota1, nota2; float nota3, nota4; }; struct CNotasEscolar Aluno; // para acessar nota1 faremos: Aluno.nota1 = 10.0; Para denotar tipos estruturados registro (struct) ponto

Estruturas - struct Operações Básicas com Struct: Do mesmo modo que acontece com variáveis simples, também é possível realizar operações de atribuição (=), leitura (cin) e escrita (cout) com variáveis tipo struct. struct RgAluno { char nome[35]; float nota1; float nota2; }; struct RgAluno Aluno, NewAluno; NewAluno = Aluno; Neste caso o acesso ao registro é feito genericamente, ou seja, todos os campos do registro são envolvidos na operação de atribuição.

Estruturas - struct Lendo e Escrevendo valor da struct: #include <iostream> using namespace std; //tipo struct (Global) struct RgAluno { char nome[35]; //Valores Digitados float nota1; float nota2; }; struct RgAluno Aluno; main () { // } cout << "Nota 1o. Bimestre: "; cin >> Aluno.nota1; cout << "Nota 2o. Bimestre: "; cin >> Aluno.nota2; cout << "\n\n\nNome do Aluno: " << Aluno.nome; cout << "\nNota 1o. Bimestre: " << Aluno.nota1; cout << "\nNota 2o. Bimestre: " << Aluno.nota2; cout << "Nome do Aluno: "; cin >> Aluno.nome;

Estruturas – Exercícios 1. Crie uma estrutura com os campos: Nome Endereco Idade Leia a estrutura acima definida; Escreva a mensagem “maior de idade” se idade > 18; Escreva os dados da estrutura. 2. Reescreva o programa acima para 5 pessoas;

Aluno.nota[1] = 7.5; cin << Aluno.nota[3]; Estruturas - struct Campos do registro declarados como vetor: Para manipular um campo do registro do tipo vetor deve-se obedecer às manipulações próprias de cada estrutura de dados, ou seja: Aluno.nota[1] = 7.5; cin << Aluno.nota[3]; struct RgAluno { char nome[35]; float nota [4]; }; struct RgAluno Aluno; Cadastro de Notas Escolares Nome.: _____________________ 0 1 2 3 Nota.:

Estruturas – Exercícios 3. Crie uma estrutura conforme RgAluno no slide anterior: Leia a estrutura; Calcule a média; Escreva os dados da estrutura e mostre a média;. 4. Reescreva o programa acima para 5 pessoas;

cin << Aluno[1].nome; cin << Aluno[i].nota[1]; Estruturas - struct struct RgAluno { char nome[35]; float nota [4]; }; struct RgAluno Aluno [30]; Vetor de Registros: Para controlar as notas de 30 alunos, numerados de 0 até 29 seqüencialmente, basta criar um vetor no qual cada posição é um elemento do tipo registro RgAluno. cin << Aluno[1].nome; cin << Aluno[i].nota[1]; ALUNO [ ? ] 0 1 ... 29 Cadastro de Notas Escolares Nome.: _____________________ 0 1 2 3 Nota.:

Estruturas – Exercícios 5. Reescreva o programa do exercício 04 armazenando os dados das para 5 pessoas em um vetor. Leia os dados da pessoa, calcule e armazene a media e ao final imprima os dados das 5 pessoas.

Estruturas - struct Utilizando struct dentro struct : Para cada nível da estrutura utiliza-se o caracter “.” (ponto). struct RgData { int dia; int mes; int ano; }; struct RgPessoa { char nome[35]; char sexo; struct RgData DtNascto; }; struct RgPessoa Pessoa; strcpy (Pessoa.nome, “Flavio Marcello"); Pessoa.sexo = ‘M’; Pessoa.DtNascto.dia = 30; Pessoa.DtNascto.mes = 11; Pessoa.DtNascto.ano = 1965;

Estruturas – Exercícios 6. Reescreva o programa do exercício 05 acrescentado a data de nascimento conforme exemplo do slide anterior. Leia os dados da pessoa, calcule e armazene a media e ao final imprima os dados das 5 pessoas.

Referências Lopes, A. & Garcia, G. – Introdução a Programação. Schildt – C Completo e Total.

26/03/2017 Obrigado

E Agora??? Exercícios!!!

Exercícios Propostos Seja a estrutura para descrever uma agenda de endereços, contendo os seguintes campos: nome: string de tamanho 30 idade: inteiro telefone: string de tamanho 10 Escrever a definição da estrutura agenda globalmente. Ler UM registro, e logo após escrever os dados lidos. Alterar o programa do exercício anterior para ler 10 registros, imprimir os mesmos. Alterar o o programa do exercício anterior passando para função a struct e quantidade de registro a ser lida. Faça também a impressão utilizando uma função para tal.

26/03/2017 FIM

Solução Ex. 01 #include <iostream> using namespace std; struct agenda { char nome[30]; int idade; char telefone[10]; }; int main() { struct agenda Dagenda; cout << "\n Digite Nome : "; cin >> Dagenda.nome; cout << "\n Digite Idade : "; cin >> Dagenda.idade; cout << "\n Digite Telefone : "; cin >> Dagenda.telefone; // A impressão dos dados cout << "\n Nome : " << Dagenda.nome; cout << "\n Endereco : " << Dagenda.idade; cout << "\n Telefone : " << Dagenda.telefone; cout << "\n\n"; //Parada na tela. cout << "\n\nPrograma executado com sucesso. "; getchar(); getchar(); //Sinaliza execucao do program sem problemas return (0); }