Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA DE PRODUÇÃO 
DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
ADERSON C TAVARES – RU: 2815071 
PROF.VINICIUS POZZOBON BORIN, ME. 
 
 
 
 
 
 
 
 
 
 
 
 
GOIANÉSIA – GOIÁS 
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 CODIGO 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 (2815071) como os valores de entrada para os 
pedidos. Os três Primeiros dígitos serão os itens comprados, e os três últimos a 
quantidade de cada item comprado, a compra resultante será: 
 
ITEM PRODUTO Quantidade 
1 Cachorro-quente 1 
2 X-salada 0 
8 Inexistente #### 
 
 
 
 
 
 
 
#include<stdio.h>// INCLUSÃO DE BIBLIOTECAS DE ENTRADA E SAÍDA 
#include<stdlib.h> // INCLUSÃO DE BIBLIOTECAS LIB 
#include<conio.h>// INCLUSÃO DE BIBLIOTECAS CONIO 
#include<locale.h>// INCLUSÃO DE BIBLIOTECAS LOCALE 
 
 
void menu(); 
 
int main() { // DECLARAÇÃO DO TIPO E INÍCIO DA FUNÇÃO PRINCIPAL 
 
 
 int pedido = 0; 
 int quant = 0; 
 float valor = 0; // DECIMAIS 
 setlocale(LC_ALL, "Portuguese");// BIBLIOTECA PARA ACENTUAÇÃO EM PORTUGUÊS 
 
 menu(); 
 
 do 
 { 
 printf("Ola, Faça seu pedido: \n"); // MENSAGEM QUE APARECERÁ PARA 
O USUARIO 
 scanf_s("%i", &pedido);// O PROGRAMA GUARDARÁ AS INFORMAÇÕES 
DIGITADAS NA VARIÁVEL 
 printf(“Um momento, cadastrando seu pedido no nosso sistema....”); 
 printf("\n"); 
 
 switch (pedido) {// PEDIDO DO USUÁRIO 
 
 
 case 1:// CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido);// TELA DO 
USUÁRIO 
 scanf_s("%d", &quant);// O PROGRAMA VAI CAPTURAR O QUE O 
USUÁRIO DIGITOU 
 valor = valor + (quant * 5.00); 
 break;// VALOR ATRIBUÍDO AO QUALITATIVO E QUANTITATIVO DO 
PEDIDO DO USUÁRIO 
 
 
 case 2:// CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido); // APARECERÁ 
PARA O USUÁRIO DIGITAR A QUANTIDADE DO PRODUTO REQUERIDO 
 scanf_s("%d", &quant);// LEITURA DO QUE O USUÁRIO DIGITOU 
 valor = valor + (quant * 8.79); 
 break;// VALOR DOS PEDIDOS 
 
 
 case 3:// CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido); // APARECERÁ 
PARA O USUÁRIO DIGITAR A QUANTIDADE DO PRODUTO REQUERIDO 
 scanf_s("%d", &quant);// LEITURA DO QUE O USUÁRIO DIGITOU 
 valor = valor + (quant * 9.99);// VALOR DOS PEDIDOS 
 break; 
 
 
case 4: // CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido); // APARECERÁ 
PARA O USUÁRIO DIGITAR A QUANTIDADE DO PRODUTO REQUERIDO 
 scanf_s("%d", &quant);// LEITURA DO QUE O USUÁRIO DIGITOU 
 valor = valor + (quant * 6.89);// VALOR DOS PEDIDOS 
 break; 
 
 case 5: // CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido);// TELA DE 
DIGITAÇÃO DO USUÁRIO 
 scanf_s("%d", &quant); // LEITURA DOS VALORES DIGITADOS PELO 
USUÁRIO 
 valor = valor + (quant * 4.80);// VALOR DOS PEDIDOS 
 break; 
 
 
 case 6: // CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido);// TELA DE 
DIGITAÇÃO DO USUÁRIO 
 scanf_s("%d", &quant);// LEITURA DOS VALORES DIGITADOS PELO 
USUÁRIO 
 valor = valor + (quant * 3.49); // VALOR DOS PEDIDOS 
 break; 
 
 
 
 case 7: // CADASTRO 
 printf(" Quantidade do pedido %d: \n ", pedido);// TELA DE 
DIGITAÇÃO DO USUÁRIO 
 scanf_s("%d", &quant); // LEITURA DOS VALORES DIGITADOS PELO 
USUÁRIO 
 valor = valor + (quant * 4.99); // VALOR DOS PEDIDOS 
 break; 
 
 
 
 
 default: 
 printf("\n****GERANDO O TOTAL****\n");// GERAÇÃO DE NOTA 
FISCAL 
 printf("*** NOTA FISCAL *****\n"); 
 printf(" Total a se pagar = % .2f", valor); // VALOR TOTAL 
DOS PEDIDOS IMPRESSOS NA NOTA 
 break; 
 
 
 
 
 } 
 
 
 
 } while (pedido != 0); 
 
 
 
 
 
 return 0;// RETORNO PARA A FUNÇÃO PRINCIPAL, INDICANDO QUE AO FINAL DA 
EXECUÇÃO TUDO OCORREU PERFEITAMENTE 
 
 
} 
 
void menu() { // MENU DE OPÇÕES DO CARDÁPIO 
 
 
 
printf("\n"); 
 printf("*******************LISTA DE PEDIDOS**********************\n\n\n"); 
 printf("* Item Produto Codigo Preco Unitario *\n\n\n"); 
 printf("* 1 Cachorro-quente 100 5,00 *\n"); 
 printf("* 2 X-salada 101 8,79 *\n"); 
 printf("* 3 X-baicon 102 9,99 *\n"); 
 printf("* 4 Misto 103 6,89 *\n"); 
 printf("* 5 Salada 104 4,80 *\n"); 
 printf("* 6 Agua 105 3,49 *\n"); 
 printf("* 7 Refrigerante 106 4,99 *\n"); 
 printf("**************************************************************\n")
;// FOMENTAÇÃO DE VISUAL DA TABELA 
 printf("\n"); 
 printf(“Lembre-se, para finalizar o pedido é só digitar no item o numero 0 
ou maior do que 7!\n”);// LEMBRETE PARA O USUÁRIO 
 printf("\n"); 
 
 
} 
 
 
 
 
 
 
 
 
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 (2815071) será um dos valores gastos, em 
milímetros, por mês. 
 
#include<stdio.h> //Inclusão de bibliotecas de entrada e saida 
#include<stdlib.h> 
#include<locale.h> 
 
#define TAMANHOVETOR 12 //definiçãção de tamanho do vetor 
 
int main() { //Declaração de inicio e tipo de função principal 
 
 
 float somaChuv[12], somaAgua[12], restante[12], ttl[12]; //Variavel deve 
do tipo float, pois os numeros podem ser decimais 
 int reservatorio, c; 
 setlocale(LC_ALL, "Portuguese");//Biblioteca de acentuação em portugues 
 
 
 printf("***CADASTRO DO RESERVATORIO****\n"); 
 printf("Reservatorio em milimetro - informe o valor : \n"); //Usuario 
digita o valor maximo de capacidade do reservatorio em milimetros 
 scanf_s("%i", &reservatorio); /É feita a leitura da quantidade digitada 
pelo usuario 
 
 
 printf("****CADASTRO DE CHUVA E GASTO DE AGUA*****\n"); 
 
 for (c = 1; c <= TAMANHOVETOR; c++) 
 { 
 printf("Valor de chuva no mes %d ?\n", c); //Usuario digita a 
quantidade de chuva em cada mes do ano 
 scanf_s("%f", &somaChuv[c]); //É feita a leitura da quantidade 
digitada pelo usuario 
 
 printf("***********\n"); 
 
 printf(" Gasto de agua no mes %d ?\n", c); //Usuario digita a 
quantidade de agua gasta em cada mes do ano 
 scanf_s("%f", &somaAgua[c]); //É feita a leitura da quantidade 
digitada pelo usuario 
 
 restante[c] = somaChuv[c] - somaAgua[c]; //É feita as operações 
aritmeticas pertinentes aos valores digitados pelo usuariottl[c] = restante[c] + reservatorio; //É feita as operações 
aritmeticas pertinentes aos valores digitados pelo usuario 
 
 printf("\n"); 
 
 if (ttl[c] <= 0) 
 { 
 printf(" RESERVATORIO VAZIO E COM CAPACIDADE MAXIMA !!!! 
\n"); //Mensagem para usuario 
 
 
 
 } 
 
 if (ttl[c] > reservatorio) 
 { 
 printf(" RESERVATÓRIO CHEIO - CONTROLE SEU RESERVATORIO !!!! 
\n"); //Mensagem para usuario 
 
 
 } 
 
 printf(" NIVEL TOTAL EM: %.2f mm\n", ttl[c]); //Mensagem para 
usuario 
 
 } 
 return 0; 
 
} 
 
 
 
 
 
 
 
 
 
 
 
 
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 receba como 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 
 
 
#include <stdio.h> //Bibliotecas de entrada e saida 
#include <stdlib.h>//Inclusão de biblioteca lib 
#include<locale.h>//Inclusão de biblioteca locale 
#include <ctype.h>//Inclusão de biblioteca type 
 
 
char caracteres[10][10] = { 0 }; 
int primeiroCaracter(char);//função do tipo inteiro para primeiro caractere 
 
int main()//inicialização do programa 
{ 
 int lin, col; 
 printf("\n****************************************************************
************\n");//estética 
 void criaMatriz(int, int);//função sem retorno, criar matriz 
 void leMatriz(int, int);//função sem retorno, lê matriz 
 void contaOcorrencia(int, int);//função sem retorno, contar ocorrências de 
caracteres que aparece na matriz 
 setlocale(LC_ALL, "Portuguese");//Biblioteca de acentuação em portugues 
 //laço principal do programa 
 do 
 { 
 printf("\n Digite o numero de linhas maior que 0 e menor ou igual a 
10:\n"); //mensagem para o usuario digitar o numero desejado de linhas 
 scanf_s("%d", &lin); //imprime na tela o numero de linhas digitadas 
pelo usuario 
 printf(" Digite o numero de colunas maior que 0 e menor ou igual a 
10:\n");//mensagem para o usuario digitar o numero desejado de colunas 
 scanf_s("%d", &col);//imprime na tela o numero de colunas digitadas 
pelo usuario 
 fflush(stdin); 
 } while (11 > lin < 1 || 11 > col < 1); 
 printf("\n****************************************************************
************\n");//estética 
 printf("\n Sua matriz possui %i linhas \n", lin);//mensagem para o usuario 
sobre a quantidade de linhas que a matriz possui 
 printf(" Sua matriz possui %i colunas \n", col);//mensagem para o usuario 
sobre a quantidade de colunas que a matriz possui 
 criaMatriz(lin, col); //matriz do tipo linha coluna 
 leMatriz(lin, col);//leitura de matriz do tipo linha coluna 
 contaOcorrencia(lin, col); //contar ocorrencias do tipo matriz 
linha/coluna 
 printf("%i \n",primeiroCaracter(caracteres[0][0])); //imprime na tela 
oprimeiro caractere relacionado a primeira letra do nome do usuario 
 system("pause"); 
} 
 
//Função determinante para tamanho de matriz e seus respectivos caracteres 
void criaMatriz(int lin, int col) 
{ 
 printf("\n******************************\n"); 
 printf("\n Digite os caracteres: \n"); 
 for (int x = 0; x < lin; x++) 
 { 
 for (int y = 0; y < col; y++) 
 { 
 scanf_s(" %c", &caracteres[x][y]); 
 fflush(stdin); 
 } 
 } 
} 
//função de leitura de matriz 
void leMatriz(int lin, int col) 
{ 
 int aux, cont; 
 printf("\n******************************\n"); 
 printf("\n Sua matriz: \n"); 
 for (int x = 0; x < lin; x++) 
 { 
 for (int y = 0; y < col; y++) 
 { 
 printf(" caractere[%i][%i]: %c \n", x, y, caracteres[x][y]); 
 } 
 } 
} 
//função contadora de ocorrências de caracteres dentro matriz 
void contaOcorrencia(int lin, int col) 
{ 
 printf("\n*******************************\n"); 
 int i, j, k, found, ct = -1; 
 int vet[2][12] = { {0} }; 
 for (i = 0; i < lin; i++) 
 for (j = 0; j < col; j++) 
 { 
 if (j == lin) printf("\n"); 
 found = false; 
 for (k = 0; k <= ct; k++) 
 { 
 if (vet[0][k] == caracteres[i][j]) 
 { 
 vet[1][k]++; 
 found = true; 
 } 
 } 
 if (!(found)) 
 { 
 vet[0][++ct] = caracteres[i][j]; 
 vet[1][ct]++; 
 } 
 } 
 for (i = 0; i <= ct; i++) 
 { 
 printf("\nCaractere: %c -- ocorrencia(s): %d\n", vet[0][i], 
vet[1][i]); 
 } 
} 
//função de primeiro caractere 
int primeiroCaracter(char primeiro) 
{ 
 int resultado = (int)primeiro; 
 printf("\n**********************************\n"); 
 printf("\n Caracter: %c", primeiro); 
 printf("\n Codigo: %i", primeiro); 
 printf("\n Resultado da operacao: "); 
 if (isupper(primeiro)) 
 { 
 return (resultado / 10);//função que retorna um caracter com a 
primeira letra maiuscula de nome do usuario dividido por 10, conforme Tabela 
ASCII 
 } 
 else 
 { 
 return (resultado * 2);//função que retorna um caracter com a 
primeira letra minúscula de nome do usuario multiplicado por 2, conforme Tabela 
ASCII 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
MIZRAHI, Victorine Viviane. Treinamento em Linguagem C 2ª edição. São Paulo, 
2008. 
 
LEAL, Gislaine Camila Lapasini. Linguagem programação e banco de dados. 
Curitiba 2015. 
 
PUGA, Sandra et al.. Lógica de programação e estrutura de dados. São Paulo, 2017.

Mais conteúdos dessa disciplina