Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB



Documentos relacionados
Variáveis e Comandos de Atribuição

Fundamentos de Programação

Algoritmos e Programação

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

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

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

Programando em C++ Histórico da Linguagem C

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Técnicas de Programação I

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Tipos de Dados Simples

Tipo de Dados em Linguagem C

Programação: Tipos, Variáveis e Expressões

Introdução a Computação

O COMPUTADOR. Introdução à Computação

14.1 Vetor - Problemas

1 Funções básicas de implementação de arquivos

Introdução à Programação

Capítulo 2: Introdução à Linguagem C

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

Linguagens de Programação

Linguagem de Programação I

LINGUAGEM C. Estrutura básica de um programa

INTRODUÇÃO À LINGUAGEM C++

Estruturas (registros)

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

MC-102 Algoritmos e Programação de Computadores

Algoritmos e Programação Estruturada

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Estruturas (Registros)

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

Introdução à Linguagem C

Manipulação de Arquivos

Estruturas II UFOP 1/1

Trabalho 3: Agenda de Tarefas

Algoritmos e Técnicas de

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

Linguagem de Programação C

Programação de Computadores I Registros na Linguagem C PROFESSORA CINTIA CAETANO

Programação Estruturada I

Hashing (Tabela de Dispersão)

Introdução à Computação

INF 1005 Programação I

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Universidade do Algarve Faculdade de Ciências e Tecnologia Área Departamental de Engenharia Electrónica e Computação

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

INF 1007 Programação II

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Componentes da linguagem C++

Programação de Computadores I. Linguagem C Arquivos

Programação Orientada a Objetos C++

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Linguagens de Programação

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

INF 1005 Programação I

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

MC-102 Aula 19 Registros

Programação Básica em Arduino Aula 2

Linguagem de Programação

INF 1620 P1-13/09/02 Questão 1 Nome:

Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos.

2. Constantes e Variáveis

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

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:

MC-102 Aula 17 Strings e Matrizes

Conversão de Tipos e Arrays

Tabela ASCII de caracteres de controle

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

UNIVERSIDADE ESTADUAL PAULISTA

Métodos Computacionais. Tipos Estruturados

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

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Tipo Abstrato de Dados

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos )

INTERFACE PARA ECF SWEDA

Algoritmo e Técnica de Programação - Linguagem C

Fundamentos de Programação

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

Prof. Jhonatan Fernando

Estrutura de Dados Básica

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

insfcanceof new public switch transient while byte continue extends for int null

Curso de C para Engenharias

Transcrição:

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEFINIDOS PELO USUÁRIO Prof. Protásio DEE UFPB 1

Estruturas É uma coleção de variáveis que são referenciadas sob um único nome. Uma estrutura fornece um modo conveniente de manter informações relacionadas juntas. Exemplo de definição de uma estrutura: struct endereco { char nome[30]; char rua[40]; char cidade[20]; d char estado[3]; unsigned long int cep; }; 2

Elementos de uma Estrutura PALAVRA CHAVE PARA DECLARAÇÃO DE UMA ESTRUTURA struct endereco { char nome[30]; char rua[40]; char cidade[20]; char estado[3]; unsigned long int cep; }; NOME DA ESTRUTURA (descritor) MEMBROS OU ELEMENTOS DA ESTRUTURA 3

Criação de uma Variável A declaração de um estrutura não indica que foi criada uma variável. Declaração de uma variável: struct endereco teste; Deste modo, é declarada ada uma variável estrutura do tipo endereço chamada de teste. 4

Estrutura "teste" na memória nome rua cidade 30 bytes 40 bytes 20 bytes estado 3 bytes cep 4 bytes 5

Declarando uma estrutura e variáveis struct endereco { char nome[30]; char rua[40]; char cidade[20]; d char estado[3]; unsigned long int cep; }teste, endera, enderb; 6

Criando somente uma variável estrutura struct { char nome[30]; char rua[40]; char cidade[20]; d char estado[3]; unsigned long int cep; }teste; O descritor é dispensável 7

Forma Geral de Declaração de uma Estrutura struct descritor { tipo nome-variável; tipo nome-variável; tipo nome-variável;... tipo nome-variável; }variáveis-estrutura; estrutura; 8

Acessando os Membros da Estrutura É utilizado o operador. ("ponto") Exemplo teste.cep = 12345; Forma geral nome-variável-estrutura.nome-membro = valor; 9

Exemplos de Uso Imprimir o cep na tela: printf("cep = %ld", teste.cep); Receber dados do teclado: gets(teste.nome); Acessar caracteres individuais: id i int i; for (i=0; teste.nome[i];++i) putchar(teste.nome[i]); 10

Atribuições de Estruturas #include <stdio.h> int main(){ struct { int a; int b; }x, y; x.a = 10; x.b = 20; y = x; /* atribui uma estrutura para outra */ } printf("conteudo de y: %d %d.", y.a, y.b); return 0; 11

Exemplo Matrizes de Estruturas Para declarar uma matriz de 100 elementos da estrutura endereco: struct endereco teste[100]; Para acessar uma estrutura específica da matriz: printf("%ld", teste[2].cep; 12

Passando Membros de Estrutura para struct aluno{ char tipo[40]; int y; float z; }miguel; Funções func(miguel.y); //passa o valor do inteiro y func2(miguel.tipo); func3(&miguel.z); 13

Passando Estrutura para Funções #include <stdio.h> struct exemplo{ int a, b; }; void f1(struct exemplo parm) int main(){ struct exemplo arg; /* declara arg */ arg.a = 1000; f1(arg); return 0; } void f1(struct exemplo parm){ printf("%d.", parm.a); } 14

Estrutura Ponteiros para Estruturas struct salario{ float valor; char nome[40]; }mario; Declarando um ponteiro para estrutura struct salario *p; Usando um ponteiro para estrutura p = &mario; 15

Ponteiros para Estruturas Acessando os membros de uma estrutura usandoum ponteiro. É necessário usar o operador "seta" > p->valor Exemplo printf("salario de %s eh %g", p->nome, p->valor); 16

Operadores. e > Use o operador. para acessar membros da estrutura quando estiver trabalhando na própria estrutura. Use o operador > > ao referenciar uma estrutura por meio de um ponteiro. 17

Campos de bits Meio pelo qual se pode fazer acesso a um único bit. Vantagens: Se a memória for limitada, pode se armazenar várias variáveis booleanas em um byte. Certas interfaces de dispositivos transmitem informações codificadas nos bits dentro de um único byte. Certas rotinas de criptografia precisam acessar os bits dentro de um byte. 18

Forma geral struct descritor { }; Em que: tipo nome1 : tamanho; tipo nome2 : tamanho;... tipo nomen : tamanho; Campos de bits Tipo só pode ser int, unsigned ou signed. Valores de 1 bit só podem ser unsigned. Tamanho éonúmerodebitsassociado. 19

Exemplo struct t dispositivo{ iti { Campos de bits unsigned ativo : 1; unsigned pronto : 1; unsigned erro : 1; }impressora; Disposição na memória Um byte 0 1 2 3 4 5 6 7 Não usado Impressora.erro Impressora.pronto Impressora.ativo 20

Uniões É uma posição de memória que é compartilhada por diversas variáveis. Exemplo: union teste{ int i; char cr; } exemplo1; Disposiçãonamemóriai ói i Byte 0 Byte 1 cr 21

Uniões Exemplo útil: como acessar os bytes de um inteiro (2 bytes) Declaração union teste{ int i; char cr[2]; } exemplo1; Lendo o byte superior de i exemplo1.cr[0] Lendo o byte inferior de i exemplo1.cr[1] 22

Exercício Faça um programa que realize o cadastro de alunos da turma. Utilize uma estrutura. 23