Вы находитесь на странице: 1из 26

Fundamentos de Programacin Clase 3

Contenido Repaso condicionales Iteracin definida Acumulador y contador

Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia Sede Medelln

Condicionales
Retomemos el ejercicio dejado como tarea en la clase anterior: Disear un algoritmo para leer 3 valores numricos a, b y c, y mostrar cul es el mayor. Como siempre, hay muchas formas de resolver el problema, veamos a continuacin varias

Alternativa 1
Leer A, B, C Si (A > B) Si ( A > C) Mostrar A, es el mayor Fin Si Fin Si Si (B > A) Si (B > C) Mostrar B, es el mayor Fin Si Fin Si Si (C > A)
Si (C > B) Mostrar C, es el mayor Fin Si

Implica utilizar 6 condicionales simples Cada Si debe cerrarse con Fin Si

Fin Si

Alternativa 2
Leer A, B, C Si ((A > B) Y (A > C)) Mostrar A, es el mayor Fin Si Si ((B > A) Y (B > C)) Mostrar B, es el mayor Fin Si Si ((C > A) Y (C > B)) Mostrar C, es el mayor Fin Si

Implica utilizar 3 condicionales simples Emplea expresiones lgicas compuestas Cada Si debe cerrarse con Fin Si

Alternativa 3
Leer A, B, C Si ((A > B) Y (A > C)) Mostrar A, es el mayor De lo contrario Si ((B > A) Y (B > C)) Mostrar B, es el mayor De lo contrario Mostrar C, es el mayor Fin Si Fin Si

Implica utilizar slo 2 condicionales compuestos Emplea expresiones lgicas compuestas Cada Si debe cerrarse con Fin Si Se evidencia la utilidad de emplear sangras

Alternativa 4
Utiliza slo un condicional mltiple Emplea expresiones lgicas compuestas Hay un solo Fin Si

Leer A, B, C Si ((A > B) Y (A > C)) Mostrar A, es el mayor De lo contrario Si ((B > A) Y (B > C)) Mostrar B, es el mayor De lo contrario Mostrar C, es el mayor Fin Si

Iteracin definida
Para i = 1, <= 10, +1 Pseudocdigo Escribir i Fin Para Para i = 1, <= 10, +1 Escriba i La instruccin PARA permite implementar la estructura de iteracin definida Se ejecuta un conjunto de instrucciones cierto nmero de veces. Se contina con la instruccin siguiente cuando se agota el ciclo

Diagrama de caja

For i = 1 To 10 Step 1 VBA TextBox1 = TextBox1.text & i Next i

Estructura general
Variable de control Condicin de la iteracin (no necesariamente <=)

Comienzo y fn del ciclo iterativo

PARA variable = valorInicial, <= valorFinal, variacion . FIN PARA Variacin de la variable de control en cada iteracin

Instrucciones que se ejecutan en cada iteracin

Sintaxis en VB
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


Comienzo y fn del ciclo iterativo Nombre de la variable de control Variacin de la variable de control

Sintaxis general en VB
For variable = valorInicial To valorFinal Step Variacin [Accin 1] [Accin 2] [Accin n] Next variable
variable variable: : ndice de iteracin

Cuando variable est por fuera del intervalo [valorInicial valor Final] el proceso termina. Variacin Variacin: : es el incremento o decremento de variable. Si la variacin es +1, puede omitirse esta parte
valorInicial, valorFinal: valorFinal: pueden ser expresiones enteras o reales.

Ejemplo 1
Elaborar un algoritmo para calcular la raz cuadrada de los primeros 100 nmeros naturales pares
INICIO Para i = 2, <= 200, +2 Escribir i FIN
Diagrama de caja

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 aos aos. . Elaborar un algoritmo que calcule el saldo ao por ao teniendo en cuenta la siguiente frmula frmula: : Donde:

s = C*(1 + r)n

n = nmero de aos C = capital invertido r = tasa de inters anual s = cantidad de depsito al final del ensimo ao.

Ejemplo 2
En pseudocdigo: INICIO Leer C, n, r r = r/100 Para i: 1, <=n, +1 s = C*(1 + r)i Mostrar Saldo del ao, i, :, s Fin Para FIN

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 ao textResultados = textResultados & i & ":" & vbTab & S & vbCrLf Next i End Sub Private Sub botonSalir_Click() End End Sub

Ejemplo 2
Resultados

Contador
Un contador se utiliza para determinar cuantas veces se cumple una determinada condicin dentro de un proceso iterativo.
INICIO Leer N C=0 Para i = 1, <= N, +1 Leer nota nota>=3 Si

Ejemplo: disear un algoritmo para leer N notas y decir cuantos estudiantes ganaron

No

C=C+1 Escribir C ganaron FIN

Acumulador
Un acumulador se utiliza para almacenar el resultado de una acumulacin (sumas o productos) dentro de un proceso iterativo. Ejemplo: disear un algoritmo para mostrar la sumatoria de los primeros M nmeros enteros positivos
INICIO Leer M S=0 Para i = 1, <= M, +1 S=S+i Escribir Sumatoria S FIN

Esquema general
Contador Acumulador variable = variable + 1 variable = variable + * X

En ambos casos, como en toda operacin de asignacin, primero se evala el lado derecho, y el resultado se asigna al lado izquierdo

Ejemplo 3
Disear 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

Ejemplo 4
Disear un algoritmo para mostrar los n primeros trminos 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

1 4 9 16 25 , , , , ,... 3 5 7 9 11

Ejemplo 5
Disear un algoritmo para calcular el factorial de un nmero.
INICIO Leer X Fact = 1 Para i:1, <=X, +1 Fact = Fact*i Fin Para Escribir El factorial de X es Fact FIN

Ejemplo 6
Disear un algoritmo para mostrar 2 4 6 8 , 2 , 3 , 4 ,..., los h primeros trminos de la X X X X siguiente serie y su productoria.
INICIO Leer h, X P=1 Para i:1, <=h, +1 num = (-1)i*2i den = Xi T = num/den P = P*T Escribir T Fin Para Escribir La productoria es: P FIN

Ejemplo 7
Disear un algoritmo para determinar si un nmero 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

Tareas
Hacer por cuenta propia los ejercicios vistos en clase Realizar los ejercicios que no se alcanzaron a hacer Resolver los problemas 1 a 15 de la problemateca 2

Fundamentos de Programacin Clase 3

FIN DE LA CLASE
Gracias por la atencin
Escuela de Sistemas, Facultad de Minas Universidad Nacional de Colombia Sede Medelln

Вам также может понравиться