Sunteți pe pagina 1din 28

Desarrollo de pseudocdigo utilizando

PSeInt

Jos Roberto Coln Villalta

INDICE

Introduccin ................................................................................................................... i
1. Iniciar PseInt ......................................................................................................... 1
2. Qu es el pseudocdigo? ................................................................................... 4
3. Partes del anlisis ................................................................................................. 5
4. Tipos de problemas .............................................................................................. 5
4.1 Problemas secuenciales .................................................................................... 6
4.2

Desarrollo de pseudocdigo para problemas secuenciales ........................... 7

4.3 Problemas condicionales ................................................................................. 10


4.4

Desarrollo de solucin para problemas condicionales ................................. 12

4.5 Problemas con bucles ...................................................................................... 14


4.6 Desarrollo de soluciones para problemas con bucles ...................................... 15
5. Bibliografa .......................................................................................................... 23

Introduccin

Despus de iniciar el proceso de aprendizaje del desarrollo de diagramas de flujo


utilizando PSeInt como paso introductorio al mundo de la programacin, resulta
conveniente y necesario mejorar las tcnicas de anlisis y acercarnos ms a las
instrucciones de los lenguajes de programacin de cuarta generacin; sin embargo,
en lugar de dar un salto desde los diagramas de flujo hasta la programacin, primero
debemos hacer una parada preliminar en la temtica del pseudocdigo, y
comprender las instrucciones que se utilizan y practicar la lgica, el orden y la
congruencia que nos dej el estudio de diagramas de flujo.
La prctica y el desarrollo de pseudocdigo permitirn generar y paulatinamente
ampliar las competencias en la escritura de cdigo, pero siendo un tanto permisivo,
al contrario de las instrucciones y la sintaxis en algunos lenguajes de programacin,
como por ejemplo Java.
Por lo anteriormente expuesto, es que he decidido redactar lo que a mi parecer,
puede considerarse como un documento preliminar a la escritura de cdigo en un
lenguaje de programacin, pero tambin, posterior a un primer acercamiento que
debe hacerse a travs del estudio de diagramas de flujo; es importante tener en
cuenta, que nunca debe perderse de vista que la programacin requiere adems de
la prctica, primordialmente de un pensamiento ordenado y lgico.

1. Iniciar PseInt

En la Web oficial del programa PSeInt lo definen de la siguiente forma: PSeInt es


una herramienta para asistir a un estudiante en sus primeros pasos en programacin.
Mediante un simple e intuitivo pseudolenguaje en espaol (complementado con un
editor de diagramas de flujo), le permite centrar su atencin en los conceptos
fundamentales de la algoritmia computacional, minimizando las dificultades propias
de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y
recursos didcticos1
El programa instalador puede descargarse desde: http://pseint.sourceforge.net/
La familiarizacin con el entorno de desarrollo de PSeInt puede descubrirla en:
http://pseint.sourceforge.net/slide/pseint.html
Despus de instalado el programa PSeInt puede acceder a su entorno siguiendo los
siguientes pasos:
a) En la seccin de programas de su computadora o en el escritorio busque el
icono del programa PSeInt, ejectelo:

Figura #1: cono de la aplicacin PSeInt.

b) Para solicitar un nuevo archivo lo haremos a travs de la opcin Nuevo en el


men Archivo.

Qu es PSeInt? (19-06-2014). Recuperado de: http://pseint.sourceforge.net/

Figura #2: Crear nuevo archivo en PSeInt.

c) Se carga la ventana o entorno dnde escribiremos el pseudocdigo:

Figura #3: Ventana para el desarrollo de pseudocdigo

d) En el extremo derecho de la ventana de desarrollo de pseudocdigo tenemos


la barra de herramientas que contiene todos las posibles instrucciones
(comandos) que podemos utilizar en nuestros pseudocdigos:

Figura #4: Comandos (instrucciones) para el desarrollo de pseudocdigo.

Para utilizar cualquiera de los comandos (instrucciones) de PSeInt, bastar


con hacer un clic y automticamente la instruccin se incorpora al
pseudocdigo, se muestra ayuda emergente y la sintaxis de la instruccin en
la parte central inferior de la ventana, o bastar con escribirlas.

Figura #5: Incorporacin de instrucciones en el pseudocdigo.

e) Si se quiere borrar algn texto o instruccin, insertar o eliminar alguna lnea

bastar con utilizar las teclas bsicas: Suprimir, , Intro, etc., como si tratase
de un editor de texto tradicional.

f) Para ejecutar el pseudocdigo desarrollado, bastar con hacer clic en el botn


de color verde de la barra de herramientas de PSeInt (Ejecutar).
g) Con las nociones bsicas de como cargar el programa y acceder a la edicin
de pseudocdigo estamos listos para comenzar a trabajar.

2. Qu es el pseudocdigo?

El pseudocdigo, es el conjunto de comandos (instrucciones), dnde cada uno de


ellos tiene una sintaxis particular y que al utilizarse de forma ordenada y lgica se da
solucin a problemas que requieren lgica computacional.
Despus de hacer un primer acercamiento a la lgica computacional a travs del
desarrollo de diagramas de flujo, sugiero que el siguiente paso sea el desarrollo de
pseudocdigo, todo ello, previo a la escritura de cdigo de programacin. La idea
anterior, la expongo debido a mi experiencia personal, en la cual he percibido que
resulta ms fcil para un aprendiz de programacin comenzar con desarrollo de
diagramas de flujo, es decir comprender bloques (figuras) y su interaccin, para
pasar luego a escribir cdigo semi-formal (pseudocdigo) y finalizar en la escritura de
cdigo de programacin en un lenguaje de cuarta generacin.

3. Partes del anlisis

Para solucionar problema que requieran lgica computacional, ser necesario


identificar tres componentes bsicos: entrada(s), proceso(s) y salida(s) y es a travs
de la interaccin de stos que se logra dar con la solucin. La descripcin de cada
uno de ellos se presenta a continuacin:
Entrada: son los datos que nos aporta el planteamiento del problema o la
informacin que puedo obtener del usuario.
Proceso: son los cambios o procedimientos que se aplican a las variables de
entrada y otras variables complementarias para convertirlas en salidas a travs del
uso de instrucciones (comandos).
Salida: son los valores que muestran las variables despus de ser modificadas o
despus de ser sometidas a procedimientos a travs del uso de instrucciones
(comandos).

4. Tipos de problemas

Los problemas ms sencillo de resolver utilizando pseudocdigo son los


secuenciales, en este tipo de problemas bastar con colocar de forma ordenada y
lgica una instruccin tras otra y el problema se resolver, sin embargo existen
problemas ms complejos que requieren de ms instrucciones (comandos) para
resolverse, por ejemplo evaluar decisiones, repetir o combinar ambos.

4.1 Problemas secuenciales

Los comandos o instrucciones ms frecuentes para resolver los problemas


secuenciales son: Escribir, Leer y Asignar. Es necesario adems comenzar a
utilizar el concepto de variable, el cual resulta indispensable para desarrollar
cualquier diagrama de flujo.
Una variable, es un espacio de memoria que se utiliza para resguardar un dato que
deber ser procesado o que sufrir cambios debido a operaciones o clculos,
adicionalmente una variable debe tener un nombre que la identifique de forma nica.
Existen normas para nombrar correctamente una variable, para el presente texto
aplicaremos las ms bsicas:
a) Nunca se utilizan espacios en blanco, smbolos especiales como (,$,!,,?,
etc.)
b) Nunca el nombre de una variable comienza con mayscula.
c) Cuando el nombre de la variable est formado por ms de una palabra, la
primera palabra se escribe con minsculas, la primera letra de las siguientes
palabras

se

escribe

con

mayscula.

Por

ejemplo:

precioUnitario,

cantidadBoletos, promedioEstudiante.
Para la resolucin de problemas secuenciales, utilizaremos adems de variables, las
tres instrucciones o comandos bsicos: Escribir, Leer, Asignar.

Instruccin/Comando

Significado
Se

utiliza

para

mostrar

mensajes de diferentes tipos y


propsitos: resultados, clculos,
informacin general, etc.
Se

utiliza

para

ingresar

asignar un valor a una variable.

Se utiliza para asignar un valor


o

calculo

Usualmente

una

variable.

denota

una

transformacin en el valor de la
variable. El clculo ubicado a la
derecha de la expresin se
realiza
asigna

posteriormente
a

la

se

variable

especificada a la izquierda.
Cuadro #1: Comandos o instrucciones ms comunes para problemas secuenciales

4.2 Desarrollo de pseudocdigo para problemas secuenciales

Ejercicio #1: Realizar la suma de dos nmeros.


Planteamiento del problema: Solicitar al usuario dos nmeros y luego calcular el
resultado de la sumatoria.
Entrada: primerNumero, segundoNumero
Proceso: realizar el clculo a travs de un cuadro Asignar
Salida: mostrar el resultado de la suma

Solucin:

Figura #6: Solucin al ejercicio #1, a travs de pseudocdigo.

Explicacin: se ha utilizado una instruccin Escribir antes de cada bloque Leer,


esto con el propsito de mostrar mensajes que orienten al usuario sobre que debe
escribir en cada entrada. Posteriormente, la asignacin del clculo aritmtico
primerNumero+segundoNumero a la variable resultado se hace escribiendo:
resultado<-primerNumero+segundoNumero
Se debe recordar que en las expresiones, primero se realiza el clculo ubicado a la
izquierda y luego el resultado se asigna a la variable de la izquierda.
Finalmente, se muestra el resultado a travs de un comando o instruccin Escribir,
observe que dicha salida est formada por cinco partes: cada trozo de mensaje de
texto est encerrado entre comillas dobles , posteriormente una coma (,) que se
utiliza para unir un mensaje a otro o para unir un mensaje a una variable, y el resto
de elementos de la salida son variables:
Escribir primerNumero,' + ',segundoNumero,' = ',resultado
El propsito es obtener una salida ms detallada y entendible para el usuario.

Ejercicio #2: Calcule el rea de un crculo.


Planteamiento del problema: Debido a que el rea de un circulo se calcula a travs
de la formula Pi * radio2 y conocemos que pi es una constante, solo nos falta solicitar
al usuario el valor del radio.
Entrada: radio
Proceso: realizar el clculo del rea del crculo.
Salida: mostrar el valor del rea del crculo
Solucin:

Figura #7: Solucin al ejercicio #2, a travs de diagrama de flujo

Explicacin: se han utilizado las instrucciones Escribir antes del bloque Leer el
rea del crculo, esto con el propsito de mostrar un mensaje que oriente al usuario
sobre que debe escribir en la entrada. Posteriormente, se realiza la asignacin del
clculo 3.1416*radio^2 a la variable rea.
Finalmente, se muestra el resultado a travs de una instruccin Escribir, observe
que dicha salida est formada por cinco partes, cada una de ellas separadas por
comas (,) esto con el propsito de obtener una salida muy detallada. Las partes
encerradas entre comillas dobles son mensajes de texto y el resto de elementos son
valores contenidos en las variables.

4.3 Problemas condicionales

Las instrucciones o comandos que utilizamos para resolver un problema condicional


son: Escribir, Leer, Asignar, Si-Entonces.
Las tres instrucciones bsicas estn representadas en el Cuadro #1, el nuevo
comando a utilizar para resolver problemas condicionales ser Si-Entonces y puede
describirse as:
Comando/Instruccin

Uso
Se utiliza para evaluar una
condicin, y dependiendo del
resultado de la evaluacin de la
condicin, se tomar un curso
de accin si resulta cierto u otro
curso de accin si resulta falso.

Cuadro #2: Comando o instruccin Si-Entonces

Complementario al uso de instrucciones condicionales, es necesario comprender


algunos operadores bsicos que se utilizan para construir las condiciones que se
evalan en dichas instrucciones (operadores relacionales).
Desde el punto de vista de una operacin del tipo Si-Entonces, el significado que
tendrn las operaciones relacionales, se describe a continuacin:
Operando #1

Operador

Operando #2

Significado

Evala si a es igual (idntico) a b.

!=

Evala si a es diferente de b.

>

Evala si a es mayor que b.

>=

Evala si a es mayor o igual que b.

<

Evala si a es menor que b.

<=

Evala si a es menor o igual que b.

Cuadro #3: Operaciones relacionales

10

Al realizar operaciones relacionales se genera un nico resultado, el cual puede ser


nicamente: verdadero o falso.
Adicionalmente a los operadores relacionales y para expandir la posibilidad de
evaluar ms de una condicin al mismo tiempo, es necesario comprender los
operadores lgicos, por el momento solo se abordaran dos: el operador Y, y el
operador O. Los operadores lgicos operan o evalan valores del tipo verdadero o
falso, y por ende el resultado que genera es nicamente: verdadero o falso.
El resultado de evaluar dos operaciones utilizando el operador lgico Y se describe a
continuacin:
Operacin #1

Operador

Operacin #2

Resultado

verdadero

verdadero

verdadero

verdadero

falso

falso

falso

verdadero

falso

Falso

falso

falso

Cuadro #4: Operaciones lgicas con Y

Como nota personal siempre me gusta recalcar que el operador Y tiende a generar
resultados excluyentes, debido a que la mayora de sus resultados son falso, y solo genera
verdadero cuando ambas operaciones son verdaderas.

El resultado de evaluar dos operaciones utilizando el operador lgico O se describe a


continuacin:
Operacin #1

Operador

Operacin #2

Resultado

verdadero

verdadero

verdadero

verdadero

falso

verdadero

falso

verdadero

verdadero

Falso

falso

falso

Cuadro #5: Operaciones lgicas con O

Como nota personal siempre me gusta recalcar que el operador O tiende a ser incluyente
en los resultados que genera, debido a que la mayora de sus resultados son verdadero, y
solo genera falso cuando ambas operaciones son falsas.

11

4.4 Desarrollo de solucin para problemas condicionales

Comenzar est seccin dando un giro completo a lo que he venido haciendo con los
pseudocdigos, que tal si reviso el Ejercicio #2 que dice de la siguiente forma:
Calcule el rea de un crculo, y me planteo la siguiente pregunta: Qu pasa si el
usuario escribe un valor negativo en la entrada denominada radio?
Resulta que se calculara el valor del rea del circulo adecuadamente, ya que el rea
del circulo viene dado por 3.1416*radio^2, y el valor del radio negativo se
transformara en positivo al ser elevado al cuadrado.
Lo anterior resulta ser una coincidencia, y lamentablemente en el mundo de la
programacin y la lgica computacional no basta con la suerte y la coincidencia, en
su lugar debemos abordar una nueva, importante y necesaria temtica que se
complementar con el uso de las instrucciones condicionales y el uso de bucles de
forma progresiva, la temtica es: validaciones.
Una validacin es una operacin que permite verificar que el valor de una variable es
el adecuado en trminos de rangos posibles de valores y en concordancia con las
operaciones o transformaciones que experimentar; por ejemplo, si deseamos
procesar calificaciones de estudiantes, el rango posible de valores que puede tomar
una variable denominada calificacion1 est entre 0.0 y 10.0, nunca valores negativos
y nunca valores que sobrepase el diez punto cero (10.0).

Ejercicio #3: averiguar si un estudiante aprob o reprob ingresando su promedio y


sabiendo que se aprueba con promedio de seis o ms, recuerde validar el valor del
promedio.
Planteamiento del problema: mostrar un mensaje de: Aprob si el promedio del
estudiante est entre 6.0 y 10.0, si el promedio es menor que 6.0 pero mayor o igual
a cero mostrar Reprob, y en caso contrario mostrar un mensaje que exprese el
error en la entrada.
12

Entrada: promedio
Proceso: se deber Leer el promedio del estudiante y evaluar a travs de
instrucciones Si-Entonces, si aprob, reprob o si hay algn error en la entrada.
Salida: mostrar Reprob si el promedio est en el rango de 0.0 a menos de 6.0, o
mostrar Aprob si el promedio est en el rango de 6.0 a 10.0, en otro caso mostrar
Error en el promedio ingresado.
Solucin:

Figura #8: Solucin al ejercicio #3, a travs de pseudocdigo.

Explicacin: En la lnea 2 del pseudocdigo se utiliza la instruccin Escribir el texto


que acompaa es bastante extenso y su propsito es mostrar un mensaje
suficientemente claro y que aporte pista al usuario del dato que debe digitar o
ingresar (Ingrese el promedio del estudiante (entre 0.0 y 10.0)). A continuacin se
utiliza la instruccin Leer para capturar el dato que el usuario ingrese y guardarlo en
la variable promedio.
A continuacin hay un bloque de decisiones Si-Entonces, la primera condicional se
utiliza para determinar si el valor ingresado de promedio es vlido:
Si promedio<0.0 O promedio>10.0 Entonces
Si resulta verdadera la evaluacin significa que el promedio ingresado es un valor
negativo o que es mayor a diez, observe que se han utilizado operadores
relacionales para comparar la variable promedio con un valor numrico; adems, se
13

ha utilizado un operador lgico O para evaluar que si sucede una u otra de las partes
de la condicin: promedio menor que cero o promedio mayor que diez, en cualquier
caso se considerar un valor incorrecto para la variable promedio.
Si resulta falsa la primera condicin, significa entonces que el promedio si est
dentro del rango adecuado de valores (0.0 a 10.0), por tanto, solo resta evaluar con
una segunda condicional si el promedio es mayor o igual a seis punto (6.0) en cuyo
caso se muestra el mensaje Aprob, y en caso contrario, con un promedio menor
a seis punto cero se muestra el mensaje Reprob.
Sugerencia: las instrucciones Escribir de la condicin deben ser ms especficos,
cambie el bloque Salir que muestra Aprob por Aprob con promedio ,
promedio
Luego cambie el bloque Salir que muestra Reprob por Reprob con
promedio, promedio
Como podr comprobar los mensajes son ms completos y resultan ms tiles para
el usuario.

4.5 Problemas con bucles

Al trabajar con bucles se debe tener claro que habr repeticin de procesos u
operaciones, en muchas ocasiones esos procesos incluyen la utilizacin de bloques
condicionales, asignacin de valores, uso de contadores y acumuladores, y dems
instrucciones previamente utilizadas.
Las instrucciones o comandos que hacen referencia al uso de bucles son: Para,
Mientras, y Repetir; cada una de ellas tiene fortalezas para ser utilizadas en casos
en particular, y en otros casos resulta casi indistinto cul de ellas se utilice, siempre y
cuando se haga de forma ordenada y lgica.

14

Bloque/Instruccin

Uso
Se

utiliza

para

mostrar

mensajes de diferentes tipos y


propsitos: resultados, clculos,
informacin general, etc.
Se

utiliza

para

ingresar

asignar un valor a una variable.

Se utiliza para asignar un valor


o

calculo

Usualmente

una

variable.

denota

una

transformacin en el valor de la
variable. El clculo ubicado a la
derecha se realiza y se asigna a
la variable especificada a la
izquierda.
Cuadro #6: Bloques o instrucciones utilizadas para bucles

4.6 Desarrollo de soluciones para problemas con bucles

Retomando el tema de las validaciones, un primer acercamiento se realiz en la


solucin del ejercicio #3; sin embargo, este mtodo de validacin no es el mejor, ya
que simplemente registra si ha ocurrido un error en el dato ingresado, pero no
permite repetir y corregir la entrada, simplemente termina la ejecucin del
pseudocdigo.
En mi experiencia particular he podido comprobar que los bucles Mientras y Repetir
son los ms adecuados para la tarea de la validacin de entradas, y si tuviera que
decidirme solo por uno, le apostara ms al bucle Repetir, ya que resulta ms eficaz
que el bucle Mientras, debido a que requiere menos instrucciones.
15

Ejercicio #4: Desarrolle un pseudocdigo que funcione para cualquier grupo de


clase que tenga entre 1 y 50 estudiantes, por cada uno de ellos se preguntaran dos
calificaciones, todas ellas con igual ponderacin (50% c/u), inmediatamente se le
mostrar un mensaje especificando su promedio y un mensaje adicional
especificando si aprob (promedio de seis o ms), reprob (promedio menor a cinco)
o si puede realizar un examen complementario (si el promedio es cinco o ms y
menor a seis). Finalmente, se desea saber cuntos alumnos aprobaron, cuantos
reprobaron y cuantos necesitan examen complementario.
Recuerde que las calificaciones deben estar en el rango de 0.0 a 10.0 nicamente,
cualquier otro valor es considerado una entrada incorrecta y deber repetirse.
Planteamiento del problema: Uso de bucles para validar entradas y para pasar
uno a uno a los estudiantes del saln de clase, solicitar sus calificaciones y
validarlas, calcular su promedio y evaluar si aprob, reprob o realizar examen
complementario.
Entradas: cantidad de estudiantes; para cada estudiante del saln: calificacion1,
calificacion2
Proceso: se deber utilizar un bucle para validar la cantidad de estudiantes en el
aula, luego inicializar los contadores de alumnos aprobados, reprobados y
complementarios, todos ellos con valor inicial cero. Dentro del bucle que representa
el saln de clase y dnde cada iteracin representa un estudiante, se ingresaran dos
calificaciones para cada uno de ellos, pero debern estar validadas. Posterior a tener
dos calificaciones para el estudiante, se calcular su promedio, se mostrar a travs
de una instruccin Escribir, se evaluar si aprob, reprob o realizar examen
complementario, en virtud de ello se mostrar un mensaje personalizado y se
contabilizar la ocurrencia en el contador adecuado. Finalmente al salir del bucle que
representa el grupo de clase se mostraran los totales de los contadores.
Salidas: mostrar el promedio de cada estudiante en cada iteracin del bucle; y al
salir del bucle, la cantidad de estudiantes aprobados, reprobados, y que realizarn
examen complementario.
16

Solucin:

Figura #9: Solucin al ejercicio #4 utilizando bucles Repetir.

Explicacin: Se comienza validando la cantidad de estudiantes del aula utilizando


un bucle Repetir, si es un valor incorrecto (menos de 1 o mayor que 50) se repite la
entrada, esto ocurrir las veces que sea necesario hasta ingresar una cantidad de
estudiantes dentro del rango permitido.
Se inicializan los contadores aprobados, reprobados y complementarios, todos
ellos con valor cero; posteriormente, se utiliza un bucle Para que utilice una variable
de nombre estudiante que inicia desde el valor 1 e ir hasta el 50 con un avance de
uno en uno, simulando un estudiante a la vez.
Se inicia un bucle Repetir dentro del cual se ingresan dos calificaciones para cada
estudiante, se calcula el promedio, se evala a travs de instrucciones Si-Entonces
si aprob, reprob o puede realizar examen complementario, al mismo tiempo que
evala tambin se aumenta el contador correspondiente a cada caso de aprobacin,
reprobacin o examen complementario.

17

Ejercicio #5: Desarrolle la validacin de la cantidad de estudiantes del grupo de


clase del ejercicio #4, utilizando el bucle Mientras en lugar del bucle Repetir.
Planteamiento del problema, Entradas, Proceso y Salidas: igual al ejercicio #4
Solucin:

Figura #10: Validacin del ejercicio #4 utilizando el bucle Mientras.

Explicacin: Se ha cambiado el bucle Repetir para validar la cantidad de


estudiantes del aula por un bucle Mientras. Observe que el bucle Mientras utiliza
una instruccin Escribir y Leer antes de la condicin del bucle, y luego en el interior
del bucle utiliza nuevamente las mismas instrucciones Escribir y Leer que estaban
fuera, por qu?....la razn es sencilla, si resulta que la primera vez que se solicita al
usuario que ingrese la cantidad de estudiantes del aula y ste lo hace bien, este valor
se evala en la condicin del bucle Mientras, entonces resulta un valor vlido y ni
siquiera entra al bucle; sin embargo, si el usuario ingresa una valor incorrecto, resulta
necesario que dentro del bucle se genere nuevamente la misma pregunta para que
se pueda repetir la entrada y as sucesivamente hasta ingresar un valor correcto.

18

Ejercicio #6: Desarrolle el pseudocdigo para un juego que consiste en adivinar un


nmero secreto con un mximo de tres oportunidades, el nmero secreto deber
estar forzosamente en el rango de 0 a 100.
Planteamiento del problema: un primer usuario ingresara un nmero secreto, el
cual deber estar en el rango de cero a cien, posteriormente un segundo usuario
tratara de adivinar el nmero secreto teniendo como mximo tres intentos.
Entrada: nmero secreto (secreto), y en cada nuevo intento la variable: numero.
Proceso: se deber validar que el nmero secreto sea un valor vlido entre cero y
cien, repetir un mximo de tres veces el intento por adivinar el nmero secreto.
Salida: mostrar Adivin en caso de adivinarlo, o mostrar No adivin si utiliza
los tres intentos y no lo logra.
Solucin:

Figura #11: Solucin al ejercicio #6 utilizando el bucle Para.

Explicacin: Se comienza validando el valor del nmero secreto utilizando para ello
un bucle Repetir.
Posteriormente, se utiliza un bucle Para que controle los intentos de adivinar el
nmero secreto. Es importante mencionar que el bucle Para no es el ms idneo
para este caso, ya que el contabilizar tres intentos de adivinar el nmero secreto,
pero es posible que el usuario lo adivine en el primero, segundo o tercer intento y
19

adems este bucle solo lleva el control de los intentos y no de la coincidencia del
nmero ingresado por el usuario comparado con el nmero secreto.
Dentro del bucle Para se ha colocado una instruccin Si-Entonces que evala si el
usuario adivina el nmero secreto, en cuyo caso, se transforma o se fuerza a la
variable intento a tomar el valor 3 y as salirse del bucle.
Estando afuera del bucle que controla los intentos de adivinar, se repite la instruccin
Si-Entonces que evala si el usuario adivino el nmero secreto, esto se debe a que
el usuario puede llegar a ese punto por dos razones muy diferentes: a) adivin y sali
del bucle o b) no adivin y sali del bucle porque ya no hay intentos disponibles. Por
tanto es necesario repetir la evaluacin para determinar si adivin o no el nmero
secreto.
Como podr observar, el uso del bucle Para resulto posible, pero tambin resulta
obvio que no fue la mejor eleccin para crear un pseudocdigo ordenado y lgico.
Ejercicio #7: Desarrolle el ejercicio #6 utilizando nicamente bucles Mientras y
Repetir.

Solucin:

Figura #12: Solucin al ejercicio #7 utilizando bucles Repetir.

Explicacin: Se comienza validando el valor del nmero secreto utilizando para ello
un bucle Repetir.

20

Se inicializa el contador intento con valor 1, posteriormente, se utiliza un bucle


Repetir para repetir el proceso de intentar adivinar el nmero secreto y
contabilizando los intentos; de este bucle puede salirse de dos formas: a) si se
acaban los intentos o b) si se adivina el nmero secreto.
Fuera del bucle que controla los intentos de adivinar, existe una instruccin SiEntonces que evala si el usuario adivino el nmero secreto o no, esto se debe a
que se puede llegar a ese punto por dos razones muy diferentes, ya expuestas en el
prrafo anterior.
Como podr observar, el uso del bucle Repetir resulto mejor para resolver el
presente problema que con el bucle Para. En muchas ocasiones ser la experiencia
la que ayudar a determinar cul bucle es el mejor para cada situacin.
Ejercicio #8: En la taquilla de un estadio se ponen a disposicin del pblico 1000
boletos para un espectculo, cada cliente solo puede comprar como mximo 5
boletos, cada uno de ellos cuesta $10.00. Para cada cliente se mostrar el total a
pagar por los boletos y sera conveniente ir mostrando tambin cuantos boletos
disponibles quedan en la taquilla antes que cada cliente haga su respectiva compra.
Al terminar de vender todos los boletos muestre cuantos clientes se atendieron.
Planteamiento del problema: Se utilizar un acumulador para gestionar los boletos
disponibles, y se utilizaran bucles para repetir el proceso de venta de boletos a los
clientes y validar la cantidad de boletos que se venden a cada cliente. Ser necesario
tambin contabilizar la cantidad de clientes atendidos.
Entrada: boletosDisponibles, el precio de cada boleto: $10.00.
Proceso: se deber utilizar un acumulador que en este caso en lugar de
incrementarse deber decrementarse conforme cada cliente haga su respectiva
compra de los boletos, adicionalmente su utilizar un contador para los clientes que
realizan compra de boletos, y bucles para repetir el proceso de venta para cada
cliente y para validar que la cantidad que compran este en el rango de entre uno y

21

cinco boletos por persona (y tambin considerar que pueden no existir suficientes
boletos en taquilla).
Salida: para cada cliente mostrar el total a pagar, y al terminar de vender todos los
boletos mostrar a cuantos clientes se atendi.
Solucin:

Figura #13: Solucin al ejercicio #8 utilizando el bucle Mientras.

Explicacin: Se inicializa el acumulador boletosDisponibles con valor 1000 y el


contador clientes con valor cero. Posteriormente, se utiliza un bucle Mientras para
repetir el proceso de venta de boletos para cada cliente, teniendo en cuenta que la
condicin que permitir continuar vendiendo es si existen boletos disponibles aun
(Mientras boletosDisponibles>0).
Dentro del bucle Mientras se incrementa el contador clientes en 1 con cada nueva
iteracin del bucle, adicionalmente se utiliza un bucle Repetir para validar que la
compra de boletos por parte del cliente sea vlida, es decir que compre entre 1 y 5
boletos y tambin se verifica si hay suficientes boletos en taquilla (boletos>=1 Y
boletos<=5 Y boletos<=boletosDisponibles). Despus de realizar la venta al cliente
se muestra un mensaje con el total a pagar por el cliente y se realiza el
correspondiente descuento al acumulador boletosDisponibles.
Finalmente, al completar la venta de boletos (boletosDisponibles igual a cero) se
muestra la cantidad de clientes atendidos en la taquilla.

22

5. Bibliografa
1.
2.
3.
4.

http://pseint.sourceforge.net/
https://lihuen.info.unlp.edu.ar/index.php?title=Programando_con_Pseint
http://www.monografias.com/trabajos-pdf5/tutorial-pseint/tutorial-pseint.shtml
http://www.udb.edu.sv/udb/archivo/guia/informatica-tecnologico/introduccion-ala-programacion/2013/i/guia-1.pdf
5. http://es.scribd.com/doc/7222014/Ejercicios-Resueltos-Con-Pseint

23

S-ar putea să vă placă și