Prévia do material em texto
Curso: Engenharias
Disciplina: Pensamento Computacional
Aluno: Letícia Gonzaga dos Santos
Matrícula: 01677295
LEIA as seguintes Orientações para a realização e entrega do trabalho:
Para a QUESTÂO 1, além de desenvolver o código (em GDB online) é necessário
desenvolver o fluxograma do projeto através do MIRO.
Para a QUESTÃO 2, a partir do fluxograma dado, o aluno deve desenvolver o código em
C que implementa o projeto (Usar o GDBonline)
Para a QUESTÂO 3, o aluno deve desenvolver o código em C que implementa o projeto
(Usar o GDBonline)
Pra todas as questões é necessário desenvolver o código de simulação em C, e postá-los
neste relatório COM COMENTÁRIOS AO LADO DE CADA LINHA DE COMANDO;
É necessário que neste relatório sejam enviados PRINTS de simulação do código feitos
no GDB online e dos resultados obtidos na tela de simulação;
Este relatório, após devidamente concluído, deve ser postado na atividade do TEAMS
aberta, até o dia 04/12 às 23h59min;
Para que o trabalho seja corrigido e as notas sejam lançadas é necessário que todos os
alunos assinem a ata da AV2 presencialmente nos dias 05 e 06/12 na sala de aula
A 2ª chamada acontecerá presencialmente (prova escrita) em 12 e 13/12 na sala de aula
com todo o conteúdo ministrado no semestre
A Final acontecerá presencialmente (prova escrita) nos dias 19 e 20/12 na sala de aula
com todo o conteúdo ministrado no semestre
Questão 1
Desenvolva um programa em "C" que:
1. Solicita o total gasto pelo cliente de uma loja
2. Disponibiliza as opções de pagamento
3. Solicita a opção desejada
4. Imprime o valor total das prestações (se houverem).
5. Apresente o fluxograma completo feito no MIRO
(https://miro.com/pt/fluxograma/)
OBS: As opções de pagamento do item 2 a serem impressas são:
1ª Opção: a vista com 10% de desconto (no total gasto informado pelo cliente)
2ª Opção: em duas vezes (no total gasto informado pelo cliente)
3ª Opção: em três vezes acrescido de 3% de juros no total gasto pelo cliente (somente
para compras acima de R$ 100,00).
OBS: Utilize apenas funções PRINTF, SCANF e IF ELSE.
#include // Inclui a biblioteca padrão para entrada e saída
int main() {
float totalGasto, valorFinal; // Declara as variáveis para o total gasto
e o valor final a ser pago
int opcaoPagamento; // Declara a variável para armazenar a opção de
pagamento escolhida pelo usuário
// Solicita ao usuário o total gasto pelo cliente
printf("Digite o total gasto pelo cliente: R$ ");
scanf("%f", &totalGasto); // Lê o valor do total gasto e armazena na
variável totalGasto
// Exibe as opções de pagamento para o usuário
printf("\nEscolha a forma de pagamento:\n");
printf("1 - À vista com 10%% de desconto\n");
printf("2 - Em duas vezes (sem juros)\n");
printf("3 - Em três vezes com 3%% de juros (somente para compras acima de
R$ 100,00)\n");
// Solicita ao usuário que escolha uma opção de pagamento
printf("\nDigite a opção desejada (1, 2 ou 3): ");
scanf("%d", &opcaoPagamento); // Lê a opção de pagamento escolhida pelo
usuário
// Processa a opção de pagamento escolhida
if (opcaoPagamento == 1) { // Verifica se o usuário escolheu a opção 1 (à
vista com 10% de desconto)
valorFinal = totalGasto * 0.90; // Aplica o desconto de 10% no total
gasto
printf("\nPagamento à vista com 10%% de desconto: R$ %.2f\n",
valorFinal); // Exibe o valor final com desconto
}
https://miro.com/pt/fluxograma/
else if (opcaoPagamento == 2) { // Verifica se o usuário escolheu a opção
2 (em duas vezes sem juros)
valorFinal = totalGasto; // O valor final é igual ao total gasto, sem
alteração
printf("\nPagamento em duas vezes: R$ %.2f (sem juros)\n",
valorFinal); // Exibe o valor sem juros
}
else if (opcaoPagamento == 3) { // Verifica se o usuário escolheu a opção
3 (em três vezes com 3% de juros)
if (totalGasto > 100.00) { // Verifica se o total gasto é maior que
R$ 100,00
valorFinal = totalGasto * 1.03; // Aplica 3% de juros no total
gasto
printf("\nPagamento em três vezes com 3%% de juros: R$ %.2f\n",
valorFinal); // Exibe o valor com juros
} else { // Caso o total gasto seja inferior a R$ 100,00
printf("\nNão é possível parcelar em 3 vezes para compras abaixo
de R$ 100,00.\n"); // Informa que não é possível parcelar
}
}
else { // Caso o usuário tenha digitado uma opção inválida
printf("\nOpção inválida. Tente novamente.\n"); // Exibe mensagem de
erro para opção inválida
}
return 0; // Finaliza a execução do programa
}
Questão 2
Para o controle de entrega de pizza em um delivery foi implantado o seguinte fluxograma
Implemente o fluxograma acima em linguagem C
#include // Inclui a biblioteca padrão para entrada e saída
int main() {
char metodoPagamento; // Variável para armazenar o método de pagamento (C
para cartão, D para dinheiro)
char precisaTroco; // Variável para saber se o cliente precisa de troco
(S para sim, N para não)
// Solicita ao usuário o método de pagamento
printf("Pagamento com Cartao (C) ou Dinheiro (D): ");
scanf(" %c", &metodoPagamento); // Lê a opção de pagamento (C ou D)
// Verifica se o pagamento será com cartão
if (metodoPagamento == 'C' || metodoPagamento == 'c') {
printf("Separar maquina de cartao.\n"); // Informa que deve ser
separada a máquina de cartão
}
// Caso o pagamento seja em dinheiro
else if (metodoPagamento == 'D' || metodoPagamento == 'd') {
// Solicita ao usuário se ele precisa de troco
printf("Precisa de troco? (S para Sim, N para Nao): ");
scanf(" %c", &precisaTroco); // Lê a resposta do usuário (S ou N)
// Verifica se o cliente precisa de troco
if (precisaTroco == 'S' || precisaTroco == 's') {
printf("Separar troco para envio.\n"); // Informa que o troco deve
ser separado
}
// Caso o cliente não precise de troco
else if (precisaTroco == 'N' || precisaTroco == 'n') {
printf("Nao e necessario separar troco.\n"); // Informa que não é
necessário troco
}
// Caso a resposta seja inválida
else {
printf("Opcao invalida para troco.\n"); // Exibe uma mensagem de
erro
}
}
// Caso o método de pagamento seja inválido
else {
printf("Metodo de pagamento invalido.\n"); // Exibe uma mensagem de
erro
return 0; // Encerra o programa
}
// Finaliza o registro do pedido
printf("Registrar pedido no sistema.\n");
printf("Pedido de Pizza Registrado.\n"); // Confirma que o pedido foi
registrado
return 0; // Indica que o programa foi concluído com sucesso
}
Questão 3
Desenvolva um programa em "C" que solicite 2 números e imprima:
a) A soma dos dois números
b) O módulo do primeiro número
c) O produto do primeiro número pelo quadrado do segundo
d) O quadrado do primeiro número
e) A raiz quadrada da soma dos quadrados dos dois números informados
f) O seno da diferença entre o primeiro o segundo números informados
OBS: Inclua também a biblioteca trabalhada nas aulas e utilize suas
funções
OBS: Utilize apenas funções PRINTF, SCANF e as funções matemáticas necessárias
#include // Inclui a biblioteca padrão para entrada e saída
#include // Inclui a biblioteca matemática para usar funções como
sqrt() e sin()
int main() {
double num1, num2; // Declara variáveis para armazenar os doisnúmeros
double soma, modulo, produto, quadrado1, raizQuadrada, seno; // Declara
variáveis para armazenar os resultados
// Solicita ao usuário o primeiro número
printf("Digite o primeiro numero: ");
scanf("%lf", &num1); // Lê o valor e armazena na variável num1
// Solicita ao usuário o segundo número
printf("Digite o segundo numero: ");
scanf("%lf", &num2); // Lê o valor e armazena na variável num2
// a) Calcula a soma dos dois números
soma = num1 + num2;
printf("\nA soma dos dois numeros: %.2lf\n", soma); // Exibe a soma
// b) Calcula o módulo (valor absoluto) do primeiro número
modulo = fabs(num1); // Usa a função fabs() para calcular o módulo
printf("O modulo do primeiro numero: %.2lf\n", modulo); // Exibe o módulo
// c) Calcula o produto do primeiro número pelo quadrado do segundo
produto = num1 * pow(num2, 2); // Usa pow() para calcular o quadrado do
segundo número
printf("O produto do primeiro numero pelo quadrado do segundo: %.2lf\n",
produto); // Exibe o produto
// d) Calcula o quadrado do primeiro número
quadrado1 = pow(num1, 2); // Usa pow() para calcular o quadrado do
primeiro número
printf("O quadrado do primeiro numero: %.2lf\n", quadrado1); // Exibe o
quadrado
// e) Calcula a raiz quadrada da soma dos quadrados dos dois números
raizQuadrada = sqrt(pow(num1, 2) + pow(num2, 2)); // Soma os quadrados e
usa sqrt() para a raiz
printf("A raiz quadrada da soma dos quadrados dos dois numeros: %.2lf\n",
raizQuadrada); // Exibe a raiz quadrada
// f) Calcula o seno da diferença entre os dois números
seno = sin(num1 - num2); // Usa sin() para calcular o seno da diferença
printf("O seno da diferenca entre o primeiro e o segundo numero: %.2lf\n",
seno); // Exibe o seno
return 0; // Indica que o programa foi concluído com sucesso
}