miércoles, 5 de diciembre de 2012


Algoritmos Tercer Parcial



1°   Escribir un algoritmo que muestre los números del 1 al 10

Entradas:  Numérico: contador

Inicio
   Imprimir "números del 1 al 10"
      Para contador desde 1 hasta 10, incremento 1
          Imprimir contador
          Imprimir "_"
      Fin_Para
Fin


2°  Un alumno quiere saber el promedio de sus 8 materias

Entradas  cadena: nombre
               numerico: calificacion
               numerico: materias

Salida      numerico: promedio

Inicio        
   Leer nombre
       Para materias desde 1 hasta 8, incremento 1
           imprimir materias
           leer calificacion
           sumar promedio mas calificacion y guardar en promedio
      Fin_para
   Dividir promedio entre 8 y guardar en promedio
    imprimir nombre
    imprimir "obtuvo"
    imprimir promedio
Fin


3° Algoritmo que permita saber cuantas mascotas tienen conjuntamente los alumnos del grupo

Entradas  numerico: alumnos
               numerico: mascotas_alumno

Salida      numerico: total_mascotas

Inicio
    Para alumnos desde 1 hasta 28, incremento 1
        imprimir "cuantas mascotas tienes"
        leer mascotas_alumno
        sumar total_mascotas mas mascotas_alumno y guardar en total_mascotas
    Fin_para
  imprimir total_mascotas
Fin


4° Algoritmo que pregunte a cada alumno su color favorito y que diga a cuantos les gusta el color morado

Entradas  cadena: color_favorito
               numerico: contador_alumno

Salida     numerico: total_morado

Inicio
   Para contador_alumnos desde 1 hasta 28, incremento 1
       imprimir "cual es tu color favorito"
       leer color_favorito
          si color_favorito es "morado" entonces
               sumar total_morado mas 1 y guardar en total_morado
           fin_si
   Fin_para
  imprimir total_morado
Fin


5° Algoritmo que nos diga el total de puntos de un jugador de bola 8 o mande un mensaje de "fin de juego" cuando mete la bola 8

Entradas  cadena: nombre_jugador
               numerico: numero_bolas
               numerico_ bola

Salida     numerico: puntos

Inicio
  Leer nombre_jugador
     Para numero_bolas desde 1 hasta 15, incremento 1
        imprimir "que bola metio"
        leer bola
          si bola es igual a 8 entonces
              imprimir "fin del juego"
          sino
             sumar puntos mas bola y guardar en puntos
          fin_si
     Fin_para
  imprimir puntos
Fin


6° Algoritmo que permita a los alumnos elegir una opción del 1 al 4 para un modelo de auto (chevy, tsuru, bora, polo), y nos imprima un mensaje con el total de alumnos que eligieron cada auto

ENTRADAS:
NUMERICO:ALUMNO_CONTADOR
NUMERICO:MODELO_AUTO
SALIDAS:
NUMERICO:" CHEVY"
NUMERICO: "TSURU"
NUMERICO: "BORA"
NUMERICO: "POLO"

INICIO
PARA ALUMNO_CONTADOR DESDE 1 HASTA 28 INCRMENTO 1
IMPRIMIR ¿QUE MODELO QUIERES?
LEER MODELO_AUTO
SI MODELO_AUTO ES
  1 SUMAR 1 A "CHEVY" Y GUARDAR EN "CHEVY"
  2 SUMAR 1 A "TSURU" Y GUARDAR EN "TSURU"
  3 SUMAR 1 A "BORA" Y GUARDAR EN "BORA"
  4 SUMAR 1 A "POLO" Y GUARDAR EN "POLO"
FIN _SI
FIN_PARA
 IMPRIMIR "CHEVY"
 IMPRIMIR "TSURU"
 IMPRIMIR "BORA "
 IMPRIMIR "POLO"
FIN


7° Escribir un algoritmo que imprima numeros pares del 1 al 20

Entrada   numerico: contador

Inicio
  imprimir "numeros pares del 1 al 20"
     Para contador desde 10 hasta 20, incremento 2
        imprimir contador
     Fin_para
Fin

Pseudocodigo

Class Numeros
     // declaraciones
           entero: contador
     //proceso
main
    print "numeros pares del 10 al 20"
        for (contador = 10; contador <= 20; contador = contador +1)
           print contador
        end_for
end_main


8° Algoritmo que imprima la lista de numeros impares del 5 al 15 en orden inverso e imprimir la suma total de esos numeros


ENTRADAS:
ENTERO: NUMEROS_IMPARES
SALIDA
:ENTERO:SUMA_TOTAL

INICIO
IMPRIMIR "NUMEROS DEL 15 AL 5"
PARA NUMEROS_IMPARES DESDE 15 A 5 INCREMENTO 2
IMPRIMIR NUMEROS_IMPARES
SUMAR SUMA_TOTAL MAS NUMEROS_IMPARES Y GUARDAR EN SUMA_TOTAL
FIN_PARA
 IMPRIMIR SUMA_TOTAL
FIN

PSEUDOCODIGO

CLASS IMPARES
// DECLARACIONES (ENTRADAS)
ENTERO : NUMEROS_IMPARES
//DECLARACIONES (SALIDA)
ENTERO: SUMA_TOTAL
//PROCESO
MAIN
   PRINT "NUMERO DEL 15 AL 5"
 FOR (NUMEROS_IMPARES =15;NUMEROS_IMPARES >= 5; NUMEROS_IMPARES =NUMEROS_IMPARES - 2)
   PRINT NUMERO_IMPAR
    SUMA_TOTAL = SUMA_TOTAL MAS NUMEROS_IMPARES
END_FOR
  PRINT SUMA_TOTAL
END MAIN


9° Escribir un algoritmo que pregunte la calificación numerica a un alumno (0-10) e imprimir un mensaje de alumno aprobado a todos aquellos alumnos que tengan calificación mayor a 6 e imprimir un mensaje de los 28 alumnos cuantos aprobaron y cuantos no.

ALGORITMO

ENTRADAS:
NUMERICO: CALIFICACION
NUMERICO: CONTADOR
SALIDAS:
NUMERICO:APROBADO
NUMERICO:REPROBADO

INICIO
 PARA CONTADOR DESDE 1 HASTA 28 INCREMENTO 1
   IMPRIMIR "¿CUAL ES TU CALIFICACION "?
 LEER CALIFICACION
SI CALIFICACION ES >= 6 ENTONCES
  IMPRIMIR "APROBADO"
  SUMAR APROBADO MAS 1 Y GUARDAR EN APROBADO
SINO
  IMPRIMIR "REPROBADO"
  SUMAR REPROBADO MAS 1 Y GUARDAR EN REPROBADO
FIN_SI
FIN_PARA
IMPRIMIR "LOSA LUMNOS APROBADOS SON"
IMPRIMIR APROBADO
IMPRIMIR "LOS ALUMNOS REPROBADOS SON"
IMPRIMIR REPROBADO
FIN



10° Algoritmo que pregunte a una persona su edad y cuantos hijos tiene e imprima mensajes que diga cuantos años tiene mas que cada uno de sus hijos


Entradas   numerico: edad_hijos
                numerico: edad
                numerico: hijos
                numerico: contador

Salida       numerico: anios_mas

Inicio 
   imprimir "cuantos años tiene"
   leer edad
   imprimir "cuantos hijos tiene"
   leer hijos
       Para contador desde 1 hasta hijos, incremento 1
           imprimir "cual es la edad de tu hijo"
           leer edad:hijos
           restar edad menos edad_hijos y guardar en anios_mas
           imprimir "los años de mas que tiene son"
           imprimir anios_mas
       Fin_para
Fin



11° Algoritmo que permita a 10 personas elegir entre 3 posibles figuras (triangulo, cuadrado y circulo), despues de elegir la figura preguntar que operacion desea realizar (ares o perimetro) y pedir los datos necesarios para la operacion. Despues imprimir mensajes con la figura elegida, la operacion realizada y el resultado de dicha operacion



Entradas: alfanumérico: figura
cadena: tipo_triangulo
numérico: radio
numérico: l_1
numérico: l_2
numérico: l_3
Salidas: numérico: resultado
cadena: mensaje
INICIO
Leer figura
Si figura es:
«CIRCULO» entonces
Leer radio
Multiplicar PI por radio y elevar al cuadrado
Guardar en resultado
«UD ELIGIO CIRCULO» guardar en mensaje
«TRIANGULO» entonces
Leer tipo_triangulo
Si tipo_triangulo es:
«EQUILÁTERO» entonces
Leer l_1
Multiplicar l_1 por 3
Guardar en resultado
«UD ELIGIO UN TRIANGULO EQUILÁTERO»
SI NO entonces
Leer l_1
Leer l_2
Leer l_3
Sumar l_1 mas l_2 mas l_3
Guardar en resultado
«UD ELIGIO UN TRIANGULO» guardar en mensaje
«CUADRADO» entonces
Leer l_1
Multiplicar l_1 por 4
Guardar en resultado
«UD ELIGIO UN CUADRADO» guardar en mensaje
default: entonces
Guardar en mensaje «ERROR»
fin_selector
Imprimir resultado
Imprimir mensaje
FIN

12° Un algoritmo que leea números hasta que la suma de esos números sean mayor a 10

Entrada: numerico: numero
Salida: numérico: suma

Inicio
                Mientras suma ≤10 hacer
                               Leer numero    
                               Sumar suma mas numero, guardar en suma
                Fin_mientras
                Imprimir suma
Fin


13° Un algoritmo que lea palabras hasta encontrar la palabra secreta “duchis”

Entrada:  alfanumérico: palabra

Inici
                Mientras palabra sea diferente de “duchis” hacer
                               Leer palabra
                Fin_mientras
                Imprimir “ya la encontre”
fin


14°  Escriba un algoritmo que lea la base y la altura de un triangulo que el área resultante sea mayor a 1


Entrada: numérico, base
              numeico: altura

salida: numérico, área

inicio
                hacer
                               leer base
                               leer altura
                               multiplicar base por altura, guardar área
                               dividir área entre 2, guardar área
                               imprimir área
                mientras área sea mayor a 1
fin


15° Algoritmo que lea nombre de una persona y pregunte a ota persona su nombre hasta encontrar a su tocayo

entrada:    alfanumérico:  mi_nombre
                 alfanumérico:  otro_nombre

inicio
                imprimir “nombre =”
                leer mi_nombre
                hacer /mientras
                               imprimir “tu nombre”
                               leer otro_nombre
                mientras otro_nombre sea diferente a mi_nombre / fin_mientras
                imprimir “encontraste a tu tocayo”
fin


|6° Escribir un algoritmo que calcule el área de un rectángulo de acuerdo a su base y altura y se repita hasta que ambos datos sean 0

Entrada: numérico: base
              numérico: área
Salida: numérico, área

inicio
                hacer
                               leer base
                               leer altuta
                               multiplicar por altura, guardar en área
                               imprimir área
                mientras base sea <0 y altura sea mayor a 0
fin


17° Algoritmo que le permita elegir entre 3 colores distintos al usuario y se termine cuando el numero de veces que se haya elegido el primer color sea 5

Entrada: alfanumérico: color
              numérico: contador

inicio
                mientras contador sea > a 5 hacer
                               leer color
                               si color es
                                               “azul” entonces
                                                               Imprimir “eligio amarillo”
                                                               Sumar contador mas 1, guardar contador
                                               “rojo“ entonces
                                                               Imprimir “eligio rojo”
                                               “azul” entonces
                                                               Imprimir “eligio azul”

                                               Fin_selector
                               Fin_mientras
Fin




miércoles, 7 de noviembre de 2012


Ejercicio 19 «2º Parcial» con selectores
Operaciones 
PROBLEMA:
Necesitamos un programa que le permita al usuario seleccionar entre 3 figuras
Circulo pedir radio y calcular área
Triangulo preguntar si es equilátero y si lo es pedir uno de sus lados si no lo es pedir los 3 lados para calcular perímetro
Cuadrado pedir 1 lado para calcular perímetro
ALGORITMO:

Entradas: alfanumérico: figura
cadena: tipo_triangulo
numérico: radio
numérico: l_1
numérico: l_2
numérico: l_3
Salidas: numérico: resultado
cadena: mensaje
INICIO
Leer figura
Si figura es:
«CIRCULO» entonces
Leer radio
Multiplicar PI por radio y elevar al cuadrado
Guardar en resultado
«UD ELIGIO CIRCULO» guardar en mensaje
«TRIANGULO» entonces
Leer tipo_triangulo
Si tipo_triangulo es:
«EQUILÁTERO» entonces
Leer l_1
Multiplicar l_1 por 3
Guardar en resultado
«UD ELIGIO UN TRIANGULO EQUILÁTERO»
SI NO entonces
Leer l_1
Leer l_2
Leer l_3
Sumar l_1 mas l_2 mas l_3
Guardar en resultado
«UD ELIGIO UN TRIANGULO» guardar en mensaje
«CUADRADO» entonces
Leer l_1
Multiplicar l_1 por 4
Guardar en resultado
«UD ELIGIO UN CUADRADO» guardar en mensaje
default: entonces
Guardar en mensaje «ERROR»
fin_selector
Imprimir resultado
Imprimir mensaje
FIN


Ejercicio 18 «2º Parcial» con selectores
Actividades destacadas 
PROBLEMA:
Para el desfile del 20/Nov los alumnos podrán elegir su disfraz:
Los hombres podrán elegir entre: Soldado, Revolucionario y Charro
Las mujeres podrán elegir entre: Escolta Adelita, Tabla rítmica y Bastonera
Guardar e imprimir 1) Nombre del alumn@ 2) 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)
alfanumérico: genero
alfanumérico: nombre
alfanumérico: disfraz
//Declaraciones (salidas)
alfanumérico: mensaje
//Proceso
Main
Print «Introduzca su genero»
Scan genero
Print «Introduzca su nombre»
Scan nombre
Print «Introduzca su disfraz»
Scan disfraz
Swich (genero)
«HOMBRE»
Swich (disfraz)
«SOLDADO»:mensaje=«UD ELIGIO SOLDADO»
«REVOLUCIONARIO»:mensaje=«UD ELIGIO REVOLUCIONARIO»
«CHARRO»:mensaje=«UD ELIGIO CHARRO»
default :mensaje=«DISFRAZ NO IDENTIFICADO»
«MUJER»
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
Print nombre
Print mensaje
end_main 


Ejercicio 17 «2º Parcial» con selectores
Descuentos por calificaciones
PROBLEMA:
Necesitamos un algoritmo que nos permita leer 3 calificaciones de 1 alumno entre 7 y 10. el algoritmo debe calcular el promedio de las 3 calificaciones e imprimir el resultado. Además, si el promedio es 10. deberá imprimir un mensaje que diga gratis.
Imprimiendo las siguientes condiciones:
10 = Gratis
9.0 a 9.9 = Usted tiene un descuento de 20%
8.0 a 8.9 = Usted tiene un descuento de 10%
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)
numérico: c_1
numérico: c_2
numérico: c_3
//Declaraciones (salidas)
numérico: resultado
//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