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 DA COMPUTAÇÃO
DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS
ATIVIDADE PRÁTICA
EDUARDO DA SILVA MORAES – RU: 3346946
PROF: VINICIUS POZZOBON BORIN
CANDIOTA-RS
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 (3346946) 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. 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) 
#include<stdio.h>
voiditensMenu(){// declaração da função que mostra o menu
intop;
printf("ITEM PRODUTO CÓDIGO VALOR UNITÁRIO \n");
 printf( "1 CACHORRO-QUENTE 100 5,00 \n");
 printf( "2 X-SALADA 101 8,79 \n");
 printf( "3 X-BACON 102 9,99 \n");
 printf( "4 MISTO 103 6,89 \n");
 printf( "5 SALADA 104 4,80 \n");
 printf( "6 ÁGUA 105 3,49 \n");
 printf( "7 REFRIGERANTE 106 4,99 \n");
 
}
intmain(){
 
 
 // declaração de variáveis
 intopcao, cont = 0, itemPedido[100][2], i; 
 floatsomaCompra = 0;
 printf("Selecione seu Item no Menu e Quantidade Desejada: \n");
itensMenu(); 
 do {//laços de repetição para cadastrar os pedidos
 
 printf( "\nInforme o Item: "); 
 scanf( "%d",&opcao);//recebe o item do pedido
 switch(opcao){
 case1: //selecionar o item
itemPedido[cont][0] = opcao;//armazena qual eo item
printf("\nCACHORRO-QUENTE"); 
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra += 5*itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case2:
itemPedido[cont][0] = opcao;//armazena qual e o item
 printf( "\nX-SALADA: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 8.79*itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case3:
itemPedido[cont][0] = opcao;//armazena qual eo item
 printf( "\nX-BACON: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 9.99*itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case4: 
itemPedido[cont][0] = opcao;//armazena qual eo item
 printf( "\nMISTO: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 6.89 * itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case5: 
itemPedido[cont][0] = opcao;//armazena qual eo item
 printf( "\nSALADA: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 4.80*itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case6: 
itemPedido[cont][0] = opcao;//armazena qual eo item
 printf( "\nÁGUA: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 3.49 * itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 case7: 
itemPedido[cont][0] = opcao;//armazena qual eo item
 printf( "\nREFRIGERANTE: ");
 printf( "\nQuantidade: ");
 scanf( "%d",&itemPedido[cont][1]);
 somaCompra+= 4.99*itemPedido[cont][1];//soma o valor com a qtd
 printf( "\nInserido com sucesso");
 printf( "\n\n");
 cont++; //incrementa um item na lista
 break;
 default:
 printf( "\nPedido Encerrado: \n");
 break;
 } 
 }while (opcao>= 1&&opcao<= 7);//laços vai repetir entre 1 e 7, valor diferente
encerra o pedido
 printf( "\n---------------Extrato do Seu Pedido-------------------\n");
 for(i = 0; i <cont; i++){//for para mostrar os itens do pedido
 if(itemPedido[i][0] == 1){//verifica os itens armzanados
 printf( "\nQtd: %d - CACHORRO-QUENTE: R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*5));
 } elseif(itemPedido[i][0] == 2){
 printf( "\nQtd: %d - X-SALADA: valor R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*8.79));
 } elseif(itemPedido[i][0] == 3){
 printf( "\nQtd: %d - X-BACON: valor R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*9.99));
 } elseif(itemPedido[i][0] == 4){
 printf( "\nQtd: %d - MISTO: VALOR R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*6.89));
 } elseif(itemPedido[i][0] == 5){
 printf( "\nQtd: %d - SALADA: VALOR R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*4.80));
 } elseif(itemPedido[i][0] == 6){
 printf( "\nQtd: %d - ÁGUA: VALOR R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*3.49));
 } elseif(itemPedido[i][0] == 7){
 printf( "\nQtd: %d - REFRIGERANTE: VALOR R$ %.2f" ,itemPedido[i][1],(float)
(itemPedido[i][1]*4.99));
 }
 }
 printf("\nValor Total do Pedido: %.2f" , somaCompra);
 return0; 
}
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 (3346946
) 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) 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<locale.h>
intmain() { 
 
 floatqtdChuvaMes[12], qtdAguaGastoMes[12], nivelReservatorio = 50, Reservatorio;
 int x;
 
 do{
 printf( "INFORME O TAMANHO DO RESERVATORIO: " );
 scanf( "%f",&Reservatorio);//recebe a capacidade do Reservatorio 
 if(Reservatorio<100){
 printf( "\nVALOR INCORRETO\n");
 }
 }while(Reservatorio<100);
 
 do{//laços de repetição, rodar os meses do ano
if(x == 0){
printf("\nJaneiro:");
 }
elseif(x == 1){
printf("\nFevereiro:");
}
elseif(x == 2){
printf("\nMarço:");
}
elseif(x == 3){
printf("\nAbril:");
}
elseif(x == 4){
printf("\nMaio:");
}
elseif(x == 5){
printf("\nJunho:");
}
elseif(x == 6){
printf("\nJulho:");
}
elseif(x == 7){
printf("\nAgosto:");
}
elseif(x == 8){
printf("\nSetembro:");
}
elseif(x == 9){
printf("\nOutubro:");
 }
elseif(x == 10){
printf("\nNovembro:");
}
elseif(x == 11){
printf("\nDezembro:");
}
printf("\nNIVEL DO RESERVATORIO: %f\n", nivelReservatorio);
 //Nivel existente de agua no Reservatorio
printf("QUANTIDADE DE CHUVA NO MES: %d: " ,(x+1)); 
scanf("%f", &qtdChuvaMes[x]); //solicita a qtd de chuva no mes
printf("GASTO NO MES: %d - " ,(x+1));
 //solicita a qtd de agua gasta 
scanf("%f", &qtdAguaGastoMes[x]);
nivelReservatorio += qtdChuvaMes[x]; //mesmo procedimento do if anterior
do{
 if(qtdAguaGastoMes[x] >nivelReservatorio)
 {
 printf( "\nVALOR INVALIDO\nNÃO TEM ESSA QUANTIDADE DE AGUA: \n");
 printf( "GASTO NO MÊS: %d - " ,(x+1));
 scanf( "%f", &qtdChuvaMes[x]);
 }
 
 } while(nivelReservatorio<qtdAguaGastoMes[x]);
nivelReservatorio-= qtdAguaGastoMes[x];
if(nivelReservatorio>= Reservatorio)
 { //se qtd de agua for maior ou igual a qtd do Reservatorio ele está cheio
 nivelReservatorio = Reservatorio;
 printf( "\nRESERVATORIO CHEIO: \n");
 }
 if(nivelReservatorio == 0)
 { //se for igual a 0 esta vazio
 
 printf( "\nRESERVATORIO VAZIO Vazio: \n");
 }
 x++;
}while(x <12); 
printf("\nNÍVEL DO RESERVATÓRIO: %f\n", nivelReservatorio);
return0;
} 
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>
#include<string.h>
#include<ctype.h>
intNumerico(char item);
int main() { 
 
 int M, N;
 char Matriz[10][10], aux;
 intcontadorPosicao = 0, i, b, c, d;
 printf("linha e Coluna da Matriz: \n");
 do{//vai controlar a entrada do valor de M que deve estar entre 1 e 10
 printf( "Linha: ");
 scanf( "%d", &M);//vai receber o valor de M
 if(M <= 1 || M >10)//e fazer uma comparação que tem que estar dentro de 0 a 10
 {
 printf( "\nValor Invalido\nDeve estar entre 1 e 10 \n");//caso o valor for
diferente vai mostrar uma mensagem e voltar para pedir o valor 
 }
 
 }while(M <= 1 || M >10);//Só vai sair quando o usuario digitar um valor dentro de
0 a 10
 do{//vai controlar a entrada do valor de M que deve estar entre 1 e 10
 printf( "Coluna: ");//igual no N
 scanf( "%d", &N);
 if(N <= 1 || N >10){
 printf( "\nValor Invalido\nDeve estar entre 1 e 10 \n");
 }
 
 }while(N <= 1 || N >10);//laço vai repetir ate seja digitado valor valido
 
 
 
 printf("\nMatriz [Linha: %d - Coluna: %d] \n", M, N);
 //recebe os dados da matriz 
 for(i = 0; i < M; i++){
 for(b = 0; b < N; b++){
 printf( "Matriz: [%d - %d]: " , i+1, b+1);
 scanf( "%s",&Matriz[i][b]);
 
 }
 }
 //verificação dos dados da matriz
 printf("\n\nRelatorio Matriz\n\n");
 for(i = 0; i < M; i++){
 for(b = 0; b < N; b++){
aux = Matriz[i][b];//aux vai receber as posições
 contadorPosicao = 0;
for (c = 0; c < M; c++) { //roda a matriz faz a verificação e o contador recebe
for (d = 0; d < N; d++) {
if(aux == Matriz[c][d]){
 contadorPosicao++; //soma no contador
 }
 }
 }
printf("Valor: %c - Qtd %d \n",Matriz[i][b], contadorPosicao);//e manda exibir o
valor e a sua quantidade
 }
 
 }
 
 if(islower(Matriz[0][0]) == 0){//função que vai verificar se e a primeira posição
e maiúsculo ou nao
 
 printf( "\nLetra Maiúsculo: %c\nValornumerico: %f\n",Matriz[0][0], (float)
Numerico(Matriz[0][0]) / 10);//mostra a divisão do retorno por 10
 }
 else{
 printf("\nLetraMinusculo: %c\nValornumerico: %f\n",Matriz[0][0],(float)
Numerico(Matriz[0][0]) * 2);//mmostra A multiplicação por 2
 }
return0;
} 
intNumerico(char item){
 return item;//retorna o valor numerico do caracter
}
 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.
Puga, Sandra Risseti, Gerson. Lógica de Programação e estruturas de Dados.
ASCENCIO, Ana Fernanda Gomes. Fundamentos da Programação de Computadores.
Canal da Tutoria AVA Univirtus-Uninter.

Mais conteúdos dessa disciplina