INF1005 - Lista de Exercı́cios 4
(Funções com Condicionais)
18 de Agosto de 2009
Esta lista apresenta um série de exercı́cios simples que podem ser úteis para os alunos
começarem a prática de programação em C. Os exercı́cios trabalhados nesta lista referemse ao conteúdo dos capı́tulos 1 ao 5.
O ideal é que estes exercı́cios sejam feitos em um computador, compilando, executando e
testando se as soluções estão corretas.
1. Faça uma função que receba 2 números inteiros como parâmetro e os exiba em ordem
crescente.
2. Faça uma função que receba dois números inteiros como parâmetro e exiba o maior deles.
3. Faça um programa que leia os seguintes dados de um aluno de uma turma: matrı́cula e
as três notas. Este programa deverá exibir a matrı́cula, a média aritmética e a situação
do aluno: aprovado (média maior ou igual a 5) ou reprovado (média menor que 5). O
seu programa deverá utilizar a seguinte função: a)Para exibir a situação do aluno. Esta
função deverá receber como parâmetro a média aritmética do aluno e exibir sua situação:
aprovado (média maior ou igual a 5) ou reprovado (média menor que 5).
4. Faça uma função que leia três números inteiros e retorne o maior deles.
5. Faça um programa que leia três números inteiros diferentes e os mostre em ordem decrescente. Faça uma função que receba os três números como parâmetro e exiba-os em
ordem decrescente.
6. Faça um programa, utilizando as funções abaixo, que processe um aluno de uma turma.
O programa deverá ler, inicialmente, o total de aulas da turma. A seguir, deverá ler
as seguintes informações do aluno: matrı́cula, nota da primeira prova, nota da segunda
prova, nota do primeiro trabalho, nota do segundo trabalho e total de presença do
aluno. Este programa deverá calcular e exibir: matrı́cula, média das provas, média dos
trabalhos, média final, situação do aluno e percentual de faltas do aluno. As médias são
aritméticas. Faça as seguintes funções:
• Para calcular e retornar a média aritmética. Esta função deverá receber os dois
valores para o cálculo da média aritmética como parâmetro.
• Para calcular e retornar o percentual de faltas do aluno. Esta função deverá receber
o total de aulas da turma e o total de presença do aluno como parâmetro.
• Para exibir a situação do aluno. Esta função deverá receber como parâmetro a
média aritmética do aluno e exibir sua situação: aprovado (média maior ou igual a
5), reprovado (média menor que 3) ou em final (média inferior a 5 e maior ou igual
a 3).
7. Faça um programa, utilizando as funções abaixo, que imprima a média ponderada de
um aluno e a sua situação (aprovado, reprovado ou em prova final). O programa deverá
ler inicialmente o peso da primeira prova, o peso da segunda prova, a nota mı́nima para
aprovação e a nota mı́nima para que o aluno possa fazer prova final. A seguir, deverão ser
lidos os seguintes dados do aluno: matrı́cula, nota da primeira prova e nota da segunda
prova.
• Faça uma função que receba duas notas (real) e seus respectivos pesos (inteiro) como
parâmetro. A função deve devolver a média ponderada dos valores. Exemplo:
1
notas: 7 e 5
pesos: 2 e 3 → média = (7x2 + 5x3) / 5
• Faça uma função que receba como parâmetro a média ponderada de um aluno (real),
a nota mı́nima para aprovação (real) e a nota mı́nima para que o aluno possa fazer
prova final (real). A função deve exibir a situação do aluno: aprovado, reprovado ou
em prova final.
8. Crie as funções necessárias ao funcionamento correto do programa abaixo. Não é permitido alterar a função main().
#include <stdio.h>
int main(void)
{
int num1,num2,num3;
printf("Digite 3 números inteiros:");
scanf("%d%d%d", &num1, &num2, &num3);
printf("Média dos lidos = %f", media(num1, num2, num3));
printf("Somas dos lidos = %d", soma(num1,num2, num3));
printf("Maior número lido = %d", maior(num1, num2, num3));
return 0;
}
9. Faça o chinês do programa abaixo, com o seguinte dado de entrada: 12.
#include <stdio.h>
int descobre (int num1, int num2)
{
if (num1 < num2)
return (num1);
else
return (num2);
}
int main(void)
{
int aux, num;
aux = 999;
scanf("%d", &num);
aux = descobre(aux,num);
printf ("%d", aux);
return 0;
}
10. Faça um programa para calcular o pagamento de um funcionário. Este programa deverá
ler os seguintes dados do funcionário: matrı́cula, valor da hora de trabalho, quantidade
de horas trabalhadas, quantidade de dependentes e tempo de serviço (inteiro – em anos).
Este programa deverá exibir a matrı́cula, o salário base, o bônus, o auxı́lio creche, o
desconto do INSS, o desconto do imposto de renda, o salário base e o salário lı́quido do
funcionário. Faça as seguintes funções:
• Para calcular e retornar o salário base. Esta função deverá receber como parâmetro
o valor da hora de trabalho e a quantidade horas trabalhadas.
• Para calcular e retornar o bônus por tempo de serviço. Esta função deverá receber
como parâmetro o tempo de serviço e o salário base. O bônus é de 2% do salário
base por ano de serviço.
• Para calcular e retornar o auxı́lio creche. Esta função deverá receber como parâmetro
a quantidade de dependentes. O auxı́lio creche é de R$21, 00 por dependente.
• Para calcular e retornar o desconto do INSS. Esta função deverá receber como
parâmetro o salário base. O desconto do INSS é de 11% do salário base, não podendo
ultrapassar R$319, 27.
2
• Para calcular e retornar o desconto do imposto de renda. Esta função deverá receber
como parâmetro o salário base. O desconto do imposto de renda é calculado da
seguinte forma:
salário base até 1800, 00 → isento (desconto = 0)
1800, 00 < salário base < 2900, 00 → desconto é de 15% do salário base
salário base > 2900, 00 → desconto é de 27, 5% do salário base
• Para calcular e exibir o salário lı́quido. Esta função deverá receber o salário base,
bônus, auxı́lio creche, desconto do INSS e desconto do IR.
3
Download

INF1005 - Lista de Exerc´ıcios 4 (Funç˜oes com Condicionais)