miércoles, 7 de noviembre de 2012

Selector

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

Tipos de Angulos

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
 
PseudoCodigo
 

Class Angulos

//Declaraciones (entradas)

real angulo

//Declaraciones (salidas)

cadena tipo_de_angulo

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


Diagrama de Flujo
 
 
 
Descuento en Pantallas
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

 
PseudoCodigo
 
Class Pantallas
//Declaraciones (entradas)
alfanumérico marca
numérico presupuesto
//Declaraciones (salidas)
cadena pantalla
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
 
 
 
Llegar Temprano
 
Escribir un algoritmo que nos diga si un alumno va llegar temprano a clase dependiendo principalmente de 2 condiciones, saber si se levanta temprano o no, saber si pasa una combi o un autobús a la hora esperada.
 
Algoritmo
 
Entradas    
booleano levanta_temprano
booleano combi
booleano camion
Salidas  
booleano llegar
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 llegar
Fin
Calcular Calificacion
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
cadena nombre
booleano participacion
booleano ejercicios
booleano ayuda
Salidas  
canena calificacion
Inicio
Leer participacion
Leer Nombre
Leer ejercicios
Leer ayuda
Leer blog_bonito
Si participacion es "NO" OR ejercicios es "NO" entonces
Establece calificación en "AS"
Si participacion es "SI" AND ejercicios es "SI" entonces
Establece calificacion en "SA"
Si participacion es "SI" AND ejercicios es "SI" AND ayuda es "SI" entonces
Establecer calificacion en "DE"
Si participacion es "SI"AND ejercicios es "SI" AND ayuda es "SI" AND blog_bonito es "SI"
Establecer calificacion en "AU"
Imprimir nombre
Imprimir calificacion
Fin


PseudoCodigo
 
Class Calificacion

//Declaraciones (entradas)

booleano participacion

booleano ejercicios

booleano ayuda

booleano blog_bonito

cadena nombre

//Declaraciones (salidas)

cadena nombre

cadena calificación

Main

Print "Introduce tu participacion"

scan participacion

Print "Introduce si realizas ejercicios"

scan ejercicios

Print "Introduce si ayudas"

scan ayuda

Print "Introduce si tu blog esta bonito"

scan blog_bonito

if (participacion="NO") OR (Ejercicios="NO") then

calificación="AS"

end_if

if (participacion="SI") AND (Ejercicios="SI") then

calificación="SA"

end_if

if (participacion="SI") AND (Ejercicios="SI") AND(Ayuda="SI")then

calificación="DE"

end_if

if (participacion="SI") AND (Ejercicios="SI") AND (Ayuda="SI") AND (Blog_bonito="SI") then

calificación="AU"

end_if

Print nombre

Print calificación

end_main
 
 
Diagrama de Flujo
 
 
Poligonos

Necesitamos un algoritmo que nos permita calcular el perímetro o el área de polígonos regulares entre 5 y 9 lados.
 
Algoritmo
 
 
Entradas
cadena operacion
numérico lados_poligono
numérico valor_lados
numérico valor_apotema
Salidas  
numérico figura
Inicio
Leer lados_poligono
Leer valor_lados
Leer valor_apotema
Leer operación
Si operación es "PERIMETRO" entonces
Multiplicar lados_poligono por valor_lados
Guardar en figura
Si operación es "ÁREA" entonces
Multiplicar valor_lados por lados_poligono
Guardar en perimetro_poligono
Dividir perimetro_poligono entre dos y guardar en figura
Imprimir operación
Imprimir figura
Fin
 
PseudoCodigo
 
Class PoligonosRegulares
//Declaraciones (entradas)
numérico lados_poligono
numérico valor_lados
numérico valor_apotema
cadena operación
//Declaraciones (salidas)
numérico figura
Main
Print "Introduce los lados del polígono"
scan lados_poligono
Print "Introduce el valor de los lados"
scan valor_lados
Print "Introduce el valor del apotema"
scan valor_apotema
Print "ntroduce la operación que deseas realizar"
scan operación
if (operación="PERÍMETRO") then
figura=lados_poligono*valor_lados
end_if
if (operación="AREA") then
perímetro=valor_lados *lados_poligonos
figura=perimetro/2
end_if
Print figura
end_main
Cambio de Velocidad
 
Tenemos un automovil que viaja a 30km/hr y entra a una autopista por lo cual debe aumentar su velocidad 60 km.
Escribe un algoritmo que nos permita saber cuando aumenta su velocidad.
 
Algoritmo
 
Entradas
booleano aumenta_velocidad
Salidas
cadena autopista
Inicio
Leer aumenta_velocidad
Si aumenta velocidad es "SI" entonces
Establecer en autopista "Entra a autopista"
Sino establecer en autopista "No entró a autopista"
Imprimir autopista
Fin

PseudoCodigo
Class  Cambio de Velocidad

//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 entró a autopista

end_if

Print autopista

end_main
 
Diagrama de Flujo
 
 
Calcular Area
 
Se necesita un algoritmo que calcule el área de un triangulo y rectángulo conociendo su base y altura.
 
Algoritmo
 
Entrada
Numerico base
Numerico altura
Numerico figura
Salida
Numerico are_figura
Leer base
Leer altura
Leer figura
Si figura es “Triangulo” entonces
Multiplicar base por altura y guardar en area_triangulo
Dividir area_triangulo entre dos y guardar en area_figura
Si figura es “Rectangulo” entonces
Multiplicar base por altura y guardar en area_figura
Imprimir “El área de la Figura es”
Imprimir are_figura
FIN
 
PseudoCodigo
 

Class  Calcular Area
//Declaraciones (entradas)

numérico base

numérico altura

cadena figura

//Declaraciones (salidas)

numérico area_figura

Main
Print "Introduce la base"
scan base
Print "Introduce la altura"

scan altura

Print "Introduce la figura"

scan figura

if (Figura = "TRIANGULO") then

area_figura=(base * altura)/2

if (Figura = "RECTÁNGULO") then

area_figura = base * altura

end_if

Print area_figura

end_main


Descuento
 
En la universidad se hace un descuento de un 50% si el alumno tiene promedio entre 9.5 y 10, además de un descuento de un 20% si tiene promedio entre 8.5y 9.4 siempre y cuando no sea alumno irregular.
Algoritmo de cuanto tiene que pagar un alumno si la inscripción normal es de $1,000.
 
Algoritmo
 
Entradas
Numerico promedio
Numerico inscripcion (1000)
Numerico regular
Numerico DESC_A (50%)
Numerico DESC_B (20%)
Salidas
Numerico pago
Inicio
Leer promedio
Establecer DESC_A es 0.50
Establecer DESC_B es 0.20
Establecer inscripcion en 1000
Si regular es “v”entonces
  Si promedio > 9.5 entonces
  multiplicar inscripcion por DESC_A y guardar en descuento
  restar inscripcion menos descuento y guardar en pago
  Si promedio > 8.5 y promedio < 9.4 entonces
  multiplicar inscripcion por DESC_B y guardar en descuelto
  restar inscripcion menos descuento y guardar en pago
Imprimir pago
FIN
 
PseudoCodigo
Class DescuentoInscripcion
//Declaraciones (entradas)
numérico promedio
booleano regular
//Declaraciones (salidas)
numérico pago
Main
Print "Introduce tu promedio"
scan promedio
Print "Introduce si eres o no alumno regular"
scan regular
if (Regular = "V") then
descuento = INSCRIPCION * DESC_A
if (Promedio <= 8.5 AND >= 9.4) then
descuento = INSCRIPCION * DESC_B
pago=INSCRIPCION - descuento
end_if
Print pago
end_main