capitulo #3: “estudio de algoritmos”
DESCRIPTION
CAPITULO #3: “ESTUDIO DE ALGORITMOS”. fin. inicio. Programa. asignación. lectura. Conjunto instrucciones = resultados. variables y constantes. escritura. //Pseudocódigo en PSeInt Proceso sin_titulo edadTRANSCRIPT
![Page 1: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/1.jpg)
CAPITULO #3:“ESTUDIO DE ALGORITMOS”
![Page 2: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/2.jpg)
Review Capitulo Nro. 2: “Fundamentos de Programación”
Partes constitutivas de un programa:• Entrada (Leer), algoritmo de resolución
(instrucciones, expresiones o sentencias) y salida (Escribir).
Instrucciones:• Inicio/fin, Lectura, Asignación, Escritura.• Tipos de datos, variables y constantes,
operadores (aritméticos, relación y lógicos), expresiones, otras funciones.
![Page 3: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/3.jpg)
Programa
asignación
lectura
escritura
fin
inicio
Conjunto instrucciones = resultados
VARIABLES Y CONSTANTES
Dim edad, anoNac, anoAct As IntegeranoNac = Console.ReadLine()
Const anoAct As Integer = 2009Const PI As Double = 3.1416
//Pseudocódigo en PSeIntProceso sin_titulo
edad <-0;anoNac <-0;anoAct <-0;Leer anoNac ;
FinProceso
![Page 4: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/4.jpg)
Programa
asignación
lectura
escritura
fin
inicio
Conjunto instrucciones = resultados
OPERADORES
Aritméticos^, *, /, div, \, mod, +, -, &
Relacionales=, <>, <, >, <=, >=
Lógicosno (not), y (and), o (or)
![Page 5: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/5.jpg)
Programa
asignación
lectura
escritura
fin
inicio
Conjunto instrucciones = resultados
EXPRESIONES O TRAS FUNC.Expresiones
(5 > 10) o (‘A’ < ‘B’)(10 > 5) y (5 < 10+Num)
Otras funcionesabs(x), arctan(x), sqr(x)
![Page 6: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/6.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Secuenciales Repetitivas Selección
![Page 7: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/7.jpg)
Estructuras SECUENCIALESSon aquellas en las que una acción (instrucción) sigue a otra en secuencia.
comienzo
asignación
escritura
fin
Inicio del programaCabecera del
programa. Sección de declaración
Entrada de datos
Cuerpo del programaProceso de datos
Salida de datos
Fin del programa Finalización
lectura
![Page 8: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/8.jpg)
Estructuras de SELECCIÓNCuando existen multiples alternativas, se utilizan para tomar decisiones lógicas.
comienzo
asignación
escritura
fin
Inicio del programaCabecera del
programa. Sección de declaración
Entrada de datos
Cuerpo del programa
Condición
Proceso de datos
Salida de datos
Fin del programa Finalización
condiciónSINO
lectura
![Page 9: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/9.jpg)
Estructuras REPETITIVASEstructuras que repiten una secuencia de instrucciones (iteraciones) un número determinado de veces (bucle)
• Mientras, hacer-mientras, repetir-hasta que, desde o para.
condición
acciones
SI
NO
condición
acciones
SI
NO
condición
acciones
SI
NO
i = 1
i <= 50
proceso
i = i +1
NO
SI
MIENTRAS, WHILE HACER – MIENTRAS, DO - WHILE
REPETIR HASTA QUE, REPEAT DESDE PARA, FOR
![Page 10: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/10.jpg)
Programación EstructuradaFlujos de control SECUENCIALES
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Secuenciales
![Page 11: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/11.jpg)
Estructuras SECUENCIALES
//Pseudocódigo en PSeInt
Proceso SumarDosNumeros intNum1 <- 0; intNum2 <- 0; intSumatoria <- 0; Escribir "Deme dos numeros"; Leer intNum1, intNum2; intSumatoria <- intNum1 + intNum2; Escribir "La suma es = ", intSumatoria;FinProceso
Son aquellas donde una acción (instrucción) siguen a otra en secuencia.
• Donde la salida de una, es la entrada de otra y de la siguiente y asi sucesivamente.
comienzo
asignación
escritura
fin
lectura
![Page 12: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/12.jpg)
Estructuras SECUENCIALES
'Codificado en Visual BasicModule SumarDosNumeros Public Sub Main() Dim intNum1, intNum2, intSumatoria As Integer Console.WriteLine("Deme dos numeros") intNum1 = Console.ReadLine() intNum2 = Console.ReadLine() intSumatoria = intNum1 + intNum2 Console.WriteLine("La suma es = " & intSumatoria) Console.ReadLine() End SubEnd Module
Son aquellas donde una acción (instrucción) siguen a otra en secuencia.
• Donde la salida de una, es la entrada de otra y de la siguiente y asi sucesivamente.
comienzo
asignación
escritura
fin
lectura
![Page 13: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/13.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Secuenciales Repetitivas Selección
![Page 14: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/14.jpg)
Programación EstructuradaFlujos de control SELECTIVOS
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Selección
![Page 15: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/15.jpg)
condición
Sentencia(s)
SI
NO
Estructuras de SELECCIÓN
Pseudocódigo en español
Si {expresion_logica} Entoces {acciones_por_verdadero}FinSi
Pseudocódigo en ingles
If {expresion_logica} Then {acciones_por_verdadero}End If
Estructura de decisión simple.
![Page 16: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/16.jpg)
condición
Sentencia(s)POR EL SI
SI
Estructuras de SELECCIÓN
Estructura de decisión doble.
Sentencia(s)POR EL NO
NO
Pseudocódigo en español
Si {expresion_logica} Entoces {acciones_por_verdadero}Sino {acciones_por_falsoFinSi
Pseudocódigo en Ingles
If {expresion_logica} Then {acciones_por_verdadero}Else {acciones_por_falso}End If
![Page 17: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/17.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
condición
lecturaCONDICIONES
x Mod y
(5 > 10) o (‘A’ < ‘B’)
(10 > 5) y (5 < 10)
cos (a) >= 0
no (40 > 2)
![Page 18: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/18.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
x Mod y
lecturaCONDICIONES
x Mod y(5 > 10) o (‘A’ < ‘B’)
(10 > 5) y (5 < 10)
cos (a) >= 0
no (40 > 2)
![Page 19: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/19.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
(5 > 10) o (‘A’ < ‘B’)
lecturaCONDICIONES
x Mod y
(5 > 10) o (‘A’ < ‘B’)(10 > 5) y (5 < 10)
cos (a) >= 0
no (40 > 2)
![Page 20: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/20.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
(10 > 5) y (5 < 10)
lecturaCONDICIONES
x Mod y
(5 > 10) o (‘A’ < ‘B’)
(10 > 5) y (5 < 10)cos (a) >= 0
no (40 > 2)
![Page 21: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/21.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
cos (a) > 0
lecturaCONDICIONES
x Mod y
(5 > 10) o (‘A’ < ‘B’)
(10 > 5) y (5 < 10)
cos (a) >= 0no (40 > 2)
![Page 22: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/22.jpg)
Estructuras de SELECCIÓN
O de decisión:
• Permiten la decisión entre acciones alternativas, además el de llevar acabo una acción si una condición (lógica) tiene un valor (verdadero, true, V, 1) o (falsa, false, F, 0).
• operadores lógicos <, >, <>, =, >=, <=,
SINO
comienzo
asignación
escritura
fin
no (40 > 2)
lecturaCONDICIONES
x Mod y
(5 > 10) o (‘A’ < ‘B’)
(10 > 5) y (5 < 10)
cos (a) >= 90
no (40 > 2)
![Page 23: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/23.jpg)
Estructuras de SELECCIÓNEstructura de decisión doble: EJEMPLO modulo
//Pseudocódigo en PSeInt Proceso Modulo_MOD x<-0; z<-0; Escribir "Ingrese valores para X y Z"; Leer x,z; Si (x Mod z) = 0 Entonces Escribir x, " ES exactamente divisible para ", z; Sino Escribir x, " NO es exactamente divisible para ", z; FinSiFinProceso
![Page 24: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/24.jpg)
Estructuras de SELECCIÓNEstructura de decisión doble: EJEMPLO modulo
'Codificado en Visual BasicModule Modulo_MOD Public Sub Main() Dim x, z As Integer x = 0 z = 0 Console.WriteLine("Ingrese valores para X y Z") x = Console.ReadLine z = Console.ReadLine If (x Mod z) = 0 Then Console.WriteLine(x & " ES exactamente divisible para " & z) Else Console.WriteLine(x & " NO es exactamente divisible para " & z) End If Console.ReadLine() End SubEnd Module
![Page 25: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/25.jpg)
Estructuras de decisión anidadasSon estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia 1. Mientras que si el resultado de su evaluación es falsa se evalúa otra expresión lógica, si el resultado de esta ultima es verdadera, se ejecuta la sentencia 2, si es falso se evalúa otra expresión y así sucesivamente.
condición 1 Sentencia(s) 1V
condición 2
condición n
Sentencia(s) N+1
Sentencia(s) 2
Sentencia(s) N + 1
V
V
Pseudocódigo en ingles
if {expresion_logica} then <acción(es) SI 1>else if {expresion_logica} then <acción(es) SI 2> else if {expresion_logica} then <acción(es) SI n+1> else …. endif . …endif
F
F
F
![Page 26: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/26.jpg)
Estructuras de decisión anidadas
//Pseudocódigo en PSeInt Proceso Mayor_TresNum
a<-0;b<-0;c<-0;
mayor<-0;Escribir "Ingrese tres numero";Leer a,b,c;Si a>b Entonces Si a>c Entonces
mayor<-a; Sino Si c>b Entonces mayor<-c; FinSi FinSiFinSiEscribir "El mayor es A = “,mayor;
FinProceso
Estructura de decisión anidadas: EJEMPLO Mayor_TresNum
![Page 27: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/27.jpg)
Estructuras de decisión anidadas'Codificado en Visual BasicModule Mayor_TresNum Public Sub Main() Dim a, b, c, mayor As Integer a = 0 b = 0 c = 0 mayor = 0 Console.WriteLine("Ingrese tres numero") a = Console.ReadLine() b = Console.ReadLine() c = Console.ReadLine() If a > b Then If a > c Then mayor = a Else If c > b Then mayor = c End If End If End If Console.WriteLine("El mayor es = " & mayor) Console.ReadLine() End SubEnd Module
Estructura de decisión anidadas: EJEMPLO Mayor_TresNum
![Page 28: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/28.jpg)
Estructuras de decisión múltipleA veces es necesario que existan mas de dos elecciones posibles. La estructura de decisión múltiple evalúa una expresión que podrá tomar n valores distintos. Según se elija uno de estos valores en la condición, se realizara una de las n acciones.
condición
Sentencia(s)S1
1
Sentencia(s)S2
Sentencia(s)Sn…
2 n
Pseudocódigo en español
Según_sea {variable_numerica} hacer {opcion_1}: {secuencia_de_acciones_1} {opcion_2}: {secuencia_de_acciones_2} {opcion_3}: {secuencia_de_acciones_3} De Otro Modo: {secuencia_de_acciones_dom}FinSegun
![Page 29: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/29.jpg)
Estructuras de decisión múltipleA veces es necesario que existan mas de dos elecciones posibles. La estructura de decisión múltiple evalúa una expresión que podrá tomar n valores distintos. Según se elija uno de estos valores en la condición, se realizara una de las n acciones.
condición
Sentencia(s)S1
1
Sentencia(s)S2
Sentencia(s)Sn…
2 n
Pseudocódigo en Ingles
Select [ Case ] testexpression Case expresión constante: <acción(es)> Case expresión constante: <acción(es)> Case expresión constante: <acción(es)> [Case Else] [<acción(es)>] ]End Select
![Page 30: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/30.jpg)
Estructuras de decisión múltiple
//Pseudocódigo en PSeInt Proceso Segun_ParesImpares Escribir "deme un número del 1 al 10"; Leer num; Segun num hacer 2, 4, 6, 8, 10: Escribir "El número es PAR"; 1, 3, 5, 7, 9: Escribir "El número es IMPAR"; De Otro Modo: Escribir "Número fuera de rango de entre el 1 al 10"; FinSegunFinProceso
Ejemplo de estructuras de decisión múltiple: Presentar si un número entre el 1 y el 10 ingresado por el teclado es par o impar
• ANÁLISIS:• 2, 4, 6, 8, 10 SON PARES• 1, 3, 5, 7, 9 SON IMPARES
• DISEÑO: Como se muestra a continuación
![Page 31: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/31.jpg)
Estructuras de decisión múltiple
'Codificado en Visual BasicModule Segun_ParesImpares Public Sub Main() Dim num As Integer Console.WriteLine("deme un número del 1 al 10") num = Console.ReadLine Select Case num Case 2, 4, 6, 8, 10 : Console.WriteLine("El número es PAR") Case 1, 3, 5, 7, 9 : Console.WriteLine("El número es IMPAR") Case Else Console.WriteLine("Fuera de rango de 1 al 10") End Select Console.ReadLine() End SubEnd Module
Ejemplo de estructuras de decisión múltiple: Presentar si un número entre el 1 y el 10 ingresado por el teclado es par o impar
![Page 32: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/32.jpg)
Programación EstructuradaFlujos de control SELECTIVOS
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Selección
SimplesIf – Then – End If
DoblesIf – Then- Else – End If
MúltiplesSelect – Case – Case Else – End Select
Anidados
![Page 33: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/33.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Secuenciales Repetitivas Selección
![Page 34: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/34.jpg)
Programación EstructuradaFlujos de control REPETITIVOS
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Repetitivas
![Page 35: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/35.jpg)
Estructuras REPETITIVASEstructuras que repiten una secuencia de instrucciones (iteraciones) un número determinado de veces (bucle)
• Mientras, hacer-mientras, repetir-hasta que, desde o para.
condición
acciones
SI
NO
condición
acciones
SI
NO
condición
acciones
SI
NO
i = 1
i <= 50
proceso
i = i +1
NO
SI
MIENTRAS, WHILE HACER – MIENTRAS, DO - WHILE
REPETIR HASTA QUE, REPEAT DESDE PARA, FOR
![Page 36: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/36.jpg)
Estructuras REPETITIVASMientras, While:
• Donde el cuerpo del bucle se repite mientras se cumple la CONDICIÓN.• Aquí lo primero que se ejecuta es la CONDICIÓN.• Para que se ejecute el bucle la evaluación de la condición debe ser TRUE.
SI
MIENTRAS - WHILE
comienzo
fin
lectura
condición
acciones
NO
Pseudocódigo en español
Mientras {expresion_logica} Hacer {secuencia_de_acciones}FinMientras
Pseudocódigo en inglés
While condition [ statements ] [ Exit While ] [ statements ] End While
![Page 37: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/37.jpg)
Estructuras REPETITIVASMientras, WhileEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
• ANÁLISIS:• SumaPares = 2 + 4 + 6 + 8 + 10 +12 + 14 + 16 + 18 + 20 = 110
• DISEÑO: Como se muestra a continuación
//Pseudocódigo en PSeInt Proceso Mientras_SumaPares intSumaPares <- 0; intContador <- 0; intPar <- 0; Mientras (intContador < 10) Hacer intPar <- intPar + 2; intContador <- intContador + 1; Escribir intContador, " Par = [",intPar, "]"; intSumaPares <- intSumaPares + intPar; FinMientras Escribir "Suma 10 primeros pares es ", intSumaPares;FinProceso
![Page 38: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/38.jpg)
Estructuras REPETITIVASMientras, While EJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
'Codificado en Visual BasicModule Segun_ParesImpares Public Sub Main() Console.WriteLine("ESTRUCTURA REPETITIVA WHILE") Dim intSumaPares, intContador, intPar As Integer intSumaPares = 0 intContador = 0 intPar = 0 While (intContador < 10) intPar = intPar + 2 intContador = intContador + 1 Console.WriteLine(intContador & " Par = [" & intPar & "]") intSumaPares = intSumaPares + intPar End While Console.WriteLine("Suma 10 primeros pares es " & _ intSumaPares) Console.ReadLine() End SubEnd Module
![Page 39: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/39.jpg)
Estructuras REPETITIVASEstructuras que repiten una secuencia de instrucciones (iteraciones) un número determinado de veces (bucle)
• Mientras, hacer-mientras, repetir-hasta que, desde o para.
condición
acciones
SI
NO
condición
acciones
SI
NO
condición
acciones
SI
NO
i = 1
i <= 50
proceso
i = i +1
NO
SI
MIENTRAS, WHILE HACER – MIENTRAS, DO - WHILE
REPETIR HASTA QUE, REPEAT DESDE PARA, FOR
![Page 40: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/40.jpg)
Estructuras REPETITIVASHacer-Mientras, Do Loop-While:
• Donde el cuerpo del bucle se repite al menos una vez.• Aquí la CONDICIÓN se evalua al final del bucle.• Para que se ejecute el bucle la evaluación de la condición debe ser TRUE.
SI
comienzo
fin
lectura
condición
acciones
NO
Pseudocódigo en inglés
Do [ statements ] [ Exit Do ] [ statements ] Loop { While } conditionHACER – MIENTRAS
DO - WHILE
Pseudocódigo en español
Hacer <acción S1> … <acción Sn>Mientras <condición>
![Page 41: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/41.jpg)
Estructuras REPETITIVASHacer-Mientras, Do Loop-WhileEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
• ANÁLISIS:• SumaPares = 2 + 4 + 6 + 8 + 10 +12 + 14 + 16 + 18 + 20 = 110
• DISEÑO: Como se muestra a continuación
‘Codificado en Visual BasicModule HacerMientras_SumaPares Public Sub Main() Console.WriteLine("ESTRUCTURA REPETITIVA “ & _ “HACER-MIENTRAS") Dim intPar, intContador, intSumaPares As Integer intPar = 0 intContador = 0 intSumaPares = 0 Do intPar = intPar + 2 intContador = intContador + 1 Console.WriteLine(intContador & " Par = [" & intPar & "]") intSumaPares = intSumaPares + intPar Loop While (intContador < 10) Console.WriteLine("Suma 10 primeros pares es " & intSumaPares) End SubEnd Module
![Page 42: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/42.jpg)
Estructuras REPETITIVASEstructuras que repiten una secuencia de instrucciones (iteraciones) un número determinado de veces (bucle)
• Mientras, hacer-mientras, repetir-hasta que, desde o para.
condición
acciones
SI
NO
condición
acciones
SI
NO
condición
acciones
SI
NO
i = 1
i <= 50
proceso
i = i +1
NO
SI
MIENTRAS, WHILE HACER – MIENTRAS, DO - WHILE
REPETIR HASTA QUE, REPEAT DESDE PARA, FOR
![Page 43: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/43.jpg)
Estructuras REPETITIVASRepetir Hasta-Que, Do Loop-Until:
• Donde el cuerpo del bucle se repite al menos una vez.• Aquí la CONDICIÓN se evalua al final del bucle.• Para que se ejecute el bucle la evaluación de la condición debe ser FALSE.
SI
comienzo
fin
lectura
condición
acciones
NO Pseudocódigo en inglés
Do [ statements ] [ Exit Do ] [ statements ] Loop { Until } condition
Pseudocódigo en español
Repetir {secuencia_de_acciones} Hasta Que {expresion_logica}
REPETIR HASTA QUEREPEAT
![Page 44: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/44.jpg)
Estructuras REPETITIVASRepetir Hasta-Que, Do Loop-UntilEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
• ANÁLISIS:• SumaPares = 2 + 4 + 6 + 8 + 10 +12 + 14 + 16 + 18 + 20 = 110
• DISEÑO: Como se muestra a continuación
//Pseudocódigo en PSeInt Proceso Repetir_SumaPares intSumaPares <- 0; intContador <- 0; intPar <- 0; Repetir intPar <- intPar + 2; intContador <- intContador + 1; Escribir intContador, " Par = [",intPar, "]"; intSumaPares <- intSumaPares + intPar; Hasta Que (intContador >= 10) Escribir "Suma 10 primeros pares es ", intSumaPares;FinProceso
![Page 45: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/45.jpg)
Estructuras REPETITIVASRepetir Hasta-Que, Do Loop-UntilEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
'Codificado en Visual BasicModule Repetir_SumaPares Public Sub Main() Console.WriteLine("ESTRUCTURA REPETITIVA " & _ "REPETIR HASTA-QUE") Dim intSumaPares, intContador, intPar As Integer intSumaPares = 0 intContador = 0 intPar = 0 Do intPar = intPar + 2 intContador = intContador + 1 Console.WriteLine(intContador & " Par = [" & intPar & "]") intSumaPares = intSumaPares + intPar Loop Until (intContador >= 10) Console.WriteLine("Suma 10 primeros pares es " & intSumaPares) Console.ReadLine() End SubEnd Module
![Page 46: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/46.jpg)
Estructuras REPETITIVASEstructuras que repiten una secuencia de instrucciones (iteraciones) un número determinado de veces (bucle)
• Mientras, hacer-mientras, repetir-hasta que, desde o para.
condición
acciones
SI
NO
condición
acciones
SI
NO
condición
acciones
SI
NO
i = 1
i <= 50
proceso
i = i +1
NO
SI
MIENTRAS, WHILE HACER – MIENTRAS, DO - WHILE
REPETIR HASTA QUE, REPEAT DESDE PARA, FOR
![Page 47: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/47.jpg)
Estructuras REPETITIVASDesde-Para, For-To-Next:
• Cuando se conoce de antemano el número de veces que se ejecutaran las acciones en un bucle.• Cuando el número de iteraciones sea FIJO o CONSTANTE.• Este es un bucle AUTOMATIZA el ingremento del contador y la evaluación de la condición.
comienzo
fin
lectura
Pseudocódigo en inglés
For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]
Pseudocódigo en español
Para {variable_numerica}<-{valor_inicial} Hasta {valor_final} Con Paso {paso} Hacer {secuencia_de_acciones}FinPara
DESDE PARAFOR
i = 1
i <= 50
proceso
i = i +1
F
V
![Page 48: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/48.jpg)
Estructuras REPETITIVASDesde-Para, For-To-Next:
• Cuando se conoce de antemano el número de veces que se ejecutaran las acciones en un bucle.• Cuando el número de iteraciones sea FIJO o CONSTANTE.• Este es un bucle AUTOMATIZA el ingremento del contador y la evaluación de la condición.
DESDE contador = 0 HASTA limite [incremento decremento] HACER
FIN_DESDE
<acciones>
For counter [ As datatype ] = 0 To end [ Step step ]
[ statements ] [ Exit For ] [ statements ]
Next [ counter ]
![Page 49: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/49.jpg)
Estructuras REPETITIVASDesde-Para, For-To-NextEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
• ANÁLISIS:• SumaPares = 2 + 4 + 6 + 8 + 10 +12 + 14 + 16 + 18 + 20 = 110
• DISEÑO: Como se muestra a continuación
//Pseudocódigo en PSeInt Proceso Para_SumaPares intSumaPares <- 0; intContador <- 0; intPar <- 0; Para intContador<-1 Hasta 10 Con Paso 1 Hacer
intPar <- intPar + 2; intSumaPares <- intSumaPares + intPar;Escribir intContador, " Par = [",intPar, "]";
FinPara Escribir "Suma 10 primeros pares es ", intSumaPares;FinProceso
![Page 50: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/50.jpg)
Estructuras REPETITIVASDesde-Para, For-To-NextEJEMPLO: Presentar por pantalla la sumatoria de los 10 primeros números pares.
'Codificado en Visual BasicModule Para_SumaPares Public Sub Main() Console.WriteLine("ESTRUCTURA REPETITIVA FOR") Dim intSumaPares, intPar As Integer intSumaPares = 0 intPar = 0 For intContador As Integer = 1 To 10 intPar = intPar + 2 Console.WriteLine(intContador & " Par = [" & intPar & "]") intSumaPares = intSumaPares + intPar Next Console.WriteLine("Suma 10 primeros pares es " & intSumaPares) Console.ReadLine() End SubEnd Module
![Page 51: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/51.jpg)
Estructuras REPETITIVASOtros ejemplos:
Presentar la suma de N números
ANÁLISISLeer <número1> y sumarlo en <sumatoria>, leer <número2> y sumarlo en <sumatoria>, leer <númeron>y sumarlo en <sumatoria>….
DISEÑO
Proceso SumarN_Numeros numero <- 0; sumatoria <- 0; contador <- 1; Escribir "deme el limite de num a sumar"; Leer limite; Mientras (limite >= contador) Hacer Escribir "deme num ", contador ; Leer numero; sumatoria <- sumatoria + numero; contador <- contador + 1; FinMientras Escribir "La sumatoria es: " ,sumatoria;FinProceso
![Page 52: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/52.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Secuenciales Repetitivas Selección
![Page 53: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/53.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Una sentencia sigue de otra
F. C.SECUENCIALES
![Page 54: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/54.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Simples • If-Then-End If
Dobles• If-Then-Else-End
If
Multiples
• Select Case-Case-Case Else-End Select
F. C.SELECTIVOS
![Page 55: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/55.jpg)
Programación EstructuradaFlujos de control
• Controlar el orden en el que se ejecutan las sentencias de un programa.
Mientras
• While-End While
Hacer Mientr
as
• Do-Loop While
Pepetir
Hasta
• Do-Loop Until
PARA • For-To-Next
F. C.REPETITIVOS
![Page 56: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/56.jpg)
Programación EstructuradaFlujos de control REPETITIVOS
• Controlar el orden en el que se ejecutan las sentencias de un programa.
RepetitivasR E T O
![Page 57: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/57.jpg)
Estructuras REPETITIVASRETO
ANÁLISIS
Los primeros números inicializados deberían ser. CERO 0 y UNO 1El siguiente número es la suma de un par de números anteriores, es decir 1 = 0+1, 2 = 1 + 1
Presento 0 (cero)Fibo = 0 + 1 = 1Fibo = 1 + 0 = 1Fibo = 1 + 1 = 2Fibo = 2 + 1 = 3Fibo = 3 + 2 = 5Fibo = 5 + 3 = 8Fibo = 8 + 5 = 13
Presentar la serie del Fibinacci = 0, 1, 1, 2, 3, 5, 8, 13, 21, …
![Page 58: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/58.jpg)
Estructuras REPETITIVASRETO
FIBO FIBO= + NUMERO
FIBO FIBO= + NUMERO
FIBO FIBO= + NUMERO
Valor inicial = 0
Valor inicial = 1
Presento 0 (cero)
Fibo = 0 + 1 = 1
Fibo = 1 + 0 = 1
Fibo = 1 + 1 = 2
Fibo = 2 + 1 = 3
Fibo = 3 + 2 = 5
Fibo = 5 + 3 = 8
Fibo = 8 + 5 = 13
aux = fibofibo = numeronumero = aux
AUX = FIBO
AUX = FIBO
![Page 59: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/59.jpg)
CAPITULO #3:“ESTUDIO DE ALGORITMOS”
Resumen
![Page 60: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/60.jpg)
Conceptos Claves:
Bucles infinitos: Aquellos en los que por la condición especificada por el programador, la condición no se termina.
Estructuras repetitivas anidadas: Todos aquellos bucles contenidos dentro de otro bucle.• Cuando se anidan bucles se debe tener cuidado que
el bucle inferior este contenido completamente dentro del bucle exterior.
![Page 61: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/61.jpg)
Conceptos Claves:
Un programa sin ninguna sentencia de bifurcación o iteración (selectiva o repetitiva), se ejecuta secuencialmente (en el orden en el que están escritas las sentencias).
Una sección de código repetitivo se conoce como bucle controlado por una sentencia de repetición que comprueba una condición para determinar si el código se ejecutará.
Cada pasada a través del bucle se conoce como una iteración o repetición controladas por una sentencia o condición.
![Page 62: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/62.jpg)
Tipos básicos de bucles
MIENTRAS WHILE
HACER – MIENTRAS DO - WHILE
REPETIR HASTA QUE REPEAT
DESDE PARA
FOR
![Page 63: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/63.jpg)
Tipos básicos de bucles
Los mientras y para - desde son bucles controlados por la entrada, es decir la condición
se evalúa en el inicio del mismo.
Los hacer mientras y repetir hasta son bucles controlados por la salida en los que la condición
se evalúa al final del mismo. El cuerpo del bucle se ejecuta siempre al menos, una vez.
<hacer mientras> se repite mientras la condición es verdadera <repetir hasta> se
repite mientras la condición es falsa.
![Page 64: CAPITULO #3: “ESTUDIO DE ALGORITMOS”](https://reader034.vdocuments.net/reader034/viewer/2022051401/56814dd4550346895dbb3620/html5/thumbnails/64.jpg)
Referencias:Bibliográficas LUÍS, JOYANES AGUILAR. (2003): “Fundamentos de Programación,
Algoritmos, Estructuras de Datos y Objetos.” Mc-Graw Hill. Madrid. Páginas 131 y siguientes (Cap# 4 y Cap#5).
Direcciones electrónicas Instalador del [pseint]: http://pseint.sourceforge.net/ Video, manejo del [pseint]: http://monje.oneble.com/tag/pseint/ “El algoritmo, una iniciación a la programación”
http://www.scribd.com/doc/6686520/Manual-Algoritmo
Otros medios Microsoft Corporation (2008): Microsoft Document Explore Version
8.0.50727.42, actualizado 06 de diciembre de 2007 (citado 25 de Marzo del 2009). Disponible a través de: MSDN Library para Visual Studio 2005 (US).