Buscar

Programação Estruturada parte 6

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

Continue navegando