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 


Ejercicio 16 «2º Parcial» con selectores
Actividad Cultural
PROBLEMA:
Si tenemos un programa donde la opción A, B, C Y D representan respectivamente las operaciones de suma, resta, multiplicación y división. Pedir al usuario que introduzca 2 números enteros y la operación que desea realizar y nos de cómo resultado un mensaje de dicha operación.
ALGORITMO:

Entradas: alfanumérico: operación
numérico: n_1
numérico: n_2
Salidas: alfanumérico: mensaje
numérico: resultado
INICIO
Leer operación
Leer n_1
Leer n_2
Si operación es:
«A» Entonces
sumar n_1 más n_2 y guardar en resultado
imprimir en mensaje «Usted eligió suma»
«B» Entonces
restar n_1 menos n_2 y guardar en resultado
imprimir en mensaje «Usted eligió resta»
«C» Entonces
multiplicar n_1 por n_2 y guardar en resultado
imprimir en mensaje «Usted eligió multiplicación»
«D» Entonces
dividir n_1 entre n_2 y guardar en resultado
imprimir en mensaje «Usted eligió división»
Fin selector
Imprimir resultado
FIN

PSEUDOCÓDIGO
Class Operaciones
//Declaraciones (entradas)
numérico: n_1
numérico: n_2
cadena: letra
//Declaraciones (salidas)
numérico: resultado
//Proceso
Main
Print «Introduzca una letra (A-D)»
Scan letra
Print «Introduzca un número»
Scan n_1
Print «Introduzca otro número»
Scan n_2
Swich (letra)
A: resultado=n_1+n_2
B: resultado=n_1-n_2
C: resultado=n_1*n_2
D:resultado=n_1/n_2
default: resultado=«Operación no valida»
end_swich
Print resultado
end_main
 



Ejercicio 15 «2º Parcial» con selectores
Actividad Cultural

PROBLEMA:
Se requiere un algoritmo que le permita al usuario elegir que actividad cultural desea realizar.
El alumno debe de elegir números entre (1 a 4) donde:
1 es taller de música
2 es clases de baile
3 es taller de oratoria
4 es taller de serigrafía

ALGORITMO:

Entradas: numérico: opción
alfanumérico: nombre
Salidas: alfanumérico: taller
INICIO
Imprimir «Elija un número entre 1 y 4
Leer opción
Imprimir «escriba su nombre»
Si opción es:
1 Entonces
guardar en taller «TALLER DE MÚSICA»
2 Entonces
guardar en taller «CLASES DE BAILE»
3 Entonces
guardar en taller «TALLER DE ORATORIA»
4 Entonces
guardar en taller «TALLER DE SERIGRAFÍA»
SI NO Entonces
guardar en taller «DESCONOCIDO»
in selector
FIN

PSEUDOCÓDIGO
Class Actividades
//Declaraciones (entradas)
entero: opcion
entero: nombre
cadena: figura
//Declaraciones (salidas)
cadena: taller
//Proceso
Main
Print «Introduzca su nombre»
Scan nombre
Print «Introduzca una opción (1-4)»
Scan opcion
Swich (opcion)
1: taller=«taller de música»
2: taller=«Clases de baile»
3: taller=«Taller de oratoria»
4:taller=«Taller de serigrafía»
default: taller=«taller no reconocido»
end_swich
Print nombre
Print «Usted eligió»
Print taller
end_main 

Ejercicio 14 «2º Parcial» con selectores
Elegir figuritas
ALGORITMO:

Entradas: alfanumérico: figura
Salidas:
INICIO
Leer figura
Si figura es:
«CIRCULO» Entonces
imprimir «Usted eligió Circulo»
«TRIANGULO» Entonces
imprimir «Usted eligió Triangulo»
«CUADRADO» Entonces
imprimir «Usted eligió Cuadrado»
Fin selector
FIN

PSEUDOCÓDIGO
Class Figuritas
//Declaraciones (entradas)
cadena: figura
//Proceso
Main
Print «Introduzca el nombre de la figura»
Scan figura
Swich (figura)
«CIRCULO»=«ELIGIÓ UN CIRCULO»
«TRIÁNGULO»=«ELIGIÓ UN TRIÁNGULO»
«CUADRADO»=«ELIGIÓ UN CUADRADO»
default=«FIGURA NO RECONOCIDA»
end_swich
end_main
 



Ejercicio 13 «2º Parcial»
 Tipos de ángulos
 ALGORITMO:
Entradas: numérico: ángulo
Salidas:  cadena: tipo_de_angulo
Inicio
•Leer ángulo
•Si ángulo es  ==90 entonces
             Imprimir en tipo_de_angulo «RECTO»
•Si ángulo es  >90 entonces
             Imprimir en tipo_de_angulo «AGUDO»
•Si ángulo es   <90 entonces
             Imprimir en tipo_de_angulo «OBTUSO»
Fin




PSEUDOCÓDIGO
Class  Ángulos
//Declaraciones (entradas)
real: ángulo
//Declaraciones (salidas)
cadena: tipo_de_angulo
//Proceso
Main
  Print «Introduzca el valor de angulo en grados»
  Scan angulo
   if (angulo==90) Then
       tipo_de_angulo=«RECTO»
       end_if
  if (angulo  >90) Then
       tipo_de_angulo=«AGUDO»
       end_if
 if (angulo  <90) Then
       tipo_de_angulo=«OBTUSO»
       end_if
Print «El tipo de angulo es»
Print  tipo_de_angulo
end_main


Ejercicio 10 «2º Parcial»
 Compra de pantalla plana de marcas chafas
 PROBLEMA:
Queremos comprar una pantalla plana. En la tienda 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 5000 pesos.
Hay de 40 y 50 pulgadas para la marca pirata con precios de 4 y 5000 pesos.
Preguntar al usuario marca y presupuesto para decirle cual es la pantalla mas grande que puede comprar.

ALGORITMO:
Entradas:   cadena: marca
  numérico: presupuesto
numérico: PULGADA_1
numérico: PULGADA_2
numérico: PULGADA_3
Salidas:  cadena: pantalla
Inicio
•Leer marca
•Si marca es «PATITO» entonces
•Si presupuesto es <=2700 y  >=3600 entonces
•Imprimir en pantalla «PULGADA_1
•Si presupuesto es <=3600 y  >=4500 entonces
•Imprimir en pantalla «PULGADA_2
•Si presupuesto es <=4500 entonces
•Imprimir en pantalla «PULGADA_3
•Si marca es «PIRATA» entonces
•Si presupuesto es <=3200 y  >=4000 entonces
•Imprimir en pantalla «PULGADA_2
•Si presupuesto es <=4000 entonces
•Imprimir en pantalla «PULGADA_3
•Si presupuesto es >2700 entonces

•Imprimir en pantalla «No puede comprar pantallas»
Imprimir «La pantalla que puede comprar es»
•Imprimir pantalla
Fin





PSEUDOCÓDIGO
 Class  Pantallas
//Declaraciones (entradas)
alfanumérico: marca
numérico: presupuesto
//Declaraciones (salidas)
cadena: pantalla
//Proceso
Main
  Print «Introduzca la marca»
  Scan marca
 Print «Introduzca su presupuesto»
  Scan presupuesto
  if (marca=«PATITO») Then
       (Presupuesto<=2700) AND (>3600)Then
        print  pantalla «PULGADA_1
        (Presupuesto<=3600) AND (>4500)Then
        print  pantalla «PULGADA_2
        (Presupuesto <=4500)Then
        print  pantalla «PULGADA_3
   end_if
 if (marca=«PIRATA») Then
       (Presupuesto <=3200) AND (>4000)Then
        print  pantalla «PULGADA_2
        (Presupuesto <=4000)Then
        print  pantalla «PULGADA_3
   end_if
Print «La pantalla que puede comprar es»
Print  pantalla
end_main


Ejercicio 9 «2º Parcial»
 Alumno que llega temprano
 PROBLEMA:
Escribir un algoritmo que nos diga si un alumno va a llegar temprano a clase dependiendo principalmente de 2 condiciones.
1 saber si el alumno se levanta temprano o no.
2 saber si pasa una combi o un autobús a la hora.

ALGORITMO:
Entradas:     booleano: levanta_temprano
     booleano: combi
    booleano: camion
Salidas:   booleano: llega
Inicio
•Leer levanta_temprano
•Leer  combi
•Leer camion
•Si levanta_temprano es «SI» AND combi es «SI» AND camion es «SI» entonces
•Establecer llega en «SI»
•Si levanta_temprano es «SI» AND combi es «NO» AND camion es «NO» entonces
Establecer llega en «NO»
•Si levanta_temprano es «NO» entonces
Establecer llega en «NO»
•Si levanta_temprano es «SI» AND (combi es «SI» AND camion es «NO») entonces
•Establecer llega en «SI»
•Si levanta_temprano es «SI» AND (combi es «NO» AND camion es «SI») entonces
•Establecer llega en «SI»
•Imprimir «Va a llegar temprano»
•Imprimir llega
Fin




PSEUDOCÓDIGO
 Class  LlegandoTemprano
//Declaraciones (entradas)
booleano: levanta_temprano
booleano: combi
booleano: camión
//Declaraciones (salidas)
cadena: llega
//Proceso
Main
  Print «Introduce si te levantas temprano»
  Scan levanta_temprano
  Print «Introduce si pasa la combi»
  Scan combi
  Print «Introduce si pasa el camión»
  Scan camión
   if (levanta_temprano=«SI») AND (Combi=«SI») AND (Camión=«SI») then
        llega=«SI»
  end_if

 if (levanta_temprano=«SI») AND (Combi=«NO») AND (Camión=«NO») then
        llega=«NO»
  end_if
 if (levanta_temprano=«NO») then
        llega=«NO»
  end_if
 if (levanta_temprano=«SI») AND (Combi=«SI») AND (Camión=«NO») then
        llega=«SI»
  end_if
 if (levanta_temprano=«SI») AND (Combi=«NO») AND (Camión=«SI») then
        llega=«SI»
  end_if
Print «Va a llegar temprano»
Print  llega
end_main