jueves, 6 de diciembre de 2012

Ejercicio 5

Necesitamos un algoritmo que nos diga el total de puntos de 1 jugador de bola 8 ó mande 1 mensaje de Fin de juego cuándo mete la bola 8.

Algoritmo
 
Entradas
alfanumerico nombre_jugador
numerico numero_bolas
numerico bola

Salidas
numerico puntos

Inicio
Leer nombre_jugador
  • Para numero_bolas desde 1 hasta 15, incremento 1
  • Imprimir "¿ Qué bolas metió? "
  • Leer bola
  • Si bola es = 8 entonces
  • Imprimir "Fin de juego"
Sino
Sumar puntos más bola y guardar en puntos
Fin_si
Fin_para
Imprimir puntos
Fin
Ejercicio 4


Necesitamos un algoritmo que pregunte a cada alumno su color favorito y nos diga a cuantos
Algoritmo

Entradas
alfanumerico color_favorito
Salidas
numerico contador_alumno
numerico total_morado

Inicio
Leer color favorito
Para contador_alumno desde 1 hasta 28, incremento 1
Imprimir “¿Cuál 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
Ejercicio 3
 

Necesitamos un algoritmo que nos permita saber cuántas mascotas tienen conjuntamente los alumnos del grupo.
Algoritmo
Entradas
numerico alumnos
numerico mascotas_alumno
Salidas
numerico total_mascotas
Inicio
Para alumnos desde 1 hasta 28, incremento 1
Imprimir “¿Cuántas mascotas tienen?”
Leer mascotas_alumnos
Sumar total_mascotas mas mascotas_alumnos y guardar en total_mascotas
Fin_para
Imprimir total_mascotas
FIN
Algoritmo 
 
Entradas
Numerico Contador 

Inicio
Leer contador
Imprimir "números del 1 al 10"
Para contador desde 1 hasta 10, incremento 1
Imprimir contador
Imprimir « - »
Fin_para
Fin


Psudo Codigo
 
Class//Condicion
//Declaraciones Entradas
entero numerico
//Proceso
main
scan " Numero del 1 al 10 "
for "contador = 1 hasta 10 incremento de 1"
print contador
print contador "____"
end for
end main
end

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