Cambios de Base usando PSeint
A continuación os dejo un código que convierte una cadena de números (3 dígitos), introducidos uno a uno, en un sólo número calculado de esta manera
- 123=1*10²+2*10¹+3*10⁰
Para que el programa funcione correctamente teneos que introducir los bits de menor a mayor peso, de la derecha a la izquierda. Ejemplo
- 123, se introduciría así: 3, 2, 1.
- La salida de la traza para 3,2,1 (123) sería:
- Tiempo 0: valor=3 (3*10⁰)
- Tiempo 1: valor=23 (2*10¹+3*10⁰)
- Tiempo 2: valor=123 (1*10²+2*10¹+3*10⁰)
Notación expandida usando PSeint
Nota para escribir el código: “^” con este símbolo se indica la potencia (10⁰=10^0)
Proceso notacion_expandidaEscribir “introduzca primer digito empezando por la derecha: “;Leer digitovalor<-digito*10^0;Escribir “introduzca segundo digito empezando por la derecha: “;Leer digitovalor<-valor+digito*10^1;Escribir “introduzca tercer digito empezando por la derecha: “;Leer digitovalor<-valor+digito*10^2;Escribir “valor=”, valor;Leer digitoFinProceso
Ejercicio
- Tomando como referencia en ejemplo anterior, implementa un Pseudocódigo que convierta un número binario entero (sin decimales), al sistema decimal, como pista: No tenemos que cambiar casi nada, estudiar bien el código y lo veréis, hacer trazas.
- Hacer trazas al algoritmo obtenido, aunque no funcione.
Originally posted 2010-10-21 18:13:52.
Las trazas de los ejercicios 1 y 2 serian iguales ¿no?. Si no es así, ¿de que se esta pidiendo las trazas en el segundo ejercicio?.
No te entiendo bien Alberto.
Tiempo 1: valor= 2 (1*2¹+ 0*2⁰)
Tiempo 2: valor= 6 (1*2² + 1*2¹+0*2⁰)