Baixe o app para aproveitar ainda mais
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]
Compartilhar