jueves, 12 de diciembre de 2019

Factorial de un numero java script

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <script>
            function facto() {
                var numero, resp;
                numero = document.getElementById('num').value;
                resp = parseInt(numero);
                for (var i = numero-1; i > 0; i--) {
                    resp *=i;
                }
                document.getElementById('respuesta').value = resp;

            }
        </script>
        <input type="text" id="num"><br><br>
        <input type="submit" onclick="facto()" value="calcular"> <br><br>
        <input type="text" id="respuesta">
    </body>
</html>

Calculadora en java Script

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <script>

            function suma() {

                var numero1, numero2, res;
                numero1 = document.getElementById('n1').value;
                numero2 = document.getElementById('n2').value;
                res = parseInt(numero1) + parseInt(numero2);

                document.getElementById('resultado').value = res;

            }
            function resta() {

                var numero1, numero2, res;
                numero1 = document.getElementById('n1').value;
                numero2 = document.getElementById('n2').value;
                res = parseInt(numero1) - parseInt(numero2);

                document.getElementById('resultado').value = res;

            }
            function multiplicacion() {

                var numero1, numero2, res;
                numero1 = document.getElementById('n1').value;
                numero2 = document.getElementById('n2').value;
                res = parseInt(numero1) * parseInt(numero2);

                document.getElementById('resultado').value = res;

            }
            function division() {

                var numero1, numero2, res;
                numero1 = document.getElementById('n1').value;
                numero2 = document.getElementById('n2').value;
                res = parseInt(numero1) / parseInt(numero2);

                document.getElementById('resultado').value = res;

            }


        </script>
        numero 1: <input type="number" id="n1"><br><br>
        numero 2:<input type="number" id="n2"><br><br>
        <input type="submit" onclick="suma()" value="suma"><br><br>
        <input type="submit" onclick="resta()" value="resta"><br><br>
        <input type="submit" onclick="multiplicacion()()" value="multiplicacion"><br><br>
        <input type="submit" onclick="division()()" value="division"><br><br>
        resultado: <input type="number" id="resultado"><br><br>


    </body>
</html>

cuadro comparativo modelo OSI Y TCP





Cuadro Comparativo Modelo OSI y TCP/IP.

Modelo
Funcionamiento
Características
Estructura del mensaje
Estándares internacionales
PDU
OSI
Este modelo funciona por medio de 7 capas:
Primer Nivel – Nivel o capa físico: esta define las especificaciones eléctricas, mecánicas, de procedimiento y funcionales, para activar, mantener y desactivar el enlace físico entre sistemas finales,
Sus principales funciones son:
Definir el medio o medios físicos por los que va a viajar la comunicación.
Definir las características.
Definir las características funcionales de la interfaz.
Transmitir el flujo de bits a través del medio.
Según Nivel – Nivel o capa de enlace de datos: La capa de enlace de datos proporciona tránsito de datos confiable a través de un enlace físico.
Lo que permite que las capas superiores a ella, estén seguras de que la transmisión de datos a través del vínculo físico se va a realizar prácticamente sin errores.
Esta capa se ocupa del direccionamiento físico, del acceso al medio, de la detección de errores, de la distribución ordenada de tramas y del control del flujo.
Tercer Nivel – Nivel o capa de red: La capa de red provee los medios funcionales y de procedimiento para que se haga la transferencia de tamaño variable de datos en secuencias, de un origen en un host que se encuentra en una red de datos para un host de destino que se encuentra en una red de datos diferente, tratando de mantener la calidad de servicio que habría sido requerida por la capa de transporte.
Los dispositivos que facilitan tal tarea se denominan encaminadores o enrutadores, aunque es más frecuente encontrarlo con el nombre en inglés routers.
Cuarto Nivel – Nivel o capa de transporte: La capa de transporte garantiza que los mensajes lleguen a su destinatario sin errores, en la secuencia correcta y sin pérdidas de datos.
Los protocolos de capas superiores no tienen cualquier preocupación por la transferencia de datos.
También es esta capa que se encarga de recibir los datos enviados por la capa de sesión.
Después de fragmentarlos para que se envié a la capa de red, en la recepción hace el proceso inverso juntando los paquetes enviados por la capa de red en segmentos para la capa de sesión.

Quinto nivel – Nivel o capa de sesión:

Esta capa es la que se encarga de mantener y controlar el enlace establecido entre dos computadores que están transmitiendo datos de cualquier índole.
Para obtener éxito en el proceso de comunicación la capa de sesión tiene que preocuparse con la sincronización entre hosts, para que la sesión abierta entre ellos se mantenga arriba.
Los protocolos más conocidos de esta capa son: SMTP, FTP, SAP, SSH, ZIP, RCP, SCP, Netbios, ASP, entre otros.

Sexto Nivel – Nivel o Capa de presentación:

Es responsable que la información se pueda enviar de manera que el receptor la pueda entender.
En ella se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos.
Por ejemplo, la conversión para que protocolos como el tcp/ip puedan hablar con el ipx/spx.
Esta capa también permite cifrar los datos y comprimirlos.

Séptimo Nivel – Nivel o Capa de aplicación:

Este nivel es responsable por convertir las diferencias que existen entre los varios sistemas operativos y aplicativos para un padrón, es decir, esta camada recibe las informaciones que viene del usuario que llamamos SDU (Service Data Unit) y adiciona la información de control que llamamos de PCI (Protocol Control Information) para que tengamos como salida la conocida PDU (Protocol Data Unit).

 

 

 




Define las características físicas de la red material.
Proporciona el servicio de envió de datos a través del enlace físico.
Proporciona servicios de detección y corrección de errores.
Gestiona las concesiones entre aplicaciones cooperativas.
Estandariza la forma en la que se presentan los datos a las aplicaciones.
Primero la capa de aplicación recibe el mensaje del usuario y le añade una cabecera constituyendo así la PDU de la capa de aplicación luego la PDU se transfiere a la capa de aplicación del modo destino y ahí se elimina la cabecera y entrega el mensaje al usuario.
El siguiente proceso es: entregar la PDU a la capa de presentación para ello hay que añadirle la correspondiente cabecera ICI y transformarla así en una IDU, la cual se transmite a dicha capa.
La capa de presentación recibe la IDU, le quita la cabecera y extrae la información, es decir, la SDU, a esta le añade su propia cabecera (PCI) constituyendo así la PDU de la capa de presentación.
Esta PDU es transferida a su vez a la capa de sesión mediante el mismo proceso, repitiéndose así para todas las capas.
Al llegar al nivel físico se envían los datos que son recibidos por la capa física del receptor.
Cada capa del receptor se ocupa de extraer la cabecera, que anteriormente había añadido su capa homóloga, interpretarla y entregar la PDU a la capa superior.
Finalmente, llegará a la capa de aplicación, la cual entregará el mensaje al usuario.

La organización internacional para la normalización es una agencia internacional sin ánimo de lucro con sede en Ginebra (Suiza), cuyo objetivo es el desarrollo de normalizaciones que abarcan un amplio abanico de materias. Esta organización ha definido multitud de estándares de diferentes temáticas, que van desde el paso de los tornillos hasta arquitecturas de comunicaciones para la interconexión de sistemas abiertos (OSI - Open Systems Interconnection).

ISO está formada por organismos de estandarización de diversos países (ANSI en EEUU, DIN en Alemania, AENOR en España, …) y por un grupo de organizaciones observadoras, que no poseen capacidad de voto. A pesar de ser una organización no gubernamental, la mayoría de sus miembros son instituciones gubernamentales. Se fundó en 1946 y actualmente reúne a más de 100 países.

TCP/IP
El modelo TCP/IP: describe las comunicaciones de red ideales con una familia de protocolos. TCP/IP no se corresponde directamente con este modelo. TCP/IP combina varias capas OSI en una única capa, o no utiliza determinadas capas. La tabla siguiente muestra las capas de la implementación de Oracle Solaris de TCP/IP. La tabla enumera las capas desde la capa superior (aplicación) hasta la capa inferior (red física).

Capa de red física:
La capa de red física especifica las características del hardware que se utilizará para la red.
Por ejemplo, la capa de red física especifica las características físicas del medio de comunicaciones. La capa física de TCP/IP describe los estándares de hardware como IEEE 802.3, la especificación del medio de red Ethernet, y RS-232, la especificación para los conectores estándar.
Capa de vínculo de datos:
La capa de vínculo de datos identifica el tipo de protocolo de red del paquete, en este caso TCP/IP, proporciona también control de errores y estructuras.
 Algunos ejemplos de protocolos de capa de vínculo de datos son las estructuras Ethernet IEEE 802.2 y Protocolo punto a punto (PPP).

Capa de Internet:
También se le conoce como capa de red o capa IP, acepta y transfiere paquetes para la red, incluye el Protocolo de Internet (IP), el protocolo de resolución de direcciones (ARP) y el protocolo de mensajes de control de Internet (ICMP).

Capa de transporte:
La capa de transporte TCP/IP garantiza que los paquetes lleguen en secuencia y sin errores, esto a través de intercambiar la confirmación de la recepción de los datos y retransmitir los paquetes perdidos, esta comunicación se conoce como transmisión de punto a punto.
 Los protocolos de capa de transporte de este nivel son el Protocolo de control de transmisión (TCP), el Protocolo de datagramas de usuario (UDP) y el Protocolo de transmisión para el control de flujo (SCTP). Los protocolos TCP y SCTP proporcionan un servicio completo y fiable.

Capa de aplicación:
La capa de aplicación define las aplicaciones de red y los servicios de Internet estándar que puede utilizar un usuario. Estos servicios utilizan la capa de transporte para enviar y recibir datos.
Los protocoles usados en la capa de aplicación son:
Servicios TCP/IP estándar como los comandos ftp, tftp y telnet.
Comandos UNIX "r", como rlogin o rsh.
Servicios de nombres, como NIS o el sistema de nombre de dominio (DNS).
Servicios de directorio (LDAP).
Servicios de archivos, como el servicio NFS.
Protocolo simple de administración de red (SNMP), que permite administrar la red.
Protocolo RDISC (Router Discovery Server) y protocolos RIP (Routing Information Protocol).

Desarrollo el conjunto de protocolos TCP/IP.
Cuenta con su propio modelo de arquitectura para definir como funciona el modelo mismo.
Permite colocar los segmentos nuevamente en orden cuando vienen del protocolo IP.
Permite el monitoreo del flujo de los datos y así evitar la saturación de la red.
Permite que los datos se formen en segmentos de longitud variada para "entregarlos" al protocolo IP.
Permite multiplexar los datos, es decir, que la información que viene de diferentes fuentes (por ejemplo, aplicaciones) en la misma línea pueda circular simultáneamente.
Por último, permite comenzar y finalizar la comunicación amablemente.


Cuando un usuario ejecuta un comando que utiliza un protocolo de capa de aplicación TCP/IP, se inicia una serie de eventos. El mensaje o el comando del usuario se transfiere a través de la pila de protocolo TCP/IP del sistema local.
A continuación, el mensaje o el comando pasa por el medio de red hasta los protocolos del sistema remoto.
Los protocolos de cada capa del host de envío agregan información a los datos originales.
Además, dichos protocolos interactúan con sus equivalentes en el host de recepción.

El protocolo TCP/IP se emplea en Internet y algunas veces en redes más pequeñas, especialmente en las que conectan sistemas de computación que corren el sistema operativo UNIX.

En la actualidad la arquitectura TCP/IP se utiliza en todo tipo de redes, tanto de área local como de área extensa. Ha sido adoptada por más de 160 fabricantes, si bien en muchos casos coexistiendo con las arquitecturas propias o "propietarias" como SNA o DNA. Por ello se ha convertido en un estándar "de facto" o de "hecho". De esta forma TCP/IP ha transcendido a los sistemas operativos UNIX y actualmente se utiliza con multiples sistemas, como DOS, OS/2, MVS y OS/400 de IBM, VMS de DEC, etc. además de los que se basan en UNIX.

Es posible que el protocolo que ha sido desarrollado por ISO para el modelo OSI eventualmente desplazó al protocolo TCP/IP en varios ambientes. El protocolo TCP/IP será extensamente usado por varias organizaciones dentro de los siguientes 100 años. TCP/IP es ahora una forma extremadamente importante de tecnología para redes.

En la arquitectura TCP/IP cada PDU recibe un nombre específico:

·         Capa de aplicación: Datos
·         Capa de transporte: Segmentos
·         Capa de red: Datagramas
·         Capa de acceso a la red: Tramas
·         Capa física: Flujo de bits



Bibliografía

CCNA. (2015, 11 27). Retrieved 09 16, 2019, from https://www.seaccna.com/modelo-osi-guia-definitiva/
ORACLE. (2010). Retrieved from https://docs.oracle.com/cd/E19957-01/820-2981/ipov-10/
UAEH. (n.d.). Retrieved from https://www.uaeh.edu.mx/scige/boletin/huejutla/n10/r1.html#targetText=TCP%2FIP%20combinan%20las%20funciones,mejor%20adaptaci%C3%B3n%20a%20los%20protocolos.
A., H. L. (2013). Universidad Tecnológica Metropolitana. Obtenido de Arquitectura y Redes de Computadores: http://manque.cl.tripod.com/webarq/c_6.2_Arquitectura_TCP_IP.htm
Urrea, J. C. (2019). Monografias.com. Obtenido de Protocolo TCP/IP: https://www.monografias.com/trabajos/protocolotcpip/protocolotcpip.shtml




Algoritmo congruencial multiplicativo en java( materia simulación)


import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Daniel
 */
public class CongruencialMultiplicativo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
       
        int m, a,k,x0 = 0,g, resultado, iteraciones;
        float r;
     
         System.out.println("introduce el valor de k: ");
        k=entrada.nextInt();
          System.out.println("introduce el valor de x0: ");
        x0=entrada.nextInt();
        System.out.println("introduce el numero de g: ");
        g=entrada.nextInt();
        System.out.println("introduce el valor de m: ");
        m=entrada.nextInt();
       
       
          System.out.println("introduce el numero de iteraciones: ");
        iteraciones=entrada.nextInt();
       
       
        for (int i = 0; i < iteraciones; i++) {
            a=((g)+(8*k)) ;
//            m= (int)Math.pow(k, g);
            resultado=(a*x0);
            resultado= resultado %m;
           r= (float)resultado/(m-1);
           x0=resultado;
           System.out.println("x"+i+" = "+resultado+ "   " + "r"+i+" = "+r);
        }
       
    }
   
}

Algoritmo congruencial cuadratico en java (materia de simulación)


import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Daniel
 */
public class CongruencialCuadratico {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);

        int x0, m = 0, a, b, c, g = 0, iteraciones, resultado;
        float r;

        System.out.println("itroduce el valor de x0: ");
        x0 = entrada.nextInt();
        System.out.println("itroduce el valor de a: ");
        a = entrada.nextInt();
        System.out.println("itroduce el valor de b: ");
        b = entrada.nextInt();
        System.out.println("itroduce el valor de c: ");
        c = entrada.nextInt();
        System.out.println("itroduce el valor de m: ");
        m = entrada.nextInt();
        System.out.println("itroduce el numero de iteraciones: ");
        iteraciones = entrada.nextInt();

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

            resultado = (int) (a * Math.pow(x0, 2) + (b * x0)) + (c);
//            m = (int) Math.pow(2, g);
            resultado = resultado % m;
            x0 = resultado;

            r = (float) resultado / (m - 1);
            x0 = resultado;
            System.out.println("x" + i + " = " + resultado + "   " + "r" + i + " = " + r);

        }

    }

}

codigo javascript fibonacci

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <script>
            function fibonacci() {
                var n = document.getElementById('numero').value;
                var a = 0;
                var b = 1;
                var aux = "";
                for (i = 1; i <= n; i++) {
                    var numeroTemporal = a;
                    a = b;
                    b = numeroTemporal + b;
                    aux+=" "+a;
                   //document.write(" "+a);
                }



                document.getElementById('respuesta').value=aux+"";
            }

        </script>

        <input type="text" id="numero"><br><br>
        <input type="submit" onclick="fibonacci()" value="calcular"><br><br>
        <input type="text" id="respuesta">
    </body>
</html>

codigo java script para convertir de decimal a numero Romano

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script>

            function convertir() {
                var numero = "" + document.getElementById('numero').value;
                var str = "";
                var op = "";
               for (var i = 0; i < numero.length; i++) {
                    var car = numero.charAt(i);
                    if (numero.length == 4) {
                        if (i === 0) {
                            str += millar(car);
                        }
                        if (i === 1) {
                            str += centetimo(car);
                        }
                        if (i === 2) {
                            str += decimo(car);
                        }
                        if (i === 3) {
                            str += unidad(car);
                        }
                    }
                    if (numero.length == 3) {
                        if (i === 0) {
                            str += centetimo(car);
                        }
                        if (i === 1) {
                            str += decimo(car);
                        }
                        if (i === 2) {
                            str += unidad(car);
                        }
                    }
                    if (numero.length == 2) {
                        if (i === 0) {
                            str += decimo(car);
                        }
                        if (i === 1) {
                            str += unidad(car);
                        }
                    }
                    if (numero.length == 1) {
                        if (i === 0) {
                            str += unidad(car);
                        }
                    }
                }
                document.getElementById('resultado').value = str;
            }

            function millar(car) {
                switch (car) {
                    case '1':
                        return "M";
                        break;
                    case '2':
                        return "MM";
                        break;
                    case '3':
                        return "MMM";
                        break;
                    default:
                        return "";
                        break;
                }
            }

            function centetimo(car) {
                switch (car) {
                    case '1':
                        return "C";
                        break;
                    case '2':
                        return "CC";
                        break;
                    case '3':
                        return "CCC";
                        break;
                    case '4':
                        return "CD";
                        break;
                    case '5':
                        return "D";
                        break;
                    case '6':
                        return "DC";
                        break;
                    case '7':
                        return "DCC";
                        break;
                    case '8':
                        return "DCC";
                        break;
                    case '9':
                        return "CM";
                        break;
                    default:
                        return "";
                        break;
                }
            }

            function decimo(car) {
                switch (car) {
                    case '1':
                        return "X";
                        break;
                    case '2':
                        return "XX";
                        break;
                    case '3':
                        return "XXX";
                        break;
                    case '4':
                        return "XL";
                        break;
                    case '5':
                        return "L";
                        break;
                    case '6':
                        return "LX";
                        break;
                    case '7':
                        return "LXX";
                        break;
                    case '8':
                        return "LXXX";
                        break;
                    case '9':
                        return "XC";
                        break;
                    default:
                        return "";
                        break;
                }
            }

            function unidad(car) {
                switch (car) {
                    case '1':
                        return "I";
                        break;
                    case '2':
                        return "II";
                        break;
                    case '3':
                        return "III";
                        break;
                    case '4':
                        return "IV";
                        break;
                    case '5':
                        return "V";
                        break;
                    case '6':
                        return "VI";
                        break;
                    case '7':
                        return "VII";
                        break;
                    case '8':
                        return "VIII";
                        break;
                    case '9':
                        return "IX";
                        break;
                    default:
                        return "";
                        break;
                }
            }

        </script>
    </head>
    <body>
        Número: <input type="number" id="numero" min="0" max="3999"/><br>
        <button onclick="convertir()">Convertir</button><br>
        Número en romano: <input type="text" id="resultado">
   
   
    </body>
</html>