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_expandida
Escribir “introduzca primer digito empezando por la derecha: “;
Leer digito
valor<-digito*10^0;
Escribir “introduzca segundo digito empezando por la derecha: “;
Leer digito
valor<-valor+digito*10^1;
Escribir “introduzca tercer digito empezando por la derecha: “;
Leer digito
valor<-valor+digito*10^2;
Escribir “valor=”, valor;
Leer digito
FinProceso

Ejercicio

  1. 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.
  2. Hacer trazas al algoritmo obtenido, aunque no funcione.

Originally posted 2010-10-21 18:13:52.

2 Responses to “ Cambios de Base usando PSeint ”

  1. Alberto dice:

    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?.

    • admin dice:

      No te entiendo bien Alberto.

      El Ejercicio 1 pide hacer un algoritmo parecido al que he dado, pero que pase de binario a decimal y hacer una traza como ayuda para comprenderlo.
      El segundo ejercicio pide una traza de lo que te salga tanto si es correcta como si no. Si es correcta debería salir:
      Ejemplo 1 1 0, se introduciria (0 1 1)
      Tiempo 0: valor=0  (0*2⁰)
      Tiempo 1: valor= 2 (1*2¹+ 0*2⁰)
      Tiempo 2: valor= 6 (1*2² + 1*2¹+0*2⁰)

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.