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
Top Related