miércoles, 7 de noviembre de 2012

Mayor de edad

ALGORITMO
Entradas:
Numérico: anio_nacimiento
Numérico: anio_actual
 
Salidas:
Booleano: mayor_edad
 
INICIO
Leer anio_actual
Leer anio_nacimiento
Restar anio_actual menos anio_nacimiento y guardar en edad
Si edad es mayor que 18 entonces
    establecer mayor_edad en "V"
Si no
    establecer mayor_edad en "F"
Imprimir mayor_edad
FIN
 
PSEUDOCÓDIGO
Class  Mayor_de_Edad
         // Declaraciones (entradas)
         Entero: anio_nacimiento
         Entero: anio_actual
         // Declaraciones (slaidas)
         Booleano: mayor_edad
         Main
                Print "Inroduce el año actual"
                Scan anio_actual
                Print "Introduce el año de nacimiento"
                Scan anio_nacimiento
                edad = anio_actual - anio_nacimiento
                if (edad >= 18) then
                    mayor_edad = "V"
                else
                    mayor_edad = "F"
                Print mayor_edad
       End_main

Llegada de un alumno

PROBLEMA
Escribir un algortimo que no diga si un alumno va a llegar temprano a clase dependiendo principalmente de dos condiciones: la primera es saber si se levanta temprano o no, la segunda es saber sy pasa o una combi o un autobus a la hora esperada.

ALGORITMO
Entradas:
Booleano: levanta_temprano
Booleano: pasa_combi
Booleano: pasa_autobus

Salidas:
Alfanumérico: llegada

INICIO
Leer levanta_temprana
Leer pasa_combi
Leer pasa_autobus
Si levanta temprano es "SI" AND pasa_combi es "SI" OR pasa_autobus es "SI" entonces
     establecer llegada en "si llega temprano"
Si levanta temprano es "NO" AND pasa_combi es "NO" AND pasa_autobus es "NO" entonces
     establecer llegada en "no llega temprano"
Imprimir llegada
FIN

PSEUDOCÓDIGO
Class  El_alumno_llega
          //Declaraciones (entradas)
          Booleano: levanta_temprano
          Booleano: pasa_combi
          Boolenao: pasa.autobus
          // Declaraciones (salidas)
          Cadena: llegada
          Main
                  Print "Te levantas temprano"
                  Scan levanta_temprano
                  Print "Pasa la combi"
                  Scan pasa_combi
                  Print "Pasa el autobus"
                  Scan pasa_autobus
                  if (levanta_temprano == "SI") AND(pasa_combi == "SI") OR (pasa_autobus == "SI")then
                      llegada = "si llega temprano"
                  if(levanta_temprano=="NO")AND(pasa_combi=="NO")AND(pasa_autobus=="NO")then
                      llegada = "no llega temprano"
                  Print llegada
          End_main

Calificacion de un alumno

PROBLEMA

Para calcular la calificación de un alumno en la materia de metodología de la programación se siguen las siguientes reglas: Si el alumno no participa obtiene AS, si el alumno si participa se verifica si hace ejercicios en clase si hace ejercicios obtiene SA si además de hacer ejercicios ayuda a sus compañeros obtiene DE y si además su blog esta bonito obtiene AU.
 
ALGORITMO
 
Entradas:
Booleano: participa
Booleano: hace_ejercicios
Boolenao: ayuda
Booleano: blog_bonito
Alfanumerico: nombre
 
Salidas:
Alfanumerico: calificacion
 
INICIO
Leer nombre
Leer participa
Leer hace_ejercicio
Leer ayuda
Leer blog_bonito
Si participa es "NO" entonces
    establecer calificacion en "AS"
Si no
       Si hace_ejercicios es "NO" entonces
            establecer calificacion en "AS"
       Si no
            Si ayuda es "NO" entonces
                 establecer calificacion en "SA"
            Si no
                 Si blog_bonito es "NO" entonces
                      establecer calificacion en "DE"
                 Si no
                      establecer calificacion en "AU"
Imprimir nombre
Imprimir "Obtiene de calificacion"
Imprimir calificacion
FIN
  
PSEUDOCÓDIGO
Class  Calificacion_del_alumno
          // Declaraciones (entradas)
          Booleano: participa
          Booleano: hace_ejercicio
          Booleano: ayuda
          Booleano: blog_bonito
          Cadena: nombre
          // Declaraciones (salidas)
          Cadena: calificacion
          Main
                 Print "Introduce tu nombre"
                 Scan nombre
                 Print "Introduce si participas o no"
                 Scan participa
                 Print "Introduce si haces los ejercicios o no"
                 Scan hace_ejercicios
                 Print "Introduce si ayudas a tus companeños o no"
                 Scan ayuda
                 Print "Introduce si tienes un blog bonito o no"
                 Scan blog_bonito
                 if (participa == "NO") then
                     callificacion = "AS"
                 else
                       if (hace_ejericios == "NO") then
                           calificacion = "AS"
                       else
                             if (ayuda == "NO") then
                                 calificaicion = "SA"
                             else
                                   if (blog_bonito == "NO") then
                                        calificacion = "DE"
                                    else
                                          calificacion = "AU"
                 Print nombre
                 Print "Obtiene de calificacion"
                 Print calificacion
          End_main  

Poligonos regulares

PROBLEMA
Necesitamos un algoritmo que nos permita alcular el perimetro o el area de poligonos regulares entre 5 y 9 lados.
 
ALGORITMO

Entradas:
alfanumerico: operacion
numérico: numero_lados
numérico: base
numérico: altura
 
Salidas:
numérico: resultado
 

INICIO

Leer operacion
Leer numero_lados
Leer base
Leer altura
Si operación es "P" entonces
   Multiplicar base por numero_lados y guardar en resultado
Si operación es "A" entonces
   Multiplicar base  por numero_lados y guardar en perimetro_poligono
   Multiplicar perimetro_poligono por altura y guardar en resultado
Imprimir resultado

FIN
 
PSEUDOCÓDIGO
Class  Poligonos_regulares
          // Declaraciones (entradas)
          Caracter: operacion
          Entero: numero_lados
          Real: base
          Real. altura
          // Declaraciones (salidas)
          Real: resultado
          Main
                  Print "Introduce la operacion que quiere realizar"
                  Scan operacion
                  Print "Introduce la base"
                  Scan base
                  Scan "Introdcue la altura"
                  Scan altura
                  if (operacion == "P") then
                      resultado = base * numero_lados
                  end_-if
                  if (operaciones == "A") then
                       perimetro_poligono= base * numero_lados
                       resultado = perimetro_poligono * altura
                  end_if
                  Print resultado
          End_main
                           

Area de figuras

PROBLEMA
Algoritmo que calcule el area de triangulos y rectangulos conociendo su base y su altura.

 ALGORITMO

Entradas:
numérico  base
numérico altura
cadena figura

Salidas:
numérico area

INICIO
Leer base
Lees altura
Leer figura
Si figura es "Triangulo" entonces
    Multiplicar base por altura y guardar en triangulo
    Dividir triangulo entre 2 y guardar en area
Si figura es "Rectangulo" entonces
    Multiplicar base por altura y guaradr en area
Imprimir area
FIN

PSEUDOCÓDIGO
Class  Area_de_figuras
          // Declaraciones (entradas)
          Real: base
          Real: altura
          Cadena: figura
          // Declaraciones (salidas)
          Real: area
          Main
                  Print "Introduce la base"
                  Scan base
                  Print "Introduce la altura"
                  Scan altura
                  Print "Introduce la figura que deseas"
                  Print figura
                  if (figura == "Triangulo") then
                     triangulo = base * altura
                     area = triangulo / 2
                  end_if
                  if (figura == "Rectangulo") then
                     area = base * altura
                  end_if
                  Print area
          End_ main

Inscripcion

PROBLEMA
En la UTTEC se hace un descuento en la inscripcion de 50% si el alumno tiene promedio entre 9.5 y 10 y un descuento de 20% si tiene promedio entre 8.5 y 9.4 siempre y cuando no sea alumno irregular. Escribir un algoritmo que nos diga cuanto debe pagar un alumno si la inscripcion normal es de $1000.

ALGORITMO


Entradas:
numérico promedio
booleano regular
numérico DESC_A
numérico DESC_B
numérico INSCRIPCION
 
Salidas:
numérico pago
 
INICIO
Leer promedio
Leer regular
Establecer DESC_A=0.50
Establecer DESC_B=0.20
Establecer INSCRIPCIÓN=1000
Si regular es "V" entonces
    Si promedio <=9.5 entonces
        Multiplicar INSCRIPCIÓN por DESC_A y guardar en descuento
    Si promedio <=8.5 y promedio >9.4 entonces
        Multiplicar INSCRIPCIÓN por DESC_ y guardar en descuento
        Restar INSCRIPCIÓN menos descuentoy guardar en pago
Imprimir pago
FIN
 
PSEUDOCÓDIGO
 

Class Descuento_inscripcion
         //Declaraciones (entradas)
         Real: promedio
         Booleano: regular
         Entero: DESC_A = .50
         Entero: DESC_B = .20
         //Declaraciones (salidas)
         Real: pago
         Main
                Print «Introduce tu promedio»
                Scan promedio
                Print «Introduce si eres o no alumno regular»
                Scan regular
                if (Regular ==«V») then
                      if  (promedio >=9.5) then
                           descuento=INSCRIPCION*DESC_A
                       end_if
                      if (Promedio >=8.5 AND   <=9.4) then
                           descuento=INSCRIPCION*DESC_B
                           pago=INSCRIPCION - descuento
                      end_if
                 Print pago
         End_main

Tienda de autoservicio

PROBLEMA
Sabemos que una tienda de autoservicio los dias miercoles ofrece un 10% de descuento en frutas y verduras. Si compro 1 Kg de limón y 2Kg de papaya que tienen un precio de $8 y $15 pesos respectivamente ¿Cuánto tendria que pagar?

ALGORITMO:

Entradas:
numérico kilos_limon
numérico kilos_papaya
numérico DESCUENTO en (0.10)
numérico PRECIO_LIMON
cadena PRECIO_PAPAYA

Salidas:
numérico total_a_pagar

INICIO
Leer kilos_limon
Leer kilos_papaya
Establecer PRECIO_LIMON=8
Establecer PRECIO_PAPAYA=15
Establecer DESCUENTO=0.10
Multiplicar kilos_limon por PRECIO_LIMON y guardar en total_limon
Multiplicar kilos_papaya por PRECIO_PAPAYA y guardar en total_papaya
Sumar total_limon mas total_papaya y guardar en total_a_pagar
Si "Día" es "Miércoles" entonces
    Multiplicar total_a_pagar por DESCUENTO y uardar en total_descuento
    Restar total_a_pagar menos total_descuento y guardar en total_a_pagar
Imprimir total_a_apagar
FIN
 
PSEUDOCÓDIGO
 
Class Tienda_autoservicio
       //Declaraciones (entradas)
      Real: kilos_limon
      Real: kilos_papaya
      Cadena: nombre_trabajador
      Entero: PRECIO_LIMON = 8
      Entero: PRECIO_PAPAYA = 15
      Entero: DESCUENTO = .10
      //Declaraciones (salidas)
      Real: total_a_pagar
      Main
           Print "Introduce el los kilos de limón"
           Scan kilos_limon
           Print «Introduce los kilos de papaya»
           Scan kilos_papaya
           total_limon=kilos_limon*PRECIO_LIMON
           total_papaya=kilos_papaya*PRECIO_PAPAYA
           total_a_pagar=total_limon + total_papaya
           if (Día= «Miércoles») then
                total_descuento=total_a_pagar*DESCUENTO
                total_a_pagar=total_a_pagar-total_descuento
           end_if
           Print total_a_pagar
      End_main