0% encontró este documento útil (0 votos)
40 vistas10 páginas

2 - 1 - Estructuras de Control

El documento presenta diferentes estructuras de control utilizadas en programación, incluyendo secuencia, decisión (if/else), repetición incondicional (for) y pre-condicional (while). Explica cada una con ejemplos de pseudocódigo, diagramas de flujo y sintaxis en lenguaje Pascal. El objetivo es identificar cómo funciona el cerebro para luego diagramar y programar algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas10 páginas

2 - 1 - Estructuras de Control

El documento presenta diferentes estructuras de control utilizadas en programación, incluyendo secuencia, decisión (if/else), repetición incondicional (for) y pre-condicional (while). Explica cada una con ejemplos de pseudocódigo, diagramas de flujo y sintaxis en lenguaje Pascal. El objetivo es identificar cómo funciona el cerebro para luego diagramar y programar algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Algoritmos y Estructuras de Datos

1° Año
Ingeniería en Sistemas de Información

* Estructuras de Control

Prof. CLAUDIA DANIA


Magister en Docencia Universitaria
Analista Universitario de Sistemas
Licenciada en Sistemas de Información

Prof. Claudia Dania 1/9


Si podemos identificar como actúa nuestro cerebro,
podremos diagramar y luego programar

SECUENCIA
La estructura de secuencia es un tipo de estructura de control, también llamada estructura secuencial.
La estructura de secuencia hace referencia al orden de ejecución de las instrucciones que se hace de
forma secuencial, o sea, una instrucción después de la otra.
Las formas de representar las estructuras de control, pueden ser diversas, les presentamos modelos de
visualizaciones gráficas.

Inicio del programa


Pseudocódigo
Acción 1
Acción 2
.
Acción n
fin del programa
i
Acción 1
i
Esquemático Acción 2
i
i

Acción n

Acción 1
Chapín Acción 2
.
Acción n

ESTRUCTURAS DE CONTROL Repetitivas o Decisorias


Estas estructuras se usan en todos los programas que tengan que repetir un conjunto de instrucciones
cumpliendo con una condición lógica ó cuando se debe elegir un grupo de sentencias entre varias
posibles.
Cuando NO se conoce el número preciso de repetición se lo llama Bucle condicional.
Cuando SI se conoce el número de repetición se lo llama Bucle incondicional.
Cuando se presente la necesidad de efectuar una decisión lógica para ver cual es la acción a realizar
entre dos posibles se denomina ejecución condicional y cuando se elige un grupo de sentencias entre
varios grupos posibles se llama selección.

En cualquiera de las estructuras de control se pueden utilizar operadores relacionales (= < <= => > <>)
combinados ó no, con operadores lógicos (.OR. , .AND. , .NOT.).
Prof. Claudia Dania 2/9
DECISION
(entre dos alternativas)

SI / IF THEN ELSE

Tengo que elegir 1 puerta,


no puedo pasar por las dos
Comenzar el programa
Pseudocódigo definir (variable)
SI variable ENTONCES acciones verdaderas
SINO acciones falsas
fin del SI
Fin del programa

Esquemático Chapín
definir (variable)
i

Evalua definir (variable)


Verdadera la variable Falsa
de verdadera
variable
falsa
decisión
i i Av1 Af1
Ejecutar acciones Ejecutar acciones Af2
Av2
por la alternativa por la alternativa
VERDADERA FALSA . .
Avk Afn
i

Sintaxis IF g Condición g THEN g Sentencia g


$ #
ELSE g Sentencia g

Pascal IF expresión lógica THEN sentencia;


La sentencia se ejecuta si la expresión es verdadera
En caso de tener una sola salida programada debe ser la del verdadero

IF expresión lógica THEN sentenciaA ELSE sentenciaB;


se ejecuta una de las dos sentencias, nunca las dos

IF expresión lógica THEN BEGIN sentencia1, sentencia2;


....;
sentenciaN
END;
Tanto en el verdadero como en el falso se puede ejecutar una única sentencia, por lo tanto si hay más
de una se las debe comprender entre BEGIN - END. No debe aparecer un punto y coma (;) entre la
última sentencia del verdadero y la palabra ELSE, debido a que interpretaría como fin del IF y nunca
ejecutaría el falso.
Prof. Claudia Dania 3/9
REPETICION INCONDICIONAL
(cantidad conocida de veces)
PARA / FOR - DO
Comenzar el programa
definir (N)
hacer N veces
Pseudocódigo acción 1
acción 2
.
acción k Hacerlo 10 veces sin parar
fin del hacer
Fin del programa

Esquemático Chapín
i
definir (N)
i Definir (N)
g
repitió
PARA Indice = 1 a N hacer
menos de Falsa
Acción 1
N veces?
Acción 2
Verdadera i
.
Ejecutar todas las
acciones del bucle Acción k
i
Sintaxis
Variable Valor TO
g g Valor
FOR g de g := g g DO g BEGIN g Sentencia g END g
control Inicial g DOWNTO g Final # $
f ; f

Pascal FOR variable de control:= valor1 TO / DOWNTO valor2 DO sentencia;

FOR variable de control:= valor1 TO valor2 DO BEGIN


sentencia1;
sentencia2;
....;
sentenciaN
END;

Permite que una acción se repita un número específico de veces, debiendo incorporar BEGIN - END a
más de una sentencia.
La variable de control debe ser una variable de cualquier tipo menos real debido a que cuenta cantidades
exactas, se la puede usar dentro del proceso de repetición sin modificarla, pero finalizada la repetición,
no puede utilizársela sin redefinirla.
Dicha variable de control se puede incrementar (TO) o decrementar (DOWNTO) de uno en uno.
- Si valor1 es igual a valor2, la sentencia se ejecuta una sola vez.
- Si valor1 es menor que valor2 en DOWNTO la sentencia no se ejecutará nunca.
- Si valor1 es mayor que valor2 en el caso del TO, la sentencia no se ejecutará nunca.
Prof. Claudia Dania 4/9
REPETICION PRE - CONDICIONAL
(cantidad desconocida de veces)
MIENTRAS / WHILE DO

Comenzar el programa
definir (condición)
MIENTRAS condición HACER
acción 1
Pseudocódigo acción 2
. Mientras tenga aire
definir (condición) te compaño
fin del MIENTRAS
Fin del programa

Esquemático Chapín
definir (condición)
i
f Definir (condición)
MIENTRAS condición HACER
Falsa Evalua la Verdadera
condición Acción 1
i
Acción 2
i
Ejecutar las acciones .
definir (condición) Definir (condición)

Sintaxis WHILE g Condición g DO g Sentencia g

WHILE g Condición g DO g BEGIN g Sentencia g END g


# $
f ; f

Pascal WHILE expresión lógica DO sentencia;

WHILE expresión lógica DO BEGIN sentencia1;


sentencia2;
....;
sentenciaN
END;

Las sentencias se ejecutan repetidamente en tanto la expresión lógica sea verdadera. Primero, verifica
y luego ejecuta, por lo cual puede no ejecutarse el grupo de sentencias si en la primera validación salió
por falso. Debido a que después del DO ejecuta una única sentencia, si ésta es compuesta (más de 1
instrucción), se las debe programar comprendidas entre BEGIN - END. Debe tener una sentencia de
asignación {externa (lectura) o interna (:=)} de la variable interviniente en la decisión (condición),
externa a la estructura al comienzo y otra interna (en la estructura) para que no entre en loop.

Prof. Claudia Dania 5/9


REPETICION POS-CONDICIONAL
(cantidad desconocida de veces)
REPETIR - HASTA / REPEAT - UNTIL

Comenzar el programa
REPETIR
definir (condición)
Pseudocódigo acción 1
acción 2
. Hasta que mis piernas
acción k se cansen
HASTA condición
Fin del programa

Esquemático Chapín
gi
definir (condición)
Definir (condición)
Ejecutar todas las
acciones del bucle Acción 1
i Acción 2
.
Falsa Verdadera
Evalua la
condición
Acción k
HASTA condición
i
Sintaxis
REPEAT g Sentencia g UNTIL g Condición g
# $
f ; f

Pascal REPEAT
sentencia 1;
sentencia 2;
....;
....;
sentencia n
UNTIL expresión lógica;

La secuencia de sentencias se ejecutará repetidamente hasta que la expresión lógica (condición) sea
verdadera, por lo cual primero ejecuta y luego compara (a la inversa del WHILE-DO), ejecutándose al
menos una vez todas las sentencias.
Esta estructura no necesita del BEGIN - END debido a que REPEAT - UNTIL actúan como corchetes,
señalando comienzo y fin de la secuencia de repetición.

Prof. Claudia Dania 6/9


DECISION o SELECCION
(ejecución condicional, entre varias alternativas)
SELECCION MULTIPLE / CASE
Esquemático
definir (variable) Cada camino me llevará a un destino
i
diferente, solo uno puedo elegir
Evalua
la variable
de Pseudocódigo
decisión Comenzar el programa
definir (condición)
en CASO condición SEA IGUAL
posibilidad 1: acciones posibilidad 1
Ejecutar Ejecutar posibilidad 2: acciones posibilidad 2
Ejecutar acciones
acciones acciones para .
...
= = posibilidades posibilidad n: acciones posibilidad n
posibilidad 1 posibilidad n no propuestas otras: acciones para otras posibilidades
fin de CASO DE SELECCION
i Fin del programa
Chapín
definir (variable)
variable otras
posibilidad 1 posibilidad 2 posibilidad n posibilidades
acciones acciones acciones
para variable para variable para variable acciones de
= =
... posibilidades
=
posibilidad 1 posibilidad 2 posibilidad n no previstas

Sintaxis
CASE g Selector g OF g Etiqueta Case g : g Sentencia g END g
# $
! , !
#! $
; !

Pascal Permite la selección de un grupo particular de


sentencias entre varios grupos posibles, la selección
CASE expresión OF se hace sobre el valor de una expresión denominada
lista de rótulo1 : sentencia1; selector.
lista de rótulo2 : sentencia2; La expresión no puede ser real, generalmente es una
....; variable simple.
lista de rótuloN : sentenciaN Cada rótulo es uno de los valores posibles de la
END; expresión, no deben respetar un orden determinado.
Si las sentencias son estructuradas (más de una) se
las debe especificar entre BEGIN - END.
Se permiten sentencias nulas.
Si el valor de la expresión no coincide con ningún rótulo, la acción a realizar estará indefinida (algunas
versiones Pascal incluyen la claúsula OTHERWISE que especifica que hacer en dicho caso).
CASE puede ser una alternativa de la estructura IF -THEN -ELSE.
A diferencia de ésta, las comparaciones se hacen sólo por igualdad.
Prof. Claudia Dania 7/9
Todas las estructuras de control se pueden anidar, ya sean del mismo tipo o distintas.

Sentencia de Lectura (read ó readln)

Sentencia de Asignación (:=)

expresión

Rot.1 Rot.2 Rot.3 ....... Rot N

Función

FOR variab.

expresión
V F

Procedimiento

Sentencia de Escritura (write ó writeln)

Ejemplos:
1) Dado el ingreso de la altura actual del río, determinar si supera el valor de la media anual.

exh (‘ingrese el valor medio anual’)

leer (medio)

exh (ìngrese medida actual’)

leer (actual)

actual > medio

exh (‘supera’) exh (‘no supera’)

2) Dado el ingreso de la altura actual del río, durante 30 días, determinar día por día, si supera el valor de
la media anual.

exh (‘ingrese el valor medio anual’)

leer (medio)

para nro = 1 a 30

exh (ìngrese medida actual’)

leer (actual)

actual > medio

exh exh
(‘el día’,nro,‘supera’) (‘el día’,nro,‘no supera’)

Prof. Claudia Dania 8/9


3) Dado el ingreso por día, de la altura actual del río, considerando altura = 0 como fin de datos,
determinar día por día, si supera el valor de la media anual.

exh (‘ingrese el valor medio anual’)


leer (medio)
exh (ìngrese medida actual’)
leer (actual)
Mientras actual <> 0
actual > medio

exh (‘supera’) exh (‘no supera’)


exh (ìngrese medida actual’)
leer (actual)

4) Dado el ingreso por día, de la altura actual del río, considerando altura = tope como último dato a
procesar, determinar día por día, si supera el valor de la media anual.

exh (‘ingrese el valor tope’)


leer (tope)
exh (‘ingrese el valor medio anual’)
leer (medio)
exh (ìngrese medida actual’)
leer (actual)
actual > medio

exh (‘supera’) exh (‘no supera’)


hasta actual = tope

5) Dado el ingreso de la altura actual del río, compararla con las últimas 4 estadísticas y establecer con
cual de ellas coincide

exh (‘ingrese estadística 1’)


leer (e1)

exh (‘ingrese estadística 2’)

leer (e2)
exh (‘ingrese estadística 3’)

leer (e3)

exh (‘ingrese estadística 4’)


leer (e4)

exh (‘ingrese el valor actual’)

leer (actual)
actual

e1 e2 e3 e4 otros

exh exh exh exh exh

(‘coincide con 1’) (‘coincide con 2’) (‘coincide con 3’) (‘coincide con 4’) (‘NO coincide’)

Prof. Claudia Dania 9/9

También podría gustarte