Vistas de página en total

martes, 18 de octubre de 2011

TALLER PARCIAL 2
JENIFFER TATIANA SANTAMARÍA RAMOS
INGENIERÍA INDUSTRIAL
1 SEMESTRE
CÓDIGO: 112346
PROFESOR: RAFAEL MORENO



PARCIAL 2 ESTRUCTURAS CÍCLICAS
1.       Explicar cómo pasar un número en base diez (decimal) a binario, octal y hexadecimal y viceversa. Mostrar en imágenes los algoritmos en lenguaje pseudo algorítmico y diagrama de flujo para hacer esas conversiones.
2.       Hacer los puntos 4.6, 4.8, 4.11, 4.12, 4.14 del libro guía. Página 155 y 156. Las dos partes las hace en un documento en Word, una vez termine, genera el identificador MD5 de ese documento en Word y lo pega a la solución de esta tarea. Publica la solución de las dos partes como artículos de su blog (incluyendo las imágenes). El profesor revisará el blog.

1.
·         DECIMAL A BINARIO

Inicio
        Imprima "digite número"         
      Leer R
      Mientras R > 0 hacer
      Residuo = R%2 * residuo
      N= R/2
     Fin mientras
   Imprima residuo
Fin

·         DECIMAL A OCTAL

Inicio
      Imprima "digite número"
      Leer P
      Mientras P > 0 hacer
      Residuo = P % 8 residuo
      P = P/8
   Fin mientras
 Imprima residuo
Fin





·         BINARIO A DECIMAL

Inicio
      Imprima "digite número"         
      Leer Q
      Exponente= 1
      Decimal= 0
      Mientras Q > 0 hacer
      Residuo = Q%10 * residuo
      Decimal=decimal+ (residuo*exponente)
      Q= Q/10
      Exponente= Exponente *2
     Fin mientras
   Imprima residuo
Fin



·         OCTAL A DECIMAL

Inicio
      Imprima "digite número"         
      Leer Z
      Exponente= 1
      Decimal= 0
      Mientras Z > 0 hacer
      Residuo = Z%10 * residuo
      Decimal=decimal+ (residuo*exponente)
      Z= Z/10
      Exponente= Exponente *8
     Fin mientras
   Imprima residuo
Fin

·         DECIMAL A HEXADECIMAL

Inicio
      Imprima "digite número"
      Leer T
      Mientras T > 0 hacer
      Residuo = T % 16 residuo
      T = T/16
      Si residuo= 10 entonces
      Resultado=A .resultado
      Si residuo= 11 entonces
      Resultado=B  .Resultado
      Si residuo= 12 entonces
      Resultado=C .resultado
      Si residuo= 13 entonces
      Resultado=D .resultado
      Si residuo= 14 entonces
      Resultado=E .resultado
      Si residuo= 15 entonces
      Resultado=F .resultado
      Si residuo >= 0 o residuo <=9 entonces
      Resultado=residuo. Resultado

   Fin mientras
 Imprima resultado
Fin

·         DE HEXADECIMAL A DECIMAL
Inicio
         Leer Hexadecimal
        
         ArregloCaracteres = DividirPorCaracter(Hexadecimal)
         longitudArreglo = Longitud(arregloCaracteres)
        
         base = 16
         operacion = 0
         resultado = 0
        
         Si longitudArreglo > 0
        
                   PorCada (caracter en arregloCaracteres)
                            valorcaracter = 0
                           
                            Si caracter = "A" entonces
                                      valorcaracter = 10
                            Fin Si
                  
                            Sino Si caracter = "B" entonces
                                      valorcaracter = 11
                            Fin Sino
                           
                            Sino Si caracter = "C" entonces
                                      valorcaracter = 12
                            Fin Sino
                           
                            Sino Si caracter = "D" entonces
                                      valorcaracter = 13
                            Fin Sino
                           
                            Sino Si caracter = "E" entonces
                                      valorcaracter = 14
                            Fin Sino      
                                              
                            Sino Si caracter = "F" entonces
                                      valorcaracter = 15
                            Fin Sino
                           
                            Sino
                                      valorcaracter = caracter
                           
                           
                            exponentedelaBase = longitudArreglo - 1
                            operacion = valorcaracter * elevadoa(Base, exponentedelaBase)
                            resultado = resultado + operacion
                           
                            longitudArreglo = longitudArreglo - 1
                           
                   Fin PorCada
        
         Fin Si
         Imprima Resultado
Fin



·         DIAGRAMAS DE FLUJO


DE BINARIO A DECIMAL














   




























DE DECIMAL A BINARIO












                                                                  



 



  












 




















DE DECIMAL A OCTAL














                                                                 




































OCTAL A DECIMAL


















                                                           




















































DE DECIMAL A HEXADECIMAL









 













                                                                                   


















                                                                  
















2. Ejercicios del Libro páginas 155 y 156

4.6   
Diseñar un programa en el que a partir de una fecha introducida por teclado con el         formato de DIA, MES, AÑO se obtenga la fecha del día siguiente.


Inicio
         Leer dia
         Escriba("Digite un dia")

         Lea Mes
         Escriba("Digite un mes")

         Lea Año
         Escriba("Digite un año")

        
         SI (dia>30) O (mes>12) O (mes<1) O (dia<1) entonces
         Escriba("Fecha digitada invalida")
         SI NO
        
         SI(dia<31) entonces
         dia = dia + 1;
         SI NO
mes = mes + 1
Dia=1
FIN SI
SI(mes=13) entonces
ano = ano +1
mes = 1
FIN SI
FIN SI
Escriba("la fecha en un mes sera el" + dia + mes + ano)
FIN





4.8
Realizar un algoritmo que averigüe si dados dos números introducidos por teclado uno es divisor del otro.
inicio
entero:  valor1, valor2
imprimir (‘escriba  numero  1’)
leer  valor1
imprimir (‘escriba  numero  1’)
leer valor2
si (valor1 mod  valor2 = 0) entonces
         imprimir (valor 2 & ‘es divisor de ’ & valor1)
sino
         si (valor2 mod  valor1 = 0) entonces
                   imprimir (valor 1 & ‘es divisor de ’ & valor2)
         sino
                   imprimir (‘ni uno es divisor del otro’)
         fin si
fin si
fin



4.8)
Realizar un algoritmo que averigüe si dados números introducidos por el teclado uno es divisor del otro.

INICIO
leer numero1, numero2
si (numero1 mod numero 2 = 0) entonces
imprima(numero1, “ es divisible entre ”, numero2)
de lo contrario
si (numero2 mod numero1 = 0) entonces
         imprima(numero2, “ es divisible entre “, numero1).
De lo contrario
imprima(“Los números no son divisibles el uno del otro”).
         Fin si
FIN

4.11)
Escribir un programa que seleccione la operación aritmética a ejecutar entre dos números dependiendo del valor de una variable denominada selecionOp.

INICIO
         Leer Num1, Num2, SeleccionOp
         Si seleccionOp = suma,entonces
                   Suma = Num1 + Num2
                   Imprima suma
         De lo contrario
         Si seleccionOp =Divide, entonces
                   Divide = Num1/Num2
                   Imprima divide
         De lo contrario
         Si seleccionOp = Multiplicar, entonces
                   Multiplicar = Num1 * Num2
                   Imprima  Multiplicar
         De lo contrario
         Si seleccionOp = Resta, entonces
                   Resta = Num1 – Num2
                   Imprima Resta
         De lo contrario
                   Imprima  “no digito ninguna opción”
         Fin si
FIN



4.12)
Escribir un programa que acepte dos números reales de un usuario y un código de selección. Si el código introducido de selección es 1, entonces el programa suma los dos números introducidos previamente y se visualiza el resultado; si el código de selección es 2, los números deben ser multiplicados y visualizado el resultado; y si el código seleccionado es 3, el primer número se debe dividir por el segundo número y visualizar el resultado.

INICIO
         Leer Num1, Num2, selección
         Si selección = 1, entonces
                   Suma= Num1 + Num2
                   Imprima Num1 . Num2 “su suma es” . suma
         De lo contrario
         Si selección = 2, entonces
                   Multiplicación = Num1 * Num2
                   Imprima Num1 . Num2 “su multiplicación  es” . Multiplicación
De lo contrario
Si selección = 3, entonces
         Divide = Num1 / Num2
         Imprima Num1 . Num2 “su Divide  es” . Divide

         Fin  Si
FIN

4.14)
Escriba un programa que simule el funcionamiento normal de un ascensor (elevador) moderno con 25 pisos (niveles) y que posee dos botones de Subir y Bajar, excepto en el piso (nivel) inferior, que solo existe botón de llamada para Subir  y en el último piso (nivel) que solo existe botón de bajar.

INICIO
         Leer subir,bajar    
         Si elevador = 25, entonces
         Boton1 = bajar
                   Imprima Boton1
         De lo contrario
                   Si elevador  =  1, entonces
                   Boton2 = subir
                   Imprima Boton2
         De lo contrario
                   Si elevador < 24 y >1, entonces
                   Boton3= subir y bajar
                   Imprima  Boton3
         Fin si
FIN