Title: CLASE
1CLASE 5
- Iteración indefinida
- Ejemplos, tareas.
- Referencia
- Cap.2, documentos Cap2A.PDF, Cap2B.PDF,
Cap3A.PDF,CAP3B.PDF - García, et al., caps. 3, 4.
2Repaso Clases 3, 4
Iteración definida FORNEXT
Conceptos de acumulador y de contador
- Métodos de integración numérica rectangular,
trapezoidal y simpson
3Objetivos Clase 5
- Conocer la iteración indefinida y aplicarla con
algunos ejemplos. - Estructuras
- DO... LOOP WHILE
- DO... LOOP UNTIL
- WHILEWEND
- DO WHILE ... LOOP
- DO UNTIL... LOOP
4Iteración Repetición
Beber el agua
5Iteración Repetición
3 5 7 9 11 13 15 17 19 4 6 8 10 12
14 16 18 20 5 7 9 11 13 15 17 19 6 8
10 12 14 16 18 20 7 9 11 13 15 17 19 8 10
12 14 16 18 20 9 11 13 15 17 19 10 12 14
16 18 20 11 13 15 17 19 12 14 16 18 20
6Iteración Repetición
For i 2 to 11 For j i1 to 20 step 2
Text1Text1 j vbtab Next j Text1
Text1 vbcrlf Next i
i --gt para las filas j --gt para las columnas
7Proyecto Iteración
8Iteración definida vs Indefinida
- Iteración definida
- Calcular la S para los primeros 100 términos de
la Sumatoria
- Iteración indefinida
- Calcular S mientras que la suma sea menor que
2.0. Cuántos términos se suman?
9- Variables
- Dim S as single
- Dim i as integer
- Proceso
- S0
- Nt Val(Text2)
- For i1 to Nt
- S S 1/(1i2)
- Next i
- Resultado
- Text1.text S
Iteración definida
10Ejemplo Iteración Indefinida
- Calcular S mientras que la suma de la serie sea
menor que 2.0. - Contar cuántos términos se requieren para
alcanzar ese valor.
11Variables Dim S as single, i as integer S0
i0 Proceso Do While (s lt 2.0) s s 1 / (1 i
2) i i 1 Loop Resultado Text1.Text
s Text2.Text i
Do WhileLoop
12- Variables
- Dim S as single
- Dim i as integer
- S0 i0
- Proceso
- Do Until (s gt 2.0)
- s s 1 / (1 i 2)
- i i 1
- Loop
- Resultado
- Text1.Text s
- Text2.Text i
Do UntilLoop
13- Variables
- Dim S as single
- Dim i as integer
- S0 i0
- Proceso
- Do
- s s 1 / (1 i 2)
- i i 1
- Loop While (s lt 2.0)
- Resultado
- Text1.Text s
- Text2.Text i
DOLoop While
14DOLoop Until
- Variables
- Dim S as single
- Dim i as integer
- S0 i0
- Proceso
- Do
- s s 1 / (1 i 2)
- i i 1
- Loop Until (s gt 2.0)
- Resultado
- Text1.Text s
- Text2.Text i
15Síntesis
En la iteración indefinida NO se sabe de antemano
cuántas veces se repetirá el rango de iteración.
En la iteración definida SÍ se sabe de antemano
cuántas veces se repetirá el rango de iteración.
16Otro ejemplo de iteración indefinida
Dim N as integer DO N InputBox(N )
T T N LOOP WHILE(N lt 0 Or N gt 10) Text1.text
Sqr(T)
Qué hace este programa?
17Ejemplo con Until
Dim N as integer N0 DO N InputBox(N
) LOOP Until(N gt 0 and N lt 10) Text1.text
Sqr(N)
18Estructura indefinida DoLoop
- Un Loop (bucle) repite la ejecución de un
conjunto de instrucciones mientras una condición
dada es verdadera, o hasta que una condición dada
sea verdadera. - Do WhileLoop ? mientras
- Do UntilLoop ? hasta
19Estructura Do con condición al inicio
- Do Until (Expresión Lógica)
-
-
- Loop
Estas dos formas de iteración indefinida
verifican la expresión lógica al inicio del
proceso
Do While (Expresión Lógica) Loop
20Estructura Do con condición al final
- Do
-
-
- Loop Until (Expresión Lógica)
Estas dos formas de iteración indefinida
verifican la expresión lógica al final del proceso
Do Loop While (Expresión Lógica)
21Iteración Repetición
Beber el agua
22Un Algoritmo
Dim s As Single, i As Integer Dim delta As
Single, epsilon as single epsilon 0.0001 Do
delta 1 / (1 i 2) s s delta i
i 1 Loop While (delta gt epsilon) Text1
"Suma" s _ Número de términos sumados i
23Un Proyecto Visual Basic 6.0
24Un Proyecto Visual Basic 6.0/2
25Un Proyecto Visual Basic 6.0/3
Option Explicit Dim s As Single, delta As
Single Dim i As Integer, epsilon As Single
26Un Proyecto Visual Basic 6.0/4
Private Sub Form_Load() Text1 "TABLA DE
RESULTADOS" vbCrLf _ String(50, "_")
vbCrLf "No." vbTab "TÉRMINO" _ vbTab
vbTab "... SUMA ..." vbCrLf _
String(50, "_") vbCrLf End Sub
27Un Proyecto Visual Basic 6.0/5
Private Sub Command1_Click() epsilon 0.0001
Do delta 1 / (1 i 2) s s
delta i i 1 Text1 Text1 i
vbTab Format(delta, "00.0000000000") _
vbTab vbTab Format(s, "00.0000000000")
vbCrLf Loop While (delta gt epsilon) Text1
Text1 String(50, "_") vbCrLf "Suma" s
_ vbCrLf "Número de términos sumados"
i End Sub
28Un Proyecto Visual Basic 6.0/5
Format(delta, "00.0000000000") Format(s,
"00.0000000000")
29Un Proyecto Visual Basic 6.0/6
Private Sub Command2_Click() Dim salir As
Byte salir MsgBox("REALMENTE DESEA SALIR?",
_ 4 32, " S A L I D A ") If (salir 6)
Then End End Sub
30GRACIAS