Laboratorio de programación y computación 1- Sección B
Ruth Nohemy Ardón Lechuga
Carnet: 201602975
Clave: 71
Algoritmos- Práctica 1
CrearPokemon()
INICIO
SI (no han sido creados los Pokemons) ENTONCES
String nombrePrueba
Int Actual
Boolean nombreCorrecto;
Actual = 0;
IMPRIMIR “Crear Pokemons”
MIENTRAS (Actual < 5)
nombreCorrecto = true;
Instanciar nuevo objeto de clase Pokemon
IMPRIMIR “Ingrese un nombre para el Pokemon”
LEER NombrePrueba
SI (Actual == 0) ENTONCES
Mascotas[actual] = instancia de la clase
Mascotas[actual].Nombre = NombrePrueba
Actual = Actual + 1;
SINO
DESDE i=0 HASTA (Actual-1) HACER
SI (NombrePrueba = Mascotas[i].Nombre) ENTONCES
IMPRIMIR “Intente con otro nombre”
nombreCorrecto = false
FIN SI
FIN DESDE
SI (nombreCorrecto) ENTONCES
Mascotas[actual] = instancia de la clase
Mascotas[actual].Nombre = NombrePrueba
Actual = Actual +1
FIN SI
FIN SINO
FIN MIENTRAS
PokemonCreados = true;
IMPRIMIR “Pokemons Creados”
SINO
IMPRIMIR “Los Pokemons ya han sido creados”
FIN SINO
FIN
SeleccionarPokemon()
INICIO
SI (PokemonCreados) ENTONCES
DESDE i=0 HASTA 4 HACER
IMPRIMIR Mascotas[i].Nombre
FIN DESDE
IMPRIMIR “Seleccione un Pokemon”
LEER PokemonSeleccionado
SI ((PokemonSeleccionado > 0) y (PokemonSeleccionado < 5)) ENTONCES
IMPRIMIR Mascotas[pokemonSeleccionado].Nombre
IMPRIMIR Mascotas[pokemonSeleccionado].Vida
IMPRIMIR Mascotas[pokemonSeleccionado].Estado
Dibujar(pokemonSeleccionado)
menuActividades();
FIN SI
SINO
IMPRIMIR “Primero debe crear sus Pokemons”
FIN SINO
FIN
MatarPokemon()
INICIO
SI (PokemonCreados) ENTONCES
DESDE i=0 HASTA 4 HACER
IMPRIMIR Mascotas[i].Nombre
FIN DESDE
IMPRIMIR “Seleccione un Pokemon”
LEER PokemonSeleccionado
IMPRIMIR ¿Esta seguro que quiere matar a su Pokemon?
IMPRIMIR SI/NO
LEER siNo
SI (siNo = Si) ENTONCES
Mascotas[PokemonSeleccionado].Estado = “Muerto”
SINO SI (siNo = No) ENTONCES
IMPRIMIR “Gracias”
SINO
IMPRIMIR “Opcion Incorrecta”
FIN SI
SINO
IMPRIMIR “Primero debe crear sus Pokemons”
FIN SINO
FIN
RevivirPokemon()
INICIO
SI (PokemonCreados) ENTONCES
DESDE i=0 HASTA 4 HACER
IMPRIMIR Mascotas[i].Nombre
FIN DESDE
IMPRIMIR “Seleccione un Pokemon”
LEER PokemonSeleccionado
IMPRIMIR ¿Esta seguro que quiere revivir a su Pokemon?
IMPRIMIR SI/NO
LEER siNo
SI (siNo = Si) ENTONCES
Mascotas[PokemonSeleccionado].Estado = “Vivo”
SI Mascotas[PokemonSeleccionado].Vida = 0 ENTONCES
Mascotas[PokemonSeleccionado].Vida = 10
FIN SI
SINO SI (siNo = No) ENTONCES
IMPRIMIR “El Pokemon está triste”
SINO
IMPRIMIR “Opcion Incorrecta”
FIN SI
SINO
IMPRIMIR “Primero debe crear sus Pokemons”
FIN SINO
FIN
Alimentar()
INICIO
HACER
IMPRIMIR “1. Comida Buena1”
IMPRIMIR “2. Comida Buena2”
IMPRIMIR “3. Comida Mala1”
IMPRIMIR “4. Comida Mala2”
LEER opcion
SEGUN opcion HACER
CASO 1:
++Mascotas[pokemonSeleccionado].vida
++ Mascotas [pokemonSeleccionado].BuenAlimento
Mascotas[pokemonSeleccionado].Alimentos(ComidaBuena1);
Muere()
CASO 2:
++ Mascotas[pokemonSeleccionado].vida
++ Mascotas[pokemonSeleccionado].BuenAlimento
Mascotas[pokemonSeleccionado].Alimentos(ComidaBuena2);
Muere()
CASO 3:
-- Mascotas[pokemonSeleccionado].vida
++ Mascotas[pokemonSeleccionado].MalAlimento
Mascotas[pokemonSeleccionado].Alimentos(ComidaMala1);
Muere()
CASO 4:
-- Mascotas[pokemonSeleccionado].vida
++ Mascotas[pokemonSeleccionado].MalAlimento
Mascotas[pokemonSeleccionado].Alimentos(ComidaMala2);
Muere()
FIN SEGÚN
MIENTRAS (opcion ¡= 5)
FIN
*El método Actividades() es básicamente lo mismo a Alimentar(), exceptuando que no se lleva
una variable de control de cuántas actividades buenas o malas se efectúan por lo que se omite
esa línea de código*
AlimentosPokemon1()
INICIO
DESDE i=0 HASTA 4 HACER
IMPRIMIR “Alimentos consumidos por” Mascotas[i].Nombre
DESDE j=0 HASTA Mascotas[i].nAlimentos-1 HACER
IMPRIMIR Mascotas[i].Alimentos(i)
FIN DESDE
IMPRIMIR “”
FIN DESDE
FIN
*El resto de reportes es básicamente igual a AlimentosPokemon1(), únicamente variando los
atributos que quieran mostrarse y el orden en que quiera hacerse*
mejorAlimento()
INICIO
Pokemon Temporal
DESDE i=0 HASTA 4 HACER
mejorAlimento[i] = Mascotas[i]
FIN DESDE
DESDE i=0 HASTA 3 HACER
DESDE j=i HASTA 4 HACER
SI mejorAlimento[i].BuenAlimento < mejorAlimento[j].BuenAlimento ENTONCES
Temporal = mejorAlimento[j]
mejorAlimento[j] = mejorAlimento[i]
mejorAlimento[i] = Temporal
FIN SI
FIN DESDE
FIN DESDE
DESDE i=0 HASTA 4 HACER
IMPRIMIR mejorAlimento[i].Nombre + mejorAlimento[i].BuenAlimento
FIN
*Para peorAlimento() se usa la misma estructura de mejorAlimento(), únicamente cambiando
del atributo BuenAlimento a MalAlimento*