Categorías destacadas
programacion php    
Artículo
1
¡votar!

 Bucles en Euphoria

Repasemos los tipos fundamentales de variables Euphoria : atom y integer

Ejemplo
atom vector
integer años

Son dos tipos de variables parecidas pero solo atom puede tener numeros decimales y enteros.
Si vector = 3 o cualquier entero entonces Euphoria lo almacenará en la memoria como entero de 4 bytes, si en cambio vector = 3.0 entonces lo almacena como float de doble precisión de 8 bytes. Eso es fundamental si queremos velocidad en nuestro programa, solo si vamos a usar enteros comprendidos entre (-1073741824, 1073741823) usaremos integer para el resto usar atom.

sequence, pues eso, es una secuencia de datos y por lo tanto podemos almacenar atomos que es lo que realmente se almacena.

Ejemplo:
sequence nombres
nombres = {"Maria","Juan","Carlos"}

cada nombre es en realidad una sequence usted ve esos nombres pero
Euphoria ve esto:
nombres = { {77,97,114,105,97},{74,117,97,110},{67,97,114,108,111,115} }
para Euphoria son todo atom y sequence.

En esta continuación veremos el proceso de un bucle anidado. Además usaremos un nuevo tipo de variable llamada object, que engloba en un mismo conjunto a secuencias y atomos.

Ejemplo división finita

include all_lib.ew
object ans
integer a,b,c,d,e,f, g
a=rand(999999)+999999 puts(1,"Dividendo = ") ?a
-- No modificar estos valores
b=rand(9999)+199999 puts(1,"Divisor   =  ") ?b
-- No modificar estos valores
puts(1,"Numero de decimales ? ") ans=gets(0) ans=value(ans) c=ans[2]
c+=1
puts(1,"nnResultados  :")
puts(1,"nnpor hardware = ") ?a/b
puts(1,"nnpor software = ")
d=0 e=0 f=0 g=0 g=a
while e<c do
while a<b do
a-=b
d+=1
end while
if e<c then puts(1,d+48) e+=1 a*=10 d=0 end if
if f=0 then puts(1,".") f=1 end if
end while
while get_key()=-1 do end while


En este programa usaremos la libreria get.e que viene en la instalación la cual nos ofrece la función gets(0) que espera a que el usuario introduzca un número y devuelve una secuencia la cual es recibida por un object.

include get.e
incluimos la libreria necesitada.

object ans
declaramos un object para la función gets(0)

integer a,b,c,d,e,f,g
definimos varios integer a la vez en vez de integer a integer b

a=rand(999999)
rand(x) es una funcion que devuelve un numero aleatorio entre 1
y 999999 en este proceso aleatorio solo hay numeros enteros.

puts(1," ")
Imprime un caracter o varios dependiendo la longitud de la cadena.

while e<c do
end while
Esta es la manera de crear un bucle infinito mientras e sea menor
que c y se pueden anidar cuantos bucles sean necesarios.

Ejemplo :

integer a, b, c
a=10 
while a>0 do
b=10		
while b>0 do
c=10
while c>0 do
c-=1 decrementamos c
end while
b-=1 decrementamos b	       			
end while
a-=1 decrementamos a
end while


Estos bucles anidados consumen 10*10*10 iteraciones. Otra forma de hacer bucles es el famoso for

Ejemplo :
for contador=1 to 100 do
end for

La ventaja de for es que no tienes que declarar la variable contador su desventaja es que no puedes modificarla es un bucle invariable a diferencia de while que puede ser infinito o no.

Autor:Vicente Exposito
   
Publicado por:
angel carrero
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon