sábado, 23 de noviembre de 2013

Codigo para Sacar potencia en C++ (Visual basic)


#include<stdio.h>
#include<iostream>
#include <conio.h>

int main ()
{
int a,b,potencia=1;
printf("introduce el numero: \n");
scanf("%d", &a);
printf("introduce la potencia: \n");
scanf("%d", &b);
for (int i=1; i<=b;i++)
{
potencia = potencia * a;
}

printf ("la potencia es: %d\n", potencia);
getch();
return 0;
}

Codigo para sacar factorial en C++ (Visual basic)

#include<stdio.h>
#include<iostream>
#include <conio.h>

int main ()
{
int a,i,fact=1;
printf("introduce el numero para obtener su factorial: \n");
scanf("%d", &a);
for (int i=2;i<=a;i++)
{
fact=fact*i;
}
printf("el factorial es: %d \n", fact);
getch();
return 0;
}

Codigo de ecuacion lineal (2) en C++ (Visual basic)

(y2-y1)(x2-x1) x+ (-(y2-y1)*x1/(x2-x1)+y1)


#include<stdio.h>
#include<iostream>
#include<conio.h>

using namespace std;
int main()
{
    double x1,x2,y1,y2;
    cout<<"introduce el numero para x1: \n"<<endl;
cin>> x1;
cout<<"introduce el numero para x2: \n"<<endl;
cin>> x2;
cout<<"introduce el numero para y1: \n"<<endl;
cin>> x1;
cout<<"introduce el numero para y2: \n"<<endl;
cin>> y2;
if (x1==x2)
{
cout<<"no hay una ecuacion lineal \n"<<endl;
}

else
{
cout<<"la ecuacion de la recta y ="<<(y2-y1)/(x2-x1)<<"x+"<<(-(y2-y1)*x1/(x2-x1)+y1)<<endl;
}
getch ();
return 0;
}

Codigo de Sistemas ecuaciones, de 2 y 3 incognitas en C++ (Visual basic)

#include <iostream>
using namespace std;
void main()
{
    int opcion,repetir=1;
    float matriz2x3[2][3],matriz3x4[3][4],x,y,z;
    do
    {
    cout<<"Este programa resuleve sistemas ecuaciones, de 2 y 3 incognitas"<<endl;
    cout<<"Para resolver un sistema de 2 incognitas Presiona 1"<<endl;
    cout<<"Para resolver un sistema de 3 incognitas Presiona 2"<<endl;
    cout<<"Opci\xA2n: ";
    cin>>opcion;
    while(opcion<1||opcion>2)
    {
        cout<<endl<<"Seleccione una opci\xA2n valida"<<endl;
        cout<<"Opci\xA2n: ";
        cin>>opcion;
    }
    system("cls");
    switch(opcion)
    {
        case 1:
            cout<<"Primera Ecuaci\xA2n"<<endl<<endl;
            cout<<"Ingrese el coeficiente de x: ";
            cin>>matriz2x3[0][0];
            cout<<endl;
            cout<<"Ingrese el coeficiente de y: ";
            cin>>matriz2x3[0][1];
            cout<<endl;
            cout<<"Ingrese el valor del termino independiente: ";
            cin>>matriz2x3[0][2];
            cout<<endl;
            cout<<"Segunda Ecuaci\xA2n"<<endl<<endl;
            cout<<"Ingrese el coeficiente de x: ";
            cin>>matriz2x3[1][0];
            cout<<endl;
            cout<<"Ingrese el coeficiente de y: ";
            cin>>matriz2x3[1][1];
            cout<<endl;
            cout<<"Ingrese el valor del termino independiente: ";
            cin>>matriz2x3[1][2];
            cout<<endl;
            //Resolviendo sistema con base en metodo de Gauss-Jordan
            matriz2x3[0][1]=matriz2x3[0][1]/matriz2x3[0][0];
            matriz2x3[0][2]=matriz2x3[0][2]/matriz2x3[0][0];
            matriz2x3[0][0]=matriz2x3[0][0]/matriz2x3[0][0];// Se hace 1
            //----------------------------------------------
            matriz2x3[1][1]=((-matriz2x3[1][0])*matriz2x3[0][1])+matriz2x3[1][1];
            matriz2x3[1][2]=((-matriz2x3[1][0])*matriz2x3[0][2])+matriz2x3[1][2];
            matriz2x3[1][0]=((-matriz2x3[1][0])*matriz2x3[0][0])+matriz2x3[1][0];// Se hace 0
            //-------------------------------------------------------------------
            matriz2x3[1][2]=matriz2x3[1][2]/matriz2x3[1][1];//Solucion variable y
            matriz2x3[1][1]=matriz2x3[1][1]/matriz2x3[1][1];
            //----------------------------------------------
            matriz2x3[0][2]=((-matriz2x3[0][1])*matriz2x3[1][2])+matriz2x3[0][2];//Solucion variable x
            matriz2x3[0][1]=((-matriz2x3[0][1])*matriz2x3[1][1])+matriz2x3[0][1];
            //-------------------------------------------------------------------
            x=matriz2x3[0][2];
            y=matriz2x3[1][2];
            cout<<"Soluci\xA2n: "<<endl;
            cout<<"\tx="<<x<<endl;
            cout<<"\ty="<<y<<endl;
            break;
        case 2:
            cout<<"Primera Ecuaci\xA2n"<<endl<<endl;
            cout<<"Ingrese el coeficiente de x: ";
            cin>>matriz3x4[0][0];
            cout<<endl;
            cout<<"Ingrese el coeficiente de y: ";
            cin>>matriz3x4[0][1];
            cout<<endl;
            cout<<"Ingrese el coeficiente de z: ";
            cin>>matriz3x4[0][2];
            cout<<endl;
            cout<<"Ingrese el valor del termino independiente: ";
            cin>>matriz3x4[0][3];
            cout<<endl;
            cout<<"Segunda Ecuaci\xA2n"<<endl<<endl;
            cout<<"Ingrese el coeficiente de x: ";
            cin>>matriz3x4[1][0];
            cout<<endl;
            cout<<"Ingrese el coeficiente de y: ";
            cin>>matriz3x4[1][1];
            cout<<endl;
            cout<<"Ingrese el coeficiente de z: ";
            cin>>matriz3x4[1][2];
            cout<<endl;
            cout<<"Ingrese el valor del termino independiente: ";
            cin>>matriz3x4[1][3];
            cout<<endl;
            cout<<"Tercera Ecuaci\xA2n"<<endl<<endl;
            cout<<"Ingrese el coeficiente de x: ";
            cin>>matriz3x4[2][0];
            cout<<endl;
            cout<<"Ingrese el coeficiente de y: ";
            cin>>matriz3x4[2][1];
            cout<<endl;
            cout<<"Ingrese el coeficiente de z: ";
            cin>>matriz3x4[2][2];
            cout<<endl;
            cout<<"Ingrese el valor del termino independiente: ";
            cin>>matriz3x4[2][3];
            cout<<endl;
            //Resolviendo sistema con base en metodo de Gauss-Jordan
            matriz3x4[0][1]=matriz3x4[0][1]/matriz3x4[0][0];
            matriz3x4[0][2]=matriz3x4[0][2]/matriz3x4[0][0];
            matriz3x4[0][3]=matriz3x4[0][3]/matriz3x4[0][0];
            matriz3x4[0][0]=matriz3x4[0][0]/matriz3x4[0][0];// Se hace 1
            //----------------------------------------------
            matriz3x4[1][1]=((-matriz3x4[1][0])*matriz3x4[0][1])+matriz3x4[1][1];
            matriz3x4[1][2]=((-matriz3x4[1][0])*matriz3x4[0][2])+matriz3x4[1][2];
            matriz3x4[1][3]=((-matriz3x4[1][0])*matriz3x4[0][3])+matriz3x4[1][3];
            matriz3x4[1][0]=((-matriz3x4[1][0])*matriz3x4[0][0])+matriz3x4[1][0];// Se hace 0
            matriz3x4[2][1]=((-matriz3x4[2][0])*matriz3x4[0][1])+matriz3x4[2][1];
            matriz3x4[2][2]=((-matriz3x4[2][0])*matriz3x4[0][2])+matriz3x4[2][2];
            matriz3x4[2][3]=((-matriz3x4[2][0])*matriz3x4[0][3])+matriz3x4[2][3];
            matriz3x4[2][0]=((-matriz3x4[2][0])*matriz3x4[0][0])+matriz3x4[2][0];// Se hace 0
            //-------------------------------------------------------------------
            matriz3x4[1][2]=matriz3x4[1][2]/matriz3x4[1][1];
            matriz3x4[1][3]=matriz3x4[1][3]/matriz3x4[1][1];
            matriz3x4[1][1]=matriz3x4[1][1]/matriz3x4[1][1];// Se hace 1
            //----------------------------------------------
            matriz3x4[0][2]=((-matriz3x4[0][1])*matriz3x4[1][2])+matriz3x4[0][2];
            matriz3x4[0][3]=((-matriz3x4[0][1])*matriz3x4[1][3])+matriz3x4[0][3];
            matriz3x4[0][1]=((-matriz3x4[0][1])*matriz3x4[1][1])+matriz3x4[0][1];// Se hace 0
            matriz3x4[2][2]=((-matriz3x4[2][1])*matriz3x4[1][2])+matriz3x4[2][2];
            matriz3x4[2][3]=((-matriz3x4[2][1])*matriz3x4[1][3])+matriz3x4[2][3];
            matriz3x4[2][1]=((-matriz3x4[2][1])*matriz3x4[1][1])+matriz3x4[2][1];// Se hace 0
            //-------------------------------------------------------------------
            matriz3x4[2][3]=matriz3x4[2][3]/matriz3x4[2][2];//Solucion variable z
            matriz3x4[2][2]=matriz3x4[2][2]/matriz3x4[2][2];
            //-------------------------------------------------------------------
            matriz3x4[0][3]=((-matriz3x4[0][2])*matriz3x4[2][3])+matriz3x4[0][3];//Solucion variable x
            matriz3x4[0][2]=((-matriz3x4[0][2])*matriz3x4[2][2])+matriz3x4[0][2];
            matriz3x4[1][3]=((-matriz3x4[1][2])*matriz3x4[2][3])+matriz3x4[1][3];//Solucion variable y
            matriz3x4[1][2]=((-matriz3x4[1][2])*matriz3x4[2][2])+matriz3x4[1][2];
            //-------------------------------------------------------------------
            x=matriz3x4[0][3];
            y=matriz3x4[1][3];
            z=matriz3x4[2][3];
            cout<<"Soluci\xA2n: "<<endl;
            cout<<"\tx="<<x<<endl;
            cout<<"\ty="<<y<<endl;
            cout<<"\tz="<<z<<endl;
            break;
    }
    cout<<"Para realizar otro calculo presione 1, para salir presione 0"<<endl;
    cout<<"Opci\xA2n: ";
    cin>>repetir;
    while (repetir<0||repetir>1)
    {
        cout<<endl<<"Ingrese una opci\xA2n valida"<<endl;
        cout<<"Opci\xA2n: ";
        cin>>repetir;
    }
    system("cls");
    }while(repetir==1);
}

Codigo para conversiones en C++: Metros a kilometros Centimetros a milimetros (Visual basic)

//CONVERSIONES
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

float mts, cmts;
int opc;
int main(){
printf("Que desea convertir\n");
printf("1. Metros a kilometros\n2. Centimetros a milimetros\n");
scanf("%d", &opc);
switch (opc){
case 1:
system("CLS");
printf("Escriba la cantidad de metros a convertir\n");
scanf("%f", &mts);
printf("%.f metros equivale a %.2f kilometros", mts, (mts/1000));
break;
case 2:
system("CLS");
printf("Escriba la cantidad de centimetros a convertir\n");
scanf("%f", &cmts);
printf("%.f centimetros equivale a %.2f milimetros", cmts, (cmts*10));
break;
default:
system("CLS");
printf("Opcion invalida");
break;
}
getch();
return 0;
}

Matriz con una direccion en C++ (Visual basic)

 matriz con sus direcciones, con aritmetica de punteros

#include <iostream>
#include <stdio.h>
#include <conio.h>

using namespace std;

int main()
{
    int **pm;
    int rows;
    int cols;

    cout <<"introduce las filas:"<<endl;
    cin>> rows;
    cout<<"introduce las columnas:"<<endl;
    cin>>cols;

    pm = new int * [rows];

    for (int i=0; i<rows; i++)
        {
            pm [i]=new int [cols];
        }
    cout<<"elementos de la matriz con una direccion:"<<endl;
    for (int i=0; i<rows; i++)
        {
            for (int j=0; j<rows; j++)
            {pm[i][j]=i+j;
            cout<<pm[i][j]<<"-->";
            cout<<&pm[i][j]<<endl;
            }
            cout<<endl;
        }
        cout<<endl;
   
        cout<<"elementos de la matriz con sus direcciones, con aritmetica de punteros:"<<endl;
        for (int i=0; i<rows;i++)
        {
            for (int j=0; j<cols;j++){
                //aritmetica de punteros
                    *(*(pm+i)+j)=i+j;
            cout<< *(*(pm+i)+j)<<"-->";
                cout<<&pm[i][j]<<endl;
        }
        cout<<endl;
}
//elimino cada vector de la matriz

for (int i=0; i<rows; i++){

    delete [] pm [i];
}
//elimino el vector principal
delete[]pm;

system ("PAUSE");
return 0;
}

sábado, 29 de junio de 2013

PROTOCOLOS DE ALTO NIVEL

Modelo Cliente - Servidor
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.

Protocolos de control de la capa de aplicacion: SMTP, SNMP, DNS, DHCP

SMTP: Protocolo de la capa de aplicación. Protocolo de red basado en texto, utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA, teléfonos móviles, etc.).
SNMP: Protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento.
DNS: Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para las personas en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente.
DHCP: es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente.

Protocolos de aplicacion para transferencia de archivos: FTP, TFTP, http 

FTP: es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor.
TFTP: Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red. http:
HTTP: es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado

Protocolos de aplicacion de emulacion de terminal: TELNET, terminal virtual
TELNET: es el nombre de un protocolo de red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella.
Terminal virtual:

sábado, 22 de junio de 2013

PROTOCOLOS E INTERFACES DE COMUNICACIÓN DE DATOS

Protocolos e inerfaces de bajo nivel

Interfaces de la capa fisica: RS-232, V.35, X21, RS-449

RS-232: Designa una norma para el intercambio de una serie de datos binarios entre un DTE (Equipo terminal de datos) y un DCE (Data Communication Equipment, Equipo de Comunicación de datos), aunque existen otras en las que también se utiliza la interfaz RS-232.
V.35: Fue especificado por CCITT originalmente como un interfaz para líneas de transmisión de datos a 48 kbps por medio de circuitos de grupo primario de 60 a 108 khz y así interconectar un DTE a un módem síncrono de banda ancha (analógico). Pese a esto, su implementación demostró una correcta operación a frecuencias superiores a 2 Mhz, aunque fue descontinuado por el mismo CCITT en 1988 y reemplazado por las recomendaciones V.10 y V.11.
X21: Se introdujo por primera vez como un medio para proporcionar una interfaz de señalización digital para las telecomunicaciones entre operadores y equipos de los clientes. Esto incluye las especificaciones para DTE / DCE elementos de la interfaz física, la alineación de control de llamada personajes y comprobación de errores , los elementos de la fase de control de llamadas para la conmutación de circuitos , servicios y bucles de prueba.
RS-449: El RS-449 especifica las características mecánicas y funcionales de la interfaz entre Equipo Terminal de Datos (DTE) y Equipo Terminal de Circuito de Datos (DCE). Los componentes estándar para el uso junto con el RS-449 son el RS-422 para señales balanceadas, y el RS-423 para señales no balanceadas, con velocidades de transmisión de datos a 2.000.000 bits por segundo.

Protocolos orientados a Bytes y caracteres: En cualquier sesión de comunicación entre dispositivos, códigos de control son usados para controlar otro dispositivo o proveer información acerca del estatus de la sesión.

Protocolos orientados a Bit: En una transmisión orientada a bit, los datos son transmitidos como constantes ráfagas de bits. Antes de que la transmisión de datos empiece, caracteres especiales de sincronía son transmitidos por el transmisor, así el receptor puede sincronizarse a sí mismo con la ráfaga de bits. Este patrón de bits es comunmente representado en una cadena de 8 bits.

Control de errores en los protocolos de bajo nivel: Para negociar el control de la sesión y las transferencias de ficheros con el sistema remoto, uucico usa un grupo de mensajes estándar. Esto es lo que se llama normalmente protocolo de alto nivel. Durante la fase de inicialización y la fase de desconexión éstos se envían simplemente como cadenas de caracteres. Sin embargo, durante la fase de transferencia, se usa también un protocolo de bajo nivel, que resulta transparente para los niveles superiores. De esta manera es posible comprobar errores cuando se usan líneas poco fiables, por ejemplo.

Control de flujo en los protocolos de bajo nivel: El receptor TCP, cuyo envía un ACK de vuelta al emisor, también indica al emisor el número de bytes que puede recibir más allá del último segmento TCP recibido sin causar ni overrun ni desbordamiento en sus búferes internos. Este se envía en el ACK de forma of the highest sequence number it puede recibir sin problemas. Este mecanismo también se denomina mecanismo ventana y se discutirá con más detalle más tarde en este mismo capítulo.

Protocolos de capa de red: X.25

Conjunto de protocolos TCP/IP El modelo TCP/IP, describe un conjunto de guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicación entre equipos.

Protocolos a nivel de red, IP, ARP, RARP, ICMP

IP: Su función principal es el uso bidireccional en origen o destino de comunicación para transmitir datos mediante un protocolo no orientado a conexión que transfiere paquetes conmutados a través de distintas redes físicas previamente enlazadas según la norma OSI de enlace de datos.
ARP: Es un protocolo de la capa de enlace de datos responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP.
RARP: Es un protocolo utilizado para resolver la dirección IP de una dirección hardware dada (como una dirección Ethernet). La principal limitación era que cada dirección MAC tenía que ser configurada manualmente en un servidor central y se limitaba sólo a la dirección IP, dejando otros datos como la máscara de subred, puerta de enlace y demás información que tenían que ser configurados a mano.

ICMP: Permite administrar informacion , el protocolo ip, icmp no permite corregir los errores si no que los notifica a los protocolos de capa

Protocolos de la capa de transporte: TCP, UDP
TCP: Muchos programas dentro de una red de datos compuesta por computadoras, pueden usar TCP para crear conexiones entre ellos a través de las cuales puede enviarse un flujo de datos.
UDP: Es un protocolo no orientado a conexión de la capa de transporte del modelo TCP/IP. Este protocolo es muy simple ya que no proporciona detección de errores (no es un protocolo orientado a conexión).

martes, 18 de junio de 2013

TIPO DE REDES LAN, MAN Y WAN

Red LAN 
Es una red de área local enlazada en una red que se encuentra en un solo lugar, con la finalidad de compartir el hardware y el software. Red de área local o LAN es la interconexión de varios ordenadores. 

Tipo Ethernet es un estándar de redes de computadoras de área local. Ethernet define las características de cableado y señalización física. 

Dos tipos de concentradores de cableado: 
Pasivos: envía la señal entrante directamente atreves de sus procedimiento de la señal. Puertos sin ningún Activos: son repetidores multipuerto, reciben la señal, la procesan y retransmiten a su potencia y definición general. 

El conmutador interconecta dos o más segmentos de red, funcionando de manera similar a los puentes. 

El router: asegura el paquete entre redes o rutas se debe de tomar. 


RED MAN  
Las redes Man también se aplican en las organizaciones, en grupos de oficinas corporativas cercanas a una ciudad, estas no contiene elementos de conmutación, los cuales desvían los paquetes por una de varias líneas de salida potenciales. esta redes pueden ser pública o privada.


Las redes de área metropolitana, comprenden una ubicación geográfica determinada "ciudad, municipio", y su distancia de cobertura es mayor de 4 Kmts. Son redes con dos buses unidireccionales, cada uno de ellos es independiente del otro en cuanto a la transferencia de datos.
Es una red que abarca una area metropolitana. Una MAN generalmente consta de una o mas LAN dentro de una area geográfica. Por ejemplo un banco con varias sucursales puede utilizar la red MAN.

RED WAN
Los protocolos de capa física WAN describen cómo proporcionar conexiones eléctricas, mecánicas, operacionales, y funcionales para los servicios de una red de área amplia. Estos servicios se obtienen en la mayoría de los casos de proveedores de servicio WAN tales como las compañías telefónicas, portadoras alternas, y agencias de Correo, Teléfono, y Telégrafo (PTT: Post, Telephone and Telegraph). 

Los protocolos de enlace de datos WAN describen cómo los marcos se llevan entre los sistemas en un único enlace de datos. Incluyen los protocolos diseñados para operar sobre recursos punto a punto dedicados, recursos multipunto basados en recursos dedicados, y los servicios conmutados multiacceso tales como Frame Relay.

Los estándares WAN son definidos y manejados por un número de autoridades reconocidas incluyendo las siguientes agencias: 
• International Telecommunication Union-Telecommunication Standardization Sector ( ITU-T ), antes el Consultative Committee for Intemational Telegraph and Telephone ( CCITT ). 
• Intemational Organization for Standardization ( ISO )
• Intemet Engineering Task Force ( IETF ). 
• Electronic Industries Association (ETA). Los estándares WAN describen típicamente tanto los requisitos de la capa física como de la capa de enlace de datos. 


jueves, 13 de junio de 2013

QUE ES EL DNS?

QUE ES EL DNS? 
Para registrar un dominio es imprescindible disponer de servicio de DNS. Para que tu o tu empresa sea visibles en Internet deberás tener tus nombres de dominio instalados en dos ordenadores que estén conectados a la red y que se denominan servidores de DNS.
La principal tarea de un servidor de DNS es traducir tu nombre de dominio (p.ej. midominio.com) en una dirección IP.
El servicio de DNS permite, una vez configurado, que tu web y tu correo electrónico sean localizados desde cualquier lugar del mundo mediante tu nombre de dominio. 

¿CÓMO FUNCIONA EL DNS?

Los ordenadores y los dispositivos utilizan el IP para identificarse en internet.
Las personas no recuerdan las direcciones IP que se les da a cada página por eso es que existen un dominio donde se relacionan los nombres y las direcciones para cada página y si es como te llevan a una web determinada.
Este a su vez busca su servidor  hasta que lo encuentra, una vez obtenida la dirección IP del servidor la página se carga.

TIPOS DE RESOLUCION DNS
Convierte los nombres en una dirección IP (forward)
www.gooogle.com          9.8.7.6
Convierte el IP en un nombre (reverse)
9.8.7.6          www.gooogle.com


Estructura de nombres
Uno de los aspectos más importantes del DNS  es un sistema distribuido y se puede denegar los nombres de dominio a usuarios o entidades.

El sistema funciona de izquierda a derecha, primero busca el dominio, el nombre (de la pagina) de dominio y al final los registros que se crean en el servidor DNS