• No se han encontrado resultados

PDF Cuadernillo INTRODUCCIÓN A LA PROGRAMACIÓN ESTRUCTURADA - UNPA

N/A
N/A
Protected

Academic year: 2025

Share "PDF Cuadernillo INTRODUCCIÓN A LA PROGRAMACIÓN ESTRUCTURADA - UNPA"

Copied!
18
0
0

Texto completo

(1)

UNIVERSIDAD DEL PAPALOAPAN

Campus Tuxtepec – Loma Bonita

Cuadernillo

INTRODUCCIÓN A LA

PROGRAMACIÓN ESTRUCTURADA

M. C. Bertha López Azamar

Profesor-Investigador

Tuxtepec, Oaxaca

(2)

7.2.2 Sentencias alternativas empleando diagramas de flujo

Tabla 1 Simbología básica empleada para la toma de decisiones

SIMBOLO OPERACIÓN EN

PSEUDOCODIGO

SE USA PARA INDICAR SI,

HACER MIENTRAS, HACER,

DESDE…HASTA

Indica la realización de una comparación de valores. Se emplea para indicar las sentencias de bifurcación condicional y alternativas.

La estructura alternativa usa el símbolo de decisión (rombo) y se emplean las siguientes combinaciones de símbolos para representar las sentencias de control alternativas, según se trate de que haya o no algo que hacer en caso de que la condición no se cumpla.

Usando conectores para cerrarla

Figura 1 Decisión simple con proceso en una alternativa (bloque del si)

a) dibujada desde el centro b) dibujada de arriba hacia debajo de izquierda a derecha.

c) dibujada de arriba hacia debajo de izquierda a derecha, usando

conectores para cerrarlas

Figura 2 Decisión simple con procesos en las dos alternativas

Retomando enunciados de ejercicios escritos en pseudocódigo, se ejemplifica mostrando las acciones de las sentencias de control, al dibujar el diagrama de flujo equivalente. En algunos no se

n o

s i

A

A n o

s i n o s i

n o

s i

A

A n o

s i

(3)

dibuja todo el diagrama de flujo, solo muestra la estructuración de la sentencia alternativa y la información necesaria para cubrir lo esencial del enunciado.

Ejemplo 1 Diagrama de flujo con sentencia alternativa sin bloque DE LO CONTRARIO

Pseudocogido Diagrama de flujo

ALGORITMO Suma

VARIABLES num, suma son enteros INICIO

IMPRIMIR “Programa para sumarle”

IMPRIMIR un 5 a un número”

IMPRIMIR “Dame un número”

IMPRIMIR “entero menor que 10: ” LEER: num

SI num < 10 ENTONCES

suma = suma + num

IMPRIMIR “El resultado es”, suma

FIN SI

FIN

Ejemplo 2 Diagrama de flujo de la sentencia alternativa con bloque DE LO CONTRARIO

Pseudocogido Diagrama de flujo

ALGORITMO Suma

VARIABLES num, suma son enteros INICIO

IMPRIMIR “Programa para sumarle un 5 a un número”

IMPRIMIR “Dame un número entero menor que 10:”

A INICIO

num , suma son enteros

“Programa para sumarle un 5 a

un número”

“Dame un número entero menor que 10”

num INICIO

num , suma son enteros

“Programa para sumarle

un 5 a un número”

“Dame un número entero menor

que 10”

A

A

“El resultado es”, suma num < 10

si

no

suma = suma + num

INICIO

(4)

LEER: num

SI num < 10 ENTONCES suma = suma + num

IMPRIMIR “El resultado es”, suma DE LO CONTRARIO

IMPRIMIR “El valor no es menor que 10”

FIN SI FIN

Ejemplo 3 Diagrama de flujo de la sentencia alternativa para calcular el importe de la venta de un determinado artículo, sabiendo que al comprar entre 1 y 15 unidades del mismo, el descuento es de un 10%, y si la compra es superior a 15 unidades, el descuento será de un 15%, y escribimos:

Pseudocogido Diagrama de flujo

importe = cantidad * precio

SI (cantidad > 0 Y cantidad < 16) ENTONCES

importe = importe * 0.9

DE LO CONTRARIO

importe = importe * 0.85

FIN DE SI

IMPRIMIR “El importe total a pagar es: “, importe

si

no suma = suma +

num

“El valor no es menor

que 10”

num

“El resultado es”, suma num <

10

INICIO A

“El resultado es”, suma num < 10

si

no

importe = importe * 0.9 importe =

cantidad * precio

importe = importe *0.85

(5)

Ejemplo 4 Diagrama de flujo de la sentencia alternativa del enunciado: “Hoy es sábado, por eso la cafetería esta cerrada.

Pseudocogido Diagrama de flujo

ALGORITMO SabadoCafeteria VARIABLES sab es caracter INICIO

IMPRIMIR “¿es sábado?”

LEER: sab

SI sab == „s‟ ENTONCES

IMPRIMIR “la cafetería esta cerrada”

DE LO CONTRARIO

IMPRIMIR “la cafetería esta abierta”

FIN SI FIN

Ejemplo 5 Diagrama de flujo de la sentencia alternativa que muestra si un número es positivos

Pseudocogido Diagrama de flujo

SI num > 0 ENTONCES IMPRIMIR “Es positivo”

DE LO CONTRARIO

IMPRIMIR “Es negativo o cero”

FIN SI

Ejemplo 6 Diagrama de flujo del enunciado: Es sábado y estoy en la escuela, voy a irme a dormir a la biblioteca si esta fresca

IMPRIMIR “¿es sábado?”

LEER: sab

IMPRIMIR “¿estoy en la escuela?”

LEER: escuela

IMPRIMIR “¿la biblioteca esta fresca?”

LEER: biblio

SI sab == „s‟ Y escuela == „s‟ Y biblio == „s‟ ENTONCES IMPRIMIR “voy a irme a dormir a la biblioteca”.

FIN SI

“Es positivo”

num > 0 si

no

“es negativo o cero”

“la cafetería esta cerrada”

sab ==‟s‟ si no

“la cafetería esta abierta”

(6)

Ejemplo 7 Diagrama de flujo de la sentencia alternativa del enunciado: “Si hace calor y la maestra no ha llegado voy a irme a mi casa.”

Pseudocpodigo Diagrama de flujo

ALGORITMO HaceCalor

VARIABLES calor, maestra son caracter INICIO

IMPRIMIR “¿hace calor? ” LEER: sap

IMPRIMIR “¿llegó la maestra? ” LEER: maestra

SI calor ==‟s‟ Y maestra ==‟n‟ ENTONCES IMPRIMIR “voy a irme a mi casa”

FIN SI FIN

Ejemplo 8 Diagrama de flujo de la sentencia alternativa del enunciado: “No tengo clase, si la cafetería esta cerrada voy a irme a la biblioteca”

Pseudocpodigo Diagrama de flujo

ALGORITMO CafeCerrada VARIABLES cafeteria es caracter INICIO

IMPRIMIR “¿la cafetería esta cerrada?”

LEER: cafeteria

SI cafeteria == „s‟ ENTONCES

IMPRIMIR “voy a irme a la biblioteca”

FIN SI FIN

voy a irme a la biblioteca Cafeteria

== „s‟

“¿es sabado?”

sab

“voy a irme a dormir a la biblioteca”

sab==„s‟ Y escuela==„s‟

Y biblio==„s‟

si

no

“¿estoy en la escuela?”

escuela A

A

“¿la biblioteca esta fresca?”

biblio

B

B

voy a irme a mi casa calor ==‟s‟ Y

maestra

==‟n‟

si

no

(7)

A continuación se muestran los esquemas representativos de las sentencias alternativas anidadas. Cada sentencia debe terminarse adecuadamente, sin unir los flujos erróneamente y respetar la secuencia del algoritmo. Se cierra de la más interna hasta la más externa, sin combinar los flujos de sentencias alternativas paralelas.

Los siguientes tres diagramas representan lo mismo, solo cambia la forma de unir los símbolos y lograr la secuencia del algoritmo. Este caso implica anidación en el bloque del si.

a. Dibujado desde el centro, de arriba hacia abajo

b. Dibujado de arriba hacia abajo de izquierda a derecha

c. Dibujado de arriba hacia abajo de izquierda a derecha, usando conectores para terminarlas adecuadamente

Figura 3 Decisión anidada en el bloque del si.

Pueden usarse conectores dentro de página cuando la visibilidad de la sentencia se haga más compleja y así se evitan trazar líneas que compliquen el diagrama, ahorrando espacio en la hoja donde se dibuja el mismo. La colocación de los conectores debe ser homogénea en los diagramas, para mejorar la lectura de los mismos, teniéndose que:

 para las líneas de salida se colocaran los conectores a la derecha del diagrama, si va de arriba hacia abajo, y si va de izquierda a derecha, según el espacio disponible, pueden colocarse a la derecha o hacia abajo.

n o

s i

n o

s i

A

A B B

n o

s i

n o

s i

n o s i

n o s i

(8)

 para las líneas de entrada, se colocaran los conectores a la izquierda del diagrama, si va de arriba hacia abajo, y si va de izquierda a derecha, se colocarán arriba los conectores.

Así mismo los conectores fuera de página se emplean para lograr la secuencia de la sentencia al acabarse la hoja y se tenga necesidad de continuar en otra, respetando siempre las sentencias en su anidación y cerrando cada una adecuadamente.

Figura 4 Decisión anidada en el bloque del si. ().

Los siguientes tres diagramas representan lo mismo, este caso implica anidación en el bloque del no, solo tiene un nivel de anidación (solo cambia la forma de unir los símbolos y lograr la secuencia del algoritmo).

a) Dibujada de arriba hacia abajo, usando conectores dentro de pagina

b) ibujada de arriba hacia abajo

c) Dibujada desde el centro, de arriba hacia abajo

Figura 5 Decisión anidada en el bloque del no.

Los siguientes tres diagramas representan lo mismo, este caso implica anidación en el ambos bloques de la decisión teniendo únicamente un nivel de anidación (solo cambia la forma de unir los

n o

s i

n o

s i

A

A

B

B

n o s i

n o s i

n o

s i

n o

s i

(9)

símbolos y lograr la secuencia del algoritmo).

a) Dibujada de arriba, hacia abajo, de izquierda a derecha, jerarquizando las sentencias alternativas internas, sin usar conectores para terminarlas

b) Dibujada de arriba, hacia abajo, de izquierda a derecha, usando conectores para terminar las sentencias alternativas

c) Dibujada desde el centro, de arriba hacia abajo

Figura 6 Decisión anidada en ambas alternativas. ()

A continuación se incluyen las representaciones de dos casos particulares de algoritmos mediante diagramas de flujo, tratando de ejemplificar las implicaciones al tener dos niveles de anidación.

Para cada caso se incluyen tres formas de dibujar el diagrama.

 La primera representación implica el dibujo desde el centro, la cual permite una

n o

s i

n o

s i

n o

s i

B A

A B

n o s i

n o s i n o s i

n o

s i

n o

s i

n o s i

(10)

mejor visualización de las opciones anidadas;

 la segunda implica un orden de arriba hacia abajo, de izquierda a derecha, sin uso de conectores, donde se aprecia la secuencia correcta de los flujos (líneas de flujo de datos); y

 la tercera es similar a la segunda, pero usando conectores dentro de página.

En ambos casos de anidación solo se tienen variantes en el último nivel.

Obsérvese el primer caso, donde se ejemplifica la anidación, en el último nivel, solo en los bloques del si.

Figura 7 Decisión anidada con tres niveles de anidación. (Dibujada desde el centro)

Figura 8 Decisión anidada con tres niveles de anidación. (Dibujada de arriba hacia abajo, de izquierda a derecha) n o

s i

n o

s i n o

s i

n o

s i

n o s i

n o s i

n o s i n o s i

n o s i n o s i

(11)

Figura 9 Decisión anidada con tres niveles de anidación. (Dibujada de arriba hacia abajo, de izquierda a derecha usando conectores)

Obsérvese el segundo caso, donde se ejemplifica la anidación, en una parte en un bloque del si y otra parte en el bloque del no de las sentencias más internas.

Figura 10 Decisión anidada con tres niveles de anidación. (Dibujada desde el centro) n o

s i

n o

s i

n o

s i

B

A

A

B

C

C

D

E

s i

n o

s i

D

E n o

n o s i

n o s i n o s i

n o s i

n o s i

(12)

Figura 11 Decisión anidada con tres niveles de anidación. (Dibujada de arriba hacia abajo, de izquierda a derecha)

n o

s i

n o

s i

n o

s i

n o

s i

n o

s i

(13)

Figura 12 Decisión anidada con tres niveles de anidación. (Dibujada de arriba hacia abajo, de izquierda a derecha usando conectores)

n o

s i

n o

s i n o

s i

n o

s i

n o

s i

B

A

A B

C

C

D

D

E

E

(14)

Ejemplo 9 Diagrama de flujo de sentencia alternativa anidada que determina la cantidad menor de tres dadas.

Pseudocodigo Diagrama de flujo

//pseudocodigo SI (a<b) ENTONCES

SI (a<c) ENTONCES

IMPRIMIR “El número menor es”, a DE LO CONTRARIO

IMPRIMIR “El número menor es”, c FIN DE SI

DE LO CONTRARIO SI (b<c) ENTONCES

IMPRIMIR “El número menor es”, b DE LO CONTRARIO

IMPRIMIR “El número menor es”, c FIN DE SI

FIN DE SI

Ejemplo 10 Diagrama de flujo de la sentencia alternativa anidada para el enunciado: “Es sábado y estoy en la escuela, voy a irme a dormir a la biblioteca si esta fresca”

Pseudocodigo Diagrama de flujo

IMPRIMIR “¿es sabado?”

LEER: sab

IMPRIMIR “¿estoy en la escuela?2 LEER: escuela

SI sab == „s‟ Y escuela == „s‟ ENTONCES IMPRIMIR “¿la biblioteca esta fresca?”

LEER: biblio

SI biblio == „s‟ ENTONCES

IMPRIMIR “voy a irme a dormir”

IMPRIMIR “a la biblioteca”.

FIN SI FIN SI

“voy a irme a dormir a la biblioteca”

sab==„s‟

Y escuela=

=„s‟

si

no

“¿la biblioteca esta fresca?”

biblio

biblio==„s‟

si

no a < b

n o

s i

b < c n o

s i

a < c n o

s i

A

B

A B

“El número menor es”, a

“El número menor es”, c

“El número menor es”, b

“El número menor es”, c

(15)

Ejemplo 11 Diagrama de flujo de la sentencia alternativa anidada para el enunciado: “Tomaré helado del bote y voy a ir a la escuela a preguntar por la maestra, si llegó voy a ir a la biblioteca el día sábado, si no llego me iré a mi casa solo si la cafetería esta cerrada o el día no esta soleado.”

IMPRIMIR “¿llegó la maestra?”

LEER: maestra

SI maestra == „s‟ ENTONCES

IMPRIMIR “voy a irme a la biblioteca”

IMPRIMIR “ el día sábado”

DE LO CONTRARIO

IMPRIMIR “¿la cafetería esta abierta?”

LEER: cafe

IMPRIMIR “¿el día esta soleado?”

LEER: soleado

SI cafe == „n‟ O soleado == „n‟ ENTONCES IMPRIMIR “me iré a mi casa”

FIN SI FIN SI

Ejemplo 12 Diagrama de flujo de la sentencia alternativa anidada para el enunciado: “Si no llega la maestra y no me mandan a la sala de computo, entonces me pasaré la hora en la cafetería”

SI maestra==‟s‟ ENTONCES

IMPRIMIR “No voy a ningún lado”

DE LO CONTRARIO SI sala==‟s‟ ENTONCES

IMPRIMIR “Me voy a la sala, no “ IMPRIMIR “puedo ir a la cafetería”

DE LO CONTRARIO

IMPRIMIR “Me voy a la cafetería”

FIN SI FIN SI

maestr a==‟s‟

“No voy a ningún lado”

sala==

‟s‟

“Me voy a la sala, no puedo ir

a la cafetería”

“Me voy a la

cafetería”

A

A

“voy a iré a mi casa”

si

no

“¿la cafeteria esta abierta?”

cafe

“¿el día esta soleado?”

soleado

cafe == „n‟

O soleado

== „n‟

si

no maest

ra==„s

(16)

Ejemplo 13 Sentencia de control alternativa en diagrama de flujo para el enunciado: “Tomaré helado del bote y voy a ir a la escuela a preguntar por la maestra, si llegó voy a ir a la biblioteca el día sábado, si no llego me iré a mi casa solo si la cafetería esta cerrada o el día no esta soleado.”

Pseudocodigo Diagrama de flujo

IMPRIMIR “Tomaré helado del bote”,

IMPRIMIR “Voy a ir a la escuela a preguntar”

IMPRIMIR “por la maestra”

IMPRIMIR ¿llegó la maestra?

LEER maestra

SI maestra == „s‟ ENTONCES

IMPRIMIR “voy a irme a la biblioteca”

IMPRIMIR “el día sábado”

DE LO CONTRARIO

IMPRIMIR ¿la cafetería esta abierta?

LEER cafe

IMPRIMIR ¿el día esta soleado?

LEER soleado

SI cafe == „n‟ O soleado == „n‟ ENTONCES IMPRIMIR “me iré a mi casa”

FIN SI FIN SI

Ejemplo 14 Diagrama de flujo de la sentencia alternativa anidada para el enunciado: Si la biblioteca no esta fresca voy a irme a mi casa, solo si la maestra no llega.

IMPRIMIR “¿llegó la maestra?”

LEER maestra

SI (maestra == „n‟) ENTONCES

IMPRIMIR “¿la biblioteca esta fresca?”

LEER biblio

SI (biblio == „n‟) ENTONCES

IMPRIMIR “voy a irme a mi casa”

FIN DE SI FIN DE SI

“Voy a irme a la biblioteca el día sábado”

cafe == „n‟

O soleado

== „n‟

“¿la cafeteria esta

abierta?”

“Me iré a mi casa”

A

A

cafe

soleado “¿el día

esta soleado?”

maestra=

=‟s‟

(17)

Ejemplo 15 Diagrama de flujo que permite capturar un entero que indique el mes y muestre con letras el mes correspondiente.

“voy a iré a mi casa”

si

no

“¿la biblioteca esta fresca?”

biblio

biblio

== „n‟

si

no maestr

a==„n‟

“Introduzca el número

del mes”

INICIO mes es entero

mes

Mes

== 1 “ENERO” A

si

no Mes

== 2 “FEBRERO

B

si

no Mes

== 3 “MARZO” C

si

no

Mes

== 4 “ABRIL” D

si

no

Mes

== 5 “MAYO” E

si

no Mes

== 6 “JUNIO” F

si

no Mes

== 7 “JULIO” G

si

no Mes

== 8 “AGOSTO” H

si

no

X

X

Y Mes

== 9

“SEPTIEM

BRE” I

si

no Mes

== 10

“OCTUBR

E” J

si

no

(18)

Actividad 1 Realice los diagrama de flujo para los enunciados de las actividades con pseudocódigo.

Mes

== 11

“NOVIEM

BRE” K

si

no Mes

== 12

“DICIEMB

RE” L

si

no Y

L

K J I

H G F E D C B A

Z

Z

FIN

Referencias

Documento similar

El diagrama de flujo de la programación del robot Figura 8, tiene como inicio la pregunta del modo en el cual se encuentra el robot, la primera opción es MODO MANUAL,