estructuras de control - lccrusman/docencia/ic/tema4.pdf · estructuras de control contenido del...

52
Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1. Sentencia de selección simple. 4.3.2. Sentencia de selección binaria. 4.3.3. Sentencia de selección múltiple. 4.3.4. Anidamientos. 4.4. Estructuras repetitivas. 4.4.1. Sentencia repetitiva MIENTRAS. 4.4.2. Sentencia repetitiva REPETIR. 4.4.3. Sentencia repetitiva PARA. 4.4.4. Anidamientos. T E M A 4 Introducción a los computadores

Upload: lenhi

Post on 10-Feb-2018

227 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Estructuras de ControlContenido del Tema

4.1. Introducción.4.2. Expresiones lógicas.4.3. Estructuras selectivas.

4.3.1. Sentencia de selección simple.4.3.2. Sentencia de selección binaria.4.3.3. Sentencia de selección múltiple.4.3.4. Anidamientos.

4.4. Estructuras repetitivas.4.4.1. Sentencia repetitiva MIENTRAS.4.4.2. Sentencia repetitiva REPETIR.4.4.3. Sentencia repetitiva PARA.4.4.4. Anidamientos.

TEMA

4

TEMA

4

Introducción a los computadores

Page 2: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Introducción

• Composición secuencial de sentencias

• Recurso insuficiente por sí sólo.

• No permite resolver problemas que exijan una toma de decisión.

• No permite la ejecución de un conjunto de acciones un número determinado de veces.

acción1 acción2 acción3

Page 3: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Necesidad de herramientas para alterar el orden lógico de las sentencias

Ejecutar unas sentencias u otras

Estructura selectivaEjecutar un número de veces unas acciones

Estructura iterativaCapacidad de realizar preguntas sobre objetos del programa

Expresiones lógicas

Introducción

Page 4: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones Lógicas

• Condicionales, lógicas, booleanas.

• Posibles valores una vez evaluadas:

VERDADEROFALSO

Page 5: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

• Construcción:?Variable lógica Asignación: Bool=VERDADERO

Bool ?Mediante operadores relacionales:(==,<=,<,>=,>,!=)

a>3? Relaciones de comparación combinadas mediante operadores lógicos: Y(conjunción),O(disyunción),NO(negación)

(a>3) Y (3+c!=9)Los operandos de los operadores lógicos pueden ser expresiones cuya

evaluación sea un resultado lógico (es decir, expresiones lógicas)

Page 6: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

• Expresiones válidasNO((letra==“Q”)O(letra==“z”))Y(x>=6)(largo==ancho)Y NO(x<5)x Y (altura<=5) ((n+m)!=10) O (x<5)

• ¿Por qué los paréntesis??Orden de precedencia. Cada operador tiene una prioridad.Ejemplo: v= NO x Y y (B v,x,y)

x,y son FALSO¿v==verdadero ó v==falso?

Page 7: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

• Orden de precedencia

NO*,/+,-

relacionalesigualdadY, O

Si queremos cambiar el orden de ejecución, paréntesisSi queremos cambiar el orden de ejecución, paréntesisEn caso de duda, paréntesisEn caso de duda, paréntesis

+

-

Page 8: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones Lógicas

• Evaluación de expresiones lógicas en CORTOCIRCUITO

(ExpLógica) Y (ExpLógica)(ExpLógica) O (ExpLógica)

Ejemplo:(100 DIV j<2) Y (j>0)

Evaluación??

Page 9: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

•Equivalencias de algunas expresiones lógicas.

Z A,B,C,D

? NO(A==B) es equivalente a A!=B

? NO((A==B)O(A==C)) “ (A!=B)Y(A!=C)? NO((A==B)Y(C>D)) “ (A!=B)O(C<=D)

Leyes de De Morgan

Page 10: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

• Ejemplos:a) Si B valor, ¿cómo se puede poner de otra forma la

expresión lógica valor==FALSO?

b) ¿y valor==verdadero?

c) B prueba,valor, ¿prueba=valor==FALSO es correcto?¿a qué es equivalente?

Page 11: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Expresiones lógicas

d) Si B cierto Z x,y

cierto=(x<y)Y(y<x) es equivalente a?

cierto=(x<=y)O(y<=x) “

Page 12: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

• Control de selección, alternativas.• Ejecutar un bloque de acciones dependiendo de la

evaluación de una condición.• 3 tipos de sentencias alternativas:

Sentencias de selección simpleSentencias de selección binariaSentencias de selección múltiple

Page 13: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

Sentencia de Selección simple.• Sintaxis

SI CondControl ENTONCESaccionesdentro

FINSIaccionseguida

• Ejemplo: probar si un valor es positivo o negativo

SI dato>0 ENTONCESEscribir( “Incorrecto”)

FINSIEscribir(dato)

Page 14: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

Diagrama de Flujo

Acciones

verdadero

falsoCondControl

Page 15: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

Sentencia de selección binaria.•Sintaxis

SI CondControl ENTONCESaccionesSI

SINOaccionesEOC

FINSIaccionseguida

Page 16: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

AccionesEOC

falsoCondControl

AccionesSI

verdadero

• Diagrama de Flujo

Page 17: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

• Ejemplo: probar si un valor es positivo o negativo

SI dato>0 ENTONCESEscribir(“Positivo”)

SINOEscribir(“Negativo o cero”)

FINSIEscribir(dato)

Page 18: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

Ejemplo: Algoritmo que lea tres números diferentes e imprima en pantalla los valores máximo y mínimo

Ejemplo: Algoritmo que lea de teclado los coeficientes de una ecuación de segundo grado, e imprima las raíces de dicha ecuación.

Ejemplo: Algoritmo que lea un número de paquete seguido de un peso en kilos, y que escriba a la salida el número de paquete, seguido de “CLASE1” si el peso del paquete es menor de 32 kilos, “CLASE2” si va de 32 a 128 kilos y “CLASE3” para más de 128 kilos.

Page 19: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

Sentencia de selección múltiple

• SintaxisCASO expresión SEA

valores1: sentencias1valores2: sentencias2

...... ......valoresn: sentenciasn

SINOaccionesEOC

FINCASOaccionseguida

Selector

Page 20: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

• ¿Cómo funciona la sentencia CASO?1.- Evaluación del selector2.- Comparación del selector con los valoresi

3.- Ejecución de las sentencias correspondientes4.- Fin de la sentencia. Ejecución de la accionseguida• Errores posiblesEl valor del selector aparece en más de una lista de valoresi

El selector no es de tipo ordinal

Page 21: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

• EjemploCASO Mes SEA

1,2,4,5,6,8,9: /*no ejecutamos nada con estos valores*/3:Escribir( “Cumpleaños de Ana”)7:Escribir(“Aniversario de Carolina”)11:Escribir(“Mi cumpleaños”)

Escribir(“Habrá que celebrarlo”)FINCASO• Mes=1,2,4,5,6,8,9 no ejecuta nada• Mes=10, 12 ERROR DE EJECUCIÓN

NOTA:es posible incluir un subrango en la lista de valoresi

1,2,4..6,8,9

Page 22: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

AnidamientosSI CondControl1 ENTONCES

acciones1SINO

SI CondControl2 ENTONCESacciones2

SINOSI CondControl3 ENTONCES

acciones3SINOacciones4

FINSIFINSI

FINSI

SI CondControl1 ENTONCESacciones1

SINOSI CondControl2 ENTONCESacciones2

SINOSI CondControl3 ENTONCESacciones3

SINOacciones4

FINSI

Page 23: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

•Objetivo metodológico: LEGIBILIDADRealizar un sangrado o indentación

Incluir comentarios

Ejemplo: SI CondControl ENTONCES /* 1 */SINO

SI CondControl ENTONCES /* 2 */SINO

SI CondControl ENTONCES /* 3 */SINOFINSI /* 3 */

FINSI /* 2 */FINSI /* 1 */

Page 24: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

ALGO

RITM

OMA

YOR

VAR

Zma

y, a

, b,

cIN

ICIO

Escr

ibir

(“In

trod

uzca

tre

s nu

mero

s”)

Leer

(a,b

,c)

SIa>

b EN

TONC

ES/*

1*/

SIa>

c EN

TONC

ESma

y =

aSI

NOma

y =

cFI

NSI

SINOSI

b>c

ENTO

NCES

may

= b

SINO

may

= c

FINS

IFI

NSI

/*1*

/Es

crib

ir(

may

)FI

NMA

YOR

Eje

mpl

o:A

lgor

itmo

para

det

erm

inar

el m

ayor

de

tres

val

ores

Page 25: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas

? Matiz referente a la legibilidadLos siguientes grupos de sentencias ejecutan lo mismo:CASO Operador SEA‘+’ : Resultado = a+b‘-’ : Resultado = a-b‘*’ : Resultado = a*b‘/’ : Resultado = a/b

SINOEscribir(“ Operador Indefinido”)

FINCASO

Page 26: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras SelectivasSI Operador ==‘+’ENTONCES

Resultado=a+bSINO

SI Operador==‘-’ ENTONCESResultado=a-b

SINOSI Operador==‘*’ ENTONCES

Resultado= a*bSINO

SI Operador==‘/’ENTONCESResultado=a/b

SINOEscribir(“Operador Indefinido”)

FINSIFINSI

FINSIFINSI

Insertar los números de las sentencias SI entre comentarios

Page 27: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas (C)

if (CondControl) {accionesSI

}accionseguida

if (CondControl) {accionesSI

}else {accionesEOC

}accionseguida

Page 28: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas (C)

if (CondControl) {accionesSI

}else if (CondControl1) {

accionesCC1}else if (CondControl2) {

accionesCC2}else {

accioneselse}accionseguida

Page 29: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Selectivas (C)

switch (expresion){case exp-const: proposiciones

break;case exp-const: proposiciones

break;case exp-const: proposiciones

break;default : proposiciones

break;}

Page 30: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Necesarias en la mayoría de los algoritmos.• Estructura repetitiva = bucle = lazo.• Iteración• Ejecutan un conjunto de operaciones un número

determinado o indeterminado a priori de veces.• ¿Cuantas veces se ejecutan las instrucciones?

Condición de control

Page 31: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

A) Número de veces indeterminado a priori.Estructura MIENTRAS

• Sintaxis : MIENTRAS CondControl HACERAcciones

FINMIENTRAS

Page 32: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

AccionesCondControl

falso

Diagrama de flujo

verdadero

Page 33: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Condición de control del bucle = expresión lógica• Las sentencias que forman el cuerpo del bucle se ejecutan 0

o más veces.• BUCLE PREPRUEBA.• Condición verdadero seguirá ejecutando el cuerpo• Algunos ejemplos de bucles con nombre:

Bucle controlado por contadorBucle controlado por centinela

Bucle contador

Page 34: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

Bucle controlado por contador• Se ejecuta un número determinado de veces.• Variable de control del bucle

inicialización, evaluación, incremento

i=1 /*Inicialización*/MIENTRAS i<10 HACER /*Evaluación*/accionesi=i+1 /*Incremento*/

FINMIENTRAS

• ¿Cuantas veces se ejecuta el anterior bucle?

Page 35: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

Bucle controlado por centinela• Centinela = valor especial que controla el final del bucle• Es necesario actualizar el centinela en cada iteración • LECTURA ADELANTADA

Leer(centinela)/*lectura adelantada*/MIENTRAS centinela!=0 HACER

accionesLeer(centinela)/*actualización*/

FINMIENTRAS

Page 36: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

Bucle contador• Útil cuando se quiere contar el número de veces que se

ejecuta el bucle.• La expresión lógica no depende del contador

cont=0Leer(ch)MIENTRAS ch!= ‘.’ HACEREscribir(ch)cont=cont+1Leer(ch)

FINMIENTRAS

Page 37: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

Estructura REPETIR• Sintaxis :

REPETIRAcciones

HASTA QUE CondControl

Page 38: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras RepetitivasDiagrama de flujo.

Acciones

CondControl

falsoverdad

ero

Page 39: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Condición de control del bucle = expresión lógica• Las sentencias que forman el cuerpo del bucle se

ejecutan 1 o más veces.• BUCLE POSTPRUEBA.• Condición falso seguirá ejecutando el cuerpo• Menos general que el bucle MIENTRAS.

Page 40: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

B) Número de veces determinado a priori.

Estructura PARA• Sintaxis : PARA vcb=vi HASTA vf ( PASO p)HACERacciones

FINPARA

Page 41: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• ¿Cómo se ejecuta?

• Ejemplo: Suma=0PARA i= 1 HASTA 10 HACER

Leer(valor)Escribir(valor)/*Eco*/Suma=Suma + valor

FINPARA

Page 42: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

?La vcb se incrementa (decrementa) automáticamente.?El valor de la vcb puede usarse, pero no cambiarse

dentro del bucle.?La vcb queda indefinida al salir del bucle.?La vcb puede ser de cualquier tipo ordinal.?El bucle se ejecuta en su totalidad. ?Los valores de vi y vf se evalúan una sola vez.

Page 43: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Fácilmente podemos diseñar un bucle MIENTRASequivalente

vcb=viMIENTRAS (vcb<=vf) HACER

/*si paso negativo MIENTRAS (vcb>=vf)*/accionesvcb=vcb + paso

FINMIENTRAS

• Igual podemos construir un bucle REPETIR

Page 44: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Ejemplo: Calcular el factorial de un número.ALGORITMO Factorial;VARZ factorial, n, indice

INICIOfactorial=1Leer(n)PARA indice= 2 HASTA n HACER

factorial=factorial * indiceFINPARAEscribir(factorial)

FIN Factorial

Page 45: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• Ejemplo:Sumar los n ( n>=0 ) primeros números naturales.ALGORITMO SumanaturalesVARN num,suma,contador

INICIOEscribir(“Introduzca el número n:”)Leer(num)suma=0PARA contador= 1 HASTA num HACER

suma=suma+contadorFINPARAEscribir(suma)

FIN Sumanaturales

Page 46: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

Anidamientos• Al igual que en las estructuras selectivas, no hay

restricciones en las sentencias del cuerpo del bucle• La estructura interna debe de estar incluida en la externa

totalmente

Page 47: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas

• La vcb toma valores de modo tal que por cada valor de la variable control del bucle del ciclo externo se debe ejecutar totalmente el bucle interno.

Ejemplo:

PARA i= 1 HASTA 20 HACERPARA j= 1 HASTA 10 HACER

accionesFINPARA

FINPARA

Page 48: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Sentencias Repetitivas

• Ejemplo:Algoritmo que escriba un triángulo de números. La altura se introduce como dato y debe ser menor de 10.

Con altura=4 quedaría como sigue:

11 2 1

1 2 3 2 11 2 3 4 3 2 1

Observaciones: Una iteración por cada línea de dígitosCada línea se realiza en dos mitades:ejemplo:la línea 3

123--21

Page 49: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras RepetitivasALGORITMO trianguloCONST

C consblanco=“ “VARZ altura,blancos,filaZ mitad1,mitad2

INICIOLeer(altura)PARA fila=1 HASTA altura HACER

PARA blancos=1 HASTA (altura-fila) HACEREscribe(consblanco)

FINPARAPARA mitad1=1 HASTA fila HACER

Escribe(mitad1)FINPARAPARA mitad2=fila-1 HASTA 1 (PASO -1) HACER

Escribe(mitad2)FINPARASaltar_Linea

FINPARAFIN triangulo

Page 50: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Estructuras Repetitivas (C)

while (expresion) {acciones

}

for (expr1;expr2;expr3) {acciones

}

do {acciones

} while (expresion);

Page 51: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Programación Estructurada

BOHM Y JACOPINI: 1.965Bases de la Programación Estructurada

"Se demuestra que todo problema que pueda resolverse en un numerofinito de pasos puede expresarse usando únicamente 3 tipos de estructuras o bloques fundamentales con una sola entrada y una sola salida para organizar dichos pasos:

- Una caja proceso o de tratamiento secuencial.- Un mecanismo de decisión binaria.- Un mecanismo de bucle generalizado."

Page 52: Estructuras de Control - LCCrusman/docencia/ic/tema4.pdf · Estructuras de Control Contenido del Tema 4.1. Introducción. 4.2. Expresiones lógicas. 4.3. Estructuras selectivas. 4.3.1

Introducción a los computadores

Bibliografía

• Programación en C++. Algoritmos, estructuras de datos y objetos. L. Joyanes. McGraw-Hill, 2000

• Cómo programar en C/C++. H.M. Deitel, P.J. Deitel. PrenticeHall, 1995

• Pascal. Dale/Orshalick. Ed. McGraw Hill 1986

• Programación I. José A. Cerrada y Manuel Collado. U.N.E.D. 1993.

• Fundamentos de Programación. Joyanes Aguilar. McGraw Hill. 2ª Edición, 1996.