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
No hay comentarios:
Publicar un comentario