Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Estructuras de Control

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 42

Estructuras Secunciales

Los algoritmos ms sencillos de realizar son los que no toman decisiones,


tan solo se dedican a realizar o ejecutar instruccin tras instruccin en el
orden determinado.

Estos algoritmos estn representados por las estructuras secunciales,
en las que una accin (instruccin) sigue a otra en secuencia. Las tareas
se suceden de tal modo que la salida de una es la entrada de la siguiente
y as sucesivamente hasta el fin del proceso.

En las estructuras secunciales, se encuentran las acciones o instrucciones
de inicio y fin, escribir en monitor, leer desde el teclado, llamar y ejecutar a
una funcin o mdulo y la ejecucin de expresiones aritmticas para
obtener un resultado guardndolo en una variable.
Ejemplo
Realizar un algoritmo que calcule la edad de una persona a la cual solo
se le solicitar el ao en que naci.
Paso I. Analizar el problema.
Cada uno de estos datos se debe de expresar en variables y no en frases largas.
Salidas Entrada Constantes Procesos
Edad
Ao_nac
Ao_act
Edad = Ao_act
Ao_nac
Paso II. Disear El algoritmo
PSEUDOCDIGO

Pseudocdigo: Edad personal
Variables:
Edad: entera : trabajo // almacenar la edad del usuario
Ao_nac: entera : trabajo // guardar el ao en que naci
Ao_act: entera : trabajo // Contendr el ao en que estamos
1. Inicio
2. Escribir En que ao naciste? // muestra el mensaje que esta entre comillas
3. Leer Ao_nac // guarda el dato que es tecleado por el usuario en la variable
4. Escribir En que ao estamos?
5. Leer Ao_act
6. Edad = Ao_act Ao_nac // realiza una operacin y almacena el resultado en
// la variable de la izquierda de la expresin.
7. Escribir Tu edad actual es:, Edad // Cuando deseamos mostrar el contenido
// de una variable, esta no debe de
// estar entre comillas
8. Fin
// Es recomendable poner comentarios en todos nuestros algoritmos, ya que esto los // hace
ms entendibles no solo para nosotros sino para cualquier persona.
Inicio
Edad : entera : trabajo
Ao_act : entera : trabajo
Ao_nac : entera : trabajo
en que ao
naciste?
Ao_nac
Edad = Ao_act Ao_nac
fin
en que ao estamos?
Ao_act
Tu edad actual es:, Edad
// Diagrama de Flujo: Edad personal
// Declaracin de variables
// Muestra el mensaje que esta entre comillas
// Guarda el dato que es tecleado por el usuario
// en la variable
// Cuando deseamos mostrar el
// contenido de una variable, esta no
// debe de estar entre comillas

// realiza una operacin y almacena el resultado
// en la variable de la izquierda de la expresin.

Estructuras Condicionales
Las estructuras condicionales comparan una variable contra otro(s)
valor(es), para que en base al resultado de esta comparacin, se siga un
curso de accin dentro del programa.

Estas estructuras son las que nos dan la capacidad de crear sistemas
inteligentes, es decir, que toman decisiones.

Cabe mencionar que la comparacin se puede hacer contra otra variable
o contra una constante, segn se necesite. Existen dos tipos bsicos, las
simples y las mltiples.


Condiciones Simples. Son aquellas en que solamente se puede escoger
uno de dos caminos posibles y al seleccionar se ejecutarn las
instrucciones que se encuentren dentro de este. Esto es similar a la
situacin que sufrimos cuando nos encontramos en la punta de una
cuchilla, solamente se puede ir por un camino ya que es imposible cruzar
por ambos a la vez.
Ilustracin Condicin simple
Condiciones Mltiples. Son aquellas en que solamente se puede
escoger uno de n caminos posibles, y al seleccionar se ejecutarn las
instrucciones que se encuentren dentro de este. Esto es similar a la
situacin que sufrimos cuando nos encontramos en un cruce de
caminos, solamente se puede ir por un camino ya que es imposible
cruzar por todos a la vez.
Ilustracin Condicin Mltiple
En pseudocdigo se utiliza la instruccin si ... entonces, donde en lugar
de los puntos suspensivos se coloca la expresin a evaluar (en esta parte
es donde nos sirven los operadores lgicos y relacionales), donde si el
resultado de esta evaluacin es verdadero se ejecutan las instrucciones que
se encuentran entre esta instruccin y las palabras si no; Pero si el
resultado es falso, se ejecutan las instrucciones que se encuentran despus
de las palabras si no y las palabras fin si.

Por lo cual podemos decir que los delimitadores de esta estructura son las
palabra si ... entonces y fin si.

Las instrucciones que se encuentran dentro de la condicin si...entonces
pueden ser estructuras secunciales y en este caso las acciones llevan una
subnumeracin secuencial, menos las palabras si no y fin si.

Sugerencia. Colocar una sangra a las acciones internas a la condicin
para tener una mejor legibilidad de nuestro algoritmo.

Ejemplo
Se necesita un sistema para un supermercado, el cual dar un 10% de descuento a las
personas que compren ms de $1000, al cliente se le debe de dar el total a pagar.
Paso I. Analizar el problema.
Salidas Entrada Constantes Procesos
Total
Subtotal
Descuento
Cuando subtotal > 1000
Descuento = Subtotal * 0.10
Total = Subtotal Descuento
Cuando Subtotal <= 1000
Total = Subtotal
Paso II. Disear El algoritmo
PSEUDOCDIGO

Pseudocdigo: Supermercado
Variables:
Total : real : trabajo
Subtotal : real : trabajo
Descuento : real : trabajo
1. Inicio
2. Escribir Cuanto compr el cliente?
3. Leer Subtotal
4. Si Subtotal > 1000 entonces
4.1 Descuento = Subtotal * 0.10
4.2 Total = Subtotal Descuento
si no
4.3 Total = Subtotal
fin si
5. Escribir el total a pagar es:, Total
6. Fin
En diagrama de flujo esta representada por el smbolo decisin, donde,
dentro de este se coloca la expresin a evaluar, y del smbolo salen dos
flujos o flechas donde cada una debe de tener la leyenda del camino
posible (falso o verdadero), estos flujos indican el conjunto de acciones o
instrucciones a realizar dependiendo de la respuesta a la condicin.

El final de la estructura se indica uniendo nuevamente los dos flujos en uno
solo, en caso de no desear realizar acciones dentro del lado falso, se debe
de sacar la forzosamente la flecha para tener una indicacin de donde
termina la estructura.

Inicio
Fin
Subtotal > 1000
Descuento = Subtotal * 0.10
Total = Subtotal Descuento
Total = Subtotal
Variables:
Total : real : trabajo
Subtotal : real : trabajo
Descuento : real :
trabajo

Cuanto compr el cliente?
Subtotal
V F
total a pagar es:, Total
// Diagrama de flujo: Supermercado
Aspecto Crtico. En este ejemplo, reciben el descuento del 10% solo
aquellos clientes que su compra es mayor a $1000, los que compraron
$1000 exactamente no reciben descuento. Por lo cual si se quiere que
esta cifra tenga descuento, en la expresin debemos de colocar el
operador mayor o igual.

Ejemplo
Se necesita un sistema que reciba tres calificaciones parciales de un
alumno y en base a estas darle su promedio donde si el promedio es
menor a 6 se le dir que esta reprobado, en caso contrario el
mensaje ser aprobado
Paso I. Analizar el problema.
Salidas Entrada Constantes Procesos
Prom
Un mensaje
(Aprobado o
Reprobado)
Cal1
Cal2
Cal3
Prom = (cal1 + cal2 + cal3) / 3
Cuando Prom < 6
REPROBADO
Cuando Prom >= 6
APROBADO
Paso II. Disear El algoritmo
Ejemplo
Se necesita un sistema para un supermercado, en el cual si el monto de
la compra del cliente es mayor de $5000 se le har un descuento del 30%,
si es menor o igual a $5000 pero mayor que $3000 ser del 20%, si no
rebasa los $3000 pero si los $1000 la rebaja efectiva es del 10% y en caso
de que no rebase los $1000 no tendr beneficio.
Paso I. Analizar el problema.
Salidas Entrada Constantes Procesos
Total
subtotal
descuento
Cuando subtotal > 5000
descuento = subtotal * 0.30
total = subtotal descuento
Cuando subtotal > 3000 pero <= 5000
descuento = subtotal * 0.20
total = subtotal descuento
Cuando subtotal > 1000 pero <= 3000
descuento = subtotal * 0.10
total = subtotal descuento
Cuando subtotal <= 1000
total = subtotal
Pseudocdigo: Descuentos
Variables:
total, subtotal, descuento : real : trabajo = 0
// se inicializan todas las variables con el valor de cero
1. Inicio
2. Escribir Cuanto compr el cliente?
3. Leer subtotal
4. Si subtotal > 5000 entonces // inicio de primera condicin
4.1 descuento = subtotal * 0.30
si no // lado falso de primera condicin
4.2 si subtotal > 3000 entonces // inicio de segunda condicin
4.2.1 descuento = subtotal * 0.20
si no // lado falso de segunda condicin
4.2.2 si subtotal > 1000 entonces // inicio tercera cond.
4.2.2.1 descuento = subtotal * 0.10
si no // lado falso tercera condicin
// no hace nada
fin si // fin de tercera condicin
fin si // fin de segunda condicin
fin si // fin de primera condicin
1. total = subtotal - descuento
2. Escribir el total a pagar es:, Total
3. Fin
Ejemplo
Se necesita un sistema que le muestre a un alumno su
calificacin en letra y su promedio, el promedio se saca en
base a 3 parciales, donde si el promedio es menor a 6 su letra
es NA, si es mayor o igual a 6 y cuando mucho 8 le
corresponde S, si sobrepasa el 8 pero menor o igual a 9 debe
tener B, todo lo dems es una E.
Paso I. Analizar el problema.
Salidas Entrada Constantes Procesos
Mensaje
(NA, S, B,
E)
Cal1
Cal2
Cal3
prom = (cal1 + cal2 + cal3) / 3
cuando prom < 6
NA
Cuando prom >= 6 pero <= 8
S
Cuando prom > 8 pero <= 9
B
Cuando prom > 9
E
Ejercicios. Realiza los siguientes ejercicios:
I. Escribe un algoritmo en pseudocdigo, diagrama de flujo y diagrama N-S para cada
una de las situaciones siguientes:
1. Necesitamos saber si una persona es joven o vieja basndonos en su edad. Joven
es aquella menor de 45 aos.
2. Necesitamos saber si el usuario es alto o chaparro. Chaparro es aquel que mide
cuando mucho 1.65 mts.
3. Necesitamos verificar que la contrasea que escribe el usuario es igual a solrac.
Dependiendo de lo ingresado desplegar el mensaje correspondiente.
4. Que lea dos nmeros y los imprima en forma ascendente
5. Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no, que los sume.
6. Leer tres nmeros diferentes e imprimir el nmero mayor.
7. El IMSS requiere clasificar a las personas que se jubilaran en el ao 2004. Existen tres
tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta. Las
personas adscritas a la jubilacin por edad deben tener 60 aos o mas y una
antigedad en su empleo de menos de 25 aos. Las personas adscritas a la
jubilacin por antigedad joven deben tener menos de 60 aos y una antigedad en
su empleo de 25 aos o ms. Las personas adscritas a la jubilacin por antigedad
adulta deben tener 60 aos o mas y una antigedad en su empleo de 25 aos o mas.
8. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si a este se le asigna un porcentaje
de su salario mensual que depende de su antigedad en la empresa de acuerdo con la siguiente tabla:
Tiempo Utilidad
Menos de 1 ao 5 % del salario
1 ao o mas y menos de 2 aos 7% del salario
2 aos o mas y menos de 5 aos 10% del salario
5 aos o mas y menos de 10 aos 15% del salario
10 aos o mas 20% del salario
9. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:
Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.
10. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fbrica de refacciones. La
empresa, dependiendo del monto total de la compra, decidir que hacer para pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendr la capacidad de invertir de su propio
dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un
crdito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendr capacidad de invertir de su propio
dinero un 70% y el restante 30% lo pagara solicitando crdito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crdito.
11. Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras trabajadas en una
empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que
estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan
las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
Las estructuras condicionales mltiples se analizan a continuacin en las
tdos tcnicas algortmicas.


Pseudocdigo. Para representar estas estructuras, se debe de utilizar la
instruccin casos para..., donde en lugar de los puntos suspensivos se
coloca la variable a evaluar. Para saber que instrucciones se van a
ejecutar cuando la variable tenga un valor especfico, se coloca una
etiqueta cuando es igual a ...: por cada uno de estos, en la cual en lugar
de los puntos suspensivos hay que colocar el valor que puede tener la
variable.

En caso de que se quiera realizar un conjunto de instrucciones para todos
los dems valores que no han sido tomados en cuenta, se puede utilizar la
etiqueta para todos los dems valores:. Para saber que se ha terminado
la estructura, se coloca la instruccin fin casos.

Condiciones Mltiples
Pseudocdigo: No hace nada
Variables
resp : entera : trabajo
1. Inicio
2. Escribir Escribe un nmero [1/2]
3. Leer resp
4. Casos para resp
Cuando es igual a 1:
1. Escribir escribiste un 1
Cuando es igual a 2:
1. Escribir escribiste un 2
Para todos los dems valores:
1. Escribir No escribiste ni un 1 ni un 2
Fin casos
1. Fin
Aspecto Crtico. Los valores que puede tener una variable a evaluar
en una estructura condicional mltiple, solo pueden ser valores enteros,
por lo cual se debe declarar la variable como tal.
Ilustracin 11 Diseo que debe tener una estructura condicional mltiple.

Diagrama de flujo. Para representar un estructura de seleccin mltiple, se
sigue usando el smbolo de decisin, pero a diferencia de las estructuras de
seleccin sencilla, ahora no sale una flecha por el lado izquierdo y otra por el
derecho, sale un solo camino del cual se desprenden todos los dems, y
dentro del smbolo no se coloca una expresin, solamente se coloca la
variable a evaluar. Para saber que instrucciones se van a ejecutar, en cada
uno de los caminos se coloca una etiqueta con el valor, al igual que en
pseudocdigo se puede utilizar una etiqueta para todos los dems valores
que no fueron tomados en cuenta. El final de la estructura se indica uniendo
todos los caminos en uno solo nuevamente.

Condiciones Mltiples
Inicio
Fin
Accin 1
1: 2: 3: 4: Dems valores:
variable
Accin 2 Accin 3 Accin 4 Accin 5 Accin 6
Accin 7
Sugerencia. Es muy probable que al disear un diagrama de flujo que utiliza
estructuras de seleccin mltiple con varios posibles valores, no quepan todos en
la misma hoja, por lo cual se deben colocar conectores a otra hoja.

A continuacin realizamos un par de ejemplos, pero antes debemos de entender
que el principal uso de estas estructuras es para el manejo de mens.

Nota. Al igual que todas las estructuras de cualquier tipo, estas se pueden
anidar.

Ejemplo
Se necesita un sistema que tenga tres opciones, si se
selecciona la primera se calcula el permetro de un
cuadrado, si la opcin es la dos se calcula el
permetro de un triangulo equiltero, y cuando se elija
la tres se calcula el permetro de un crculo, adems
de que mandara un mensaje de error en caso de
presionar cualquier otro nmero.
Paso I. Analizar el problema.
Salidas Entrada Constantes Procesos
Perim
opc
lado
Cuando opc == 1
perim = lado * 4
Cuando opc == 2
perim = lado * 3
Cuando opc == 3
perim = lado * 3.1416
Cuando opc tenga otro valor
ERROR
PSEUDOCDIGO

Pseudocdigo: men permetros
Variables:
opc : entera : trabajo
perim, lado : reales : trabajo = 0
1. Inicio
2. Escribir Menu de Permetros
3. Escribir 1. Cuadrado
4. Escribir 2. Triangulo
5. Escribir 3. Circulo
6. Escribir cual eliges?:
7. Leer opc
8. Casos para opc
cuando es igual a 1:
1. Escribir dame el valor de un lado del cuadrado:
2. Leer lado
3. perim = lado * 4
cuando es igual a 2:
1. Escribir dame el valor de un lado del triangulo:
2. Leer lado
3. perim = lado * 3
cuando es igual a 3:
1. Escribir dame el valor del dimetro:
2. Leer lado
3. perim = lado * 3.1416
para todos los dems valores:
1. Escribir ERROR
fin casos
1. Escribir el resultado es:, perim
2. Fin
// En este programa no es necesario declarar tantas variables
ya que solo se ir // por un solo camino. Esto nos ahorra al
momento de programar memoria.
Inicio
Fin
1: 2: 3: Dems
valores:
opc
perim = lado * 4
perim = lado *
3
Perim = lado *
3.1416
opc:entera:trabajo
perim,lado:reales:trabajo =
0
Menu de Permetros
1. Cuadrado
2. Triangulo
3. Circulo
cual eliges?:

opc
Dame el valor
del lado del
cuadrado

Dame el valor
de un lado del
triangulo

Dame el valor
del dimetro

ERROR

lado lado lado
El resultado es:
perim

Ejemplo
Un supermercado realiza una tmbola solo con aquellos clientes
que realizan una compra superior a $500, en la cual tienen que
sacar de una canasta una bolita la cual tiene un nmero grabado,
los premios se dan bajo la siguiente tabla:
# bolita Premio
1 1 shampoo CAPRICE
2 1 paquete(3) de jabones ROSA VENUS
3 1 pasta de dientes COLGATE
4 1 bolsa de detergente MAS COLOR
5 1 caja de cereal ZUCARITAS
Paso I. Analizar el problema.
Salidas
Entrada Procesos
MENSAJE
Compra
n_bol
Cuando compra > 500
Cuando n_bol == 1
1 shampoo CAPRICE
Cuando n_bol == 2
1 paquete(3) de jabones ROSA VENUS
Cuando n_bol == 3
1 pasta de dientes COLGATE
Cuando n_bol == 4
1 bolsa de detergente MAS COLOR
Cuando n_bol == 5
1 caja de cereal ZUCARITAS
PSEUDOCDIGO

Pseudocdigo: Tmbola
Variables:
compra : real : trabajo
n_bol : entera : trabajo
1. Inicio
2. Escribir Total de compra:
3. Leer compra
4. si compra > 500 entonces
4.1 Escribir Nmero de bolita que sacaste:
4.2 Leer n_bol
4.3 Casos para n_bol
Cuando es igual a 1:
4.3.1 Escribir 1 shampoo CAPRICE
Cuando es igual a 2:
4.3.2 Escribir 1 paquete(3) de jabones ROSA VENUS
Cuando es igual a 3:
4.3.3 Escribir 1 pasta de dientes COLGATE
Cuando es igual a 4:
4.3.4 Escribir 1 bolsa de detergente MAS COLOR
Cuando es igual a 5:
4.3.5 Escribir 1 caja de cereal ZUCARITAS
Fin casos
si no
// no hace nada ya que no tiene derecho a sacar bolita
fin si
1. Fin
Inicio
Fin
Compra >
500
compra : real :
trabajo
n_bol : entera
:trabajo
Total de
compra:
compra
// Diagrama de flujo: Tmbola
Nmero de bolita que
sacaste::
n_bol
n_bol
1: 2: 3: 5: 4:
1 shampoo
CAPRICE
1 pasta de
dientes
COLGATE
1 caja de
cereal
ZUCARITAS
1 paquete(3)
de jabones
ROSA
VENUS
1 bolsa de
detergente
MAS COLOR
F V
Ejercicios.

I. Escribe un algoritmo en las tres tcnicas manejadas para cada uno de los problemas
siguientes:
1. Necesitamos visualizar un men del ITESCO, en el cual hay que elegir que semestre
esta cursando un alumno. Dependiendo la opcin elegida, que se despliegue un
mensaje en el que se diga en que semestre va.
2. Necesitamos un men del ITESCO en el que se visualicen las carreras que se
imparten y dentro de cada una de estas opciones que se visualice un men con los 6
semestres. Al seleccionarlo, que se despliegue un mensaje de la carrera y semestre
que cursa el alumno.
3. Necesitamos un men del ITESCO en el que se visualicen las carreras que se
imparten y dentro de cada una de estas opciones que se visualice un men con los
semestres, y dentro de cada semestre hay que elegir entre el turno matutino y el
vespertino. Al seleccionarlo, que se despliegue un mensaje de la carrera, semestre y
turno que cursa el alumno.
4. Necesitamos un men del ITESCO en el que se visualicen las carreras que se
imparten; dentro de cada una de estas opciones que se visualice un men con los
semestres; dentro de cada semestre hay que elegir entre el turno matutino y el
vespertino; Por ltimo hay que elegir si al alumno se le da de alta o de baja. Al
seleccionarlo, que se despliegue un mensaje de la carrera, semestre, turno y
condicin (baja o alta).
5. Un supermercado realiza una tmbola con todos los clientes, si son hombres
tienen que sacar de una canasta una bolita la cual tiene un nmero grabado y
si son mujeres lo mismo pero de otra canasta, los premios se dan bajo la
siguiente tabla:
HOMBRES MUJERES
# bolita Premio # bolita Premio
1 Desodorante 1 Locin
2 SixPack de cerveza 2 Bikini
3 Boxer 3 Crema p/ la cara
4 Rasuradora 4 Plancha
5 Sudadera 5 Barniz de uas
6. Una empresa automotriz necesita un sistema para seleccionar el tipo de carro
(auto, camioneta o vagoneta) lo cual debe de aparecer en un men, y el color
(negro, blanco o rojo) en otro men. Al final se necesita que despliegue la
seleccin realizada.
Nota. Debe de anidarse una estructura de seleccin mltiple dentro de otra.
Estructuras Cclicas
Este tipo de estructuras, son las que nos permiten ejecutar
varias veces un conjunto determinado de instrucciones, a
esta repeticin se le conoce con el nombre de ciclos.

HACER MIENTRAS... Estructura cclica la cual indica un conjunto de instrucciones
que se deben de repetir mientras que la respuesta a la a la expresin que se coloca
en lugar de los puntos suspensivos sea verdadera. Es decir, que cuando la
respuesta a la condicin sea falsa se contina con la siguiente instruccin despus
de la etiqueta fin mientras. El conjunto de instrucciones a ejecutar se encuentra
entre las instrucciones hacer mientras... y fin mientras.
Debido a su estructura es muy posible que nunca se ejecute el ciclo debido a varias
circunstancias:

La variable a evaluar no tiene ningn valor almacenado.

Nunca se le pidi al usuario que almacenar un dato en la variable.

El usuario decidi no ingresar a la estructura.

Sugerencia. Se recomienda que la variable a ser evaluada sea inicializada
con un valor que permita no ingresar a la estructura para evitar lo que
llamamos un ciclo infinito.

Aspecto Crtico. Siempre solicite al usuario un dato para la variable a
evaluar antes de la instruccin hacer mientras..., ya que probablemente no
desea ingresar al ciclo.

Aspecto Crtico. Siempre coloque dentro de la estructura hacer mientras...
las instrucciones que permitan al usuario o al sistema almacenar un nuevo valor
en la variable a evaluar para evitar un ciclo infinito.

A continuacin vamos a esquematizar el diseo bsico de esta estructura en las
dos tcnicas algortmicas.

Pseudocdigo. En pseudocdigo se utilizan las instrucciones que hemos
estado mencionando.
Pseudocdigo: ciclo hacer mientras
// Imprime HOLA tantas veces como el usuario presione s
Variables:
Resp : alfanumrica : trabajo = n
1. Inicio
2. Escribir deseas ingresar al ciclo:
3. Leer Resp
4. Hacer mientras Resp == s
1.Escribir hola
2.Escribir deseas ingresar nuevamente al ciclo:
3.Leer Resp
Fin mientras
5. Escribir Gracias por usar este sistema
6. FIN
Ilustracin 14 Pseudocdigo bsico del ciclo hacer mientras...
Diagrama de Flujo.

En diagrama de flujo, se utiliza el smbolo de decisin para representar a la
estructura, del cual salen dos caminos posibles: el verdadero y el falso. En la ruta
del lado verdadero se colocan todas las instrucciones que deseamos se repitan,
despus de la ultima instruccin una flecha debe de regresar y conectar justo
entre el smbolo de decisin y el smbolo que se encuentra antes. Del camino
falso sale una flecha que conecta con la siguiente instruccin a ejecutar cuando se
salga del ciclo.

Inicio
Variables:
Resp : alfanumrica : trabajo = n
Deseas ingresar al ciclo:
Resp
Resp == s
Hola
Deseas ingresar
nuevamente al ciclo:
Resp
Gracias por usar este sistema
fin
F
V
// Ciclo hacer mientras...
Ilustracin 15 .
Diagrama de Flujo bsico
del ciclo hacer
mientras...

Ejemplo
Un maestro necesita un sistema para capturar las calificaciones de 3 parciales de sus alumnos, despus
recapturarlas necesita que se despliegue el promedio, cuando ya no quiera capturar ms alumnos, necesita
que se despliegue el promedio general de todos los alumnos capturados.
Paso I. Analizar el problema.
Salidas Entrada Procesos
prom_alum
prom_gen
par1
par2
par3
resp
Cuando resp == s
prom_alu = ( par1 + par2 par3 ) / 3
acum_prom = acum_prom + prom_alu
total_alum = total_alum + 1
prom_gen = acum_prom / total_alum
Paso II. Disear El algoritmo
PSEUDOCDIGO

Pseudocdigo: calificaciones
Variables:
par1, par2, par3, prom_alum, prom_gen : reales : trabajo = 0
acum_prom : real : acumulador = 0
total_alum : entera : contador = 0
resp : alfanumrica = n
1. Inicio
2. Escribir deseas capturar calificaciones de un alumno:
3. Leer resp
4. Hacer mientras resp == s
1. Escribir primer parcial:
2. Leer par1
3. Escribir segundo parcial:
4. Leer par2
5. Escribir tercer parcial:
6. Leer par3
7. prom_alu = ( par1 + par2 par3 ) / 3
8. Escribir el promedio de este alumno es, prom_alum
9. acum_prom = acum_prom + prom_alu // acumula los promedios
10. total_alum = total_alum + 1 // lleva el conteo del total de alumnos
11. Escribir deseas capturar otro alumno:
12. Leer resp
fin mientras
5. prom_gen = acum_prom / total_alum
6. Escribir Promedio general de los alumnos es:, prom_gen
7. Fin
Inicio
par1, par2, par3, prom_alum, prom_gen : reales : trabajo
= 0
acum_prom : real : acumulador = 0
total_alum : entera : contador = 0
resp : alfanumrica = n
Deseas capturar calificaciones de un alumno:
resp
resp == s
primer parcial: Segundo parcial: tercer
parcial:
par1, par2, par3
Promedio general de los alumno es:,
prom_gen
fin
F
V
// D.F. : Calificaciones
prom_alu = ( par1 + par2 par3 ) / 3
acum_prom = acum_prom + prom_alu
total_alum = total_alum + 1
el promedio de este alumno es, prom_alum
Deseas capturar a otro alumno:

prom_gen = acum_prom / total_alum
resp
En el ejemplo anterior se utiliza un
ciclo, debido a que se necesita repetir
un mismo conjunto de instrucciones por
cada alumno, adems se utiliza la
estructura hacer mientras debido a que
el total de estudiantes a capturar es
indefinido. Adems se utilizaron
variables del tipo acumulador y
contador. Acum_prom, acumula los
promedios y total_alum, lleva el conteo
del nmero de alumnos.

Ejemplo
Un supermercado dar un descuento del 10% a todos los clientes que
el total de su compra supere los $1000, adems se necesita saber a
cuanto ascendieron los ingresos del da.
Paso I. Analizar el problema.
Salidas Entrada Procesos
Subtotal
Ingresos
subtotal
mientras haya clientes
capturar subtotal
cuando subtotal > 1000
descuento = subtotal * .10
total = subtotal descuento
en caso contrario
total = subtotal
ingresos = ingresos + total
Paso II. Disear El algoritmo
PSEUDOCDIGO

pseudocdigo: supermercado
variables:
total, subtotal, descuento, ingresos : reales = 0
resp : alfanumrico = n
// si ya las sabe manejar no es necesario colocar el uso
1. Inicio
2. Escribir hay clientes en la tienda
3. Leer resp
4. Hacer mientras resp == s
1. Escribir cuanto compr el cliente?
2. Leer subtotal
3. Si subtotal > 1000 entonces
4.3.1 descuento = subtotal * 0.10
4.3.2 total = subtotal descuento
si no
4.3.3 total = subtotal
fin si
1. ingresos = ingresos + total
2. Escribir el total a pagar es:, total
3. Escribir Hay ms clientes en la tienda:
4. Leer resp
fin mientras
1. Escribir ingresos:, ingresos
2. Fin
INICIO
FIN
subtotal >
1000
descuento = subtotal *
0.10
total = subtotal
descuento
total = subtotal
total, subtotal, descuento, ingresos :
reales = 0
resp : alfanumrico = n
Cuanto compr el
cliente?
subtotal
V F
ingresos:, ingresos
// Diagrama de flujo: Supermercado
Hay clientes:
resp
resp = s
ingresos = ingresos +
total
total a
pagar:,total Hay
ms clientes:
resp
V
F
Ejercicios.

I. Disea un algoritmo utilizando las tres diferentes tcnicas para cada uno de los
problemas que se te plantean.
1. Se necesita un sistema que lea los votos obtenidos por tres candidatos a presidente
municipal en la ciudad de Orizaba y calcule e imprima al ganador, junto con el
porcentaje obtenido de votos.
2. Se necesita un programa para calcular el factorial de un nmero dado, que
corresponda a la frmula: N! = N*(N-1)*(N-2)* ... *(N-(N-1))
3. Se necesita un sistema que despliegue un men con 4 opciones, si se presiona la
opcin 1, se calcular el rea de un triangulo; si se presiona la opcin 2, se calcular
el rea de un cuadrado; si se presiona la opcin 3, se calcular el rea de un circulo;
si se presiona la opcin 4, ser la nica forma de salir del sistema.
4. Se necesita un sistema que pide una contrasea. Si la contrasea es igual a brete
ssamo, se terminar el programa, de otra manera se seguir solicitando la
contrasea.
5. Se necesita que sistema que calcula permetros y reas, para lo cual aparece un
men con tres opciones (1. Permetros, 2. reas, 3. Salir) dentro de las primeras 2
opciones aparece otro men con 4 opciones (1. Triangulo, 2. Cuadrado, 3. Circulo, 4.
Regresar). Dentro del cual solo se puede volver al men principal presionando la
opcin 4.

También podría gustarte