250 likes | 403 Views
CLASE #3. OBJETIVOS Iteración definida. Acumulador y Contador. Repaso semanas #1, #2. Estructura de iteración definida FOR ACUMULADOR y CONTADOR, y sus aplicaciones . Algunos ejemplos: sumatoria ( Σ ), productoria ( ), factorial (!). SELECCIÓN LÓGICA. Si (Expresión lógica) Acción1
E N D
CLASE #3 • OBJETIVOS • Iteración definida. • Acumulador y Contador.
Repaso semanas #1, #2. • Estructura de iteración definida FOR • ACUMULADOR y CONTADOR, y sus aplicaciones. • Algunos ejemplos: sumatoria (Σ), productoria (), factorial (!).
SELECCIÓN LÓGICA Si (Expresión lógica) Acción1 De lo contrario Acción2 Fin Si _________________ Repaso semanas #1, #2 • Presentación del curso. Breve bosquejo de la evolución de los computadores. • Algoritmo y su Representación. • Estructuras automáticas básicas.
Implica utilizar 6 estructuras de selección lógica. • Cada Si debe cerrarse con Fin Si Solución 1 al problema “mayor de tres valores A, B, C” Si (A > B) Si ( A > C) Escribir A “ es el mayor” Fin Si Fin Si Si (B > A) Si (B > C) Escribir B “ es el mayor” Fin Si Fin Si Si (C > A) Si (C > B) Escribir C “ es el mayor” Fin Si Fin Si
Implica utilizar 3 estructuras de selección lógica. • Cada Si debe cerrarse con Fin Si • Emplea una expresión lógica compuesta. Solución 2 al problema “mayor de tres valores A, B, C” Si (A > B Y A > C) Escribir A “ es el mayor” Fin Si Si (B > A Y B > C) Escribir B “ es el mayor” Fin Si Si (C > A Y C > B) Escribir C “ es el mayor” Fin Si
Implica utilizar sólo 2 estructuras de selección lógica. • Cada Si debe cerrarse con Fin Si • Emplea expresiones lógicas compuestas. Solución 3 al problema “mayor de tres valores A, B, C” Si (A > B Y A > C) Escribir A “ es el mayor” De lo contrario Si (B > A Y B > C) Escribir B “ es el mayor” De lo contrario Escribir C “ es el mayor” Fin Si Fin Si
Utiliza sólo 1 estructura de selección lógica. • Cada ElseSi debe ir en un renglón. • Emplea una expresión lógica compuesta. Solución 4 al problema “mayor de tres valores A, B, C” Si (A > B Y A > C) Escribir A “ es el mayor” De lo contrario Si (B > A Y B > C) Escribir B “ es el mayor” De lo contrario Escribir C “ es el mayor” Fin Si
ESTRUCTURA PARA (FOR) Para i = 1, <= 10, +1 Escribir i Fin Para • La instrucción PARA permite implementar la estructura de iteración • Se ejecuta un conjunto de instrucciones cierto número de veces. • Se continúa con la instrucción siguiente cuando se agota el ciclo Pseudocódigo Para i = 1, <= 10, +1 Diagrama de caja Escriba i For i = 1 To 10 Step 1 TextBox1 = TextBox1.text & i Next i VBA
ESTRUCTURA PARA (FOR) Variable de control Condición de la iteración (no necesariamente <=) PARA variable = valorInicial, <= valorFinal, variacion ………. FIN PARA Comienzo y fín del ciclo iterativo Variación de la variable de control en cada iteración Instrucciones que se ejecutan en cada iteración 3 - 9
Sintaxis FOR … NEXT en VBA Palabra clave del lenguaje Valor inicial de la variable de control Valor final de la variable de control FOR J = 1 To 200 Step 10 ………. Next J Variación de la variable de control Comienzo y fín del ciclo iterativo Nombre de la variable de control
Sintaxis FOR … NEXT en VBA For variable = valorInicial To valorFinal Step Variación • variable: índice de iteración • Cuando variable está por fuera del intervalo [valorInicial – valor Final] el proceso termina. • Variación: es el incremento o decremento de variable. Si la variación es +1, puede omitirse esta parte • valorInicial, valorFinal: pueden ser expresiones enteras o reales. [Acción 1] [Acción 2] … [Acción n] Next variable
Ejemplo #1 Elaborar un algoritmo para calcular la raíz cuadrada de los primeros 100 números naturales pares INICIO Diagrama de caja Para i = 2, <= 200, +2 Escribir √i FIN Private Sub CommandButton1_Click() Dim i As Integer For i = 2 To 200 Step 2 TextBox1 = TextBox1 & i & ":" & vbTab & Sqr(i) & vbCrLf Next i End Sub VBA
Ejemplo #1 • Recordar que para concatenar (pegar) dos textos en VBA se usa el operador & • vbTab, vbCrLf son constantes string de VBA y se usan para dar formato a los textos • Al cuadro de texto se le deben cambiar las propiedades Multiline a true y ScrollBars a vertical para que aparezcan los resultados como en la figura
Ejemplo #2 Una persona invierte un capital C al r% anual, en una cuenta de ahorros, durante n años. Elaborar un algoritmo que calcule el saldo año por año teniendo en cuenta la siguiente fórmula: Donde: n = número de años C = capital invertido r = tasa de interés anual s = cantidad de depósito al final del enésimo año. s = C*(1 + r)n
Ejemplo #2 En pseudocódigo: INICIO Leer C, n, r r = r/100 Para i: 1, <=n, +1 s = C*(1 + r)i Escribir i “: “ s Fin Para FIN 3 - 15
Ejemplo #2 En 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 i End Sub Private Sub botonSalir_Click() End End Sub 3 - 16
Ejemplo #2 Resultados
INICIO Leer N C = 0 Para i = 1, <= N, +1 Leer nota nota>=3 Si No C = C + 1 Escribir C “ ganaron” FIN CONTADOR Un contador se utiliza para determinar cuantas veces se cumple una determinada condición dentro de un proceso iterativo. Ejemplo: diseñar un algoritmo para leer N notas y decir cuantos estudiantes ganaron 3 - 18
INICIO Leer M S = 0 Para i = 1, <= M, +1 S = S + i Escribir “Sumatoria ” S FIN ACUMULADOR Un acumulador se utiliza para almacenar el resultado de una acumulación (sumas o productos) dentro de un proceso iterativo. Ejemplo: diseñar un algoritmo para mostrar la sumatoria de los primeros M números enteros positivos 3 - 19
Esquema general Contador variable = variable + 1 Acumulador 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 - 20
Ejemplo #3 Diseñar un algoritmo para leer las notas de Q estudiantes y mostrar el promedio de los que ganaron • INICIO • Leer Q • C = 0 • S = 0 • Para i:1, <=Q, +1 • Leer nota • Si (nota >= 3) • C = C+1 • S = S+nota • Fin Si • Fin para • Prom = S/C • Escribir “El promedio de los que ganaron fue: ” Prom • FIN 3 - 21
Ejemplo #4 Diseñar un algoritmo para mostrar los n primeros términos de la siguiente serie y su sumatoria • INICIO • Leer n • S = 0 • Para i:1, <=n, +1 • num = i2 • den = (2*i+1) • T = num/den • S = S+T • Escribir T • Fin Para • Escribir “La sumatoria es: ” S • FIN 3 - 22
Ejemplo #5 Diseñar un algoritmo para calcular el factorial de un número • INICIO • Leer X • Fact = 1 • Para i:1, <=X, +1 • Fact = Fact*i • Fin Para • Escribir “El factorial de ” X “ es ” Fact • FIN 3 - 23
Ejemplo #6 Diseñar un algoritmo para mostrar los h primeros términos de la siguiente serie y su productoria • INICIO • Leer h, X • S = 1 • Para i:1, <=h, +1 • num = (-1)i*2i • den = Xi • T = num/den • S = S*T • Escribir T • Fin Para • Escribir “La productoria es: ” S • FIN 3 - 24
Ejemplo #7 Diseñar un algoritmo para determinar si un número A es primo o no • INICIO • Leer A • nd = 0 • Para i : 1, <= A, +1 • Si A % i = 0 • nd = nd +1 • Fin Si • Fin Para • Si nd > 2 • Escribir “No es primo” • De lo contrario • Escribir “Si es primo” • Fin Si • FIN 3 - 25