PROGRAMAÇÃO IMPERATIVA TP3
void main()
{
char caracter;
int inteiro;
float flutuante;
double duplo;
long int inteiro_comprido;
char array1[10];
printf("\n Tamanho dum caracter‚: %i", sizeof(caracter));
printf("\n Tamanho dum caracter‚: %i", sizeof(char));
printf("\n Tamanho dum inteiro‚: %i", sizeof(inteiro));
printf("\n Tamanho dum inteiro‚: %i", sizeof(int));
printf("\n Tamanho dum real flutuante ‚: %i",
sizeof(flutuante));
printf("\n Tamanho dum real flutuante ‚: %i", sizeof(float));
printf("\n Tamanho dum duplo‚: %i", sizeof(duplo));
printf("\n Tam. dum inteiro comprido‚%i",
sizeof(inteiro_comprido));
printf("\n Tam. de arranjo com 1o pos.‚: %i",
sizeof(array1));
}
void main()
{
char caracter = 'z';
int inteiro = 100;
float flutuante = 12.345;
double duplo = 345678.32345;
long int inteiro_comprido = 12345678;
char array1[10] = "quebonito";
printf("\n O valor da variável caracter‚:
%c",caracter);
printf("\n O valor da variável inteiro‚: %i",inteiro);
printf("\n O valor da variável flutuante‚:
%f",flutuante);
printf("\n O valor da variável duplo‚: %f",duplo);
printf("\n O valor da var.
inteiro_comprido‚%li",inteiro_comprido);
printf("\n O conteúdo da variável array1‚:
%s\n", array1);
}
void main()
{
float i, j;/*correção */
i = 16385.0;
j = 2.0 * i;
printf("\n2 * %.0f = %.0f\n", i, j);/*correção
*/
}
void main()
{
float n1, n2;
printf("\nEste programa calcula o maior de dois
números
reais \n");
printf("\nFaz favor de entrar o primeiro número:
");
scanf("%f", &n1);
printf("\nFaz favor de entrar o segundo número: ");
scanf("%f", &n2);
/*-------agora determinamos qual número entrado ‚
maior ----------*/
if (n1 > n2)
printf("\n\nO %.2f ‚ maior do que o: %.2f",
n1, n2);
else
{
if (n1 < n2)
printf("\n\nO %.2f ‚ maior do que
o: %.2f", n2, n1);
else
printf("\n\nO número %.2f
‚ igual ao número %.2f", n1, n2);
}
}
void main()
{
float teste, trabalho, frequencia;
float peso_teste = 0.75, peso_trab = 0.25;
teste = 0.0; trabalho = 0.0;
printf("\nEste programa calcula a nota de
frequência
numa cadeira \n");
printf("\nA nota do teste tem peso 75% e do trabalho ‚
25%\n");
printf("\nFaz favor de entrar a nota do teste: ");
scanf("%f", &teste);
printf("\nFaz favor de entrar a nota do trabalho: ");
scanf("%f", &trabalho);
/*-------agora determinamos a nota de frequência: */
frequencia = (teste * peso_teste) + (trabalho * peso_trab);
/*agora testamos se a nota obtida de frequência dá para passar: */
if (frequencia >= 9.5)
printf("\n\ Aprovaste com %.2f valores",
frequencia);
else
printf("\n\n A sua nota ‚: %.2f; tem que ir
a exame", frequencia);
}
o que teria acontecido se no primeiro 'if' escrevíamos:
“if (frequencia > 9.5)”?
(resp.: alunos bater a porta do prof.)
void main()
{
int n1, n2, n3;
printf("\nEste programa recebe três inteiros
DISTINTOS
e vai escrever-lhes na\
ordem crescente. \n");
printf("\nFaz favor de entrar o primeiro número:
"); scanf("%d", &n1);
printf("\nFaz favor de entrar o segundo número:");
scanf("%d", &n2);
printf("\nFaz favor de entrar o terceiro número:
"); scanf("%d", &n3);
/*-------agora temos que comparar para escrever
correctamente:
Quais são todas as hipóteses
possíveis?.
Calcular primeiro aquilo com papel e
lápis.
Como quase sempre, á muitas
maneiras
de escrever um programa.
Esta que vai a seguir ‚ é só uma
delas.
Aqui não vamos utilizar a
conjunção
AND (e) que em C escreve-se '&&'
o número de ordem serve para saber qual
opção utiliza o pgm. */
if (n1 < n2)
{
if (n2 < n3)
printf("\n\ ordem crescente(1):
%d%d%d",n1,n2,n3);
else
if (n1 < n3)
printf("\n\ ordem
crescente(2):
%d%d%d",n1,n3,n2);
else
printf("\n\ ordem
crescente(3):
%d%d%d",n3,n1,n2);
}
else
{
if (n3 > n1)
printf("\n\ ordem crescente(4):
%d%d%d",n2,n1,n3);
else
if (n3 < n2)
printf("\n\ ordem
crescente(5):
%d%d%d",n3,n2,n1);
else
if (n3 < n1)
if (n3 >
n2)
printf("\n\ ordem crescente(6): %d%d%d", n2,n3,n1);
}
}
void main()
{
int n;
printf("\n Esta rotina calcula o valor absoluto de x
-> |x|.
\n");
printf("\n Faz favor de entrar o número: ");
scanf("%d",
&n);
// Como se calcula o valor absoluto dum número?
if (n < 0)
printf("\n |%d| = %d", n, (n * -1));
else
printf("\n |%d| = %d", n, n);
}
void main()
{
float largura, comprimento;
clrscr();
printf("\n Este programa, dados largura e comprimento numa
figura geométrica\
, determina se
a dita figura é um quadrado ou um rectângulo. \n");
printf("\n Indicar a largura: "); scanf("%f", &largura);
printf("\n Indicar o comprimento : "); scanf("%f",
&comprimento);
if (comprimento == largura)
printf("\n A sua figura é um quadrado
de lado = %.2f", comprimento);
else
printf("\n A sua figura é um
rectângulo
de %.2f x %.2f",
largura,
comprimento);
}
void main()
{
float horas, horas_extra, salario, total;
clrscr();
printf("\nEste programa calcula o salário dum
operário,
baseado no número\
de horas
trabalhadas por semana e o valor horário do salário. As
horas\
extraordinárias
(> 40 hrs/semana) são pagas no dobro do salário
normal.\
Todos estes
valores são em Euros (€). \n");
printf("\n Indicar o salário normal por hora: ");
scanf("%f", &salario);
printf("\n Indicar o número de horas trabalhadas
na semana: ");
scanf("%f", &horas);
/* fazer sempre primeiro com papel e lápis o
algoritmo
do problema:
1) Determinar se existirem horas
extraordinárias
2) Se houver, as horas normais ficam
reduzidas
a 40. As horas extra a diferença.
3) Calcular o salário total =
salário
das 40 horas + salário das extra.*/
if (horas > 40)
{
horas_extra = horas - 40;
horas = 40;
}
else
horas_extra = 0.0;
/*agora calculamos o total ganho durante uma semana */
total = (horas * salario) + (horas_extra * (salario * 2));
printf("\n Salário 40 horas : %8.2f
euros",(horas
* salario));
printf("\n Salário Horas Extra: %8.2f
euros",(horas_extra
* salario) * 2);
printf("\n-----------");
printf("\n total%8.2f euros\n", total);
}