Practica 7

[SEGUNDO PERIODO]

Tema Nº7Estructuras algorítmicas selectivas


Comentarios: 

• ¿Qué es una expresión lógica?


Las expresiones lógicas o booleanas, llamadas así en honor del matemático George Boole, están constituida por números, constantes o variables y operadores relacionales o lógicos. El valor que pueden tomar estas expresiones es el de verdadero o falso.

• Operadores relacionales

Un operador relacional se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena).

Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problema. Se utiliza cuando en el desarrollo de la solución de un problema se debe tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.

Las estructuras son:


Si Entonces (Estructura selectiva simple)
Si Entonces / Sino (Estructura selectiva doble)
Si Múltiple

Conclusiones:


Las estructuras lógicas selectivas son comúnmente usadas en la resolución de todo tipo de problemas, y debemos ocupar la que sea necesaria para resolver el problema, para ello se hará uso de expresiones lógicas y operadores relacionales.


Practica #7


Problema 2:

La cotangente de un ángulo se define como el cociente entre el coseno y el seno de dicho ángulo.


Algoritmo:

Proceso Cotangente
    Escribir "Ingrese el ángulo:"
    Leer ang
    angr <- (ang* PI) / 180
    Si sen(angr) <> 0 Entonces
        cot <- cos(angr)/sen(angr)
        Escribir "Cotangente = ", cot
    Sino
        Escribir " El seno del ángulo no puede ser cero."
    FinSi
FinProceso


Diagrama de flujo:





Pantalla de salida:



Problema 4:

Dado como dato el sueldo de un trabajador, considere un aumento del 15% si su sueldo es inferior a $1,000 y de un 12% en caso contrario. Imprima el sueldo con el aumento incorporado. Haga el diagrama de flujo correspondiente.


Algoritmo:

Proceso sueldo
    Escribir "Ingrese sueldo:"
    Leer sueldo
    Si sueldo<1000 Entonces
        sn <- (sueldo*1.15)
        Escribir "Aumento de 15%"
    Sino
        sn <- (sueldo*1.12)
        Escribir "Aumento de 12%"
    FinSi
    Escribir "Sueldo nuevo = $", sn
FinProceso


Diagrama de flujo:



Pantalla de salida:





Problema 6:

Haga un diagrama de flujo para calcular el precio del billete ida y vuelta en ferrocarril, conociendo la distancia del viaje de ida y el tiempo de estancia. Se sabe además que si el número de días de estancia es superior a 7 y la distancia total (ida y vuelta) a recorrer es superior a 800 km, el billete tiene una reducción del 30%. El precio por Km es de $0.23.


Algoritmo:

Proceso viaje
    Escribir "Ingrese distanca de ida en km"
    leer dist1
    Escribir "Ingrese distancia de vuelta en km"
    leer dist2
    Escribir "¿Cuantos dias duró su estadía?"
    leer est
    distT <- dist1+dist2
    preciob <- (distT*0.23)
    Si distT>800 Y est>7 entonces
        Escribir "El precio original es de: $", preciob
        descuento <- preciob*0.30
        costov <- preciob-descuento
    sino
        costov = preciob
    FinSi
    Escribir "El billete costará: $", costov    
FinProceso


Diagrama de flujo:



Pantalla de salida:





Problema 8:

Construya un diagrama de flujo que pueda determinar, dado dos números enteros, si un número es divisor de otro.


Algoritmo:

Proceso numeros
    Escribir 'Ingrese ingrese dos numeros:'
    Leer n1,n2
    Escribir ""
    Si (n1 MOD n2=0) Entonces
        Escribir n2,' es divisor de ',n1
    Sino
        Escribir n2,' no es divisor de ',n1
    FinSi
    Si (n2 MOD n1=0) Entonces
        Escribir n1,' es divisor de ',n2
    Sino
        Escribir n1,' no es divisor de ',n2
    FinSi
FinProceso


Diagrama de flujo:



Pantalla de salida:




Problema 10:

Construya un diagrama de flujo tal que dado como datos A, B y N, compruebe la igualdad de la siguiente expresión:


Algoritmo:

Proceso igualdad
    Escribir "Ingrese datos A, B y n: "
    Leer A, B, n
    Escribir "Comprobando la igualdad de"
    Escribir "(A/B)^n = (A^n / B^n)"
    Escribir ""
    Si B <> 0 Entonces
        Escribir "(", A, "/", B, ")^", n, " ="
        resp1 <-(A/B)^n
        Escribir "R/ ", resp1
        Escribir ""
        Escribir A, "^", n, " / ", B, "^", n " ="
        resp2 <- (A^n / B^n)
        Escribir "R/ ", resp2
        Escribir ""
        Escribir resp1, " = ", resp2
    Sino
        Escribir "Valor de  B incorrecto"
        Escribir "Division entre cero no existe"
    FinSi
FinProceso

Diagrama de flujo:



Pantalla de salida:





Problema 12:

Construya un diagrama de flujo tal que dado como dato una temperatura en grados Fahrenheit, determine el deporte que es apropiado practicar a esa temperatura, teniendo en cuenta la siguiente tabla:



Algoritmo:

Proceso temperatura
    Escribir "¿Que deporte debo practicar?"
    Escribir "Ingrese la temperatura en grados Fahrenheit:"
    Leer temp
    Escribir ""
    Si temp > 85 Entonces
        Escribir "Buen tiempo para practicar Natación."
    FinSi
    Si temp > 70 Y temp <= 85 Entonces
        Escribir "Un dia perfecto para una partida de Tenis!"
    FinSi
    Si temp > 32 Y temp <= 70 Entonces
        Escribir "Deberias jugar Golf!"
    FinSi
    Si temp > 10 Y temp <= 32 Entonces
        Escribir "Pfrr.. que frio! Buen clima para Esquiar"
    FinSi
    Si temp <= 10 Entonces
        Escribir "No vendria mal salir a dar una marcha."
    FinSi
FinProceso


Diagrama de flujo:



Pantalla de salida:





Problema 14:

Haga un diagrama de flujo que permita calcular el valor de f(x), según la expresión:



Algoritmo:

Proceso fx
    Escribir "Ingrese el valor de x:"
    Leer x
    Escribir ""
    Escribir "Residuo de x mod 4 = ", x mod 4
    Escribir ""
    Si x mod 4 = 0 Entonces
        resp <- x^(2)
        Escribir "Función f(x)= ", x, "^(2)"
    FinSi
    Si x mod 4 = 1 Entonces
        resp <- x/6
        Escribir "Función f(x)= ", x, "/6"
    FinSi
    Si x mod 4 = 2 Entonces
        resp <- RAIZ(x)
        Escribir "Función f(x)= RAIZ(", x, ")"
    FinSi
    Si x mod 4 = 3 Entonces
        resp <- x^(3)+5
        Escribir "Función f(x)= ", x, "^(3)+5"
    FinSi
    Escribir "R/ ", resp
FinProceso

Diagrama de flujo:



Pantalla de salida:





Problema 16:

Construya un diagrama de flujo tal que dado como datos el modelo de un vehículo y su precio, determine el valor final que debe pagar el comprador. El concesionario está haciendo descuentos teniendo en cuenta el modelo, con base en la siguiente tabla.




Algoritmo:

Proceso vehiculo
    Escribir "Bienvenido!"
    Escribir "Calcule el descunto de la compra de su vehículo"
    Escribir "Ingrese precio del vehículo:"
    Leer precio
    Escribir "Escoja un modelo:"
    Escribir "1 = Blazer-Trail"
    Escribir "2 = Cavalier"
    Escribir "3 = Chevy"
    Escribir "4 = Opel-Astra"
    Leer op
    Escribir ""
    Segun op Hacer
        1:
            Escribir "Modelo Blazer-Trail: Descuento 8%"
            Escribir "Nuevo precio = ", precio * 0.92
        2:
            Escribir "Modelo Cavalier: Descuento 5%"
            Escribir "Nuevo precio = ", precio * 0.95
        3:
            Escribir "Modelo Chevy: Descuento 6%"
            Escribir "Nuevo precio = ", precio * 0.94
        4:
            Escribir "Modelo Opel-Astra: Descuento 9%"
            Escribir "Nuevo precio = ", precio * 0.91
    FinSegun
FinProceso


Diagrama de flujo:



Pantalla de salida:






Problema 18:

Construya un diagrama de flujo que le permita calcular e imprimir el costo de una llamada telefónica. Para calcular el costo final se sigue lo indicado en la siguiente tabla:



Algoritmo:

Proceso Llamada
    Escribir "Calcule el precio de una llamada!"
    Escribir "¿Cuantos minutos duró la llamada?"
    Leer tiempo
    Escribir ""
    Escribir "¿En que zona se realizó la llamada?"
    Escribir "1 = América del Norte"
    Escribir "2 = América Central"
    Escribir "3 = América del Sur"
    Escribir "4 = Europa"
    Escribir "5 = Asia"
    Escribir "6 = África"
    Escribir "7 = Oceanía"
    Leer zona
    Segun zona Hacer
        1:
            Si tiempo <= 3 Entonces
                precio <- tiempo * 2
            Sino
                precio <- tiempo * 1.5
            FinSi
        2:
            Si tiempo <= 3 Entonces
                precio <- tiempo * 2.2
            Sino
                precio <- tiempo * 1.8
            FinSi
        3:
            Si tiempo <= 3 Entonces
                precio <- tiempo * 4.5
            Sino
                precio <- tiempo * 3.5
            FinSi
        4:
            Si tiempo <= 3 Entonces
                precio <- tiempo * 3.5
            Sino
                precio <- tiempo * 2.7
            FinSi
        5: 
            Si tiempo <= 3 Entonces
                precio <- tiempo * 6
            Sino
                precio <- tiempo * 4.6
            FinSi
        6: 
            Si tiempo <= 3 Entonces
                precio <- tiempo * 6
            Sino
                precio <- tiempo * 4.6
            FinSi
        7: 
            Si tiempo <= 3 Entonces
                precio <- tiempo * 5
            Sino
                precio <- tiempo * 3.9
            FinSi
    FinSegun
    Escribir ""
    Escribir "La llamada costo: $", precio/100    
FinProceso


Diagrama de flujo:



Pantalla de salida:




Problema 20:

Escriba un diagrama de flujo que permita realizar la conversión de pesos y medidas. Considere las siguientes equivalencias:




Algoritmo:

Proceso Conversor
    Escribir "Conversor de pesos y medidas"
    Escribir "¿Que tipo de medida desea covertir?"
    Escribir "1 = Longitud"
    Escribir "2 = Volumen"
    Escribir "3 = Peso"
    Leer op1
    Escribir ""
    Segun op1 Hacer
        1:
            Escribir "Medida a convertir"
            Escribir "1 = Pulgadas a milímetros"
            Escribir "2 = Yardas a metros"
            Escribir "3 = Millas a kilómetros"
            Escribir "4 = Pulgadas^2 a centímetros"
            Escribir "5 = Pies^2 a  metros^2"
            Escribir "6 = Yardas^2 a metros^2"
            Escribir "7 = Acres a kilómetros^2"
            Leer op2
            Escribir "Ingrese medida a convertir:"
            Leer med
            Escribir ""
            Segun op2 Hacer
                1:
                    Escribir med, " Pulgadas = ", med*25.4, " milímetros."
                2:
                    Escribir med, " Yardas = ", med*0.9144, " metros."
                3:
                    Escribir med, " Millas = ", med*1.6093, " kilómetros"
                4:
                    Escribir med, " Pulgadas = ", med *6.452, " centímetros."
                5:
                    Escribir med, " Pies^2 = ", med*0.09290, " metros^2."
                6:
                    Escribir med, " Yardas^2 = ", med* 0.8361, "metros^2"
                7:
                    Escribir med, " Acres = ", med*2.59 " kilómetros^2"
            FinSegun
        2:
            Escribir "Medida a convertir"
            Escribir "1 = Pie^3 a metros^3"
            Escribir "2 = Yarda^3 a metros^3"
            Escribir "3 = Pintas a litros"
            Escribir "4 = Galones a litro"
            Leer op2
            Escribir "Ingrese medida a convertir:"
            Leer med
            Segun op2 Hacer
                1:
                    Escribir med, " Pie^3 = ", med*0.02832, " metros^3."
                2:
                    Escribir med, " Yardas^3 = ", med*0.7646, " metros^3."
                3:
                    Escribir med, " Pintas = ", med*0.56826, " litros"
                4:
                    Escribir med, " Galones = ", med *4.54609, " litros."
            FinSegun
        3:
            Escribir "Medida a convertir"
            Escribir "1 = Onzas a gramo"
            Escribir "2 = Libras a kilogramos"
            Escribir "3 = Ton Inglesas a toneladas"
            Leer op2
            Escribir "Ingrese medida a convertir:"
            Leer med
            Segun op2 Hacer
                1:
                    Escribir med, " Onzas = ", med*28.35, " gramos."
                2:
                    Escribir med, " Libras = ", med*0.45359, " kilogramos."
                3:
                    Escribir med, " Ton Inglesas = ", med*1.0160, " toneladas"
            FinSegun
    FinSegun
FinProceso

Diagrama de flujo:




Pantalla de salida:



No hay comentarios:

Publicar un comentario