Trabalho de Técnicas de Programação
1 Considere a função: int f1 (int k, int l)
{
if (k > l) return 1; else if (k == l) return 0; else return -1;
}
Calcule as seguintes expressões:
a) f1(2,6)
b) f1(3,3) + f1(6,4) + f1(2,7)
c) f1(2*f1(2,6),5*f1(8,3)+2*f1(1,1))
Respostas:
2 Considere a função: int f2 (int a, int b, int c)
{
if ((a > b) && (b > c)) return a; else if ((a < b) && (b < c)) return b; else return (a+b+c)/2;
}
Calcule:
a) f2(10,8,-1);
b) f2(1,3,5);
c) f2(5,2,-1);
d) f2(f2(10,3,-1),6*f2(1,3,5)-1,2-f2(1,1,1)).
Respostas:
3 Escreva uma função que retorne o cubo de seu argumento.
Resposta:
4 Faça uma rotina que toque o sinal sonoro do computador.
Resposta:
5 Escreva uma função que receba um caractere como argumento e, se for uma letra minúscula, retorne-a em maiúsculo, caso contrário retorne o próprio caractere.
Resposta:
6 Escreva uma função que retorne 1 se o argumento for um número ímpar e, 0 se for par.
Resposta:
7 Escreva uma função que retorne 1 se o argumento for um caractere de 0 a 9 e, 0 caso contrário. Resposta:
Decimal HEX OCT ASCII
Tabela ASCII
8 Faça um procedimento para trocar o conteúdo de duas variáveis reais. Escreva o modo de chamada desta rotina. Resposta:
9 Escreva uma função que retorne o absoluto de um número (Não utilize a função ABS do compilador). Faça um programa, com reprocessamento, que utilize esta rotina.
Resposta:
10 Indique a saída impressa pelo programa abaixo:
#include int x, y;
/*---------------------------------------*/
void A(void)
{
printf(“\nPassou pelo A”);
};
/*---------------------------------------*/ void B (int x)
{
printf(“\n%d”,x);
};