Está en la página 1de 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

Fin Si

Implica utilizar 6
condicionales simples
Cada Si debe cerrarse
con 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

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

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

Iteracin definida
Para i = 1, <= 10, +1
Pseudocdigo

Escribir i
Fin Para

Diagrama de
caja

Para i = 1, <= 10, +1


Escriba i

For i = 1 To 10 Step 1
VBA

TextBox1 = TextBox1.text & i


Next 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

Estructura general
Variable
de control

Comienzo y
fn del ciclo
iterativo

Condicin de la iteracin
(no necesariamente <=)

PARA variable = valorInicial, <= valorFinal, variacion


.
FIN PARA

Instrucciones que se
ejecutan en cada
iteracin

Variacin de la
variable de control
en cada iteracin

Sintaxis en VB
Valor inicial de la
variable de control

Palabra
clave del
lenguaje

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

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

Leer N
C=0
Para i = 1, <= N, +1
Leer nota
nota>=3
Si

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

variable = variable + 1

Acumulador

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

También podría gustarte