CAPITULO #3: “ESTUDIO DE ALGORITMOS”

Post on 19-Jan-2016

35 views 0 download

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 edad

Transcript of CAPITULO #3: “ESTUDIO DE ALGORITMOS”

CAPITULO #3:“ESTUDIO DE ALGORITMOS”

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.

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

Programa

asignación

lectura

escritura

fin

inicio

Conjunto instrucciones = resultados

OPERADORES

Aritméticos^, *, /, div, \, mod, +, -, &

Relacionales=, <>, <, >, <=, >=

Lógicosno (not), y (and), o (or)

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)

Programación EstructuradaFlujos de control

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Secuenciales Repetitivas Selección

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

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

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

Programación EstructuradaFlujos de control SECUENCIALES

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Secuenciales

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

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

Programación EstructuradaFlujos de control

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Secuenciales Repetitivas Selección

Programación EstructuradaFlujos de control SELECTIVOS

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Selección

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.

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

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)

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)

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)

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)

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)

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)

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

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

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

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

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

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

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

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

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

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

Programación EstructuradaFlujos de control

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Secuenciales Repetitivas Selección

Programación EstructuradaFlujos de control REPETITIVOS

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Repetitivas

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

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

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

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

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

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>

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

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

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

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

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

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

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

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 ]

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

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

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

Programación EstructuradaFlujos de control

• Controlar el orden en el que se ejecutan las sentencias de un programa.

Secuenciales Repetitivas Selección

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

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

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

Programación EstructuradaFlujos de control REPETITIVOS

• Controlar el orden en el que se ejecutan las sentencias de un programa.

RepetitivasR E T O

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, …

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

CAPITULO #3:“ESTUDIO DE ALGORITMOS”

Resumen

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.

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.

Tipos básicos de bucles

MIENTRAS WHILE

HACER – MIENTRAS DO - WHILE

REPETIR HASTA QUE REPEAT

DESDE PARA

FOR

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.

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).