Estruturas (Registros)



Documentos relacionados
20 Caracteres - Tipo char

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

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

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

Estruturas II UFOP 1/1

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

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

ESTRUTURA CONDICIONAL

Roteiro do Programa e Entrada/Saída

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

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

Lógica de Programação

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

MC-102 Aula 19 Registros

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

MANUAL SOBRE O SISTEMA DE INVENTÁRIO PATRIMONIAL

Conceitos básicos da linguagem C

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

1) Como acessar a aplicação

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.

MC-102 Aula 17 Strings e Matrizes

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Algoritmo e Programação

Curso de Programação Computadores

Prof. Flávio Henrique de Lima Araújo 19

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

Para criar a conta faça clique no separador. Abre um formulário com campos que terá que preencher. Basta ir seguindo

Informática no Ensino da Matemática

DEFINIÇÃO DE MÉTODOS

A4 Projeto Integrador e Lista de Jogos

Introdução a Computação

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Tutorial de Matlab Francesco Franco

PROJETO DE REDES

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

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

JSP - ORIENTADO A OBJETOS

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

GUIA MESCLAGEM DE DOCUMENTOS - SLIM

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

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

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP

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

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

EXEMPLO DE COMO FAZER UMA MALA DIRETA

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Questão Essência do Excel

Aulas de PHP Criptografia com Cifra de César. Paulo Marcos Trentin

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Aula 2 Modelo Simplificado de Computador

2 Um Primeiro Programa em C

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

Figura 1 Busca Linear

Componentes da linguagem C++

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Arquitetura de Rede de Computadores

Estruturas de Repetição

Introdução à Lógica de Programação

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

AMBIENTE DE PROGRAMAÇÃO PYTHON

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

Implementando uma Classe e Criando Objetos a partir dela

Persistência de Dados

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

TUTORIAL AMBIENTE WEB PORTUGOL

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Programação de Computadores I. Linguagem C Vetores

Linguagem R R-Gui e R-Commander

Manual de configuração do sistema

Aula 4 Instruções Primitivas

1. NÍVEL CONVENCIONAL DE MÁQUINA

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Algoritmos x Programação. Primeiros Passos na Linguagem C/C++ Como traduzir um algoritmo? Algoritmo original. Prof. Marcelo Cohen flash@inf

Algoritmos e Estruturas de Dados I

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

TUTORIAL UNP VIRTUAL

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

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

Orientação a Objetos

Operador de Computador. Informática Básica

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

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

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos com VisuAlg

Procedimentos para Configuração de Redirecionamento de Portas

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

COMO OTIMIZAR A SUA PLANILHA ATRAVÉS DA GRAVAÇÃO DE UMA MACRO EM EXCEL

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Linguagem algorítmica: Portugol

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

Programação Estruturada

NOME SEXO CPF NASCIMENTO SALARIO

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Transcrição:

Estruturas (Registros) Os vetores e as matrizes, como vimos anteriormente, são estruturas capazes de armazenar diversos valores do mesmo tipo. Mas, e se quiséssemos armazenar em uma estrutura diversos valores, não necessariamente de mesmo tipo? Para isto existem os registros, que são estruturas capazes de armazenar valores de tipos diferentes. Na linguagem algorítmica, os registros são declarados através da palavra estrutura. A declaração de uma estrutura é feita da seguinte forma: estrutura <identificador> { campo_1: <tipo>; campo_2: <tipo>;... campo_n: <tipo>; } <nomes das variáveis> (opcional) ; No qual: identificador: identificador (ou nome) do registro; campo_1: nome do primeiro campo do registro; campo_2: nome do segundo campo do registro; campo_n: nome do campo n do registro; tipo: tipo de dado de cada campo do registro. Por exemplo: estrutura registro } reg; declara uma variável registro de nome reg. Essa variável registro possui 3 campos, sendo eles: nome (de tipo texto), idade (de tipo inteiro) e sexo (de tipo caracter). Note que a variável reg é capaz de armazenar 3 valores de tipos diferentes. Para ler ou escrever variáveis do tipo registro através dos comandos leia e escreva NÃO podemos simplesmente fazer: leia(reg); escreva(reg); Para ler ou escrever em um registro é necessário ler ou escrever em cada um de seus campos individualmente. Para acessar um campo de um registro basta

utilizar o identificador do registro (nome da variável do tipo registro) e o identificador (nome) de seus campos, na seguinte sintaxe: No qual: <identificador>.<campo>; identificador: nome da variável de tipo registro; campo: nome do campo que se queira acessar. Por exemplo, suponha que queiramos atribuir o valor 'José da Silva' ao campo nome da variável reg: reg.nome 'José da Silva'; No nosso exemplo, nome é um dos campos da variável de tipo registro reg. Esse campo é uma variável do tipo texto, porque assim declaramos em nosso exemplo. Assim sendo é possível que esta variável consiga armazenar uma seqüência de caracteres delimitada por apóstrofos. Para ler valores do teclado e armazenar esses valores em um registro é necessário fazê-lo campo a campo do registro. Por exemplo, para ler 3 valores do teclado, correspondentes ao nome, idade e sexo de uma pessoa e armazená-los no registro reg, pode-se fazer: escreva('digite o nome de uma pessoa'); leia(reg.nome); escreva('digite a idade da pessoa'); leia(reg.idade); escreva('digite o sexo da pessoa, F (feminino) ou M (masculino)'); leia(reg.sexo); O trecho de algoritmo acima lê 3 valores do teclado, correspondentes ao nome, idade e sexo de uma pessoa, e os armazena no registro reg. Note que para acessar um campo de um registro é preciso utilizar o nome do registro, ponto e o nome do campo desejado. Assim, para armazenar o nome digitado no campo nome do registro reg, foi necessário fazer leia(reg.nome). Ainda, é possível fazer o mesmo para escrever o conteúdo do registro reg na tela do computador. escreva(reg.nome); escreva(reg.idade); escreva(reg.sexo); Exercício 1

Faça um algoritmo que leia dados referentes ao nome, idade e sexo de uma pessoa, armazene em um registro e mostre em seguida o conteúdo do registro. Para fazer esse exercício, basta juntarmos os trechos de algoritmos feitos anteriormente: 01 Algoritmo Exercício1; 02 { 03 estrutura registro 04 05 06 07 } reg; 08 09 10 /* Leitura dos campos do registro */ 11 escreva('digite o nome de uma pessoa'); 12 leia(reg.nome); 13 escreva('digite a idade da pessoa'); 14 leia(reg.idade); 15 escreva('digite o sexo da pessoa (F ou M)'); 16 leia(reg.sexo); 17 18 /* Mostra o conteúdo do registro reg*/ 19 escreva('nome: ', reg.nome); 20 escreva('idade: ',reg.idade); 21 escreva('sexo: ', reg.sexo); 22 23 } Note que no exercício acima só é possível armazenar informações de uma só pessoa. Seria interessante podermos armazenar o nome, idade e sexo de diversas pessoas. Como podemos modificar o algoritmo acima para que ele consiga armazenar o nome, a idade e o sexo de várias pessoas? E se tivéssemos um vetor, no qual cada elemento deste vetor conseguisse armazenar o nome, a idade e o sexo de uma pessoa. Bem, poderíamos fazer com que cada elemento do vetor fosse do tipo registro. A figura abaixo ilustra a estrutura na qual estamos interessados.

Para declarar esta estrutura podemos fazer: estrutura reg } V[10]; Temos agora uma variável v do tipo vetor, no qual cada elemento do vetor é um registro. Cada elemento do vetor v deve ser acessado através de seu índice, então para armazenarmos informações no primeiro elemento do vetor v temos que fazer: v[1].nome 'Renata Pereira'; v[1].idade 23; v[1].sexo 'F'; Se quisermos ler as informações do teclado e armazená-las no vetor v, devemos utilizar um comando para, assim: para i 1 até 10 faça { escreva('digite o nome da pessoa'); leia(v[i].nome); escreva('digite a idade'); leia(v[i].idade); escreva('digite o sexo (F ou M)'); leia(v[i].sexo); }

Devemos proceder da mesma forma se quisermos mostrar o couteúdo do vetor v: para i 1 até 10 faça { escreva('nome: ', v[i].nome); escreva('idade: ', v[i].idade); escreva('sexo: ', v[i].sexo); } Vamos fazer um algoritmo que leia informações correspondentes ao nome, idade e sexo de 10 pessoas e armazene em um vetor. 01 Algoritmo Exemplo; 02 03 contantes 04 MAX = 10; 05 06 { 07 estrutura registro 08 09 10 11 } v[max]; 12 i: inteiro; 13 14 15 /* Lê dados do teclado e armazena no vetor v */ 16 para i 1 até MAX faça 17 { 18 escreva('digite o nome da pessoa'); 19 leia(v[i].nome); 20 escreva('digite a idade'); 21 leia(v[i].idade); 22 escreva('digite o sexo (F ou M)'); 23 leia(v[i].sexo); 24 } 25 26 /* Mostra o conteúdo do vetor v */ 27 para i 1 até MAX faça 28 { 29 escreva('nome: ', v[i].nome); 30 escreva('idade: ', v[i].idade); 31 escreva('sexo: ', v[i].sexo); 32 } 33 } Tipos Definidos pelo Usuário Os tipos de dados que aprendemos até agora foram: inteiro, real, caracter, texto, vetor, matriz e registro. Todos esses tipos já vêm definidos para usarmos. Mas nós podemos também definir nossos próprios tipos de dados a partir dos tipos já

definidos. Assim, como a palavra constantes indica que a seguir constantes serão declaradas, e a palavra variáveis indica que a seguir serão declaradas variáveis, a palavra tipo indica que a seguir serão declarados tipos de dados do usuário. Assim, se quisermos declarar o tipo int como inteiro, podemos fazer: tipo int = inteiro; Note que agora temos um tipo chamado int, para declararmos variáveis desse tipo, devemos fazer: i, j: int; As variáveis i e j são do tipo int, isto é, são capazes de armazenar um valor inteiro. Qual a vantagem neste momento em declararmos algum tipo? Provavelmente, nunca faremos algo como o exemplo anterior, pois temos o tipo inteiro e é bem mais simples o utilizarmos como estamos acostumados. Mas, podemos usar a declaração de tipos para aquelas estruturas mais complexas que vimos no início dessa aula. Por exemplo, para declararmos um vetor de registros podemos fazer: estrutura registro } V[10]; Ou, podemos fazer: tipo estrutura registro }; registro v[10]; 01 Algoritmo Exemplo; 02 03 constantes 04 MAX = 10; 05 06 tipos 07 estrutura registro

08 09 10 11 }; 12 13 14 { 15 registro V[MAX]; 16 i: inteiro; 17 18 19 /* Lê dados do teclado e armazena no vetor v */ 20 para i 1 até MAX faça 21 { 22 escreva('digite o nome da pessoa'); 23 leia(v[i].nome); 24 escreva('digite a idade'); 25 leia(v[i].idade); 26 escreva('digite o sexo'); 27 leia(v[i].sexo); 28 } 29 30 /*Mostra o conteúdo do vetor v */ 31 para i 1 até MAX faça 32 { 33 escreva('nome: ', v[i].nome); 34 escreva('idade: ', v[i].idade); 35 escreva('sexo: ', v[i].sexo); 36 } 37 } Exercícios 1. Defina um tipo registro para um cheque bancário. 2. Para controle dos veículos que circulam em uma determinada cidade bem pequena (mas muito pequena), a Secretaria dos Transportes criou um registro-padrão que tem as seguintes informações: proprietário, combustível (que pode ser álcool, diesel ou gasolina), modelo, cor, número do chassi, ano e placa (placa possui os 3 primeiros valores alfabéticos e os 4 restantes valores numéricos). Sabendo que o número máximo de veículos da cidade é de 5 unidades, faça (algoritmo e programa) os itens a seguir: o listar os nomes dos proprietários cujos carros são do ano de 1980 ou posterior e que sejam movidos à diesel; o listar as placas que comecem com a letra A e terminem com 0, 2, 4, ou 7 e seus respectivos proprietários; o listar o modelo e a cor dos veículos cujas placas possuem como segunda letra uma vogal;