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

Preview:

Citation preview

3 - 3 - 11

CLASE #3CLASE #3

OBJETIVOSOBJETIVOS

Iteración definida.Iteración definida.Acumulador y Contador.Acumulador 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 (!).

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

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

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.

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.

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.

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

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

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

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

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

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

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.

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

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

3 - 3 - 1717

Ejemplo #2Ejemplo #2

ResultadosResultados

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

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

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

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

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

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

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

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

Recommended