Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Estruturada Prof.ª: Priscilla Abreu pbraz@unicarioca.edu.br Disciplina – Programação estruturada Roteiro de aula: • Tipos estruturados heterogêneos • Dúvidas e exercícios 2 Programação Estruturada Tipos Estruturados Heterogêneos Imagine a seguinte situação: Uma loja precisa manter os dados de seus produtos. Para cada produto ela deve manter: ̶ Código ̶ Nome ̶ Preço de compra ̶ Preço de venda ̶ Quantidade em estoque 3 Programação Estruturada Tipos Estruturados Heterogêneos Tipos Estruturados Heterogêneos (Estruturas) 4 Programação Estruturada Estruturas que permitem armazenar diversos elementos, mas apenas elementos do mesmo tipo de dado. Vetores Matrizes Tipos Estruturados Heterogêneos ̶ Estrutura de dados que permite agrupar variáveis de tipos de dados diferentes. Geralmente, os elementos de tal estrutura estão logicamente relacionados. ̶ Exemplo: Uma estrutura que armazene informações de alunos teria como possíveis elementos nome, matrícula, data de nascimento, endereço, entre outros. 5 Programação Estruturada Tipos Estruturados Heterogêneos ̶ Sintaxe: struct nome_estrutura{ tipo1 var1; tipo2 var2; ... tipon varn; }; 6 Programação Estruturada Tipos Estruturados Heterogêneos ̶ Exemplo: struct produto{ int cod, qtde; char[50] nome; float pcompra, pvenda; }; Declaração: struct produto prod; 7 Programação Estruturada Tipos Estruturados Heterogêneos ̶ Definição de tipo estrutura ̶ Typedef typedef struct produto{ int cod, qtde; char[50] nome; float pcompra, pvenda; }; Declaração: produto prod; 8 Programação Estruturada Tipos Estruturados Heterogêneos ̶ Acesso aos campos de uma estrutura: nomeEstrutura.nomeCampo ̶ Exemplo: typedef struct produto{ int cod, qtde; char[50] nome; float pcompra, pvenda; }; produto prod; 9 Programação Estruturada prod.cod; prod.pcompra; Tipos Estruturados Heterogêneos Exemplo de leitura e impressão de dados typedef struct produto{ int cod, qtde; char[50] nome; float pcompra, pvenda; }; produto prod; scanf(“%f”,&prod.pcompra); printf(“Preço de compra: %f”, prod.pcompra); 11 Programação Estruturada Exemplo Faça um programa que utilize uma estrutura para armazenar os dados de um produto. Os dados que devem ser armazenados são: código, nome, quantidade em estoque, preço de compra e preço de venda. Leia os dados de um produto e imprima as informações. 12 Programação Estruturada Exercício #include <stdio.h> typedef struct produto{ int cod, qtde; char nome[50]; float pcompra, pvenda; }; 13 Programação Estruturada Exercício int main(){ produto prod; printf("Informe os dados do produto: \n"); printf("Código: "); scanf("%d", &prod.cod); printf("Nome: "); fflush(stdin); gets(prod.nome); printf("Quantidade em estoque: \n"); scanf("%d",&prod.qtde); printf("Preço de compra: \n"); scanf("%f",&prod.pcompra); printf("Preço de venda: \n"); scanf("%f", &prod.pvenda); 14 Programação Estruturada Exercício printf("Impressão... \n"); printf("Código: %d\n", prod.cod); printf("Nome: "); puts(prod.nome); printf("Quantidade em estoque: %d\n",prod.qtde); printf("Preço de compra %.2f\n", prod.pcompra); printf("Preço de venda: %.2f\n", prod.pvenda); } 15 Programação Estruturada Tipos Estruturados Heterogêneos Uma loja não tem um único produto!! É preciso cadastrar vários produtos e não apenas UM! Para armazenar os dados de vários produtos, a solução será utilizar vetor de registros; Em cada posição do vetor haverá um registro com seus respectivos elementos. 16 Programação Estruturada Tipos Estruturados Heterogêneos 17 Programação Estruturada typedef struct produto{ int cod, qtde; char nome[50]; float pcompra, pvenda; }; int main(){ produto prod[50]; } 0 1 2 3 ... n prod[2].cod prod[2].qtde prod[2].nome prod[2].pcompra prod[2].pvenda Exemplo #include <stdio.h> typedef struct produto{ int cod, qtde; char nome[50]; float pcompra, pvenda; }; 18 Programação Estruturada Exercício int main(){ produto prod[50]; int i; for (i=0; i<50;i++){ printf("Código: "); scanf("%d", &prod[i].cod); printf("Nome: "); fflush(stdin); gets(prod[i].nome); printf("Quantidade em estoque: \n"); scanf("%d",&prod[i].qtde); 19 Programação Estruturada Exercício printf("Preço de compra: \n"); scanf("%f",&prod[i].pcompra); printf("Preço de venda: \n"); scanf("%f", &prod[i].pvenda); } 20 Programação Estruturada Exemplo printf("Impressão... \n\n"); for (i=0;i<50;i++){ printf("Código: %d", prod[i].cod); printf("\nNome: "); puts(prod[i].nome); printf("Quantidade: %d \n", prod[i].qtde); printf("Preço de compra: %5.1f\n", prod[i].pcompra); printf("Preço de venda: %5.1f\n", prod[i].pvenda); } } 21 Programação Estruturada REVISANDO Programação Estruturada Funções e recursividade (Exercício) 23 Programação Estruturada Exercício Considere a seguinte função recursiva em linguagem C: A execução do trecho de código abaixo resultará em qual sequência de números? 24 Programação Estruturada Vetores (Exercício) 27 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais Exercícios: 1. Em uma cidade do interior, foram registradas as temperaturas no período de 10 de janeiro a 31 de janeiro de 2017 (21 dias. Faça um programa que leia as temperaturas verificadas em cada dia utilizando um vetor, calcule e imprima: - A menor temperatura ocorrida; - A maior temperatura ocorrida; - A temperatura média; - O número de dias nos quais a temperatura foi inferior à temperatura média. 28 Programação Estruturada DÚVIDAS ? Programação Estruturada
Compartilhar