Anda di halaman 1dari 20

TEMARIO DE LA EXPOSICION

2. Programacin bsica(Continuacin)

2.6 Ciclos condicionales

Funciones vectoriales de una variable real.

2.7 Incremento y decremento

2.8 Captura de cadenas con formato

2.9 Instrucciones aritmticas

2.10 Manipulacin de la pila

2.11 Obtencin de cadena con representacin decimal

Ciclos condicionales

Qu es un ciclo?
Se define como ciclo a la estructura de control que permite la repeticin de un grupo determinado de instrucciones. El cuerpo del ciclo consiste en un conjunto de instrucciones que van a ejecutarse repetidas veces. Cada repeticin del cuerpo del ciclo se llama iteracin.

Iteracin

Cuerpo del ciclo

Qu es un ciclo?
Un ciclo es una secuencia de pasos que se repiten hasta alcanzar un objetivo. Existen dos clases de ciclos: ciclos condicionales y ciclos exactos.

Ciclos

Exactos

Condicionales

Un ciclo condicional es aquel que repite una serie de pasos (instrucciones) mientras no se cumpla una condicin. Ejemplo de ciclo condicional:

Inicio, el robot se alinea a la salida

Iniciar animacin
Haga click para comenzar la animacin

Mientras el robot no llegue a la meta

El robot avanza

Fin, el robot celebra

CICLOS CONDICIONALES EN C++


WHILE Expresan un ciclo condicional ya que su condicin se cumpla o no. Comprueba siempre la condicin antes de entrar al ciclo y repite la ejecucin mientras el resultado de la condicin sea verdadero, al momento de ser falso se termina el ciclo. Si la condicin es falsa la primera vez, nunca se ejecuta(n) la(s) sentencia(s). DO-WHILE repeticin depende de que una

Primero realiza una seria de instrucciones y despus comprueba si la condicin se cumple. La ejecucin se repite mientras el resultado de la condicin sea verdadero, al momento de ser falso se termina el ciclo. Dado que la condicin se revisa al final del ciclo la(s) sentencia(s) se realizan al menos una vez a diferencia del while.

Incremento y decremento
En el lenguaje de programacin C se introducen dos operadores poco comunes que incrementan y decrementan variables:

++ suma 1 a su operando. -- resta 1 a su operando.

Ejemplo: n++

Se pueden utilizar antes o despus del operando, pero si se utiliza antes(++n o --n) incrementa o decrementa el operando antes que su valor se utilice, y si se emplea despus(n++ o n--) incrementa o decrementa n.

Ejemplo 1. Declaradas las variables: int r= 8, s=3;

Se puede escribir la siguiente expresin: r++; s--; Tras su ejecucin el aspecto de la memoria seria:

Ejemplo 2. A partir de las variables: int i = 5, j , k = 5 , m;

Se ejecutan las siguientes instrucciones: j= i++; m= ++k;

Los valores de las variables en memoria sern:

Instrucciones aritmticas
Las instrucciones del lenguaje ensamblador se subdividen por su funcin en 6 grupos:
1. 2. 3. 4. 5. 6. Instrucciones de transferencia de datos Instrucciones aritmticas Instrucciones lgicas Instrucciones de control de flujo Instrucciones de control del procesador Instrucciones de cadenas.

Cabe mencionar que esta clasificacin no es nica y que existen otras formas de clasificar las instrucciones.

Para describir la sintaxis de las instrucciones se usar la notacin mostrada en la tabla siguiente:

Add destino, fuente Suma los contenidos de fuente y destino y guarda el resultado en destino. Sintaxis: add regB, inmB|regB|memB add memB, inmB|regB add regW, inmB|inmW|regW|memW add memW, inmB|inmW|regW La instruccin add modifica las siguientes banderas: sobreflujo O, signo S, cero Z, acarreo auxiliar A, paridad P y acarreo C.

adc destino, fuente Suma los contenidos de fuente, destino y el valor de la bandera de acarreo y guarda el resultado en destino Sintaxis: adc regB, inmB|regB|memB adc memB, inmB|regB adc regW, inmB|inmW|regW|memW adc memW, inmB|inmW|regW La instruccin adc modifica las siguientes banderas: sobreflujo O, signo S, cero Z, acarreo auxiliar A, paridad P y acarreo C. Al sumar valores multibytes o multipalabras, use add para sumar los bytes o palabras menos significativos y despus use la instruccin adc para sumar los bytes o palabras ms significativos y los posibles acarreos generados por las sumas de los bytes o palabras menos significativos.

inc destino Incrementa en uno el contenido de destino. Sintaxis: inc regB|memB inc regW|memW La instruccin inc modifica las siguientes banderas: sobreflujo O, signo S, cero Z, acarreo auxiliar A y paridad P.

DIV fuente
Sintaxis: El divisor puede ser un byte o palabra y es el operando que se le da a la instruccin. Si el divisor es de 8 bits se toma como dividendo el registro de 16 bits AX y si el divisor es de 16 bits se tomara como dividendo el registro par DX:AX, tomando como palabra alta DX y como baja AX. Si el divisor fue un byte el cociente se almacena en el registro AL y el residuo en AH, si fue una palabra el cociente se guarda en AX y el residuo en DX.

IDIV fuente

Propsito: Divisin con signo

Sintaxis Consiste bsicamente en lo mismo que la instruccin DIV, solo que esta ltima realiza la operacin con signo. Para sus resultados utiliza los mismos registros que la instruccin DIV.

MUL fuente

Multiplicacin sin signo

El ensamblador asume que el multiplicando sera del mismo tamao que el del multiplicador, por lo tanto multiplica el valor almacenado en el registro que se le da como operando por el que se encuentre contenido en AH si el multiplicador es de 8 bits o por AX si el multiplicador es de 16 bits. Cuando se realiza una multiplicacin con valores de 8 bits el resultado se almacena en el registro AX y cuando la multiplicacin es con valores de 16 bits el resultado se almacena en el registro par DX:AX.

IMUL fuente

Propsito: Multiplicacin de dos enteros con signo.


Sintaxis: Este comando hace lo mismo que el anterior, solo que si toma en cuenta los signos de las cantidades que se multiplican. Los resultados se guardan en los mismos registros que en la instruccin MUL.

Manipulacin de una pila

Pila o Stack
Segmento especial de memoria que opera en conjuncin con varias instrucciones En los programas de lenguaje ensamblador, la forma ms fcil de crear un stack es usar la directiva STACK. Un stack tiene tres propsitos principales:

-Preservar valores de los registros temporalmente. -Almacenar direcciones al las cuales las rutinas regresaran. -Almacenar variables dinmicas.

Como Opera
Un stack es como una torre de platos en una cocina de un restaurante. El plato de encima de la pila est fcilmente disponible. Pero para tomar los platos de abajo, otros platos de encima primeramente deben ser removidos. Colocar un nuevo plato en la pila es llamado push, Remover un plato de la parte superior de la pila, es llamado pop.

Manipulacin de Stack
El punto principal de la manipulacin del stack es simple: Para cada push en un Programa, debe de haber su correspondiente pop.

Considere lo que sucede si se falla en ejecutar un correspondiente pop para cada Push. En ste caso, pushes futuros causarn que el stack crezca ms y ms largo, eventualmente rebasando el espacio segmento permitido para el programa. Este grave error normalmente termina en un crash sobre escribiendo otras reas de memoria por el puntero del stack.

Anda mungkin juga menyukai