UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
Lista de Exercícios N°4
Os exercícios propostos visam treinar o estudante de programação
computacional de forma bastante completa. É interessante que estes exercícios
sejam feitos após uma leitura da aula 10 e 11 sobre estruturas condicionais ( if
else, aninhamentos if esleif e switch, break) e estruturas de repetição (while,
for, do while)
No seguinte algoritmo encontre as sentenças incorretas e depois colocar a
sentença correta,
1. De um modo geral, as ligações telefónicas são cobradas pelas suas
durações. O sistema registra os instantes em que a ligação foi iniciada e
concluída e é acionado um programa que determina o intervalo de tempo
decorrido entre aqueles dois instantes dados. O programa abaixo recebe dois
instantes dados em horas e minutos e determina o intervalo de tempo (em
horas e minutos) decorrido entre eles.
/*Programa que determina o intervalo de tempo decorrido entre dois instantes*/
include <stdio.h>
main()
{
float h1, min1, h2, min2, h, min;
puts("Digite o instante inicial (horas e minutos)");
scanf("%d %d", &h1, &min1);
puts("Digite o instante final");
scanf("%d %d", &h2, &min2);
h = h2 - h1;
min = min2 - min1;
if ((h < 0) || ((h == 0) && (min < 0)))
puts("\aDados invalidos! O segundo instante e anterior ao primeiro");
else
{
if (min < 0)
{
h = h – 1-1;
min = min + 60;
}
printf( "Entre os instantes %dh %dmin e %dh %dmin passaram-se %dh %dmin",
h1, min1, h2,min2, h, min);
}
}
UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
2. O programa calcula a área de um triangulo, dados os comprimentos dos
seus lados.
/* Programa para calcular a area de um triangulo*/
#include <stdio.h>
#include <math.h>
main()
{ float x, y, z, Area, SemiP;
printf("Digite os comprimentos dos lados do triangulo");
scanf("%f %s %f", &x, &y, &z);
if ((x < y + z) && (y < x + z) && (z < x + y))
{
Area = sqrt(SemiP * (SemiP - x) * (SemiP - y) * (SemiP - z));
printf("A area do triangulo de lados %f , %f e %f e' igual a %f \n", x, y, z, Area);
}
else
printf("Os numeros %f, %f %f não podem ser comprimentos dos lados de um
triangulo\n", x, y,z);
}
3. Programas que manipulam datas (por exemplo, um programa que determine
o numero de dias entre duas datas dadas) contem trechos que verificam se um
ano dado e bissexto. Sabendo que um ano e bissexto se ele e multiplo de
quatro, teriamos o seguinte programa.
/*Programa que verifica se um dado ano e bissexto */
#include <stdio.h>
main()
{ int Ano;
printf("Digite o ano");
scanf("%d", &Ano);
if (Ano % 4 == 0)
printf("%d e' bissexto %d \n", Ano);
else
printf("%d nao e' bissexto %d \n", Ano);
}
Rigorosamente falando, ha anos múltiplos de quatro que não são bissextos.
São aqueles múltiplos de 100 que não são múltiplos de 400. Por exemplo, o
UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
ano 2000 foi um ano bissexto, mas o ano de 2100 não será. Para que o
programa detecte estas exceções, a expressão logica que controla o comando if
deve ser ampliada e talvez seja mais fácil considerar a condição para que um
ano não seja bissexto: não deve ser múltiplo de quatro ou se for múltiplo de
100 não deve ser múltiplo de 400. Observe que agora optamos por uma
expressão logica que garantisse o fato de que o ano dado não e bissexto.
/* Programa que verifica se um dado ano e bissexto */
#include <stdio.h>
main()
{
int Ano;
printf("Digite o ano");
scanf("%d", &Ano);
if ((Ano % 4 != 0) || ((Ano % 100 == 0) && (Ano % 400 != 0)))
printf("%d não e' bissexto \n", Ano);
printf("%d e' bissexto \n", Ano);
}
4. #include <stdio.h>
main()
{ int x;
printf("Digite um numero inteiro entre 1 e 5 \n");
scanf("%d", &x);
switch (x)
{ case 1:
printf("Valor de x: %d \n", x);
case 2 : printf("Valor do dobro de %d: %d \n", x, 2*x);
case 3 : printf("Valor do triplo de %d: %d \n", x, 3*x);
case 4 : printf("Valor do quadruplo de %d: %d \n", x, 4*x);
default : printf("Valor digitado: %d \n", x);
}
}
UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
5.
6.
7.
UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
8.
9.
10.
UNIVERSIDADE FEDERAL DO TRIÂNGULO MINEIRO
PROGRAMAÇÃO COMPUTACIONAL
________________________________________________________________________________________
11.
12.
13.
14.
15.
Download

baixar - Facom