domingo, 20 de noviembre de 2016

CICLOS

  
     
Es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho ciclo deje de cumplirse.
Generalmente, un ciclo es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, procesos y deja el código más claro y facilita su modificación en el futuro.

  Instrucciones Repetitivas

Ø  For (Para)
Es una estructura de control en programación en la que se puede indicar de antemano el número mínimo de iteraciones que la instrucción realizará. Está disponible en casi todos los lenguajes de programación imperativos.
Sintaxis:

Para ß x hasta n a incrementos de s hacer
Instrucciones
Fin Para

Elementos

ü  'Variable de control': Prácticamente un mandato impuesto por el uso habitual es utilizar la letra i Iterador como variable de control, o bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al código por su uso tan extensivo.
ü  Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial), sin embargo, otros lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos modos, la práctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del código. En C se define en el primer parámetro del bucle junto con la variable de control.
ü  Condición de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal). En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).
ü  Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). En C es el último parámetro.
ü  Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena práctica.

Ø  For Each (Por Cada)
Este bucle es una evolución del concepto del bucle Para en algunos lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de forma más simple y ágil.

Elementos

ü  Elemento: es el nombre de la variable u objeto que toma el elemento iterado en el cuerpo del bucle.
ü  Tipo de Dato: es el tipo de variable o la clase a la que pertenece el objeto que se quiere iterar.
ü  Conjunto: es la estructura de datos que se quiere iterar. El uso más típico es con vectores o -en programación orientada a objetos- clases del tipo Colección.
ü  Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. Si bien no se impone una obligación al respecto, lo más común es que en este Cuerpo exista alguna operación sobre el elemento iterado.

Ø  While (Mientras)

Es una estructura de la mayoría de los lenguajes de programación estructurados cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera.
La condición ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano sí, verdadero (true) si la condición se cumple, o falso si esta no se cumple (false). También puede contener el nombre de una variable booleana, y el valor de la expresión dependerá de su contenido. Se debe tener en cuenta que además de las variables también puede haber llamadas a funciones que devuelvan un valor.
En algunos lenguajes, se pueden utilizar variables no booleanas en la comparación. Por ejemplo, si la variable vale 0 será como si la condición no se cumpliera, y siempre que sea diferente de 0, se considerará que la condición se cumple.

Sintaxis:

Mientras Condición hacer
Instrucciones
Fin Mientras

Ø  Do (Hacer Mientras)
También llamado ciclo do-while, es una estructura de control de la mayoría de los lenguajes de programación estructurados cuyo propósito es ejecutar un bloque de código y repetir la ejecución mientras se cumpla cierta condición expresada en la cláusula while. La diferencia con el bucle while radica en que este evalúa la condición al principio, y si esta no se cumple, el código que está encerrado dentro del cuerpo no se ejecuta. En cambio, el bucle do-while evalúa la condición para seguir ejecutándose luego de haber ejecutado el código dentro de su cuerpo; es decir, siempre se ejecuta por lo menos una vez el código.

Sintaxis:

Hacer
  Instrucciones
Mientras(Condición)
                              
Ø  Repetir

Comprueba la condición de finalización al final del cuerpo del bucle, y si ésta es cierta continua con el resto del programa, a veces esto resulta más adecuado.
En algunos lenguajes de programación es reemplazado por el bucle While.

Sintaxis:

Repetir
 Instrucciones
Hasta Que (Condición)


  Ejemplos

Ø  For(Para)
Imprimir la tabla de multiplicar del 5

for (int i =0 ; i <= 10; i++) {
 System.out.println(5 + " * " + i + " = " + 5*i );
 }

Ø  For Each 
Recorre en iteración todos los elementos de una colección list.

Dim lst As New List(Of String) _
    From {"abc", "def", "ghi"}
For Each item As String In lst
    Debug.Write(item & " ")
Next
        Debug.WriteLine("")

Ø  While(Mientras)
Genera y muestra los primeros diez números naturales

tarea
{
   el objeto número_natural es una cantidad
   copie 0 en número_natural
   mientras número_natural < 10 haga:
   {
       copie número_natural + 1 en número_natural
       muestre número_natural
   }
           }


Ø  Do
Suma 1 al valor de a (que inicialmente valía 3) mientras este sea menor o igual que b (que vale 5), lo que da como resultado 6 (nótese que, en la última ejecución del bucle, la variable a comienza valiendo 5, por lo que cumple la condición "mientras", y se le suma 1).

tarea
{
   iguale a a 3
   iguale b a 5
   haga
   {
   copie a + 1 en a
   mientras a <= b
   {
   muestre a
   }
            }

Ø  Repetir
Admite un número del 3 al 7, si no pregunta de nuevo

REPEAT
   WriteString(“Escribe el numero”)
   ReadInt(numero);
           UNTIL (numero >= 3) AND (numero <= 7)

      RESUMEN
Es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho ciclo deje de cumplirse.
Generalmente, un ciclo es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, procesos y deja el código más claro y facilita su modificación en el futuro.

    SUMMARY
It is a statement that is made repeatedly to an isolated piece of code, until the condition assigned to that cycle stops being fulfilled.
Generally, a cycle is used to do a repeated action without having to write several times the same code, which saves time, processes and leaves the code clearer and facilitates its modification in the future.

    RECOMENDACIONES
     Si deseamos realizar iteraciones debemos tener un conocimiento sobre este tema de lenguaje ensamblador.

       Tenemos que tener en cuenta, que   Tienen que  realizarse todas las iteraciones establecidas dentro del ciclo, para salir del bucle.

    CONCLUSIONES
 Después de ver el tema de ciclos podemos percatarnos que sirven para evitar la molestia de andar repitiendo acciones varias veces.

 Los ciclos son de mucha ayuda ya que permite disminución de tiempo en el desarrollo del programa.

    GLOSARIO DE TÉRMINOS

  Bucle: En programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
     Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, procesos y deja el código más claro y facilita su modificación en el futuro


     LINKOGRAFÍA


                                                            SLIDESHARE


SALTO CONDICIONAL

                       

 DEFINICIÓN:

Es un punto de un programa informático donde el flujo del programa se ve alterado. Los términos de salto suelen utilizarse para referirse a programas escritos en lenguaje ensamblador; en los lenguajes de alto nivel, los saltos normalmente toman la forma de sentencias condicionales, llamadas a subrutinas o sentencias GOTO. Una instrucción que causa un salto (llamada evidentemente instrucción de salto), puede ser efectiva o no efectiva: si el salto no es efectivo, el flujo de programa no cambia y la siguiente instrucción en ser ejecutada es la inmediatamente posterior en el código; si resulta efectivo, la siguiente instrucción ejecutada será aquella marcada como destino del salto. Principalmente hay dos formas de instrucción de salto: el salto condicional que puede ser efectivo o no según una determinada condición, como por ejemplo el contenido de algún registro de la CPU; y el salto incondicional que siempre se realiza. 

      INSTRUCCIONES DE SALTO:

Hay más de 30 instrucciones de salto, vamos a nombrar las más usadas:

INSTRUCCIÓN
DESCRIPCIÓN
jmp etiqueta
Salto incondicional directo
je etiqueta
Salto por igual
jne etiqueta
Salto por no igual
jg etiqueta
Salto por mayor
jng etiqueta
Salto por no mayor
jge etiqueta
Salto por mayor igual
jnge etiqueta
Salto por no mayor igual
jl etiqueta
Salto por menor
jnl etiqueta
Salto por no menor
jle etiqueta
Salto por menor igual
jnle etiqueta
Salto por no menor igual
js etiqueta
Salto negativo

      EJEMPLO:

Ø   Permite determinar si un numero ingresado por teclado es Cero, Positivo o Negativo:

; INICIO:
.model small
.stack 64
.data

; DECLARACIÓN DE VARIABLES:

num db 0

; DEFINIR MENSAJES:
msg1 db 10,13, “Ingrese un numero ::”, ‘S’
msg2 db 10,13, “<<El numero es cero>>”, ‘S’
msg3 db 10,13, “<<El numero es positivo>>”, ‘S’
msg4 db 10,13, “<<El numero es negativo>>”, ‘S’


; INICIALIZAR EL PROGRAMA:

.code
begin prod far
mov ax,@data
mov ds,ax


; INGRESO DE DATOS:

mov ah,09
lea dx,msg1
int 21h
mov ah,01
int 21h
sub al.30h
mov num,al


; CALCULOS:

cmp al,0
je CERO
jp POSITIVO
jl NEGATIVO

; CONDICIONES:

CERO:
mov ah,09
lea dx,msg2
int 21h
jmp SALIR

POSITIVO:
mov ah,09
lea dx,msg3
int 21h
jmp SALIR

NEGATIVO:
mov ah,09
lea dx,msg4
int 21h
jmp SALIR

;SALIR:

mov ah,07
int 21h
mov ax,4ch
int 21h

begin endp
end

     RESUMEN:
Es un punto de un programa informático donde el flujo del programa se ve alterado. Los términos de salto suelen utilizarse para referirse a programas escritos en lenguaje ensamblador; en los lenguajes de alto nivel, los saltos normalmente toman la forma de sentencias condicionales, llamadas a subrutinas o sentencias GOTO.

   SUMMARY:
     It is a point of a computer program where the flow of the program is altered. Jump terms are often used to refer to programs written in assembly language; In high-level languages, jumps usually take the form of conditional statements, called subroutines or GOTO statements.

      RECOMENDACIONES:
      Se necesita tener conocimiento sobre el tema para saber la dirección y objetivo de salto.
      Se puede decir que una dirección real solo se conoce después de ejecutar la instrucción.

    CONCLUSIONES:
     Si bien podemos percatarnos los Saltos Condicionales son similares a JMP en la sintaxis, la diferencia es el nombre.

   APRECIACIÓN DEL EQUIPO:
    esto nos es de gran ayuda ya que teniendo un buen conocimiento sobre este tema nos permitirá una facilidad para la realización de nuestro trabajo y estudio de una investigación.

   LINKOGRAFÍA:

      http://learnassembler.com/salto.html


                                                           SLIDESHARE 

             http://www.slideshare.net/RAFAELHONORESVERA/salto-condicional-69321913