Você está na página 1de 5

INFORMATICA E COMPUTAÇÃO CMP 1060-AULA 4 LAB

Exercício 1: Fazer um algoritmo que: dado o tempo em segundos, necessários para viajar de
uma cidade à outra. Calcular e escrever quantas horas, minutos e segundos esta viajem dura
(sala de aula)
Desafio  Entrar com horário do início da viagem em horas, minutos e segundos
(19h20min00seg) e horário do fim da viagem (22h30mim10seg). Calcular e exibir a
duração da viagem em horas, minutos e segundos.

1min = 60 segundos
1hora = 60 minutos = 3600 seg
DUR (seg) | 3600 .
resto1 (seg) horas HD

resto1 (seg) | 60 .
resto2 Seg SD minutos MD

Análise:
Transformar tudo em segundos
SI = HI*3600 + MI*60 + SI
SF = HF*3600 + MF*60 + SF
Calcular a duração em segundos
DUR = SF – SI
Calcular e mostrar a duração em horas(HD) min(MD) seg(SD)
HD = DUR / 3600
MD = DUR%3600 /60
SD = (DUR%3600)%60

ENTRADAS
Hora Inicio – HI
Min Inicio – MI
Seg Inicio – SI
Hora Final – HF
Min Final – MF
Seg Final – SF

Duração – DUR

Hora Dur – HD
1. Declarar as variáveis
2. Ler os valores dos horários de inicio e termino.
3. Determinar os valores dos horários em seg.
4. Calcular o tempo de duração
5. Calcular e imprimir do tempo de duração em h m s.

// programa CRONOMETRO
#include <iostream>
using namespace std;
#define MINSEG 3600
#define SEG 60
main()
{
Int HI ,MI ,SI ,HF ,MF ,SF ,DUR ,HD ,MD ,SD ;
cout<< "Informe a hora de inicio: \n";
cin >> HI;
cout<< "Informe os minutos de inicio: \n";
cin >> MI;
cout<< "Informe os segundos de inicio: \n";
cin >> SI;
cout<< "Informe a hora final: \n";
cin >> HF;
cout<< "Informe os minutos finais: \n";
cin >> MF;
cout<< "Informe os segundos finais: \n";
cin >> SF;

SI = HI*3600 + MI*60 + SI;


SF = HF*3600 + MF*60 + SF;

DUR = SF - SI;

HD = (DUR/MINSEG);
MD = ((DUR%MINSEG)/SEG);
SD = ((DUR%MINSEG)%SEG);

//exiba os resultados de saída

cout << " A DURAÇÃO DA VIAGEM eh : \t"<< HD << " horas, "<< MD<< "
minutos e "<<SD<< " segundos"<<endl;

system(“pause”)
}

Entrar no dev c++:


• digitar o programa
• salve com o nome cronom.cpp

pergunta? Qual a limitação que este programa tem?


Resp.: os horários tem que ser no mesmo dia, e no formato 0 a 24h.
Exercício 2 - Dado um número de três dígitos, desenvolver um algoritmo para invertê-lo e
armazenando-o em uma outra variável.

// programa INVERTIDO

#include <iostream>
using namespace std;

main()
{

//estruturas de dados
int NUMERO, INVERTIDO, DEZENA, CENTENA, UNIDADE;

// leia os dados de entrada


cout<< "Informe o num de 3 alg para inverter: \n";
cin >> NUMERO;

// resto entre NUMERO e 10


UNIDADE = NUMERO%10;

// quociente ( resto do NUMERO e 10) e 10)


DEZENA = NUMERO/10%10;

// quociente entre NUMERO e 100


CENTENA = NUMERO / 100;

// inverter o número
INVERTIDO = UNIDADE *100 + DEZENA *10 + CENTENA;

//exiba os resultados de saída


cout << "o numero invertido eh "<< INVERTIDO <<endl;

system("PAUSE");

Exercício 3: Fazer um programa para trocar, entre si, os valores das variáveis A e B. Usando
uma variável auxiliar.( sala de aula)
Desafio: sem usar variável auxiliar

A
1. Declarar as variáveis B
2. Ler os valores de números A e B.
3. Imprimir o valor de A e B //T r o c a r a s v a riá v e is
4. Trocar conteúdo das variáveis A = A *B ;
B = A /B ;
5. Imprimir o valor de A e B A = A /B ;

//T r o c a r a s v a riá v e is
A = A+B;
B = A - B;
#include <iostream> A = A - B;

#include <cmath>
using namespace std;
main()
{
int A,B;
cout<<“Digite 2 números quaisquer:\n”;
cin>>A>>B;
cout<< “O valor de A = ”<<A<<“e o valor de B = ”<<B<<“\n”;
A=A+B;
B=A-B;
A=A-B;
cout<<“O valor de A = ”<<A<<“e o valor de B = ”<<B<<“\n”;
}

Entrar no dev c++:


• digitar o programa
• salve com o nome troca.cpp

Você também pode gostar