Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Jdacking

Páginas: [1]
1
Gracias por la respuesta
Dejé el pseudocódigo en binarios de 5 bits y así fue como funciono, porque con mas de 11 no :(

aquí el como dejé el pseudocodigo:

Código: [Seleccionar]
Algoritmo sin_titulo
Dimension A(5), B(5), C(6)
Escribir ("dame tu primer número")
leer x
Escribir ("dame tu segundo número")
leer x1
Para i=5 hasta 1 con paso -1 hacer
A(i)=x mod 2
x=trunc(x/10)
FinPara
para i=1 hasta 5 con paso 1
Escribir(A(i))
FinPara
Para i=5 hasta 1 con paso -1 hacer
B(i)=x1 mod 2
x1=trunc(x1/10)
FinPara
para i=1 hasta 5 con paso 1
Escribir(B(i))
FinPara
acarreo<-0
Para i=5 hasta 1 con paso -1 Hacer
Si A(i) + B(i) + acarreo=3 entonces
C(i+1)<-1
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=2 entonces
C(i+1)<-0
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=1 entonces
C(i+1)<-1
acarreo<-0
sino
Si A(i) + B(i) + acarreo=0 entonces
C(i+1)<-0
acarreo<-0
FinSi
FinSi
FinSi
FinSi
FinPara
C(1)<-acarreo
para i=1 hasta 6 con paso 1 hacer
escribir(C(i))
FinPara
FinAlgoritmo

Pantalla:


*** Ejecución Iniciada. ***
dame tu primer número
> 10101
dame tu segundo número
> 01101
1
0
0
0
1
0
*** Ejecución Finalizada. ***


si cambio el tamaño de los arreglos A y B a 20 y C a 21 cambiando tambien los ciclos ya no sirve :(
Código: [Seleccionar]
Algoritmo sin_titulo
Dimension A(20), B(20), C(21)
Escribir ("dame tu primer número")
leer x
Escribir ("dame tu segundo número")
leer x1
Para i=20 hasta 1 con paso -1 hacer
A(i)=x mod 2
x=trunc(x/10)
FinPara
Para i=20 hasta 1 con paso -1 hacer
B(i)=x1 mod 2
x1=trunc(x1/10)
FinPara
acarreo<-0
Para i=20 hasta 1 con paso -1 Hacer
Si A(i) + B(i) + acarreo=3 entonces
C(i+1)<-1
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=2 entonces
C(i+1)<-0
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=1 entonces
C(i+1)<-1
acarreo<-0
sino
Si A(i) + B(i) + acarreo=0 entonces
C(i+1)<-0
acarreo<-0
FinSi
FinSi
FinSi
FinSi
FinPara
C(1)<-acarreo
para i=1 hasta 21 con paso 1 hacer
escribir(C(i))
FinPara
FinAlgoritmo



Pantalla:


*** Ejecución Iniciada. ***
dame tu primer número
> 10101010101010101010
dame tu segundo número
> 10101001100110101011
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
*** Ejecución Finalizada. ***


 :( No entiendo.

2
Hola  :)

Soy estudiante del primer semestre de Ingeniería en Computación y me dejaron hacer una serie de ejercicios de pseudocódigo...

El problema en cuestión está en un ejercicio en el que debo sumar 2 números binarios de 20 bits, me las arregle para hacer que sumara don números binarios de hasta 11 bits, ya que al convertir un numero binario leído de 12 o más dígitos a un arreglo (para poder operarlo) y hacer la prueba del programa este no sirve   :-\

Adjunto el pedazo del programa en el que da el fallo


Algoritmo sin_titulo
   Dimension A(20)
   Escribir ("dame tu primer número")
   leer x
   Para i=20 hasta 1 con paso -1 hacer
      A(i)=x mod 2
      x=trunc(x/10)
   Fin para
   Para i=1 hasta 20 con paso 1 Hacer
      Escribir(A(i))
   FinPara
FinAlgoritmo

Esto es lo que dice la pantalla al ejecutar el programa

*** Ejecución Iniciada. ***
dame tu primer número
> 10101010101010101010
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-1
0
0
0
0
*** Ejecución Finalizada. ***

Espero que alguien sepa que es lo que ocurre, si alguien quiere le mando el pseudocódigo de la suma por correo electronico ;)

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".