Funções
Funções
Após criar cada uma das funções, desenvolva um algoritmo que declare e invoque cada
uma das funções, mostrando o lucro do distribuidor, os impostos e o valor final do
veículo.
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
1
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
14 scanf("%f", &preco_f);
15 printf("Insira a porcentagem de lucro do distribuidor:
\n");
16 scanf("%f", &porce_dist);
17 printf("Insira a porcentagem de impostos:\n");
18 scanf("%f", &porc_i);
19 lucr_dist = calcLucroDist(preco_f, porce_dist);
20 imp = calcImpostos(preco_f, porc_i);
21 vlr_f = calcPrecoFinal(preco_f, lucr_dist, imp);
22 printf("Lucro do distribuidor: R$ %.2f.\n", lucr_dist)
;
23 printf("Impostos: R$ %.2f.\n", imp);
24 printf("Valor final: R$ %.2f.\n", vlr_f);
25 }
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
2
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
01 #include <stdio.h>
02 float calcSalRec(float n_hr, float s_min){
03 float hr_t, s_brt, imp, s_rec;
04 hr_t = s_min/2.0;
05 s_brt = n_hr * hr_t;
06 imp = s_brt * 0.03;
07 s_rec = s_brt - imp;
08 return s_rec;
09 }
10 int main(){
11 float horas_trab, sal_min, sal_rec;
12 printf("Insira o número de horas trabalhadas:\n");
13 scanf("%f", &horas_trab);
14 printf("Insira o valor do salário mínimo:\n");
15 scanf("%f", &sal_min);
16 sal_rec = calcSalRec(horas_trab, sal_min);
17 printf("Salário a receber: %f.\n", sal_rec);
18 }
3) (Adaptado de ASCENCIO e CAMPOS, 2008) Pedro comprou um saco de ração para seus
gatos, com o peso em quilos. Faça uma função que receba o peso do saco de ração, em
quilos, o número de gatos e a quantidade de ração fornecida para cada gato por dia, em
gramas. A função deve retornar o total de quilos de ração restante no saco, após um dia
de consumo. Assim sendo, considerando que Pedro possui dois gatos, crie um algoritmo
que invoque a função recém criada para calcular e mostrar quanto restará de ração no
saco após cinco dias.
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
3
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
01 #include <stdio.h>
02 float calcRacaoSaco(float s, float n, float q){
03 float r = s - (n*q/1000.0);
04 return r;
05 }
06 int main(){
07 float saco, n_gatos, qtde_gr, sobra;
08 printf("Qual o peso do saco (quilos)?\n");
09 scanf("%f", &saco);
10 printf("Qual o número de gatos?\n");
11 scanf("%f", &n_gatos);
12 printf("Qual o peso da porção diária (gramas)?\n");
13 scanf("%f", &qtde_gr);
14 sobra = calcRacaoSaco(saco, n_gatos, qtde_gr);
15 sobra = calcRacaoSaco(sobra, n_gatos, qtde_gr);
16 sobra = calcRacaoSaco(sobra, n_gatos, qtde_gr);
17 sobra = calcRacaoSaco(sobra, n_gatos, qtde_gr);
18 sobra = calcRacaoSaco(sobra, n_gatos, qtde_gr);
19 printf("Após 5 dias, sobrarão: %.3f Kg de ração.\n", s
obra);
20 }
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
4
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
Sabendo disso, desenvolva um algoritmo que peça para o usuário inserir o valor do
salário mínimo e a quantidade de quilowatts consumida. Invoque o respectivo
procedimento e mostre, na tela, as informações dos itens a), b) e c).
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
5
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
01 #include <stdio.h>
02 void calcKW(float v_sal, float q_kw, float *v_kw, float *v
_rs, float *v_dsc){
03 *v_kw = v_sal / 1000.0;
04 *v_rs = *v_kw * q_kw;
05 *v_dsc = *v_rs - (*v_rs)*0.15;
06 }
07 int main(){
08 float val_sal, qtde_kw, val_kw, val_reais, val_desc;
09 printf("Insira o salário mínimo:\n");
10 scanf("%f", &val_sal);
11 printf("Insira a quantidade de KW gastos:\n");
12 scanf("%f", &qtde_kw);
13 calcKW(val_sal, qtde_kw, &val_kw, &val_reais, &val_des
c);
14 printf("Valor de 1 KW (em R$): %.2f.\n", val_kw);
15 printf("Valor a ser pago: R$ %.2f.\n", val_reais);
16 printf("Valor com desconto de 15%%: R$ %.2f.\n", val_d
esc);
17 }
Crie um algoritmo que peça para o usuário inserir o número real e, em seguida, calcule
e mostre o que se pede nos itens a) e b).
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
6
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
Quer dicas de como seu algoritmo deveria funcionar? Observe o quadro abaixo, no qual você
encontra uma simulação da execução do algoritmo. Textos que estão em azul são mensagens
geradas pela máquina (operações de saída – printf ou puts). Já os textos que estão em
branco correspondem a dados informados pelo usuário (operações de entrada – scanf,
gets ou fgets).
Antes de verificar o gabarito desta questão, limpe sua consciência: Dedique ao MENOS 10
MINUTOS do seu tempo tentando resolver esse exercício. Caso considere que já tenha tentado
o suficiente, segue aí uma solução que funciona:
7
Algoritmos do Início ao Fim – Exercícios de sub-rotinas
Prof. Me. Pietro Martins de Oliveira
09 }
10 int main(){
11 cotacoes();
12 }