Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA GESTÃO DE TECNOLOGIA DA INFORMAÇÃO DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS ATIVIDADE PRÁTICA SIMONE DAMASCENO – RU: 162555 PROF. VINICIUS POZZOBON BORIN, ME. CURITIBA – PARANÁ 2020 Exercício 1: Faça um algoritmo em linguagem C para calcular quanto cada cliente gastou em pedidos realizados em uma lancheria. A lancheria vende os seguintes produtos: Item Produto Código Preço Unitário 1 Cachorro-quente 100 5,00 2 X-salada 101 8,79 3 X-bacon 102 9,99 4 Misto 103 6,89 5 Salada 104 4,80 6 Água 105 3,49 7 Refrigerante 106 4,99 Ao iniciar o programa, deve-se aparecer na tela um menu com todos os itens vendidos e seus respectivos preços. O usuário deve escolher digitando de 1-7 qual item quer comprar. Observe que o usuário pode comprar o mesmo item diversas vezes e também pode comprar vários itens diferentes (exemplo: 2 águas e um cachorro-quente, no mesmo pedido). Para encerrar o processo de compra, o usuário deve digitar um valor diferente de 1- 7. Ao encerrar a compra, deve-se listar todos os itens comprados, seus preços individuais e o total a se pagar. Imprima na tela um teste do seu programa utilizando os três primeiros e os últimos dígitos do seu RU da UNINTER como os valores de entrada para os pedidos. Os três Prof. Vinicius Pozzobon Borin, Me. 5 Lógica de Programação e Algoritmos Atividade Prática 2020 Prof. Vinicius Pozzobon Borin, Me. primeiros dígitos serão os itens comprados, e os três últimos a quantidade de cada item comprado. Por exemplo, se seu RU for 1234567, a compra resultante será: Item Produto Quantidade 1 (1º dígito) Cachorro-quente 5 (antepenúltimo dígito) 2 (2º dígito) X-salada 6 (penúltimo dígito) 3 (3º dígito) X-bacon 7 (último dígito). Inclusão de biblioteca #include <stdio.h> #include <string.h> #include <conio.h> #include<stdlib.h> #include<math.h> observações //EXERCICIO 01 LINGUAGEM PROGRAMACAO C SIMONE DAMASCENO // O cardapio de uma lancheria e o seguinte: // Especificacao Codigo Preco //Cachorro Quente 100 5,00 //X-Salada 101 8,79 // X-Bancon 102 9,99 //Misto 103 6,89 // Salada 104 4,80 // Agua 105 3,49 //Refrigerante 106 4,99 Variáveis principais int main() { int item=1, qtde; float vlt =0; Itens a serem impressos printf("Menu\n"); printf("Item| Produto| codigo| preco\n"); printf("1 | Cachorro Quente | 100| 5,00|\n") ; printf("2| X-Salada| 101| 8,79|\n"); printf("3| X-Bancon| 102| 9,99|\n"); printf("4| Misto| 103| 6,89|\n"); printf("5| Salada| 104| 4,80|\n"); printf("5| Salada| 104| 4,80|\n"); printf("6| Agua| 105| 3.49|\n "); printf("7| Refrigerante| 106| 4,99|\n"); funções de entrada, comandos a serem executados while("item ! =0") { printf("Digite o numero do item de 1 a 7:"); scanf("%i",&item); switch(item) { case 1: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(5.00*qtde); break ; case 2: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(8,79*qtde); case 3: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(9,99*qtde); break ; case 4: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(6.89*qtde); break ; case 5: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(4.80*qtde); break ; case 6: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(3,49*qtde); break ; case 7: printf("Digite a quantidade:"); scanf("%i",&qtde) ; vlt=vlt+(4.99*qtde); break ; finalização default: printf("\nPEDIDO REALIZADO!\nvalor total do pedido = %.2f", vlt); item=0; break ; } } getchar(); printf("n\n"); system("pause"); return 0; } Exercício 2: Faça um algoritmo em linguagem C que receba como dado de entrada a quantidade máxima em milímetros que um reservatório de água suporta. E também como dado de entrada informe quantos milímetros de chuva tivemos em cada mês do ano, e quantos milímetros deste reservatório por mês foi gasto. Armazene as informações de cada mês em vetores de dados. Sabendo a capacidade do reservatório, quanto choveu em cada mês e quanto foi gasto. Informe o valor disponível de água, em milímetros, para cada mês do ano. Caso o reservatório fique vazio em algum momento, informe isso na tela. Caso o reservatório fique cheio em algum momento, também informe isso na tela. Imprima na tela um teste do seu programa utilizando o seu RU da UNINTER como os valores de entrada, cada dígito do seu RU será um dos valores gastos, em milímetros, por mês. Por exemplo, se seu RU for 1234567, faça: Jan 1 mm (1º dígito) Fev 2 mm (2º dígito) Mar 3 mm (3º dígito) Abr 4 mm (4º dígito) Mai 5 mm (5º dígito) Jun 6 mm (6º dígito) Jul 7 mm (7º dígito) Ago 1 mm (1º dígito) Set 2 mm (2º dígito) Out 3 mm (3º dígito) Nov 4 mm (4º dígito) Dez 5 mm (5º dígito) Biblioteca #include <stdio.h> #include <stdlib.h> #include <locale.h> Variaveis principais int main() { setlocale(LC_ALL, "portuguese"); float milimetros; float MilJan, MilFev, MilMar, MilAbr, MilMai, MilJun, MilJul, MilAgo, MilSet, MilOut, MilNov, MilDez; int menu; Dados de saída impressão na tela //menu printf("| MES | Milimetros |\n"); printf("| Jan | |\n"); scanf("%f", &MilJan); printf("| fev | |\n"); scanf("%f", &MilFev); printf("| Mar | |\n"); scanf("%f", &MilMar); printf("| Abr | |\n"); scanf("%f", &MilAbr); printf("| Mai | |\n"); scanf("%f", &MilMai); printf("| Jun | |\n"); scanf("%f", &MilJun); printf("| Jul | |\n"); scanf("%f", &MilJul); printf("| Ago | |\n"); scanf("%f", &MilAgo); printf("| Set | |\n"); scanf("%f", &MilSet); printf("| Out | |\n"); scanf("%f", &MilOut); printf("| Nov | |\n"); scanf("%f", &MilNov); printf("| Dez | |\n"); scanf("%f", &MilDez); Laços de repetição de entrada milimetros = (MilJan + MilFev + MilAbr + MilMai + MilJun + MilJul + MilAgo + MilSet + MilOut + MilNov + MilDez) / 12; printf("A media e : %.1f \n", milimetros); if (milimetros < 0) { printf("Volume"); } else if (milimetros>= 0 && milimetros< 12) { printf("volume final"); } else { printf(""); } printf("\n\n"); system("pause"); } Exercício 3: Faça um algoritmo em linguagem C que receba como dado de entrada uma matriz de caracteres. Cada posição da matriz deve armazenar um caractere. A dimensão da matriz deverá ser MxN, onde M e N são dados de entrada escolhidos pelo usuário. Declare a matriz como sendo de dimensão máxima 10x10, e valide os valores de M e N, que devem estar entre 1 e 10, incluindo 1 e 10. Para a validação, o usuário deve ficar preso no programa enquanto não digitar um número válido para M e para N. Após escolhida a dimensão da matriz e povoado ela com caracteres. Faça: • Conte o número de ocorrências de cada caractere que aparece na matriz. Após a contagem, liste cada caractere digitado e o número de ocorrências; • Crie uma função que recebacomo parâmetro o primeiro caractere cadastrado na matriz. A função deve retornar um dado numérico. Se o caractere for maiúsculo, retorne na função o resultado deste caractere dividido por 10. Caso contrário, retorne o resultado do caractere multiplicado por 2; Imprima na tela um teste do seu programa utilizando como primeiro caractere a primeira letra do seu nome. Biblioteca #include <stdio.h> Variávies principais int repetido(int iMat[10][10], int M, int N) { for (int k = 0; k <= M; k++) { for (int l = 0; l < M; l++) { if (iMat[M][N] == iMat[k][l]) { printf("\nNúmero repetido, digite outro: \n"); return 1; } } } return 0; variáveis e comandos de entrada } int main() { int iMat[10][10]; printf("Digite 6 números diferentes para completar a matriz 10x10:\n"); for (int M = 0; M < 10; M++) { for (int N = 0; N < 10; N++) { while (1) { printf("%i%i -> ", M, N); scanf("%i", &iMat[M][N]); for (int k = 0; k <= M; k++) {for (int l = 0; l < N; l++) { if (iMat[M][N] == iMat[k][l]) { printf("\nNúmero repetido, digite outro: \n"); } } } } } } printf("\nNúmero repetido, digite outro: \n"); } } } } } } printf("\n"); for (int M = 0; M < 10; M++) { for (int N = 0; N < 10; N++) printf("%2i ", iMat[M][N]); printf("\n"); } }