Buscar

20131_AEDS1_AulaPratica_07_20130509_VariavelIndexada_Vetor

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Algoritmos e Estruturas de Dados I (DCC/003) – 2013/1 
 
Aula Prática 07 – 09/Mai/2013 
 
 Instruções: 
o Os exercícios deverão ser feitos em aula de laboratório durante o tempo 
da aula; 
o O professor/monitor irá esclarecer dúvidas em aula; 
o Crie uma pasta com seu nome e vá gravando seus programas 
implementados. 
 Para entrega: submissão via moodle, conforme já explicado (veja instruções 
na própria página Web de submissão). 
 
 
Exercício 01 
 
Escreva um programa em C para praticar o conceito de variável indexada (vetor). 
 
Você deverá primeiro declarar um vetor de 10 posições do tipo inteiro (int vetorInt[10]). 
 
Depois vai criar duas estruturas de repetição usando comando FOR, a saber: 
- A primeira vai ler os 10 valores digitados do usuários e ir armazenando no 
vetor; 
- A segunda estrutura irá imprimir os valores informados pelo usuário na tela; 
 
Execute o código para testar seu programa de computador e verificar se o resultado 
está correto. [salve o seu código com o nome: ap06-ex1.c] 
 
Exercício 02 
 
Escreva um programa em C para praticar o conceito de variável indexada (vetor) 
agora usando valores reais. 
 
Você deverá primeiro declarar um vetor de 7 posições do tipo real (float vetorFloat[7]). 
 
Depois vai criar duas estruturas de repetição usando comando FOR, a saber: 
- A primeira vai ler os valores digitados do usuários e ir armazenando no vetor; 
- A segunda estrutura irá imprimir os valores informados pelo usuário na tela; 
 
Por fim, faça uma outra estrutura de repetição que imprima apenas os valores pares 
do índice do vetor, ou seja, as posições 2, 4 e 6. 
 
Execute o código para testar seu programa de computador e verificar se o resultado 
está correto. [salve o seu código com o nome: ap06-ex2.c] 
 
Exercício 03 
 
Escreva um programa em C para receber N valores informados pelo usuário, onde N 
será informado no início da execução pelo usuário. 
 
Defina também uma constante MAX, que é o valor máximo de posições do vetor, que 
será sempre o limite máximo que alocou para vetor, tendo N um valor menor. 
- #define MAX 100 
 
Depois vai criar duas estruturas de repetição usando comando FOR, a saber: 
- A primeira vai ler os valores digitados do usuários e ir armazenando no vetor; 
- A segunda estrutura irá imprimir os valores do vetor em ORDEM INVERSA. 
 
Execute o código para testar seu programa de computador e verificar se o resultado 
está correto. [salve o seu código com o nome: ap06-ex3.c] 
 
 
Exercício 04 (para praticar mais o conceito de variável indexada) 
 
Elabore um programa que vai simular as vendas de uma loja de varejo num dia 
qualquer. Com esta prática, vamos utilizar o conceito de geração de número aleatórios 
(rand) e variáveis indexadas (vetor ou matriz). 
 
Para isso, siga os seguintes passos: 
1) Inclua as bibliotecas no cabeçalho de seu código: 
a. #include <stdio.h> 
b. #include <stdlib.h> 
c. #include <time.h> // necessária para função time() 
 
2) Defina 3 constantes que representem o limite máximo do número de produtos 
de sua loja, a quantidade de transações e de clientes (ou consumidores): 
#define PRODUTOS 20 
#define TRANSACOES 15 
#define CONSUMIDORES 10 
 
3) Crie uma função para gerar números aleatórios, denominada geraAleatorio. 
a. Esta função deverá receber um valor inteiro como parâmetro – que será 
o limite do número aleatório a ser gerado: 
int geraAleatorio(int n) 
{ 
return rand() % n; 
} 
 
4) Agora você vai construir dentro do código principal (main) o seu programa que 
vai simular esta loja. 
 
5) Primeiramente declare as variáveis que usará em seu programa de 
computador, como por exemplo: 
a. int numeroProdutos; 
b. int numeroTransacoes; 
c. int compra[TRANSACOES]; 
d. float preco[PRODUTOS]; 
e. int consumidor[TRANSACOES]; 
f. float total, precoAleatorio; 
g. outras variáveis necessárias (para os loops etc.); 
 
6) Em seguida escreva o código a seguir para inicializar o gerador de números 
aleatórios: 
srand((unsigned)time(NULL)); 
 
7) Vamos gerar um número de produtos aleatórios para a loja: 
// Definir número aleatório de produtos 
 numeroProdutos = geraAleatorio(PRODUTOS)+1; 
 
8) Agora vamos construir um código para preencher os preços dos produtos de 
forma aleatória (usando a função geraAleatorio): 
 for (i = 0; i < numeroProdutos; i++) 
 { 
 precoAleatorio = 5 + geraAleatorio(96); 
 preco[i] = precoAleatorio; // preço do produto 
 } 
 
 
 
 
9) Vamos gerar um número de vendas ou transações para o dia de hoje: 
 
// Definir número de TRANSACOES para o dia (aleatório) 
numeroTransacoes = geraAleatorio(TRANSACOES)+1; 
 
10) Imprima o número de produtos da loja e o número de transações, de acordo 
com o obtido: 
 
printf("Simulacao para:\n %d produtos\n %d transacoes\n", 
numeroProdutos, numeroTransacoes); 
 
11) Agora vamos construir um código para simular as vendas da loja de acordo 
com o número de clientes que compraram um produto na loja hoje: 
 
 for (i = 0; i < numeroTransacoes; i++) 
 { 
 j = geraAleatorio(numeroProdutos); // número do produto comprador 
 compra[i] = j; 
 k = geraAleatorio(CONSUMIDORES) + 1; 
 consumidor[i] = k; 
 } 
 
12) Imprima o movimento do dia, imprimindo o cliente, o produto comprado e seu 
respectivo preço. Compute também o valor total das vendas, somando o preço 
de cada venda. 
 
 // Exibir resultado da simulação 
 total = 0; 
 printf("-----------------------------------------------\n"); 
 printf("Transacao Consumidor Produto Valor (R$)\n"); 
 printf("-----------------------------------------------\n"); 
 for (i = 0; i < numeroTransacoes; i++) 
 { 
 printf("\t%d \t %d \t %d \t %7.2f\n",i+1, consumidor[i], compra[i]+1, 
preco[compra[i]]); 
 total = total + preco[compra[i]]; 
 } 
 printf("------------------------------------------------\n"); 
 printf("TOTAL DE VENDAS %7.2f\n",total); 
 
Execute o código para testar seu programa de computador e verificar se o resultado 
está correto. [salve o seu código com o nome: ap06-ex4.c] 
 
Exercício 05 (extensão do 04) 
 
 Construa um outro vetor chamado comprasPorCliente que vai guardar o 
número total de compras para cada cliente da sua loja; 
 
 E construa outro vetor chamado valorPorCliente que vai guardar o valor em R$ 
gasto por cada cliente; 
 
 Você deverá: 
o Fazer um FOR para ir pegando as compras e testando de que cliente é 
para então ir computando os valores e depois armazenar nesses 
vetores. 
o Depois ao final poderá imprimir para cada código de cliente (índice do 
cliente) o número de compras e o valor total gasto por cada cliente. 
 
Execute o código para testar seu programa de computador e verificar se o resultado 
está correto. [salve o seu código com o nome: ap06-ex5.c]

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes