martes, 18 de octubre de 2011

Algoritmos Numeros decimales, Binarios, octal; hexadecimales

PASAR DE DECIMAL A BINARIO
Inicio
            Leer T
            Si T = 0 entonces
               Resultado = T
            Fin Si
            Mientras T>0 hacer
                        Residuo = T%2
                        T = T / 2
            Resultado = Residuo . Resultado
            Fin Mientras
            Imprima Resultado
Fin


PASAR DE  BINARIO A DECIMAL
Inicio
                Leer Binario
                T = 1
                Si Binario = 0 entonces
                        Decimal = 0
            Mientras Binario > 0 hacer
                        P = Binario%10
                        Binario = Binario/10
                        Decimal = Decimal + P * T
                        T = 2 * T
            Fin Mientras
                        Imprima Decimal
Fin



PASAR DE DECIMAL A OCTAL
Inicio
                Leer K
                Si K = 0 entonces
                   Result = K
                Fin Si
                Mientras K>0 hacer
                               Residuo = K%8
                               K= K / 8
                Result = Residuo . Result
                Fin Mientras
                Imprima Result
 Fin      




PASAR DE OCTAL A DECIMAL
Inicio
                Leer Octal
                N = 1
                Si Octal = 0 entonces
                               Decimal = 0
                Mientras Octal > 0 hacer
                               M = Octal%10
                               Octal = Octal/10
                               Decimal = Decimal + M * N
                                N = 8  * N
                Fin Mientras
                               Imprima Decimal
Fin





PASAR DE DECIMAL A HEXADECIMAL

Inicio
            Leer Q
            Si (Q >= 0) o Q (Q <= 9)
                        imprima Q
            Fin Si
                       
            Mientras Q > 9 hacer
           
                        Si (Q%16) = 10 entonces
                                   Residuo = "A" . Residuo
                        Fin Si
                       
                        Si Q%16 = 11 entonces
                                   Residuo = "B" . Residuo
                        Fin Si
                       
                        Si Q%16 = 12 entonces
                                   Residuo = "C" . Residuo                              
                        Fin Si
                       
                        Si Q%16 = 13 entonces
                                   Residuo = "D" . Residuo
                        Fin Si
                       
                        Si Q%16 = 14 entonces
                                   Residuo = "E" . Residuo
                        Fin Si
                       
                        Si Q%16 = 15 entonces
                                   Residuo = "F" . Residuo
                        Fin Si
                       
                        Residuo = Q%16 . Residuo
                        Q = Q/ 16
            Fin Mientras
            Residuo = Q . Residuo
            Imprima Residuo
Fin









































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





2 parte del Taller
SOLUCION 4.6

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

SOLUCION 4.8

Public Sub ValidaMod()
        Dim valor1, valor2
        Console.WriteLine("VALIDAR NUMEROS DIVISORES:")
        Console.WriteLine("Valor 1:")
        valor1 = Console.ReadLine()
        Console.WriteLine("Valor 2:")
        valor2 = Console.ReadLine()

        If ((valor1 Mod valor2) = 0) Then
            Console.WriteLine("Son divisibles")
        Else
            Console.WriteLine("No son divisibles")

        End If
    End Sub

   

SOLUCION 4.11

Public Sub SeleccionaOperacion()
        Dim valor1 As Integer, valor2 As Integer, resultado As Double, operacion As String

        Console.WriteLine("SELECCIONAR OPERACIONES ARITMETICAS:")
        Console.WriteLine("Operacion a realizar( +,-.*,/ ):")
        operacion = Console.ReadLine()
        Console.WriteLine("Valor 1:")
        valor1 = Console.ReadLine()
        Console.WriteLine("Valor 2:")
        valor2 = Console.ReadLine()

        Select Case operacion
            Case "+"
                resultado = valor1 + valor2

            Case "-"
                resultado = valor1 - valor2

            Case "*"
                resultado = valor1 * valor2

        End Select

        Console.WriteLine("RESULTADO:")
        Console.WriteLine(resultado)

    End Sub

SOLUCION 4.12

    Public Sub CodigoSeleccion()
        Dim valor1 As Integer, valor2 As Integer, resultado As Double, codigoseleccion As String

        Console.WriteLine("SELECCIONAR ENTRE CODIGOS:")
        Console.WriteLine("Valor 1:")
        valor1 = Console.ReadLine()
        Console.WriteLine("Valor 2:")
        valor2 = Console.ReadLine()
        Console.WriteLine("Codigo a ejecutar(SUMA: 1, MULTIPLICACION: 2, DIVISION: 3 ):")
        codigoseleccion = Console.ReadLine()

        Select Case codigoseleccion
            Case "1"
                resultado = valor1 + valor2

            Case "2"
            resultado = valor1 * valor2

            Case "3"
            resultado = valor1 / valor2

        End Select

        Console .WriteLine("RESULTADO:")
        Console.WriteLine(resultado)

    End Sub

Daymer Gonzalez Ramirez