miércoles, 24 de mayo de 2017

RED

DEFINICIÓN

Es un conjunto de equipos informáticos y software conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricos, ondas electromagnéticas o cualquier otro medio para el transporte de datos, con la finalidad de compartir información, recursos y ofrecer servicios.

Es la de un sistema de comunicaciones que permite comunicarse con otros usuarios y compartir archivos y periféricos. Es decir es un sistema de comunicaciones que conecta a varias unidades y que les permite intercambiar información.

La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el coste general de estas acciones. 

Un ejemplo es Internet, la cual es una gran red de millones de computadoras ubicadas en distintos puntos del planeta interconectadas básicamente para compartir información y recursos.

CARACTERÍSTICAS

Las redes de computadoras nos permiten interactuar entre 2 o más dispositivos entre sí a través de un medio físico que se conoce como “cable” o también puede ser por medios inalámbricos.

Principalmente usados para la compartición de recursos.
  • Compartición de archivos: Fue la razón principal para tener una red. Para que se cumpla se requiere de un directorio compartido que pueda ser accesado por muchos usuarios de la red, junto a toda la lógica asociada para que más de una persona no realice cambios conflictivos a un archivo al mismo tiempo.
  • Compartición de impresoras: Con esto reducimos el número de impresoras en la organización. Se hace necesario el uso de colas de impresión para que las impresiones se lleven a cabo y de forma automática enviar los trabajos en espera en dicha cola.
  • Servicios de aplicación: Así como se pueden compartir archivos o carpetas en una red, se pueden compartir aplicaciones, las más comunes son aplicativos de contabilidad. Si se requiere por ejemplo de instalar algún programa en diversas computadoras de la red, en lugar de ir colocando el CD-ROM en cada una, se puede tener una carpeta con el contenido del mismo y ejecutar el instalador desde cada equipo. 
  • Correo electrónico: Es un recurso bastante valioso y que incluso muchas organizaciones no lo aprovechan al máximo. No solamente es útil para las comunicaciones internas sino también para las externas. 
  • Acceso remoto: Se usa principalmente para acceder desde el exterior a los recursos de la red interna. Los usuarios la utilizan para ver sus archivos, correo electrónico ya sea que se encuentren de viaje, desde su hogar, etc. 
  • Compartir recursos: En los sistemas dedicados como Netware, los dispositivos compartidos, como los discos fijos y las impresoras, están ligados al servidor de archivos, o en todo caso, a un servidor especial de impresión. 
  • SFT(Sistema de tolerancia a fallas): Permite que exista un cierto grado de supervivencia de la red, aunque fallen algunos de los componentes del servidor. Así si contamos con un segundo disco fijo, todos los datos del primer disco se guardan también en el de reserva, pudiendo usarse el segundo si falla el primero. 
  • Sistema de Control de Transacciones: Es un método de protección de las bases de datos frente a la falta de integridad. Así si una operación falla cuando se escribe en una base de datos, el sistema deshace la transacción y la base de datos vuelve a su estado correcto original. 
  • Seguridad: El administrador de la red es la persona encargada de asignar los derechos de acceso adecuados a la red y las claves de acceso a los usuarios. El sistema operativo con servidor dedicado de Novell es uno de los sistemas más seguros disponibles en el mercado.
  • Conectividad entre Redes: Permite que una red se conecta a otra. La conexión habrá de ser transparente para el usuario. 
  • Comunicaciones entre usuarios: Los usuarios pueden comunicarse entre sí fácilmente y enviarse archivos a través de la red. 
BENEFICIOS
  • Compartir archivos y recursos informáticos como almacenamiento, impresoras, etc. 
  • Compartir Internet. 
  • Comunicación de todo tipo entre las computadoras. 
  • Es muy barato crear una red de computadoras en un mismo edificio, especialmente con el uso de WI-FI (inalámbrico). 
  • La posibilidad de compartir recursos de hardware como impresoras, discos duros, etc. 
  • El intercambio de archivos entre las computadoras. 
  • Otro tipo de intercambio de información entre computadoras
COMPONENTES DE UNA RED

A.- Software

Sistema operativo de red: Permite la interconexión de ordenadores para acceder a los servicios y recursos. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. En muchos casos el sistema operativo de red es parte del sistema operativo de los servidores y de los clientes.

Software de aplicación: En última instancia, todos los elementos se utilizan para que el usuario de cada estación, pueda utilizar sus programas y archivos específicos. Este software puede ser tan amplio como se necesite ya que puede incluir procesadores de texto, paquetes integrados, sistemas administrativos de contabilidad y áreas afines, sistemas especializados, correos electrónicos, etc. 

B.- Hardware

Para lograr el enlace entre los ordenadores y los medios de transmisión (cables de red o medios físicos para redes alámbricas e infrarrojos o radiofrecuencias para redes inalámbricas), es necesaria la intervención de una tarjeta de red, o NIC (Network Card Interface), con la cual se puedan enviar y recibir paquetes de datos desde y hacia otras ordenadores, empleando un protocolo para su comunicación y convirtiendo a esos datos a un formato que pueda ser transmitido por el medio (bits, ceros y unos).

Cabe señalar que a cada tarjeta de red le es asignado un identificador único por su fabricante, conocido como dirección MAC (Media Access Control), que consta de 48 bits (6 bytes). Dicho identificador permite direccionar el tráfico de datos de la red del emisor al receptor adecuado.

El trabajo del adaptador de red es el de convertir las señales eléctricas que viajan por el cable (Ejemplo: red Ethernet) o las ondas de radio (Ejemplo: red Wi-Fi) en una señal que pueda interpretar el ordenador.

C.- Dispositivos de Usuario Final

Servidores: Son los equipos que ponen a disposición de los clientes los distintos servicios. En la siguiente lista hay algunos tipos comunes de servidores y sus propósitos:
  • Servidor de archivos
  • Servidor de impresión
  • Servidor de correo
  • Servidor proxy
  • Servidor web
  • Servidor de aplicaciones
  • Servidor de base de datos
  • Servidor de reserva
  • Servidor de autentificación
  • Servidor de streaming
  • Servidor de telefonía
  • Servidor de fax
  • Servidor de acceso remoto
  • Servidores para los servicios de red
  • Servidores de monitorización y gestión
Almacenamiento en red: En las redes medianas y grandes el almacenamiento de datos principal no
se produce en los propios servidores sino que se utilizan dispositivos externos, conocidos como disk arrays (matrices de discos) interconectados, normalmente por redes tipo SAN o NAS (Network-Attached Storage). Estos medios permiten centralizar la información, una mejor gestión del espacio, sistemas redundantes y de alta disponibilidad.

Los medios de copia de seguridad suelen incluirse en la misma red donde se alojan los medios de almacenamiento mencionados más arriba, de esta forma el traslado de datos entre ambos, tanto al hacer la copia como las posibles restauraciones, se producen dentro de esta red sin afectar al tráfico de los clientes con los servidores o entre ellos.

Ordenadores personales: Son los puestos de trabajo habituales de las redes. Dentro de la categoría de ordenadores, y más concretamente ordenadores personales, se engloban todos los que se utilizan para distintas funciones, según el trabajo que realizan. Se incluyen desde las potentes estaciones de trabajo para la edición de vídeo, por ejemplo, hasta los ligeros equipos portátiles, conocidos como netbooks, cuya función principal es la de navegar por Internet. Las tabletas se popularizaron al final de la primera década del siglo XXI, especialmente por el éxito del iPad de Apple.

Terminal: Muchas redes utilizan este tipo de equipo en lugar de puestos de trabajo para la entrada de datos. En estos sólo se exhiben datos o se introducen. Este tipo de terminales, trabajan unido a un servidor, que es quien realmente procesa los datos y envía pantallas de datos a los terminales.

Electrónica del hogar: Las tarjetas de red empezaron a integrarse, de forma habitual, desde la primera década del siglo XXI, en muchos elementos habituales de los hogares: televisores, equipos multimedia, proyectores, videoconsolas, teléfonos celulares, libros electrónicos, etc. e incluso en electrodomésticos, como frigoríficos, convirtiéndolos en partes de las redes junto a los tradicionales ordenadores.

Impresoras: Muchos de estos dispositivos son capaces de actuar como parte de una red de ordenadores sin ningún otro elemento, tal como un print server, actuando como intermediario entre la impresora y el dispositivo que está solicitando un trabajo de impresión de ser terminado. Los medios de conectividad de estos dispositivos pueden ser alámbricos o inalámbricos, dentro de este último puede ser mediante: ethernet, Wi-Fi, infrarrojo o bluetooth. En algunos casos se integran dentro de la impresora y en otros por medio de convertidores externos.

Otros elementos: Escáneres, lectores de CD-ROM.

D.- Dispositivos de red

Los equipos informáticos descritos necesitan de una determinada tecnología que forme la red en cuestión. Según las necesidades se deben seleccionar los elementos adecuados para poder completar el sistema. 

Por ejemplo, si queremos unir los equipos de una oficina entre ellos debemos conectarlos por medio de un conmutador o un concentrador, si además hay un varios portátiles con tarjetas de red Wi-Fi debemos conectar un punto de acceso inalámbrico para que recoja sus señales y pueda enviarles las que les correspondan, a su vez el punto de acceso estará conectado al conmutador por un cable. Si todos ellos deben disponer de acceso a Internet, se interconectarán por medio de un router, que podría ser ADSL, ethernet sobre fibra óptica, broadband, etc.

Los elementos de la electrónica de red más habituales son:
  • Conmutador de red o switch
  • Enrutador o router
  • Puente de red o bridge
  • Puente de red y enrutador o brouter
  • Punto de acceso inalámbrico o  WAP(Wireless Access Point)

E.- Protocolos de redes

Existen diversos protocolos, estándares y modelos que determinan el funcionamiento general de las redes. Destacan el modelo OSI y el TCP/IP. Cada modelo estructura el funcionamiento de una red de manera distinta. 

El modelo OSI cuenta con siete capas muy definidas y con funciones diferenciadas y el TCP/IP con cuatro capas diferenciadas pero que combinan las funciones existentes en las siete capas del modelo OSI. 

Los protocolos están repartidos por las diferentes capas pero no están definidos como parte del modelo en sí sino como entidades diferentes de normativas internacionales, de modo que el modelo OSI no puede ser considerado una arquitectura de red.

Modelo OSI (Open Systems Interconnection): Fue creado por la ISO y se encarga de la conexión entre sistemas abiertos, esto es, sistemas abiertos a la comunicación con otros sistemas. Los principios en los que basó su creación eran: una mayor definición de las funciones de cada capa, evitar agrupar funciones diferentes en la misma capa y una mayor simplificación en el funcionamiento del modelo en general.

Este modelo divide las funciones de red en siete capas diferenciadas:

CapasUnidad de intercambio
7.Capa de aplicaciónAPDU
6.Capa de presentaciónPPDU
5.Capa de sesiónSPDU
4.Capa de transporteTPDU
3.Capa de redPaquete de red
2.Capa de enlace de datosTrama de red (Marco / Trama)
1.Capa físicaBit

Modelo TCP/IP: Fue utilizado primeramente en ARPANET y es utilizado actualmente a nivel global en Internet y redes locales. Su nombre deriva de la unión de los nombres de los dos principales protocolos que lo conforman: TCP en la capa de transporte e IP en la capa de red. Se compone de cuatro capas:

CapasUnidad de intercambio
4.Capa de aplicaciónno definido
3.Capa de transportePaquete de red
2.Capa de red (red / interred)no definido (Datagrama)
1.Capa de enlace de datos (enlace / nodo a red)??
Otros estándares: Existen otros estándares, más concretos, que definen el modo de funcionamiento de diversas tecnologías de transmisión de datos. La siguiente lista no es completa, sólo muestra algunos ejemplos:
TecnologíaEstándarAño de primera publicaciónOtros detalles
EthernetIEEE 802.31983-
Token RingIEEE 802.51970-
WLANIEEE 802.111997-
BluetoothIEEE 802.152002-
FDDIISO 9314-x1987Reúne un conjunto de estándares.
PPPRFC 16611994-
RESUMEN

Una red, es básicamente un conjunto de equipos conectados entre sí, que envían y reciben impulsos eléctricos, ondas electromagnéticas o similares con el fin de transportar datos.

La utilidad de la Red es compartir información y recursos a distancia, procurar que dicha información sea segura, esté siempre disponible, y por supuesto, de forma cada vez más rápida y económica.
SUMMARY

A network is basically a set of equipment connected to each other, which sends and receives electrical impulses, electromagnetic waves or the like in order to carry data.

The utility of the Network is to share information and resources at a distance, to ensure that information is secure, always available, and of course, increasingly faster and more economically.
RECOMENDACIONES

Es necesario que el estudiante o practicante, sepa a fondo el tema de las conexiones de redes, debido a que si se realiza una conexión de datos incorrecta a ningún momento se va a poder establecer contacto entre las mismas, causando una pérdida de tiempo, dinero, etc. 

Tanto el emulador como la simulación de la red deben estar bien instalados, configurados, además de digitar bien los comandos, para que se ejecuten correctamente, cumplan las funciones programadas, de esta manera la red rendirá y cumplirá cada paso de la programación correspondiente sin ningún problema.

CONCLUSIONES

Podemos decir que ya tenemos un concepto claro de lo que es una red, es un conjunto de equipos (computadoras y/o dispositivos) conectados por medio de cables, señales, ondas o cualquier otro método de transporte de datos, que comparten información (archivos), recursos (CD-ROM, impresoras, etc.) y servicios (acceso a internet, e-mail, chat, juegos), etc.

APRECIACIÓN PERSONAL

Para este tema "RED" me fue fácil ya que conté con el material adecuado y además me ayudo mucho la Internet, espero que les sea útil y les sirva esta investigación.

GLOSARIO DE TÉRMINOS

PAN: Red de administración personal
CAN: Red de Área Campus
LAN: Redes de área local

LINKOGRAFÍA
  • http://seguridadenlainformacion5.bligoo.com.mx/redes-de-computadores#.WPzVx2k1_IU
  • http://www.monografias.com/trabajos5/redes/redes.shtml
  • http://blog.hbautista.com/linux/caracteristicas-de-las-redes/
  • http://proyectodemantenimientodeequipo.blogspot.pe/p/principios-de-red.html
  • https://es.wikipedia.org/wiki/Red_de_computadoras#Componentes_b.C3.A1sicos_de_las_redes

lunes, 5 de diciembre de 2016

ARREGLOS

DEFINICIÓN

Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos:
  • De una dimensión.
  • De dos dimensiones.
  • De tres o más dimensiones.
Pertenece a los datos estaticos


Los arrays se conocen también como matrices – en matemática – y tablas – en cálculos financieros

CARACTERÍSTICAS

Ordenada: significa que el elemento primero, segundo,.., enésimo de un arreglo puede ser identificado.
Homogénea: Todos los elementos del arreglo deben ser del mismo tipo. Por ejemplo, un arreglo puede tener todos sus elementos de tipo entero, o todos sus elementos de tipo char.
Finito: Ya que tiene un número de elementos limitados.








OPERACIONES

Las operaciones en arreglos pueden clasificarse de la siguiente forma:
  • Lectura: este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes.
  • Escritura: Consiste en asignarle un valor a cada elemento del arreglo.
  • Asignación: No es posible asignar directamente un valor a todo el arreglo.
  • Actualización: Dentro de esta operación se encuentran las operaciones de eliminar, insertar y modificar datos. Para realizar este tipo de operaciones se debe tomar en cuenta si el arreglo está o no ordenado.
  • Ordenación: Esta operación permite organizar los elementos de un arreglo ascendente o descendente, esto se hace con el propósito de acceder rápidamente a los elementos del arreglo.
  • Búsqueda: Permite consultar los elementos de un arreglo de acuerdo a un valor ingresado. Para esto se recorre el arreglo y se va comparando el valor buscado con los elementos del arreglo hasta encontrar o no el valor buscado.

TIPOS

A) Arrays Unidimensionales (vector/fila)

Es un tipo de datos estructurado compuesto de un número determinado de elementos, de tamaño fijo y elementos homogéneos (del mismo tipo).


B) Arrays bidimensionales (tablas/matrices)
 
El array bidimensional se puede considerar como un vector de vectores. Es, por consiguiente, un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subíndices para poder identificar cada elemento del array.

Es un tipo de arreglo que tiene dos índices ( Columnas y Filas).


C) Arrays Multidimensionales

Un array puede ser definido de tres dimensiones, cuatro dimensiones, hasta de n-dimensiones. Los conceptos de rango de subíndices y número de elementos se pueden ampliar directamente desde arrays de una y dos dimensiones a estos arrays de orden más alto. En general, un array de n-dimensiones requiere que los valores de los n subíndices puedan ser especificados a fin de identificar un elemento individual del array. Si cada componente de un array tiene a subíndices, el array se dice que es sólo de n-dimensiones.

Es un arreglo que maneja varios indices por lo tanto varias direcciones.



EJEMPLOS

1) Codifique en un programa que lea un vector de 10 números enteros, y evalué cual es el mayor y el menor dedicho vector.

#include <stdio.h>
#define num 10
void main()
{
int numero[NUM];
int mayor,menor,i;
printf("Programa para determinar el mayor y menor numero de
10 numeros dados\n\n");
for(i=0;i<NUM;i++) //Capturamos y asignamos valores con este
ciclo
{
printf("Ingrese el numero %d:",i+1);
scanf("%d",&numero[i]);
}
mayor=numero[0]; //Asignamos a mayor el primer valor del
arreglo "numero".
menor=numero[0]; //Hacemos lo mismo para la variable menor.
for(i=0;i<NUM;i++)
{
if(numero[i]>mayor)
mayor=numero[i];
if(numero[i]<menor)
menor=numero[i];
}
printf("\n\nEl numero Mayor de los introducidos es %d\n",mayor);
printf("El numero Menor de los introducidos es %d\n\n",menor);
}

2)  INICIO
    .MODEL SMALL
    .STACK 64;16
    .DATA
     ARRAY DB 1,2,3,4,5,6,7,8,9,0
    .CODE
     mov ax,@data ;Inicializar los registros.
     mov ds,ax
     mov cx,10
     Ciclo:
     lea dx,ARRAY ; Coloca el array en el DX para quedar listo para ser impreso en pantalla.
    mov ah,09h ;Servicio del video.
    int 21h ;Interrupcion del D.O.S
    LOOP Ciclo ;Se supone decrementa el CX en 1
    RET
    END

RESUMEN

Arreglos: Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos.

Características:
  • Finita
  • Homogénea
  • Ordenada

Operaciones:
  • Lectura
  • Escritura
  • Asignación
  • Actualización: Insertar, borrar y modificar.
  • Ordenación
  • Búsqueda
Tipos:
  • Unidimensional
  • Bidimensional
  • Multidimensional

SUMMARY

Arrays: An array can be defined as a group or a finite, homogeneous and ordered collection of elements.

Characteristics:

  • Finita
  • Homogeneous
  • Ordered

Operations:

  • Reading
  • Writing
  • Assignment
  • Update: Insert, delete and modify.
  • Ordination
  • Search

Types:

  • One-dimensional
  • Two Dimensional
  • Multidimensional


RECOMENDACIONES

Es necesario seguir una frecuencia gráfica de pasos, o procesos para alcanzar la solución del problema. Se recomienda que la construcción del diagrama esté correcta; al igual que el paso del mismo a un lenguaje de programación. Si está correcto puede resultar relativamente simple para el entendimiento de las personas ajenas a la elaboración del mismo, además permite que el problema se solucione de una manera más eficiente y directa.

Se recomienda la implementación de arreglos cuando se hace referencia a un mismo tema y que necesiten almacenarse en un solo paquete de información.

CONCLUSIONES

En la programación tradicional siempre se manejan dos tipos de arreglos los arreglos tipo listas, vectores o unidimensionales y los arreglos tipo tablas, cuadros, concentrados, matrices o bidimensionales en ambos casos son variables que permiten almacenar un conjunto de datos del mismo tipo a la vez, su diferencia es en la cantidad de columnas que cada uno de estos tipos contiene.
Para concluir en pocas palabras, un arreglo es la mejor solución a la hora de agrupar distintos datos que sean de un mismo tipo, estos datos se almacenan en la memoria y reciben un nombre común para todos.

APRECIACIÓN PERSONAL

Para este tema "ARREGLOS" me fue fácil ya que conté con el material adecuado y además me ayudo mucho la Internet, espero que les sea útil y les sirva esta investigación.

GLOSARIO DE TÉRMINOS

Arreglo: colección finita, homogénea y ordenada.
Para: Denota la finalidad.
Mientras: Va recorrer durante el tiempo.
Inconsistencia: Falta de estabilidad y coherencia en una cosa.

BIBLIOGRÁFICA

http://exa.unne.edu.ar/informatica/programacion1/public_html/archivos/estructuras_arreglos.pdf
http://enriquebarrueto0.tripod.com/algoritmos/cap06.pdf
https://www.ecured.cu/Arreglos_%28Inform%C3%A1tica%29
https://wikipnfi.wikispaces.com/file/view/Arreglo+de+Registro.pdf

Video



viernes, 25 de noviembre de 2016

CICLOS

DEFINICIÓN

Los ciclos repetitivos también son llamados lazos o bucles que permiten repetir una operación o secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces mientras se cumpla una determinada condición.

Son estructuras que están especialmente diseñadas para todas aquellas aplicaciones en las cuales una operación o conjunto de ellas deben repetirse muchas veces.

Fases de un Programa Cíclico:
  1. Entrada de datos e instrucciones previas
  2. Lazo o bucle
  3. Instrucciones finales o resto del proceso
  4. Salida de resultado.
Las estructuras de repetición básicas son:
  • Estructura Desde/Para
  • Estructura Mientras
  • Estructura Hacer
Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue a su fin.

A) Contador: Es un tipo de variable que incrementa o decrementa su valor en un valor constante Cuando decimos incrementa estamos sumando. 

Ejemplo: Veces = Veces + 1 Como se puede observar a la variable veces se le está incrementando un valor constante (1); es decir a su contenido le sumas el valor y se vuelve a guardar en la misma variable.

B) Acumulador: Es una variable que incrementa o decrementa su contenido en cantidades variables. 

Ejemplo: Nomina = Nomina + sueldo

INSTRUCCIONES REPETITIVAS LOOP

La instrucción loop decrementa CX en 1, y transfiere el flujo del programa a la etiqueta dada como operando si CX es diferente a 1

Propósito: Generar un ciclo en el programa considerando el estado de ZF

INSTRUCCIONES REPETITIVAS LOOPE

Esta instrucción decrementa CX en 1. Si CX es diferente a cero y ZF es igual a 1, entonces el flujo del programa se transfiere a la etiqueta indicada como operando.

Propósito: Generar un ciclo en el programa, considerando el estado de ZF

INSTRUCCIONES REPETITIVAS LOOPNE

Esta instrucción decrementa en uno a CX y transfiere el flujo del programa solo si ZF es diferente a 0.

Propósito: Decrementar el operando

INSTRUCCIONES REPETITIVAS DEC

Esta operación resta 1 al operando destino y almacena el nuevo valor en el mismo operando.

Propósito: Incrementar el operando.

INSTRUCCIONES REPETITIVAS INC

La instrucción suma 1 al operando destino y guarda el resultado en el mismo operando destino.

Propósito: Comparar los operandos.

INSTRUCCIONES REPETITIVAS WHILE


Es la estructura básica que permite repetir varias veces una secuencia de operaciones, mientras se cumpla una determina condición.

Repetirá el bucle mientras la condición que contiene se verdadera; esto implica que, de alguna forma las instrucciones que componen la sentencia que ejecuta while tienen que modificar la condición para que en algún momento llegue a ser falsa y el programa pueda continuar por la siguiente sentencia o bien romper el bucle implícitamente con break. De la misma forma se puede volver al principio del bucle con continúe.


Repite el cuerpo del bucle mientras la condición determinada sea verdadera.

#include <iostream.h>
int main()
{
int counter = 0;
while(true)
{
counter ++;
if(counter > 10)
break;
}
cout << "Counter: " << counter << "\n";
return 0;

}

INSTRUCCIONES REPETITIVAS DO WHILE

Permite repetir una sentencia un número indeterminado de veces dependiendo de una condición, de forma parecida a while. 

Repetirá el bucle mientras la condición sea verdadera: al igual que while se tiene que modificar la condición para que en algún momento llegue a ser falsa y el programa pueda continuar por la sentencia siguiente a do while.

A diferencia de while, do while garantiza que al menos se ejecutará una iteracción.



La estructura repetir cumple la misma función que la estructura mientras. La diferencia está en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello la estructura repetir se ejecuta por lo menos una vez.

#include <iostream.h>
int main()
{
int counter;
cout << "How many hellos? ";
cin >> counter;
do
{
cout << "Hello\n";
counter--;
}  
        while(counter > 0);
                cout << "Counter is: " << counter << endl;
return 0;

}

INSTRUCCIONES REPETITIVAS FOR

Se utiliza cuando se puede determinar el número de veces que hay que ejecutar las instrucciones.


Este ejecuta las acciones del cuerpo o bucle un número especificado de veces y de modo automático.

#include <iostream.h>
int main()
{
int counter = 0;
while(true)
{
counter ++;
if(counter > 10)
break;
}
cout << "Counter: " << counter << "\n";
return 0;

}

INSTRUCCIONES REPETITIVAS BREAK Y CONTINUE

Hay dos palabras reservadas que pueden ayudar a mejorar las estructuras repetitivas: break y continue.

Break: Obliga a que el ciclo se rompa aunque la condición lógica no se haya cumplido.

Continue: Obliga a que un ciclo vuelva a iterarse. Es preferible que se trate de evitar el uso de break a menos que sea absolutamente necesario, ya que puede causar conflictos y es difícil de debuggear.

#include <iostream.h>
int main()
{
unsigned short small;
unsigned long  large;
unsigned long  skip;
unsigned long target;
const unsigned short MAXSMALL=65535;
cout << "Enter a small number: ";
cin >> small;
cout << "Enter a large number: ";
cin >> large;
cout << "Enter a skip number: ";
cin >> skip;
cout << "Enter a target number: ";
cin >> target;
cout << "\n";
// set up 3 stop conditions for the loop
while(small < large && large > 0 && small < MAXSMALL)
        {
small++;
if (small % skip == 0)  // skip the decrement?
{
cout << "skipping on " << small << endl;
continue;
}
if (large == target)    // exact match for the target?
{
cout << "Target reached!";
break;
}
large-=2;
}                   // end of while loop
cout << "\nSmall: " << small << " Large: " << large << endl;
return 0;

}

EJEMPLO

Sumar la edad de 15 personas
  • Pseudocódigo
suma=0
k=0
Mientras (k<10) hacer
Leer: Edad
suma=suma+edad
k=k+1
Fin Mientras
Escribir: suma
  • Assembler
;INICIO
.model small
.stack 64
.data

;DECLARACION DE VARIABLES
edad db 0
k db 0
suma dd 0

;DEFINIR MENSAJES
msg1 db 10,30 “Ingrese la Edad ::”, ’$’
msg2 db 10,30 “La suma de edades es::,’$’

;INICIALIZAR EL PROGRAMA
.code
begin proc far
mov ax;@data
mov ds, ax

;PROCESO REPETITIVO
mov k,0
CICLO:
cmp k,15
jae FINCICLO

mov ah,09
lea dx,msg1
int 21h
mov ah,01
int 21h
sub al,30h
mov edad,al
add suma,al
inc k
jmp CICLO
FINCICLO

;MOSTRAR SUMA DE EDADES
mov ah,09
lea dx,msg2
int 21h
mov dl, suma
add dl,30h
mov ah,02
int 21h

;FINALIZAR PROGRAMA
mov ah,4ch
int 21h
begin endp
end

RESUMEN

Un ciclo de CPU es un pulso electromagnético que genera el oscilador de cuarzo presente en todo procesador o microprocesador de computadora. La velocidad de funcionamiento del microprocesador viene determinada por el ritmo de los impulsos de su reloj. Este reloj u oscilador es un circuito electrónico encargado de emitir a un ritmo constante impulsos eléctricos. El funcionamiento de este reloj es comparable con un metrónomo con su péndulo que oscila de izquierda a derecha. El intervalo de tiempo que el péndulo tarda en recorrer esa distancia y regresar a su punto inicial se denomina ciclo.

SUMMARY

A CPU cycle is an electromagnetic pulse that generates the quartz oscillator present in every processor or computer microprocessor. The speed of operation of the microprocessor is determined by the rhythm of the impulses of your watch. This clock or oscillator is an electronic circuit in charge of emitting at a constant rate electrical impulses. The operation of this watch is comparable with a metronome with its pendulum swinging from left to right. The interval of time the pendulum takes to travel that distance and return to its initial point is called the cycle.

RECOMENDACIONES

Para desarrollar un algoritmo se debe tener en cuenta lo siguiente:
  • Identificar cada una de las estructuras cíclicas.
  • Clasificar las diferentes estructuras repetitivas, para ello elegir que estructura es la adecuada.
  • Reconocer las estructuras cuantitativas y acumulativas empleadas al momento de realizar un algoritmo.

CONCLUSIONES

Este tipo de estructuras son parte integral de cualquier lenguaje de programación, ya que se utiliza cuando se quiere que un mismo conjunto de instrucciones se ejecuten un cierto número de veces. Son útiles cuando se quiere hacer la misma operación una y otra vez durante un tiempo determinado, o hasta que alguna condición cambie.

Lo interesante de las estructuras repetitivas es que son eficientes, ya que al reducir tareas complejas a algo tan sencillo como esto, no solo se ahorra código, sino también facilita la solución al problema.

APRECIACIÓN PERSONAL

Para este tema "CICLOS" me fue fácil ya que conté con el material adecuado y además me ayudo mucho la Internet, espero que les sea útil y les sirva esta investigación.

GLOSARIO DE TÉRMINOS

LOOP: Lazo
WHILE: Mientras
DO WHILE: Hacer - Mientras
FOR: Para
ALGORITMO: Conjunto ordenado de operaciones sistemáticas que permite hacer un cálculo y hallar la solución de un tipo de problemas.

BIBLIOGRÁFICA
  • http://maxonlineblog.blogspot.pe/2009/08/estructuras-repetitivas-e-iterativas.html
  • http://fundaprograprimsem.blogspot.pe/2013/06/ciclos-repetitivos.html
  • http://www.pixelesybytes.com/2015/07/bucles-ciclos-do-while.html
  • http://michelletorres.mx/estructuras-repetitivas/
  • http://moisesrbb.tripod.com/unidad5.htm#u521
Vídeo relacionado al tema


Descargar el documento en PDF

Diapositiva "Ciclos"

jueves, 10 de noviembre de 2016

SALTO CONDICIONAL

DEFINICIÓN

Los saltos condicionales permiten pasar de una etapa a otra sin ser éstas consecutivas, sin activar las etapas intermedias. Estos saltos pueden darse en sentido evolución del Grafcet como en sentido inverso a la evolución del Grafcet.

Para explicar con ecuaciones estos saltos condicionales utilizaremos el siguiente ejemplo:


En este ejemplo partimos de la etapa E1 y para activar justo a continuación la etapa E7, activaremos la condición de transición Fx y mantendremos desactivado la condición de transición F1.

Las ecuaciones que obtenemos con este ejemplo son las siguientes:

INSTRUCCIONES DE SALTO

Una instrucción de salto produce un cambio en la ejecución del programa pasando a una nueva posición, no secuencial. La dirección del salto se representa con una etiqueta.

CMP: Esta instrucción es considerada como una instrucción Aritmética, ya que sustrae el operando fuente del operando destino, solo que el resultado no se almacena en el operando destino, el resultado se utiliza solo para activar las banderas.

Comparaciones de números sin signo:
  • JA o JNBE: Salta si está por arriba de, o lo mismo si no está por debajo o igual de.
  • JAE o JNB: Salta si está por arriba o es igual, o lo mismo si no está por debajo de. (CF=0).
  • JB o JNAE: Salta si está por debajo de, o salta si no está por arriba ni es igual. (CF=1).
  • JBE o JNA: Salta si está por debajo de o es igual, o salta si no está por arriba de. (CF=1 or ZF=1).
Comparaciones para enteros con signo:
  • JG o JNLE: Salta si es mayor, lo mismo, salta si no es menor ni igual. (ZF=0 or OF=SF).
  • JGE o JNL: Salta si es mayor o igual, lo mismo, salta si no es menor. (SF=OF).
  • JL o JNGE: Salta si es menor, lo mismo, salta si no es mayor ni igual. (SF<>OF).
  • JLE o JNG: Salta si es menor o igual, lo mismo, salta si no es mayor. (ZF=1 or SF<>OF).
Verificando el estado de las banderas:
  • JC: Salta si la bandera del carry es 1 (CF=1).
  • JNC: Salta si la bandera del carry es 0 (CF=0).
  • JO: Salta si la bandera del overflow es 1 (OF=1).
  • JNO: Salta si la bandera del overflow es 0 (OF=0).
  • JNP o JPO: Salta si no hay paridad (PF=0). Esto significa paridad par.
  • JP o JPE Salta si hay paridad (PF=1). Esto significa paridad impar.
  • JS: Salta si la bandera del signo es 1 (SF=1).
  • JCXZ: Salta si el contenido de CX es 0.
Hay más de 30 instrucciones de salto, vamos a nombrar las más usadas:

InstrucciónDescripción
jmp etiquetaSalto incondicional directo
je etiquetaSalto por igual
jne etiquetaSalto por no igual
jg etiquetaSalto por mayor
jng etiquetaSalto por no mayor
jge etiquetaSalto por mayor igual
jnge etiquetaSalto por no mayor igual
jl etiquetaSalto por menor
jnl etiquetaSalto por no menor
jle etiquetaSalto por menor igual
jnle etiquetaSalto por no menor igual
js etiquetaSalto negativo

EJEMPLOS

Programa que calcula la expresión x=(a+(b-c))/(c*d) dados los valores a=4, b=5, c=2, d=7 declarados en la sección de datos.

# Programa que calcula x=(a+(b-c))/(c*d)
.section .data
a:.long 4
b:.long 5
c:.long 2
d:.long 7
x:.long 0
.section .text
.globl _start
_start:
movl b, %eax# %eax=b
subl c, %eax# %eax=b-c
addl a, %eax# %eax=(b-c)+a
movl c, %ecx# %ecx=c
imull d, %ecx# %ecx=c*d
cltd# %edx=0
idivl %ecx# %eax=((b-c)+a)/(c*d) %edx=resto
movl %eax, x# guarda el resultado en x
movl $1, %eax# fin del programa
movl $0, %ebx
int $0x80

Programa que dados tres valores enteros declarados en la sección de datos, determina el mayor y lo guarda en una variable denominada mayor.

# Programa que revisa tres numeros y escoge el mayor
.section .data
a:.long 4
b:.long 2
c:.long 3
mayor:.long 0
.section .text
.globl _start
_start:
movl a, %eax
movl b, %ebx
movl c, %ecx
cmpl %ebx, %eax# compara a con b
jg amayorb# si a>b salta a amayorb
cmpl %ecx, %ebx# compara b con c
jl bmenorc# si b<c salta a mnenorc
movl %ebx, mayor# cuando b es el mayor
jmp fin# salta a fin
bmenorc:movl %ecx, mayor# cuando c es el mayor
jmp fin# salta a fin
amayorb:cmpl %ecx, %eax# compara a con c
jl amenorc# si a<c salta a amenorc
movl %eax,mayor# cuando a es el mayor
jmp fin# salta a fin
amenorc:movl %ecx, mayor# cuando c es el mayor
fin:movl $1, %eax# fin del programa
movl $0, %ebx
int $0x80

RESUMEN

Las instrucciones de salto condicional hacen que el control de flujo del programa salte a la instrucción cuya dirección está especificada por su operando si se cumple una condición dada. La direccion de saltos se reperesenta con una etiqueta:

Las instrucciones de salto se clasifican en tres grupos: 
  • Saltos si la condición es una comparación no signada
  • Saltos si la condición es una comparación signada
  • Saltos si la condición es un estado de una bandera o el registro CX.

SUMMARY

The conditional jump instructions cause the program flow control to skip to the instruction whose address is specified by its operand if a given condition is met. The direction of jumps is reflected with a label:

The jump instructions are classified into three groups:
  • Jumps if the condition is an unnamed comparison
  • Jumps if the condition is a signed comparison
  • Jumps if the condition is a state of a flag or the CX record.
RECOMENDACIONES
  • Se necesita predecir dirección y objetivo de salto. 
  • La dirección real solo se conoce después de ejecutar la instrucción. 
  • Una predicción incorrecta origina un vaciado total del cauce.
CONCLUSIONES

  • Los saltos condicionales son similares a JMP, en la sintaxis pero la diferencia es en el nombre.
  • Los saltos condicionales permiten pasar de una etapa a otra sin ser éstas consecutivas, sin activar las etapas intermedias. Estos saltos pueden darse en sentido evolución del Grafcet como en sentido inverso a la evolución del Grafcet.
  • Las instrucciones son las siguientes JE o JZ. 
  • El objetivo es saltar si la última comparación realizada da igual. 
APRECIACIÓN PERSONAL

Para este tema "SALTO CONDICIONAL" me fue fácil ya que conté con el material adecuado y además me ayudo mucho la Internet, espero que les sea útil y les sirva esta investigación.

GLOSARIO DE TÉRMINOS

CMP: Esta instrucción es considerada como una instrucción Aritmética.
GRAFCET: es un diagrama funcional que describe los procesos a automatizar.

BIBLIOGRÁFIA
  • http://www.sc.ehu.es/sbweb/webcentro/automatica/WebCS1/salto_condicional.htm
  • http://learnassembler.com/salto.html
  • http://lenguajeensamblador2013.blogspot.pe/2013/08/guia-nro-4-saltos-condicionales-y-bucles.html
Video relacionado al tema



Descargar el documento en PDF

Diapositiva "Salto Condicional"