miércoles, 7 de noviembre de 2012

Desfile

PROBLEMA
Para el desfile del 20 de noviembre, los alumnos podran elegir su disfraz. Los hombre podran ir en el contigente de "soldados", de "revolucionarios" o de charros. Las mujeres eligiran entre "escolta", "adelita", "tabla ritmica" o "bastonera". Guardar e imprimir un mnesaje con el nombre del alumno y el disfraz elegido.

ALGORITMO
Entradas: 
alfanumérico: género
alfanumérico: nombre
alfanumérico: disfraz
Salidas:
 alfanumérico: mensaje
INICIO
Leer genero
Leer nombre
Leer disfraz
Si genero es «HOMBRE» es:
Si disfraz es:
«Soldado» guardar en mensaje «Ud. Eligio soldado»
«Revolucionario» guardar en mensaje «Ud. Eligio Revolucionario»
«Charro» guardar en mensaje «Ud. Eligio charro»
Si no guardar en mensaje «Disfraz no identificado»
Fin_selector
Si genero es «MUJER» Entonces
Si disfraz es:
«Escolta Adelita» guardar en mensaje «Ud. Eligio Escolta Adelita»
«Tabla rítmica» guardar en mensaje «Ud. Eligio tabla rítmica»
«Bastonera» guardar en mensaje «Ud. Eligio Bastonera»
Si no guardar en mensaje «Disfraz no reconocido»
Fin_selector
Imprimir nombre
Imprimir mensaje
FIN

PSEUDOCÓDIGO
Class Disfraces
        //Declaraciones (entradas)
        Cadena: genero
        Cadena: nombre
        Cadena: disfraz
       //Declaraciones (salidas)
        Cadena: mensaje
       //Proceso 
       Main
          Print «Introduzca su genero»
          Scan genero
          Print «Introduzca su nombre»
          Scan nombre
          Print «Introduzca su disfraz»
          Scan disfraz
          If (genero="HOMBRE")then
              Swich (disfraz)
                  "SOLDADO":mensaje="UD ELIGIO SOLDADO"                                
                  "REVOLUCIONARIO":mensaje="UD ELIGIO REVOLUCIONARIO"
                  "CHARRO":mensaje="UD ELIGIO CHARRO»
                  default :mensaje=«DISFRAZ NO IDENTIFICADO"
               end_switch
          end_if
          If (genero= "MUJER") then
              Swich (disfraz)
                  "ESCOLTA ADELITA": mensaje="UD ELIGIO ESCOLTA ADELITA"
                  "TABLA RÍTMICA":mensaje="UD ELIGIO TABLA RÍTMICA"
                  "BASTONERA": mensaje="UD ELIGIO BASTONERA"
                  default :mensaje="DISFRAZ NO IDENTIFICADO"
              end_swich
         end_if
         Print nombre
         Print mensaje
         end_main

Descuento de Calificacion

PROBLEMA
Escribir un algoritmo que nos permita leer tres calificaciones de un alumno entre 7 y 10. El algoritmo debe calcular el promedio de las tres calificaciones e imprimir el resultado. Ademas si el porcentaje es 10 debera imprimir un mensaje que indique que su inscripcion sera gratis, si esta entre 9.0 y 9.9 imprimira que tiene el 20% de descuento y si esta entre 8.0 y 8.9 imprimir un mensaje que indique que tiene un 10% de descuento.
ALGORITMO
Entradas: 
numérico: c_1
numérico: c_2
numérico: c_3
Salidas: 
alfanumérico: promedio_1
alfanumérico: promedio_2
 
INICIO
Leer c_1
Leer c_2
Leer c_3
Sumar c_1 mas c_2 mas c_3 y guardar en sumatoria
Dividir sumatoria entre 3 y guardar en promedio_1
Si promedio_1 es:
10 Entonces
guardar en promedio_2 "GRATIS"
9.0 Y 9.9 Entonces
guardar en promedio_2 "USTED TIENE DESCUENTO DE 20%"
8.0 Y 8.9 Entonces
guardar en promedio_2 "USTED TIENE DESCUENTO DE 10%"
Fin selector
Imprimir promedio_1
Imprimir promedio_2
FIN

PSEUDOCÓDIGO
Class Descuentos
         //Declaraciones (entradas)
         Real: c_1
         Real: c_2
         Real: c_3
         //Declaraciones (salidas)
         Cadena: prmedio_1
         Cadena: promedio_2
         //Proceso
         Main
             Print "Introduzca su 1º calificación"
             Scan c_1
             Print "Introduzca su 2º calificación"
             Scan c_2
             Print "Introduzca su 3º calificación"
             Scan c_3
             promedio_1=c_1+c_2+c_3/3
             Swich (promedio_1)
                  10: promedio_2=«GRATIS»
                  9.0 y 9.9: promedio_2="UD. TIENE DESCUENTO DE 20%"
                  8.0 y 8.9: promedio_2="UD TIENE DESCUENTO DE 10%"
                 default: promedio_2="Opción no valida"
             end_swich
             Print promedio_1
             Print promedio_2
          end_main

Operaciones Basicas

PROBLEMA
Si tenemos un programa donde la opcion A, B, C y D representan respectivamente las operaciones de suma, resta, multiplicacion y division, pedir al usuario que introdusca dos numeros enteros y la operacion que desea realizar y nos de como resultado el mensaje de dicha operacion.
ALGORITMO
Entradas:
Numerico opcion
Numerico numero_1
Numerico numero_2
Salidas:
Numerico resultado
INICIO
Leer opcion
Leer numero_1
Leer numero_2
Si opcion es
1 entonces
sumar numero_1 mas numero_2
guardar en reultado
2 entonces
restar numero_1 menos numero_2
guardar en reultado
3 entonces
multiplicar numero_1 por numero_2
guardar en reultado
4 entonces
dividir numero_1 entre numero_2
guardar en reultado
Fin selector
Imprimir resultado
FIN
PSEUDOCODIGO
Class Operaciones
          //Declaraciones
          Caracter: opcion
          real: numero_1
          real: numero_2
          real: resultado
          Main
                print "Introduzca su primer numero"
                scan numero_1
                print "Introduzca su segundo numero"
                scan numero_2
                print "Elige una opcion"
                scan opcion
                switch (opcion)
                    A.- Suma: numero_1 + numero_2
                    B.- Resta: numero_1 - numero_2
                    C.- Multiplicacion: numero_1 * numero_2
                    D- Division: numero_1 / numero_2
                    default.- print "operacion no disponible"
                 end_switch
                print "El resultado es"
                print resultado
           end_main

Actividad Cultural

PROBLEMA
Se requiere un algoritmo que le permita a un alumno elegir que actividad cultural desea realizar. El alumno debe elegir un numero (1-4) donde la opcion 1.- es el taller de musica, 2.- clases de baile, 3.- taller de oratoria, 4.- cerigrafia.
ALGORITMO
Entradas:
Numerico opcion
Alfanumerico nombre
Salidas:
Alfanumerico taller
INICIO
Imprimir "Elige un numero (1-4)"
Leer opcion
Imprimir "Escribe tu nombre"
Leer nombre
si opcion es
1 entonces
guardar en taller "Taller de musica"
2 entonces
guardar en taller "Clases de baile"
3 entonces
guardar en taller "Taller de oratoria"
4 entonces
guardar en taller "Taller de serigrafia"
Sino entonces
guardar en taller "Desconocido"
Fin selector
Imprimir nombre
Imprimir "eligio"
Imprimir taller
FIN
PSEUDOCODIGO
Class Actividades
          //Declaraciones
          entero: opcion
          cadena: nombres
          cadena: taller
          main
                 print "Introduce tu nombre"
                 scan nombre
                 print "Elige una opcion (1-4)"
                 scan opcion
                 switch (opcion)
                      1: taller= "Taller de musica"
                      2: taller= "Clases de baile"
                      3: taller= "Taller de musica"
                      4: taller= "Taller de oratoria"
                      default: taller= "No elegido"
                 end_switch
                 print nombre
                 print "eligio el"
                 print taller
            end_main

Tres figuras

PROBLEMA
Escriba un algoritmo que le permita al usuario elegir entre tres figuras (circulo, triangulo, cuadrado) e imprima un mensaje con la figura elegida.
ALGORTIMO
Entradas:
Alfanumerico figura
Salida:
Alfanumerico figura_elegida
INICIO
Leer figura
Si figura es
"circulo" entonces
imprimir "eligio un circulo"
"triangulo" entonces
imprimir "eligio un triangulo"
"cuadrado" entonces
imprimir "Eligio un cuadrado"
Sino entonces
imprimir "Figura no disponible"
Fin selector
Imprimir figura_elegida
FIN

PSEUDOCODIGO
Class Seleccion_De_Figura
          //Declaraciones
          Candena: figura
          main
                 print "elige una opcion (1-3)"
                 scan opcion
                 switch (opcion)
                      circulo= print "Eligio un circulo"
                      triangulo= pinrt "Eligio un triangulo"
                      cuadrado= print "Eligio un cuadrado"
                      default= print "Figura no disponible"
                 end_switch
            end_main

Angulo

ALGORITMO
Entradas:
Numerico angulo
Salida:
Cadena tipo_angulo
INICIO
Si angulo > 90º entonces
establecer tipo_angulo= "obtuso"
Si angulo < 90º entonces
establecer tipo_angulo= "agudo"
Si angulo = 90º entonces
establecer tipo_angulo= "recto"
Imprimir tipo_angulo
FIN
PSEUDOCODIGO
Class Angulo
         //Declaraciones (Entradas)
         real: angulo
         //Declaraciones (Salidas)
         cadena: tipo_angulo
         //Procedimiento
         Main
                 print "Introducir angulo"
                 scan angulo
                 If (angulo>90º) then
                 print "obtuso"
                 end_if
                 If (angulo<90º) then
                 print "agudo"
                 end_if
                 If (angulo=90º)
                 print "recto"
                 end_if
          end_main

Tienda de ropa

PROBLEMA
Una tienda de ropa vende prendas de hombre a $200 y prendas de mujer a $150. Se permite comprar un máximo de 5 prendas a hombres y 8 a mujeres. Preguntar a una persona cuantas prendas en total va a pagar o un mensaje de limite exedido.
ALGORITMO
Entradas:
Caracter sexo
Numerico numerop_de_prendas
Numerico PRECIO1
Numerico PRECIO2
Salidas:
Numerico: total_a_pagar
INICIO
Leer sexo
Leer numero_de_prendas
Establecer PRECIO1
Establecer PRECIO2
Si sexo es "F" entonces
multiplicar numero_de_prendas por PRECIO1
guardar en total_a_pagar
si numero_de_prendas >8 entonces
establecer total_a_pagar en "limite exedido"
Si sexo es "H" entonces
multiplicar numero_de_prendas por PRECIO2
guardar en toral_a_pagar
si numero_de_prendas >5 entonces
establecer total_a_pagar en "limite exedido"
Imprimir total_a_pagar
end_main
PSEUDOCÓDIGO
Class Tienda_de_ropa
         //Declaraciones (Entradas)
         cadena: sexo
         entero prendas
         real p_h (200)
         real p_h (150)
         //Declaraciones (Salidas)
         cadena total_pagar
         main
                print "Introduce sexo"
                scan sexo
                print "Introducir prendas"
                scan prendas
                if (sexo="hombre") then
                   if (prendas<=5) then
                   total=prendas*200
                   else
                   print "limite exedido"
                if (sexo="mujer") then
                total=prendas*150
                print total
                else
                print "limite exedido"
        End_main

Triangulo o circulo

PROBLEMA
Teniendo una figura, triangulo o circulo, decidir que queremos calcular, perimetro o area. Leer solo los datos necesarios e imprimir resultado.
 
ALGORITMO
Entradas:
Alfanumérico: figura
Numerico: base
Numerico: altura
Numerico: radio
Alfanumérico  operacion
 
Salidas:
Numerico: resultado
 
INICIO
Leer figura
Si figura es "T" entonces
     Leer operacion   
         Si operacion es "A" entonces
            Leer base
            Leer altura
            Multiplicar base por altura y dividir entre dos
            Guardar en resultado
         Si operacion es "P" entonces
            Leer base
            Multiplicar base por tres
            Guardar en resultado
Si figura es "C" entonces
     Establecer PI = 3.1416
     Leer operacion
         Si operacion es "A" entonces
             Leer radio
             Multiplicar PI por radio al cuadrado
             Guardar en resultado
         Si operacion es "P" entonces
              Leer radio
             Multiplicar PI por radio por dos
             Guardar resultado
Imprimir resultado
Fin
 
PSEUDOCÓDIGO
Class Figuras
         //Declaraciones (entradas)
         caracter:figura
         real:base
         real:altura
         real:radio
         caracter: proceso
         PI=3.1416
         //Declaraciones (salidas)
         real:resultado
         Main
              print "Seleccionar figura"
              scan figura
              If (figura= "T") then
              Print "Selecciona la operacion"
              Scan operacion
                   if(operacion="A")then
                    Print "Introduce la base"
                    Scan base
                    Print "Introduce la altura"
                    Scan altura
                    resultado= (base*altura)/2
                   If operacion= "P") then
                    Print "Introduce la base"
                    Scan base
                    resultado=base*3
                    end_if
              if (figura="C") then
              Print "Selecciona la operacion"
              Scan operacion
                   if (operacion= "A") then
                    Print "Introduce el radio"
                    Scan radio
                    resultado=PI* (radio^2)
                   if (operacion = "P") then
                    Print "Introduce el radio"
                    Scan radio
                    resultado=PI*(radio^2)
                    end_if
             end_if
        print resultado
        end_main

Automovil

PROBLEMA
Tenemos un automovil que viaja a 30k/h y entra a una autopista por lo cual debe aumentar su velocidad 60k, escriba un algoritmo que nos permita saber cuanto aumenta su velocidad.

ALGORITMO
Entradas:
Booleano: aumenta_velocidad
 
Salida:
Alfanumérico:  autopista
 
INICIO
Leer aumenta_velocidad
Si aumenta velocidad es "si"
establecer autopista en "entro a autopista"
Si aumenta_velocidad es "no"
establecer autopista en "no entro a autopista"
Imprimir autopista
FIN
PSEUDOCÓDIGO
Class Automovil
        //Declaraciones (entradas)
        Booleano: aumenta_velocidad
        //Declaraciones (salidas)
        Cadena: autopista
        Main
               Print "Introduce si aumentas o no velocidad"
               Scan aumenta_velocidad
               if (aumenta_velocidad=si) then
                   autopista= Entra a autopista
               if (aumenta_velocidad=no) then
                   autopista="no entra a autopista"
               end_if
               Print autopista
        End_main

Pantallas

PROBLEMA
Queremos comprar una pantalla plana. En la tiemda hay marca "PATITO" y marca "PIRATA" con un 10% y un 20% de descuento respectivamente. Hay pantallas de 30, 40 y 50 pulgadas para PATITO con precios de 3,4 y 5 mil pesos. Hay de 40 y 50 pulgadas para PIRATA con precios de 4 y 5 mil pesos. Preguntar al ususario marca y presupuesto para decirle cual es la pantalla mas grande  que puede comprar.

ALGORITMO

Entradas:
Numérico: presupuesto
Alfanumérico: marca

Salidas:
Alfanumérico: pantalla

INICIO
Leer marca
Leer presupuesto
Si marca es "PATITO" entonces
     Multiplicar 3000 por .10 y guardar en descuento1
     Restar 3000 menos descuento1 y guardar en precio1
     Multiplicar 4000 por .10 y guardar en descuento2
     Restar 4000 menos descuento2 y guardar en precio2
     Multiplicar 5000 por .10 y guardar en descuento3
     Restar 5000 menos descuento3 y guaradr en preicio3
          Si presupuesto es >= precio1 AND presupuesto <precio2 entonces
              establecer pantalla en "Pantalla de 30 pulgadas"
          Si presupuesto es >= precio2 AND presupuesto es < precio3 entonces
              establecer pantalla en "Pantalla de 40 pulgadas"
          Si presupuesto es >= precio 3 entonces
              establecer pantalla en "Pantalla de 50 pulgadas"
          Si presupuesto es < precio 1 entonces
              establecer pantalla en "No puede comprar ninguna pantalla"
Si marca es "PIRATA" entonces
     Multiplicar 4000 por .20 y guardar en descuento1
     Restar 4000 menos descuento1 y guardar en precio1
     Multiplicar 5000 por .20 y guardar en descuento2
     Restar 5000 menos descuento2 y guardar en preico2
          Si presupuesto es >= precio1 AND presupuesto es < precio2 entonces
               establecer pantalla en "Pantalla de 40 pulgadas"
          Si presupuesto es >= precio2 entonces
               establecer pantalla en "Pantalla de 50 pulgadas"
          Si presupuesto es < precio1 entonces
               establecer pantalla en "No puede comprar ninguna pantalla"
Imprimir pantalla
FIN

PSEUDOCÓDIGO
Class   Pantallas
          //Declaraciones (entradas)
          Real: presupuesto
          Cadena: marca
          // Declaraciones (salidas)
          Cadena: pantalla
          Main
                 Print "Introduce la marca deseada"
                 Scan marca
                 Print "Introduce le presupuesto"
                 Scan presupuesto
                 if (marca == PATITO) then
                 descuento1= 3000 * .10
                 preco1= 3000 - descuento1
                 descuento2= 4000*.10
                 precio2= 4000-descuento2
                 descuento3= 5000*.10
                 precio3= 5000-descuento3
                     if (presupuesto>= precio1 A ND presupuesto<= precio2)then
                          pantalla="Pantalla de 30 pulgadas"
                     if (presupuesto>= precio2 AND presupuesto<= precio3)then
                          pantalla="Pantalla de 40 pulgadas"
                     if (presupuesto>= precio3)then
                          pantalla="Pantalla de 50 pulgadas"
                     if (presupuesto<= precio1)then
                          pantalla="no puede comprar ninguna pantalla"
                     end_if
                 if (marca= "pirata")then
                 descuento1= 4000*.20
                 precio1= 4000-descuento1
                 descuento2= 5000*.20
                 precio2= 5000-descuento2
                     if (presupuesto>= precio1 AND  presupuesto<= precio2)then
                         pantalla="Pantalla de 40 pulgadas"
                     if (presupuesto>= precio2)then
                         pantalla="Pantalla de 50 pulgadas"
                     if (presupuesto<= precio1)then
                         pantalla="no puede comprar ninguna pantalla"
                     end_if
                 end_if
          Print pantalla
          end_main