Objeto de conocimiento

Páginas: 11 (2511 palabras) Publicado: 24 de enero de 2014
EL BLOQUE WHILE... WEND
Ahora veamos como podemos repetir partes de un programa mientras que cierta condición se cumpla o sea verdadera...

' Ejemplo de WHILE... WEND
' Calcula áreas de 5 círculos

CONST pi = 3.1416

CLS
PRINT TAB(30); "AREA DE 5 CIRCULOS"
PRINT
contador = 0 ' Inicializamos el contador

WHILE contador < 5 'Inicio del ciclo. Contador < 5 porqueempezamos en cero
INPUT "Radio -> ", radio
PRINT "El área es"; pi * radio * radio
PRINT
contador = contador + 1 ' El contador se incrementa en 1
WEND ' Seguir
END

El bloque WHILE (“mientras”)... WEND (“seguir”) nos sirve para que mientras una condición se cumpla (en este caso, mientras contador < 5) repetir una serie de instrucciones,desde donde empieza el WHILE hasta que se encuentre el WEND. En este tipo de ciclos o bucles generalmente el valor de la condición ya ha sido inicializado desde antes de entrar al ciclo (contador = 0) y se incrementa dentro del ciclo (contador = contador + 1). El ciclo se ejecutará mientras la condición sea verdadera, por lo que si desde antes de entrar al bucle la condición ya es falsa, elprograma no ejecutará el ciclo. Veamos...

' Ejemplo de un bucle WHILE...WEND que no se ejecutará

i = 0
CLS
WHILE i = 1 ' Mientras i = 1...pero como i = 0 y no igual a 1...
PRINT "HOLA"
i = i + 1
WEND
PRINT "Fin del programa"
END

 Nota: Si lo ejecutas paso a paso verás mejor la secuencia.

También podemos caer en ciclos infinitos; esto es, ciclos que no tengan fin yterminarán nunca...

' Ejemplo de un bucle WHILE...WEND infinito
i = 1 ' Inicializamos la variable
CLS

WHILE i = 1 ' Mientras i = 1...
PRINT "HOLA, MUNDO..."
WEND '...
PRINT "Fin del programa"
END

 Nota: Para poder salir de un bucle infinito debemos utilizar la combinación deteclas CTRL + Pause o CTRL + Scroll. En Turbo Basic asegúrate de la opción Keyboard Break del menú Options este en ON.

¿Qué podemos observar en el programa anterior? En efecto el programa entrará en el ciclo ya que la condición es verdadera (i = 1), pero i siempre será igual a 1 ya que no hay nada que la modifique dentro del bucle y así poder dar una salida. Este tipo de errores suele ocurrir sipor ejemplo...

' Ejemplo de un bucle WHILE...WEND infinito por error interno
cont = 1 ' Inicializamos la variable

CLS
WHILE cont = 1 ' Mientras cont = 1...
PRINT "HOLA, MUNDO..."
cont = con + 1 ‘ ¿¿ con ??. Si con = 0, entonces cont = 0 + 1 = 1 (:-O)
WEND '...
PRINT "Fin del programa"
END

También no necesariamente tiene que ser un incremento el que nos dé la salida...

' Ejemplo de un bucle WHILE...WEND utilizando un método de salida diferente
salir = 0 ' Inicializamos la variable

CLS
WHILE salir = 0 ' Mientras salir = 0...
PRINT "HOLA, MUNDO..."
INPUT "¿Quieres salir (si =1, no = 0)? ", salir
PRINT
WEND ' seguir.
PRINT "Fin del programa"
END

Si usamos un contador, también podemos incrementarlo como queramos...

' Sacando raíz cuadrada usando WHILE...WEND.

CLS
PRINT TAB(26); "CALCULO DE LA RAIZ CUADRADA"
PRINT
INPUT "Introduce un número positivo -> ", n

WHILE (cont * cont) < n
cont = cont +.0001
WEND

PRINT "La raíz cuadrada de"; n; "es"; cont
END

No necesitamos declarar una variable cont = 0 ya que al crearla automáticamente asume este valor.
Si n llegara a ser negativo, la condición sería falsa (en efecto, 0 por 0 no es menor que un número negativo) y el bucle no se ejecutaría.
Entre más pequeño sea el incremento de cont, n se acercará más a su raíz, ya que cont por cont...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Objeto De Conocimiento
  • Objeto del conocimiento
  • objeto del conocimiento
  • Objetivo del Conocimiento (Ensayo de Teoría del Conocimiento)
  • Problema Del Conocimiento Objetivo Cientifico
  • Construcción Del Objeto De Conocimiento En Kant
  • Objetos del conocimiento de la administración pública
  • De Los Referentes Empíricos A Los Objetos De Conocimiento

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS