25
3 - 3 - 1 CLASE #3 CLASE #3 OBJETIVOS OBJETIVOS Iteración definida. Iteración definida. Acumulador y Contador. Acumulador y Contador.

3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

Embed Size (px)

Citation preview

Page 1: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 11

CLASE #3CLASE #3

OBJETIVOSOBJETIVOS

Iteración definida.Iteración definida.Acumulador y Contador.Acumulador y Contador.

Page 2: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 22

• Repaso semanas #1, #2.Repaso semanas #1, #2.

• Estructura de iteración definida Estructura de iteración definida

FORFOR

• ACUMULADOR y CONTADOR, y sus ACUMULADOR y CONTADOR, y sus

aplicacionesaplicaciones.

Algunos ejemplos: sumatoria (Algunos ejemplos: sumatoria (ΣΣ), ), productoria (productoria (), factorial (!).), factorial (!).

Page 3: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 33

• Presentación del curso. Breve Presentación del curso. Breve

bosquejo de la evolución de los bosquejo de la evolución de los

computadores.computadores.

• Algoritmo y su RepresentaciónAlgoritmo y su Representación..

Estructuras automáticas básicasEstructuras automáticas básicas.

Repaso semanas #1, #2Repaso semanas #1, #2

Si (Expresión lógica) Acción1De lo contrario Acción2

Fin Si_________________

SELECCIÓN LÓGICASELECCIÓN LÓGICA

Page 4: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 44

Solución 1 al problema “mayor de tres Solución 1 al problema “mayor de tres valores A, B, C”valores A, B, C”

Si (A > B)Si (A > B) Si ( A > C)Si ( A > C) Escribir A “ es el mayor”Escribir A “ es el mayor” Fin SiFin SiFin SiFin SiSi (B > A)Si (B > A) Si (B > C)Si (B > C) Escribir B “ es el mayor”Escribir B “ es el mayor” Fin SiFin SiFin SiFin SiSi (C > A)Si (C > A) Si (C > B)Si (C > B) Escribir C “ es el mayor”Escribir C “ es el mayor” Fin SiFin Si

Fin SiFin Si

• Implica utilizar 6 Implica utilizar 6 estructuras de estructuras de selección lógica.selección lógica.

• Cada Si debe cerrarse Cada Si debe cerrarse con Fin Sicon Fin Si

Page 5: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 55

Solución 2 al problema “mayor de tres Solución 2 al problema “mayor de tres valores A, B, C”valores A, B, C”

Si (A > B Y A > C)Si (A > B Y A > C) Escribir A “ es el mayor”Escribir A “ es el mayor”Fin SiFin SiSi (B > A Y B > C)Si (B > A Y B > C) Escribir B “ es el mayor”Escribir B “ es el mayor”Fin SiFin SiSi (C > A Y C > B)Si (C > A Y C > B) Escribir C “ es el mayor”Escribir C “ es el mayor”Fin SiFin Si

• Implica utilizar Implica utilizar 3 3 estructurasestructuras de de selección lógica.selección lógica.

• Cada Si debe cerrarse Cada Si debe cerrarse con Fin Sicon Fin Si

•Emplea una Emplea una expresión expresión lógica compuesta.lógica compuesta.

Page 6: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 66

Solución 3 al problema “mayor de tres Solución 3 al problema “mayor de tres valores A, B, C”valores A, B, C”

Si (A > B Y A > C)Si (A > B Y A > C) Escribir A “ es el mayor”Escribir A “ es el mayor”De lo contrarioDe lo contrario Si (B > A Y B > C)Si (B > A Y B > C) Escribir B “Escribir B “ es el mayor” es el mayor” De lo contrarioDe lo contrario Escribir C “ es el mayor”Escribir C “ es el mayor” Fin SiFin Si

Fin SiFin Si

• Implica utilizar Implica utilizar sólo 2 sólo 2 estructurasestructuras de de selección lógica.selección lógica.

• Cada Si debe cerrarse Cada Si debe cerrarse con Fin Sicon Fin Si

•Emplea Emplea expresiones expresiones lógicas compuestas.lógicas compuestas.

Page 7: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 77

Solución 4 al problema “mayor de tres Solución 4 al problema “mayor de tres valores A, B, C”valores A, B, C”

Si (A > B Y A > C)Si (A > B Y A > C) Escribir A “ es el mayor”Escribir A “ es el mayor”De lo contrario Si (B > A Y B > C)De lo contrario Si (B > A Y B > C) Escribir B “ es el mayor”Escribir B “ es el mayor”De lo contrarioDe lo contrario Escribir C “ es el mayor”Escribir C “ es el mayor”Fin SiFin Si

• Utiliza sólo Utiliza sólo 1 1 estructuraestructura de selección de selección lógica.lógica.

• Cada ElseSi debe ir en Cada ElseSi debe ir en un renglón.un renglón.

•Emplea una Emplea una expresión expresión lógica compuesta.lógica compuesta.

Page 8: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 88

ESTRUCTURA PARA (FOR)ESTRUCTURA PARA (FOR)

• La instrucción PARA La instrucción PARA permite implementar la permite implementar la estructura de iteraciónestructura de iteración

• Se ejecuta un conjunto de Se ejecuta un conjunto de instrucciones cierto número instrucciones cierto número de veces.de veces.

• Se continúa con la Se continúa con la instrucción siguiente cuando instrucción siguiente cuando se agota el ciclose agota el ciclo

For i = 1 To 10 Step 1

TextBox1 = TextBox1.text & i

Next i

Para i = 1, <= 10, +1

Escribir i

Fin Para

Para i = 1, <= 10, +1

Escriba i

Pseudocódigo

Diagrama de caja

VBA

Page 9: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 99

ESTRUCTURA PARA (FOR)ESTRUCTURA PARA (FOR)

PARA variable = valorInicial, <= valorFinal, variacion PARA variable = valorInicial, <= valorFinal, variacion ……….……….

FIN PARAFIN PARA

Variable Variable de controlde control

Condición de la iteración Condición de la iteración (no necesariamente <=) (no necesariamente <=)

Variación de la Variación de la variable de control variable de control en cada iteración en cada iteración

Comienzo y Comienzo y fín del ciclo fín del ciclo iterativoiterativo

Instrucciones que se Instrucciones que se ejecutan en cada ejecutan en cada iteracióniteración

Page 10: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1010

Sintaxis FOR … NEXT en VBASintaxis FOR … NEXT en VBA

FOR J = 1 To 200 Step 10FOR J = 1 To 200 Step 10

………………..

Next JNext J

Palabra Palabra clave del clave del lenguajelenguaje

Valor inicial de la Valor inicial de la variable de controlvariable de control Valor final de la Valor final de la

variable de controlvariable de control

Variación de la Variación de la variable de controlvariable de control

Comienzo y Comienzo y fín del ciclo fín del ciclo iterativoiterativo

Nombre de la Nombre de la variable de controlvariable de control

Page 11: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1111

For variable = valorInicial To valorFinal Step VariaciónFor variable = valorInicial To valorFinal Step Variación

[Acción 1][Acción 1]

[Acción 2][Acción 2]

……

[Acción n][Acción n]

Next variableNext variable

• variablevariable: índice de iteración: índice de iteración

• Cuando Cuando variablevariable está por está por fuera del intervalo [valorInicial fuera del intervalo [valorInicial – valor Final] el proceso – valor Final] el proceso termina.termina.

• VariaciónVariación: es el incremento o : es el incremento o decremento de variable. Si la decremento de variable. Si la variación es +1, puede variación es +1, puede omitirse esta parteomitirse esta parte

• valorInicial, valorFinalvalorInicial, valorFinal: pueden : pueden ser expresiones enteras o reales.ser expresiones enteras o reales.

Sintaxis FOR … NEXT en VBASintaxis FOR … NEXT en VBA

Page 12: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1212

Ejemplo #1Ejemplo #1

Elaborar un algoritmo para calcular la raíz Elaborar un algoritmo para calcular la raíz cuadrada de los primeros 100 números cuadrada de los primeros 100 números naturales paresnaturales pares

Private Sub CommandButton1_Click() Dim i As Integer For i = 2 To 200 Step 2 TextBox1 = TextBox1 & i & ":" & vbTab & Sqr(i) & vbCrLf Next iEnd Sub

INICIO

Para i = 2, <= 200, +2Escribir √i

FIN

Diagrama de caja

VBA

Page 13: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1313

• Recordar que para concatenar Recordar que para concatenar (pegar) dos textos en VBA se (pegar) dos textos en VBA se usa el operador &usa el operador &

• vbTabvbTab, , vbCrLfvbCrLf son constantes son constantes string de VBA y se usan para string de VBA y se usan para dar formato a los textosdar formato a los textos

• Al cuadro de texto se le deben Al cuadro de texto se le deben cambiar las propiedades cambiar las propiedades MultilineMultiline a a truetrue y y ScrollBarsScrollBars a a verticalvertical para que aparezcan los para que aparezcan los resultados como en la figuraresultados como en la figura

Ejemplo #1Ejemplo #1

Page 14: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1414

Una persona invierte un capital C al r% anual, en Una persona invierte un capital C al r% anual, en una cuenta de ahorros, durante n años. Elaborar una cuenta de ahorros, durante n años. Elaborar un algoritmo que calcule el saldo año por año un algoritmo que calcule el saldo año por año teniendo en cuenta la siguiente fórmula:teniendo en cuenta la siguiente fórmula:

s = C*(1 + r)s = C*(1 + r)nn

Ejemplo #2Ejemplo #2

Donde:Donde:

n = número de añosn = número de añosC = capital invertidoC = capital invertidor = tasa de interés anualr = tasa de interés anuals = cantidad de depósito al s = cantidad de depósito al final del enésimo año.final del enésimo año.

Page 15: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1515

En pseudocódigo:En pseudocódigo:

INICIOINICIOLeer C, n, rr = r/100Para i: 1, <=n, +1

s = C*(1 + r)i

Escribir i “: “ sFin Para

FIN

Ejemplo #2Ejemplo #2

Page 16: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1616

En VBAEn VBA

Private Sub botonCalcular_Click() Dim C As Single, n As Integer, r As Single, S As Single 'Se leen las variables de entrada C = Val(textC) n = Val(textN) r = Val(textR) r = r / 100 'Por ser porcentaje For i = 1 To n Step 1 S = C * (1 + r) ^ i 'Se muestra el saldo para cada año textResultados = textResultados & i & ":" & vbTab & S & vbCrLf Next iEnd Sub

Private Sub botonSalir_Click() EndEnd Sub

Ejemplo #2Ejemplo #2

Page 17: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1717

Ejemplo #2Ejemplo #2

ResultadosResultados

Page 18: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1818

CONTADORCONTADOR

Un contador se utiliza para determinar cuantas veces Un contador se utiliza para determinar cuantas veces se cumple una determinada condición dentro de un se cumple una determinada condición dentro de un proceso iterativo.proceso iterativo.

Ejemplo:Ejemplo: diseñar un diseñar un algoritmo para leer N algoritmo para leer N notas y decir cuantos notas y decir cuantos estudiantes ganaronestudiantes ganaron

INICIO

Para i = 1, <= N, +1

Leer nota

FIN

Leer N

nota>=3Si No

C = C + 1

Escribir C “ ganaron”

C = 0

Page 19: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 1919

ACUMULADORACUMULADOR

Un acumulador se utiliza para almacenar el resultado Un acumulador se utiliza para almacenar el resultado de una acumulación (sumas o productos) dentro de un de una acumulación (sumas o productos) dentro de un proceso iterativo.proceso iterativo.

Ejemplo:Ejemplo: diseñar un diseñar un algoritmo para mostrar la algoritmo para mostrar la sumatoria de los sumatoria de los primeros M números primeros M números enteros positivosenteros positivos

INICIO

Para i = 1, <= M, +1

S = S + i

FIN

Leer M

Escribir “Sumatoria ” S

S = 0

Page 20: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2020

Esquema generalEsquema general

ContadorContador variable = variable + 1

AcumuladorAcumulador variable = variable + ó * X

En ambos casos, como en toda operación de asignación, primero se evalúa el lado derecho, y el resultado se asigna al lado izquierdo

Page 21: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2121

Diseñar un algoritmo para leer las notas de Q estudiantes y mostrar el promedio de los que ganaron

Ejemplo #3Ejemplo #3

INICIOLeer QC = 0S = 0Para i:1, <=Q, +1

Leer notaSi (nota >= 3)C = C+1S = S+nota

Fin SiFin paraProm = S/CEscribir “El promedio de los que ganaron fue: ” Prom

FIN

Page 22: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2222

Diseñar un algoritmo para mostrar los n primeros términos de la siguiente serie y su sumatoria

Ejemplo #4Ejemplo #4

INICIOLeer nS = 0Para i:1, <=n, +1

num = i2

den = (2*i+1)T = num/denS = S+TEscribir T

Fin ParaEscribir “La sumatoria es: ” S

FIN

,...11

25,

9

16,7

9,5

4,3

1

Page 23: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2323

Diseñar un algoritmo para calcular el factorial de un número

Ejemplo #5Ejemplo #5

INICIOLeer XFact = 1Para i:1, <=X, +1

Fact = Fact*iFin ParaEscribir “El factorial de ” X “ es ” Fact

FIN

Page 24: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2424

Diseñar un algoritmo para mostrar los h primeros términos de la siguiente serie y su productoria

Ejemplo #6Ejemplo #6

INICIOLeer h, XS = 1Para i:1, <=h, +1

num = (-1)i*2iden = Xi

T = num/denS = S*TEscribir T

Fin ParaEscribir “La productoria es: ” S

FIN

,...,8

,6

,4

,2

432 XXXX

Page 25: 3 - 1 CLASE #3 OBJETIVOS 4Iteración definida. 4Acumulador y Contador

3 - 3 - 2525

Diseñar un algoritmo para determinar si un número A es primo o no

Ejemplo #7Ejemplo #7

INICIOLeer And = 0Para i : 1, <= A, +1

Si A % i = 0nd = nd +1

Fin SiFin ParaSi nd > 2

Escribir “No es primo”De lo contrario

Escribir “Si es primo”Fin Si

FIN