elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ejercicio de pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ejercicio de pascal  (Leído 6,561 veces)
SXF

Desconectado Desconectado

Mensajes: 189



Ver Perfil WWW
ejercicio de pascal
« en: 5 Noviembre 2010, 15:02 pm »

buenas queira saber como resolver este ejecicio:

Escribir un algoritmo que dado un número de bytes obtenga una magnitud equivalente expresada en Mbytes,Kbytes,y bytes. Por ejemplo , dado el número26871979 el resultado sería 25,642,171.


En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: ejercicio de pascal
« Respuesta #1 en: 5 Noviembre 2010, 15:06 pm »

Dividir por 1024.

Un saludo ;)


En línea

SXF

Desconectado Desconectado

Mensajes: 189



Ver Perfil WWW
Re: ejercicio de pascal
« Respuesta #2 en: 5 Noviembre 2010, 15:11 pm »

si pero lo que no entiendo es que son los 26871979 son bytes ?¿ por que si son bytes solo tendria que dividir por 1024 una vez para obtener los klbytes no?¿
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: ejercicio de pascal
« Respuesta #3 en: 5 Noviembre 2010, 15:15 pm »

Al parecer si. Igualmente no entiendo por que el resultado es 25,642,171 :-\

Si, dividiendo una vez por 1024 te da los Kb, dividiendolo dos veces te da Mb, etc...

En línea

SXF

Desconectado Desconectado

Mensajes: 189



Ver Perfil WWW
Re: ejercicio de pascal
« Respuesta #4 en: 5 Noviembre 2010, 15:52 pm »

gracias men ya se la respuesta...la cosa esta en que el problema no consiste en pasar de una unidad a otra si no en descomponerme undeterminado valor.

26871979/1024*1024 =25 mb y sobra 657579 bytes estos se dividen entre 1024 y nos da 642 kbytes y nos sobra 171 bytes.
En lenguaje de programacion en pascal seria (Aunque nose  por que no me compila, no veo el error xdd alguien me podria ayudar¡¡)

Código
  1. PROGRAM CALCULO_DE_BYTES,KBTES,MB
  2. var
  3. mb:integer;
  4. kb:integer;
  5. b:integer;
  6. n:real;
  7. tk:integer;
  8. begin
  9. writeln('ESCRIBE UN VALOR A DESCOMPONER: ');
  10. readln(n);
  11. mb:=n DIV (1024*1024);
  12. tk:=n MOD (1024*1024);
  13. kb:=tk DIV 1024;
  14. b:= tk MOD  1024;
  15.  
  16. writeln('La descomposición es ', mb, kb, b);
  17. readln('');
  18. end.
  19.  
  20.  
  21.  
« Última modificación: 5 Noviembre 2010, 16:19 pm por SXF » En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: ejercicio de pascal
« Respuesta #5 en: 5 Noviembre 2010, 18:15 pm »

Código
  1. PROGRAM CALCULO_DE_BYTES_KBTES_MB;
  2.  
  3. var
  4. mb:LongInt;
  5. kb:LongInt;
  6. b:LongInt;
  7. n:LongInt;
  8. tk:LongInt;
  9.  
  10. begin
  11. WriteLn('ESCRIBE UN VALOR A DESCOMPONER: ');
  12. ReadLn(n);
  13. mb:=n DIV 2048;
  14. tk:=n MOD 2048;
  15. kb:=tk DIV 1024;
  16. b:= tk MOD 1024;
  17.  
  18. (* Me quedaron demasiadas lineas. Me daba error al intentar concatenar todo xD *)
  19.  
  20. WriteLn('La descomposicion es: ');
  21. WriteLn(mb);
  22. WriteLn('Mb');
  23. WriteLn(kb);
  24. WriteLn('Kb');
  25. WriteLn(b);
  26. WriteLn('Bytes');
  27. ReadLn();
  28. end.

Tuve que cambiar los tipos de las variables, quitar las comillas del ultimo ReadLn y cambiar los valores de las primeras divisiones (Para obtener los Mb hay que dividir dos veces por 1024, es decir 2*1024 = 2048. En el tuyo divides por 1048576 :P).

Un saludo ;)

En línea

SXF

Desconectado Desconectado

Mensajes: 189



Ver Perfil WWW
Re: ejercicio de pascal
« Respuesta #6 en: 5 Noviembre 2010, 19:16 pm »

MUchas gracias men , pero no es  1024x2 sino 1024x1024 recuerda para pasar de una unidad a otra va de potencia en potencia de 3... :P jeje gracias por ayuda men.


Un saludo.
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: ejercicio de pascal
« Respuesta #7 en: 5 Noviembre 2010, 20:29 pm »

No no, para convertir de bytes a mb tenes que dividir por 2048, o dos veces por 1024.

Un saludo ;)
En línea

SXF

Desconectado Desconectado

Mensajes: 189



Ver Perfil WWW
Re: ejercicio de pascal
« Respuesta #8 en: 9 Noviembre 2010, 13:14 pm »

NO men lo que pasa es que:

Supongamos 50000; 50000/2*1024 NO ES = A 50000/1024/1024;

Un saludo
;)
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: ejercicio de pascal
« Respuesta #9 en: 9 Noviembre 2010, 13:28 pm »

Tenes razon, error mio :xD jaja

Un saludo ;)
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda ejercicio de Pascal, cuando uno no lo ve claro pide ayuda
Programación General
manu3742 1 3,147 Último mensaje 31 Marzo 2011, 15:43 pm
por d(-_-)b
ejercicio Pascal, ayuda para terminarlo « 1 2 »
Programación General
manu3742 16 8,883 Último mensaje 6 Abril 2011, 20:40 pm
por d(-_-)b
pascal que se ha cortedo ejercicio
Programación General
manu3742 1 2,706 Último mensaje 14 Abril 2011, 16:14 pm
por Khronos14
Ejercicio Pascal
Programación General
BioHazardTM 3 2,303 Último mensaje 5 Enero 2012, 10:43 am
por W0lFy
Ayuda ejercicio en Pascal
Programación General
mardek 1 1,865 Último mensaje 1 Mayo 2013, 22:03 pm
por Ferno
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines