Exercício C [RESOLVIDO]

1. Exercício C [RESOLVIDO]

INFER
nkio

(usa Ubuntu)

Enviado em 09/08/2013 - 09:59h

"Qual é a velocidade do seu computador?"

Como você pode determinar a velocidade com que seu computador realmente opera? Escreva um programa com um loop while que conte de 1 até 300.000.000 em intervalos de 1. Toda vez que o contador atingir um múltiplo de 100.000.000, mostre esse número na tela. Use seu relógio para marcar o tempo gasto entre cada repetição do loop por 100 milhões de vezes."


Eu tentei fazer, mas não consegui, alguém pode me ajudar?


  


2. Re: Exercício C [RESOLVIDO]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 09/08/2013 - 10:40h

é para vc olhar no relogio quanto tempo gasta ou para ler do relógio?

vc conhece o laço for? senão vou te dar um exemplo, vamos supor que ao inves de 300.000.000 fosse 3:

[code]

#include <stdio.h>

void main()
{
int cont;
for(cont=1;cont<=3;cont++)
{
if((cont%1)==0)
{
printf("%d",cont);
}
}
}


3. Re: Exercício C [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 09/08/2013 - 11:00h

Problema
Escreva um programa com um loop while que conte de 1 até 300.000.000 em intervalos de 1.
Toda vez que o contador atingir um múltiplo de 100.000.000, mostre esse número na tela.
Use seu relógio para marcar o tempo gasto entre cada repetição do loop por 100 milhões de vezes.


Compilando
$gcc testepc.c -o testepc

Executando
$./testepc

Resultado
multiplo de 1000000000 = 50000000
multiplo de 1000000000 = 100000000
multiplo de 1000000000 = 150000000
multiplo de 1000000000 = 200000000
multiplo de 1000000000 = 250000000
multiplo de 1000000000 = 300000000
Tempo gasto = 1170 ms



4. Re: Exercício C [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/08/2013 - 15:02h

Mostre o que você fez. Fazendo-o, podemos dizer onde você errou. Sem isso, fica parecendo um "deem-me a solução pronta", o que a maioria dos membros da comunidade acha deselegante e contraproducente para quem está aprendendo.


5. Re: Exercício C [RESOLVIDO]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 09/08/2013 - 15:08h

paulo1205 escreveu:

Mostre o que você fez. Fazendo-o, podemos dizer onde você errou. Sem isso, fica parecendo um "deem-me a solução pronta", o que a maioria dos membros da comunidade acha deselegante e contraproducente para quem está aprendendo.


mas eu não dei pronto eu dei um exemplo, facilitou bastante é claro, mas não foi bem pronto, da próxima vou ser menos incisivo e deixar pensar um pouco.


6. Re: Exercício C [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/08/2013 - 15:48h

ianclever,

Não critiquei você. Falei com o nosso colega que postou a questão. Acho que seria bom ele mostrar o que fez, mesmo que seja completamente errado.


7. Re: Exercício C [RESOLVIDO]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

Enviado em 09/08/2013 - 17:11h

paulo1205 escreveu:

ianclever,

Não critiquei você. Falei com o nosso colega que postou a questão. Acho que seria bom ele mostrar o que fez, mesmo que seja completamente errado.


realmente isso é verdade faltou ele postar o código, o pelo menos o que ele tentou fazer.


8. Re: Exercício C [RESOLVIDO]

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 09/08/2013 - 18:01h

@nkio - posta o código que você fez, que agente ajuda.... porque o scrip é relativamente fácil... Tudo que tem a fazer é usar o google e aprender como cronometrar o tempo de execução do programa.... Bem fácil.

O meu código menos de 20 linhas.

Outra coisa... Essa repetição tá bem grande, hein?! Tem certeza que é pra repetir um loop de 300 milhoes 100 milhoes de vezes?

Cara... isso dá muito tempo... ainda mais imprimindo e calculando multiplos. Meu notebook gasta mais ou menos 0.85 segundos pra cada loop de 300 milhões (imprimindo os multiplos de 100 milhões). Sendo assim, são 85 milhões de segundos gastos.... É muita coisa.


85000000/60
1416666 << minutos
85000000/60/60
23611 << horas
85000000/60/60/24
983 << dias
85000000/60/60/24/7
140 << semanas

# dá quase 3 ANOS
# ou eu entendi errado o que você escreveu, ou você escreveu errado...
#
# meu PC é um DELL Core i5...



#0: MUL(100.000.000): 0
#0: MUL(100.000.000): 100000000
#0: MUL(100.000.000): 200000000
#0: MUL(100.000.000): 300000000
Loop time spent: 0.850000
#1: MUL(100.000.000): 0
#1: MUL(100.000.000): 100000000
#1: MUL(100.000.000): 200000000
#1: MUL(100.000.000): 300000000
Loop time spent: 0.850000
#2: MUL(100.000.000): 0
#2: MUL(100.000.000): 100000000
#2: MUL(100.000.000): 200000000
#2: MUL(100.000.000): 300000000
Loop time spent: 0.850000
#3: MUL(100.000.000): 0
#3: MUL(100.000.000): 100000000
#3: MUL(100.000.000): 200000000
#3: MUL(100.000.000): 300000000
Loop time spent: 0.860000
#4: MUL(100.000.000): 0
#4: MUL(100.000.000): 100000000
#4: MUL(100.000.000): 200000000
#4: MUL(100.000.000): 300000000
Loop time spent: 0.850000



Olha lá e posta o que você fez. Falar que fez é OUTRA coisa...

Enzo Ferber
[]'s


9. Re: Exercício C [RESOLVIDO]

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 09/08/2013 - 18:02h

Uma dica...

Usa uma variável clock_t e a função clock().


Já dei o caminho das pedras, agora é só pesquisar um pouquinho. ;)

[]'s


10. Re: Exercício C [RESOLVIDO]

INFER
nkio

(usa Ubuntu)

Enviado em 10/08/2013 - 09:18h

Não pedi solução pro meu problema, pedi que me ajudassem a entender o problema. Eu tentei com o "for", e com o "if", mas não deu certo, então depois de tentar várias vezes, eu vim aqui.

Não conheço muito bem o VOL, por isso não postei o código que eu TENTEI fazer. Mas mesmo assim, brigado.

Ah... E o exercício é esse mesmo! Achei ele no livro do Deitel.


11. Re: Exercício C [RESOLVIDO]

wellington
wellingtonsr

(usa Slackware)

Enviado em 10/08/2013 - 11:46h

paulo1205 escreveu:

ianclever,

...Acho que seria bom ele mostrar o que fez, mesmo que seja completamente errado.



Concordo.




12. Re: Exercício C [RESOLVIDO]

wellington
wellingtonsr

(usa Slackware)

Enviado em 10/08/2013 - 11:49h

nkio escreveu:

Não pedi solução pro meu problema, pedi que me ajudassem a entender o problema. Eu tentei com o "for", e com o "if", mas não deu certo, então depois de tentar várias vezes, eu vim aqui.

Não conheço muito bem o VOL, por isso não postei o código que eu TENTEI fazer. Mas mesmo assim, brigado.

Ah... E o exercício é esse mesmo! Achei ele no livro do Deitel.



Tranquilo. É porque fica mais fácil e mais produtivo ajudar quando se mostra os erros.





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts