Algoritmos y programación estructurada

30
Computación I Unidad II – Algoritmos y programación estructurada Prof. Jhanmara Duque

description

Introducción a los algoritmos, tutorial básico.

Transcript of Algoritmos y programación estructurada

  • Computacin I

    Unidad II Algoritmos y

    programacin estructurada

    Prof. Jhanmara Duque

  • Contenido

    Decisin Simple Ejemplos

    En Cascada

    Decisin Mltiple Ejemplos

    Ejercicios

  • Unidad1I: Algoritmos Decisin Simple Bsicamente ste enunciado se utiliza para tomar una

    accin cuando se tiene la posibilidad de dos

    alternativas. Esta situacin se presenta cuando se

    requiere hacer una comparacin con el objeto de

    conocer una circunstancia en particular ya sea para

    ejecutar un proceso distinto o para obviar otras

    instrucciones.

    Todo enunciado de decisin, generalmente, slo

    permite como respuestas, dos alternativas; en este

    caso SI o NO, aunque tambin pueden expresarse con

    CIERTO o FALSO, en la elaboracin del seudocdigo

    utilizaremos el formato siguiente:

  • Unidad1I: Algoritmos Decisin Simple

    SI (variable, expresin o comparacin) ENTONCES

    enunciado(s)

    SINO

    enunciado(s)

    FIN SI

  • Unidad1I: Algoritmos Decisin Simple Como funciona la decisin

    La palabra SI, evala lo que se encuentra a

    continuacin, como si se tratara de una pregunta. La

    variable, expresin o comparacin deben dar como

    respuesta dos posibles valores Cierto o Falso.

    Si la respuesta es CIERTO, entonces se ejecutaran los

    enunciados o instrucciones que se encuentren a continuacin

    de la palabra ENTONCES y luego el proceso se transfiere al

    FIN SI;

    Si la respuesta es FALSO, slo se ejecutaran los enunciados o

    instrucciones que se encuentren a continuacin de la palabra

    SI NO y luego el proceso se transfiere al FIN SI.

  • Unidad1I: Algoritmos Decisin Simple - Ejemplos

    Si se desea saber si una persona es mayor o menor de

    edad, podemos escribir:

    INICIO

    DEFINIR

    Entero: edad

    LEER edad

    SI (edad >= 18) ENTONCES

    ESCRIBIR "Mayor de edad"

    SINO

    ESCRIBIR "Menor de edad"

    FIN SI

    FIN

  • Unidad1I: Algoritmos Decisin Simple - Ejemplos

    Disee un algoritmo que determine si un nmero es o

    no, par positivo:

    INICIO

    DEFINIR

    REAL: n

    LEER n

    SI ((n%2==0) y (n>0) ) ENTONCES

    ESCRIBIR "El nmero es par positivo"

    SINO

    ESCRIBIR "El nmero no es par positivo"

    FIN SI

    FIN

  • Unidad1I: Algoritmos Decisin Simple - Ejemplos

    Considerando que las estaciones del ao se numeran

    como 1 para primavera, 2 para verano, 3 para otoo y

    4 para invierno; disee un algoritmo que determine el

    nombre de la estacin del ao conociendo el nmero

    de la estacin:

  • Unidad1I: Algoritmos Decisin Simple Ejemplos Cascada

    INICIO

    DEFINIR

    Entero: numero; Cadena: nombre

    LEER numero

    SI (numero == 1) ENTONCES

    nombre = "Primavera"

    SINO SI (numero == 2) ENTONCES

    nombre = "Verano"

    SINO SI (numero == 3) ENTONCES

    nombre = "Otoo"

    SINO

    nombre = "Invierno"

    FIN SI

    FIN SI

    FIN SI

    ESCRIBIR nombre

    FIN

  • Unidad1I: Algoritmos Decisin Simple - Ejemplos

    Disee un algoritmo que lea un nmero de tres cifras

    y determine si es o no capica. Un nmero es capica

    si es igual al revs del nmero: INICIO

    DEFINIR

    Entero: numero, unidad, centena

    LEER numero

    SI (numero >= 100 && numero

  • Unidad1I: Algoritmos Decisin Mltiple

    La estructura de seleccin mltiple SEGUN permite

    elegir una ruta de entre varias rutas posibles, usando

    para ello una variable denominada selector. El selector

    se compara con una lista de constantes enteras o de

    carcter C1, C2,, Cn para cada una de las cuales hay

    una accin A1, A2,, An.

    SEGUN (selector) CASO C1: accin A1 CASO C2: accin A2 CASO C3: accin A3 . . . CASO Cn: accin An SINO: accin Df FIN SEGUN

  • Unidad1I: Algoritmos Decisin Mltiple

    Considerando que las estaciones del ao se numeran

    como 1 para primavera, 2 para verano, 3 para otoo y 4

    para invierno; disee un algoritmo que determine el

    nombre de la estacin del ao conociendo el nmero de

    la estacin INICIO Entero: numero Cadena: nombre LEER numero SEGN (numero) CASO 1: nombre = "Primavera" CASO 2: nombre = "Verano" CASO 3: nombre = "Otoo" CASO 4: nombre = "Invierno" SINO: nombre = "No es un nmero valido" FIN SEGUN ESCRIBIR nombre FIN

  • 1. En una playa de estacionamiento cobran Bs. 2.5 por hora o fraccin. Disee un algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehculo, conociendo el tiempo de estacionamiento en horas y minutos.

    Unidad1I: Algoritmos Ejercicios

  • 2. Disee un algoritmo que determine el mayor valor de cuatro nmeros a, b, c, d. INICIO

    DEFINIR

    Real a, b, c, d, mayor

    LEER a, b, c, d

    mayor = a

    SI ( b > mayor ) ENTONCES

    mayor = b

    SI ( c > mayor ) ENTONCES

    mayor = c

    SI ( d > mayor ) ENTONCES

    mayor = d

    ESCRIBIR mayor

    FIN

    Unidad1I: Algoritmos Ejercicios

  • 3. Una tienda ha puesto en oferta la venta al por mayor de cierto producto, ofreciendo un descuento del 15% por la compra de ms de 3 docenas y 10% en caso contrario. Adems por la compra de ms de 3 docenas se obsequia una unidad del producto por cada docena en exceso sobre 3. Disee un algoritmo que determine el monto de la compra, el monto del descuento, el monto a pagar y el nmero de unidades de obsequio por la compra de cierta cantidad de docenas del producto.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    Real: montopag, montocom, montodes, precio

    Entero: docenas, obsequio

    LEER docenas, precio

    montocom = docenas*precio

    SI ( docenas > 3 ) ENTONCES

    montodes = 0.15*montocom

    obsequio = docenas-3

    SINO

    montodes = 0.10*montocom

    obsequio = 0

    FIN SI

    montopag = montocom montodes

    ESCRIBIR montocom, montodes, montopag

    FIN

    Unidad1I: Algoritmos Ejercicios

  • 4. Disee un algoritmo que determine quienes son contemporneos entre Juan, Mario y Pedro.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    Entero: juan, mario, pedro

    LEER juan, mario, pedro

    SI( juan == mario y mario == pedro ) ENTONCES

    ESCRIBIR "Los tres son contemporneos"

    SINO SI( juan == mario ) ENTONCES

    ESCRIBIR "Juan y Mario son contemporneos"

    SINO SI ( juan == pedro ) ENTONCES

    ESCRIBIR "Juan y Pedro son contemporneos"

    SINO SI ( mario == pedro ) ENTONCES

    ESCRIBIR "Mario y Pedro son contemporneos"

    FIN SI

    FIN SI

    FIN SI

    ESCRIBIR "Los tres tienen edades diferentes entre s"

    FIN SI

    FIN

    Unidad1I: Algoritmos Ejercicios

  • 5. Disee un algoritmo que lea tres nmeros y los imprima de mayor a menor y de menor a mayor.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    Real: n1, n2, n3, mayor, menor, medio

    LEER n1, n2, n3

    menor = n1

    // Determina el menor

    SI ( n2 < menor ) ENTONCES

    menor = n2

    SI ( n3 < menor ) ENTONCES

    menor = n3

    // Determina el mayor

    mayor = n1

    SI ( n2 > mayor ) ENTONCES

    mayor = n2

    SI ( n3 > mayor ) ENTONCES

    mayor = n3

    // Determina el medio

    medio = n1+n2+n3-mayor-menor

    // Imprime en orden ascendente

    ESCRIBIR menor, medio, mayor

    // Imprime en orden descendente

    ESCRIBIR mayor, medio, menor

    FIN

  • 6. Disee un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en funcin a la cantidad seis obtenidos, de acuerdo a lo siguiente: - Seis en los tres dados, excelente.

    - Seis en dos dados, muy bien.

    - Seis en un dado, regular.

    - Ningn seis, psimo.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    Entero: d1, d2, d3

    LEER d1, d2, d3

    SI ( d1 + d2 + d3 == 18 ) ENTONCES

    ESCRIBIR "Excelente"

    SINO SI ( d1+d2 == 12 d1+d3 == 12 d2+d3 == 12 ) ENTONCES

    ESCRIBIR "Muy bien

    SINO SI ( d1 == 6 d2 == 6 d3 == 6 ) ENTONCES

    ESCRIBIR "Regular"

    SINO

    ESCRIBIR "Psimo"

    FIN SI

    FIN SI

    FIN SI

    FIN

  • 7. Una compaa dedicada al alquiler de automviles cobra $30 hasta un mximo de 300 km de distancia recorrida. Para ms de 300 km y hasta 1000 km, cobra $30 ms un monto adicional de $ 0.15 por cada kilmetro en exceso sobre 300. Para ms de 1000 km cobra $30 ms un monto adicional de $ 0.10 por cada kilmetro en exceso sobre 1000. Disee un algoritmo que determine el monto a pagar por el alquiler de un vehculo y el monto incluido del impuesto.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    REAL: kilomrec, montofijo, montoadic, montopag

    LEER kilomrec

    montofijo = 30*kilomrec

    SI ( kilomrec

  • 8. Disee un algoritmo que lea tres longitudes y determine si forman o no un tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales).

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR

    REAL: L1, L2, L3, suma,mayor

    LEER L1, L2, L3

    // Determina el lado mayor

    mayor = L1

    SI ( L2 > mayor ) ENTONCES

    mayor = L2

    SI( L3 > mayor ) ENTONCES

    mayor = L3

    // Determina la suma de los lados a excepcin del lado mayor

    suma = L1 + L2 + L3 - mayor

    // Determina de que tipo de tringulo se trata

    SI ( mayor < suma ) ENTONCES

    SI ( ( L1 == L2 ) y ( L2 == L3 ) ) ENTONCES

    ESCRIBIR "Tringulo equiltero"

    SINO SI ( ( L1 == L2 ) o ( L1 == L3 ) o ( L2 == L3 ) ) ENTONCES

    ESCRIBIR "Tringulo issceles"

    SINO

    ESCRIBIR "Tringulo escaleno"

    FIN SI

    FIN SI

    SINO

    ESCRIBIR "No es un tringulo"

    FIN SI

    FIN

  • 9. El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas de las cuales se elimina la nota menor y se promedian las tres notas ms altas. Disee un algoritmo que determine la nota eliminada y el promedio de prcticas de un estudiante.

    Unidad1I: Algoritmos Ejercicios

  • INICIO

    DEFINIR REAL: pc1, pc2, pc3, pc4, pcmenor, promedio LEER pc1, pc2, pc3, pc4 // Determina la nota menor pcmenor = pc1 SI ( pc2 < pcmenor ) ENTONCES pcmenor = pc2

    FIN SI SI ( pc3 < pcmenor ) ENTONCES pcmenor = pc3

    FIN SI SI ( pc4 < pcmenor ) ENTONCES pcmenor = pc4 FIN SI

    // Determina el promedio descontando la nota menor promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3 ESCRIBIR promedio, pcmenor

    FIN

    Unidad1I: Algoritmos Ejercicios

  • 10. Disee un algoritmo que dada una cantidad con el IVA (12%) incluido. determine el monto sin impuesto y el monto correspondiente al impuesto.

    Ejemplo: 11200 = 10000 Monto + 1200 IVA

    Unidad1I: Algoritmos Ejercicios

  • Ejercicios

    INICIO

    DEFINIR

    Real : cantidad, cantsiniva, cantiva

    LEER cantidad

    cantsiniva=cantidad/(1+0.16)

    cantiva=0.16*cantidad/(1+0.16)

    ESCRIBIR cantsiniva, cantiva

    FIN