Aula 06 Definição de Novos Tipos (structs, typedefs, e enumerações) Prof. Filipe Mutz

Documentos relacionados
2º Roteiro de Laboratório Estruturas condicionais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

ponteiros INF Programação I Prof. Roberto Azevedo

Introdução à Computação

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

Estruturas de Controle de Fluxo

Laboratório de 13 de maio de 2019

MAC2166 Introdução à Computação

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Algoritmos e Programação

Módulo 8 Tipos Estruturados

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

Sintaxe. Observações: #include <stdio.h> #include <conio.h> void main ( ) { int num, dobro; clrscr ( ); printf ( Digite i um número: );

Lista de Exercícios Revisão de Lógica. 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números.

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Terceira Aula Prática - 10 de setembro de 2010

Estruturas%de%seleção%

SSC 0301 IC para Engenharia Ambiental

Computação 2. Diego Addan Aula 3. Funções

REVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Aula 05: Condicionais (if / else)

controle de fluxo - condicionais

Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.

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

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Controle de Fluxo Utilizando C

Aulas preparatórias Introdução a Programação em Linguagem C

#include <stdio.h> main () { float n1, n2, n3, mediaponderada; int p1, p2, p3; printf("digite a primeira nota: "); scanf("%f", &n1); printf("\ndigite

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

scanf () Funções de Entrada e Saída Formatada leitura de dados; formato geral: scanf (string_de_controle,lista_de_argumentos);

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

INF1007: Programação 2. 4 Tipos Estruturados. 10/23/09 (c) Dept. Informática - PUC-Rio 1

INF 1620 P4-09/07/03 Questão 1 Nome:

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

Introdução a Programação de Jogos

SSC304 Introdução à Programação Para Engenharias. Estruturas. GE4 Bio

Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Apontadores/ponteiros

Aula 2 Comandos de Decisão

Solucionário de. Programação

INTRODUÇÃO À PROGRAMAÇÃO

Computação Eletrônica. Aula 08 Estruturas de Dados. Prof: Luciano Barbosa. CIn.ufpe.br

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

C Estruturas. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Aula 07: Introdução a Funções

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

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

PROGRAMAÇÃO em C. Vitor Valerio de Souza Campos

Linguagens de Programação I

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

1/27. Registos (Estruturas - struct)

Métodos Computacionais. Tipos Estruturados

Sub-rotinas. 2014/2 Programação Básica de Computadores (INF 09325) Freddy Brasileiro

Aula 12 Tipo Abstrato de Dados. Prof. Me. Sérgio Carlos Portari Jr UEMG Campus de Frutal

Introdução a Linguagem C

1ª Lista de Exercícios

Atividade de laboratório listas encadeadas simples

LP II Estrutura de Dados

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 09 Estruturas

imprimir seus quadrados.

Fundamentos de Programação 1

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

INF 1007 Programação II

SSC 0301 IC para Engenharia Ambiental

Algoritmos e Estruturas de Dados I 01/2013. Passagem de Parâmetros e Estruturas. Pedro O.S. Vaz de Melo

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Estruturas de seleção

Olimpíadas de Informática

Quantas variáveis para armazenar as notas e as médias são necessárias para resolver este problema?

Aula 07 Introdução à Programação Subprogramas

Modularidade - Funções e Procedimentos

Métodos Computacionais em Física

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

Programação II. Tipos Estruturados. Bruno Feijó Dept. de Informática, PUC-Rio

LISTA DE EXERCÍCIOS: 1ª Unidade

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Module Introduction. Programação. Cap. 10 Estruturas (Structs)

Aula 06: Condicionais (switch)

Lógica de Programação Atividade Avaliativa 1 RESPOSTAS

Introdução a Programação. Tipos Estruturados de Dados

Funções de Entrada e Saída Formatada Constantes de barra invertida

MC-102 Aula 21 Registros

Introdução a Computação

Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C.

Lista de Exercícios II. 01. Desenvolva um programa em C que receba um valor numérico real, verifique e mostre se esse número é positivo.

Algoritmos RESUMO - LINGUAGEM C

INF 1620 P3-29/06/04 Questão 1 Nome:

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

INF 1620 P2-23/10/04 Questão 1 Nome:

Departamento de Informática - PUC-Rio INF 1005 Programação 1 P1 26/04/2010

INF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos...

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27

Transcrição:

Aula 06 Definição de Novos Tipos (structs, typedefs, e enumerações) Prof. Filipe Mutz 1

Estruturas (structs) Estruturas (structs) são usadas para criar novos tipos de dados pelo agrupamento de informações. struct <nome> <tipo> <nome>; <tipo> <nome>;... Sintaxe de definição de estruturas struct retangulo float altura; float largura; A partir daqui, variáveis podem ser do tipo retangulo. 2

Estruturas (structs) Structs devem ser definidas antes de serem usadas. Após a definição da estrutura, ela pode ser utilizada para criar quantas variáveis forem necessárias. Cada variável do novo tipo, tem seus próprios componentes. #include <stdio.h> struct retangulo float largura; float altura; ; float area; struct retangulo r; r.largura = 2; r.altura = 3; Ex.: Cada variável do tipo retângulo terá uma largura e uma altura. area_r = r.largura * r.altura; 3

#include <stdio.h> struct retangulo float largura; float altura; ; float area_r, area_s; (...) struct retangulo r; struct retangulo s; r.largura = 2; r.altura = 3; (...) printf("digite a largura: "); scanf("%f", &s.largura); printf("digite a altura: "); scanf("%f", &s.altura); area_r = r.largura * r.altura; area_s = s.largura * s.altura; printf("area de r: %f\n", area_r); printf("area de s: %f\n", area_s);

#include <stdio.h> (...) struct retangulo float largura; float altura; ; float calcular_area (struct retangulo r) return r.altura * r.largura; float area_r, area_s; struct retangulo r; struct retangulo s; (...) r.largura = 2; r.altura = 3; printf("digite a largura: "); scanf("%f", &s.largura); printf("digite a altura: "); scanf("%f", &s.altura); area_r = calcular_area(r); area_s = calcular_area(s); printf("area de r: %f\n", area_r); printf("area de s: %f\n", area_s);

Definindo Tipos - typedef Com o typedef nós dados um apelido para outros tipos em C. Serve para referir ao um determinado tipo em C por outro nome. typedef <tipo existente> <novo nome>; 6

#include <stdio.h> typedef int Idade; typedef <tipo existente> <novo nome>; Idade i = 26; int ano_nascimento = 2016 - i; printf("ano de nascimento: %d\n", ano_nascimento); 7

typedefs são muito úteis para simplificar o uso de estruturas. #include <stdio.h> struct Retangulo float x, y; ; struct Retangulo r; #include <stdio.h> struct Retangulo float x, y; ; typedef struct Retangulo Retangulo; Retangulo r; 8

typedefs são muito úteis para simplificar o uso de estruturas. #include <stdio.h> struct Retangulo float x, y; ; typedef struct Retangulo Retangulo; Retangulo r; #include <stdio.h> typedef struct float x, y; Retangulo ; Retangulo r; 9

Enumerações Enumerações são usadas para definir tipos cujos valores são qualitativos. enum <nome> enum Tamanho <Nome>, P, <Nome>, M,... G ; ; #include <stdio.h> #include <math.h> typedef enum P, M, G Tamanho ; Tamanho t = P; 10

#include <stdio.h> #include <math.h> typedef enum Janeiro, Fevereiro,... Dezembro Mes ; Mes m = Janeiro; 11

#include <stdio.h> #include <math.h> typedef enum Janeiro = 1, Fevereiro,... Dezembro Mes ; Os valores das enumerações são inteiros disfarçados! Mes m = Janeiro; printf( Mês: %d\n, (int) m); 12

Exercícios Defina o tipo Ponto2D com um componente x e um componente y. Crie funções para: criar um ponto e ler suas coordenadas; mostrar um ponto na tela; calcular a distancia entre dois pontos. Faça um programa que use estas funções para ler dois pontos, mostra-los na tela, e mostrar a distância euclidiana entre eles na tela. 13

Exercícios Defina o tipo SolucaoDeEq2oGrau com três componentes o valor de delta e os valores das duas raízes de uma equação de segundo grau. Faça uma função que receba os três coeficientes da equação e retorne uma variável do tipo SolucaoDeEq2oGrau. Faça um programa que leia os três coeficientes e mostre na tela os valores de delta e as raízes. Se o valor de delta for negativo, preencha as raízes com -1 e na função main mostre a mensagem Não existem raízes reais. 14