jueves, 9 de mayo de 2019

Diagrama de flujo

DIAGRAMA DE FLUJO

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación grafica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.
Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
El diagrama de flujo representa la forma más tradicional y duradera para especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales.

IMPORTANCIA DE LOS DIAGRAMAS DE FLUJO

Los diagramas de flujo son importantes porque nos facilita la manera de representar visualmente el flujo de datos por medio de un sistema de tratamiento de información, en este realizamos un análisis de los procesos o procedimientos que requerimos para realizar un programa o un objetivo.
Por ejemplo: si nosotros queremos realizar una pizza, primero necesitamos los ingredientes, este ya seria un proceso, luego de haber conseguido los ingredientes necesitamos realizar la masa, este seria otro proceso, luego realizamos la salsa, este seria otro procesos y finalmente unimos todo lo que hemos hecho y agregamos los complemento como el jamón, el queso, etc. Para la realización de esta pizza ya contamos con 4 procesos los cual podemos desarrollar en un diagrama de flujo y unirlos en el mismo. Para así obtener un producto final que seria nuestra pizza.

SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO

Este se utiliza para representar el inicio o el fin de un algoritmo. También puede representar una parada o una interrupción programada que sea necesaria realizar en un programa.
Este se utiliza para un proceso determinado, es el que se utiliza comúnmente para representar una instrucción, o cualquier tipo de operación que origine un cambio de valor.
Este símbolo es utilizado para representar una entrada o salida de información, que sea procesada o registrada por medio de un periférico.
Este es utilizado para la toma de decisiones, ramificaciones, para la indicación de operaciones lógicas o de comparación entre datos.
Este es utilizado para enlazar dos partes cualesquiera de un diagrama a través de un conector de salida y un conector de entrada. Esta forma un enlace en la misma página del diagrama.
Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la misma pagina.

Generación de las computadoras

PRIMERA GENERACIÓN (1951 A 1958)

Monografias.com
Las computadoras de la primera Generación emplearon bulbos para procesar información.
La programación se realizaba a través del lenguaje de máquina. Las memorias estaban construidas con finos tubos de mercurio líquido y tambores magnéticos. Los operadores ingresaban los datos y programas en código especial por medio de tarjetas perforadas. El almacenamiento interno se lograba con un tambor que giraba rápidamente, sobre el cual un dispositivo de lectura/escritura colocaba marcas magnéticas.
Estos computadores utilizaban la válvula de vacío. Por lo que eran equipos sumamente grandes, pesados y generaban mucho calor.
La Primera Generación se inicia con la instalación comercial del UNIVAC construida por Eckert y Mauchly. El procesador de la UNIVAC pesaba 30 toneladas y requería el espacio completo de un salón de 20 por 40 pies.

SEGUNDA GENERACIÓN (1959-1964)

Monografias.com
El Transistor Compatibilidad Limitada sustituye la válvula de vacío utilizada en la primera generación. Los computadores de la segunda generación erán más rápidas, más pequeñas y con menores necesidades de ventilación. Estas computadoras también utilizaban redes de núcleos magnéticos en lugar de tambores giratorios para el almacenamiento primario. Estos núcleos contenían pequeños anillos de material magnético, enlazados entre sí, en los cuales podían almacenarse datos e instrucciones.
Los programas de computadoras también mejoraron. COBOL desarrollado durante la 1era generación estaba ya disponible comercialmente. Los programas escritos para una computadora podían transferirse a otra con un mínimo esfuerzo. El escribir un programa ya no requería entender plenamente el hardware de la computación.

TERCERA GENERACIÓN (1964-1971)

Monografias.com
Circuitos Integrados, Compatibilidad con Equipo Mayor, Multiprogramación, Minicomputadora
Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes.
Antes del advenimiento de los circuitos integrados, las computadoras estaban diseñadas para aplicaciones matemáticas o de negocios, pero no para las dos cosas. Los circuitos integrados permitieron a los fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus modelos.
La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó procesamiento de archivos. Los clientes podían escalar sus sistemas 360 a modelos IBM de mayor tamaño y podían todavía correr sus programas actuales. Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un programa de manera simultánea (multiprogramación).

CUARTA GENERACIÓN (1971 A 1981)

Monografias.com
Microprocesador, Chips de memoria, Microminiaturización
Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de Muchos más componentes en un Chip: producto de la microminiaturización de los circuitos electrónicos. El tamaño reducido del microprocesadory de chips hizo posible la creación de las computadoras personales (PC)
En 1971, intel Corporation, que era una pequeña compañía fabricante de semiconductoresubicada en Silicon Valley, presenta el primer microprocesadoro Chip de 4 bits, que en un espacio de aproximadamente 4 x 5 mm contenía 2 250 transistores. Este primer microprocesador que se muestra en la figura 1.14, fue bautizado como el 4004.
Silicon Valley (Valle del Silicio) era una región agrícola al sur de la bahía de San Francisco, que por su gran producciónde silicio, a partir de 1960 se convierte en una zona totalmente industrializada donde se asienta una gran cantidad de empresas fabricantes de semiconductores y microprocesadores. Actualmente es conocida en todo el mundo como la región más importante para las industrias relativas a la computación: creación de programas y fabricación de componentes.
Actualmente ha surgido una enorme cantidad de fabricantes de microcomputadoras o computadoras personales, que utilizando diferentes estructuraso arquitecturas se pelean literalmente por el mercado de la computación, el cual ha llegado a crecer tanto que es uno de los más grandes a nivel mundial; sobre todo, a partir de 1990, cuando se logran sorprendentes avances en Internet.
Esta generación de computadoras se caracterizó por grandes avances tecnológicos realizados en un tiempo muy corto. En 1977 aparecen las primeras microcomputadoras, entre las cuales, las más famosas fueron las fabricadas por Apple Computer, Radio Shack y Commodore Busíness Machines. IBM se integra al mercado de las microcomputadoras con su Personal Computer (figura 1.15), de donde les ha quedado como sinónimo el nombre de PC, y lo más importante; se incluye un sistema operativo estandarizado, el MS- DOS (MicroSoft Disk Operating System).

QUINTA GENERACIÓN Y LA INTELIGENCIA ARTIFICIAL (1982-1989)

Monografias.com
Cada vez se hace más difícil la identificación de las generaciones de computadoras, porque los grandes avances y nuevos descubrimientos ya no nos sorprenden como sucedió a mediados del siglo XX. Hay quienes consideran que la cuarta y quinta generación han terminado, y las ubican entre los años 1971-1984 la cuarta, y entre 1984-1990 la quinta. Ellos consideran que la sexta generación está en desarrollo desde 1990 hasta la fecha.
Siguiendo la pista a los acontecimientos tecnológicos en materia de computación e informática, podemos puntualizar algunas fechas y características de lo que podría ser la quinta generación de computadoras.
Con base en los grandes acontecimientos tecnológicos en materia de microelectrónica y computación (software) como CADI CAM, CAE, CASE,inteligencia artificial, sistemas expertosredes neuronalesteoría del caos, algoritmos genéticos, fibras ópticas, telecomunicaciones, etc., a de la década de los años ochenta se establecieron las bases de lo que se puede conocer como quinta generación de computadoras.
Hay que mencionar dos grandes avances tecnológicos, que sirvan como parámetro para el inicio de dicha generación: la creación en 1982 de la primera supercomputadora con capacidad de proceso paralelo, diseñada por Seymouy Cray, quien ya experimentaba desde 1968 con supercomputadoras, y que funda en 1976 la Cray Research Inc.; y el anuncio por parte del gobierno japonés del proyecto "quinta generación", que según se estableció en el acuerdo con seis de las más grandes empresas japonesas de computación, debería terminar en 1992.
El proceso paralelo es aquél que se lleva a cabo en computadoras que tienen la capacidad de trabajar simultáneamente con varios microprocesadores. Aunque en teoría el trabajo con varios microprocesadores debería ser mucho más rápido, es necesario llevar a cabo una programación especial que permita asignar diferentes tareas de un mismo proceso a los diversos microprocesadores que intervienen.
También se debe adecuar la memoria para que pueda atender los requerimientos de los procesadores al mismo tiempo. Para solucionar este problema se tuvieron que diseñar módulos de memoria compartida capaces de asignar áreas de caché para cada procesador.
Según este proyecto, al que se sumaron los países tecnológicamente más avanzados para no quedar atrás de Japón, la característica principal sería la aplicación de la inteligencia artificial (Al, Artificial Intelligence). Las computadoras de esta generación contienen una gran cantidad de microprocesadores trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la capacidad de comunicarse con un lenguaje natural e irán adquiriendo la habilidad para tomar decisiones con base en procesos de aprendizaje fundamentados en sistemas expertos e inteligencia artificial.
El almacenamiento de información se realiza en dispositivos magneto ópticos con capacidades de decenas de Gigabytes; se establece el DVD (Digital VideoDisk o Digital Versatile Disk) como estándar para el almacenamiento de video y sonido; la capacidad de almacenamiento de datos crece de manera exponencial posibilitando guardar más información en una de estas unidades, que toda la que había en la Biblioteca de Alejandría. Los componentes de los microprocesadores actuales utilizan tecnologías de alta y ultra integración, denominadas VLSI (Very Large Sca/e Integration) y ULSI (Ultra Lar- ge Scale Integration).
Sin embargo, independientemente de estos "milagros" de la tecnología moderna, no se distingue la brecha donde finaliza la quinta y comienza la sexta generación. Personalmente, no hemos visto la realización cabal de lo expuesto en el proyecto japonés debido al fracaso, quizás momentáneo, de la inteligencia artificial.
El único pronóstico que se ha venido realizando sin interrupciones en el transcurso de esta generación, es la conectividad entre computadoras, que a partir de 1994, con el advenimiento de la red Internet y del World Wide Web, ha adquirido una importancia vital en las grandes, medianas y pequeñas empresas y, entre los usuarios particulares de computadoras.
El propósito de la Inteligencia Artificial es equipar a las Computadoras con "Inteligencia Humana" y con la capacidad de razonar para encontrar soluciones. Otro factor fundamental del diseño, la capacidad de la Computadora para reconocer patrones y secuencias de procesamiento que haya encontrado previamente, (programación Heurística) que permita a la Computadora recordar resultados previos e incluirlos en el procesamiento, en esencia, la Computadora aprenderá a partir de sus propias experiencias usará sus Datos originales para obtener la respuesta por medio del razonamiento y conservará esos resultados para posteriores tareas de procesamiento y toma de decisiones.

Unidad aritmetica logica

En computación, la unidad aritmética lógica o unidad aritmético-lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos.
Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de los chips de microprocesadoresmodernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
Muchos otros circuitos pueden contener en el interior una unidad aritmético lógica: unidades de procesamiento gráfico como las que están en las GPU modernas, FPU como el viejo coprocesador matemático 80387, y procesadores digitales de señalescomo los que se encuentran en tarjetas de sonido, lectoras de CD y los televisores de alta definición. Todos éstos tienen en su interior varias ALU potentes y complejas.
El matemático John von Neumann propuso el concepto de la ALU en 1945, cuando escribió un informe sobre las fundaciones para un nuevo computador llamado EDVAC(Electronic Discrete Variable Automatic Computer) (Computador Automático Variable Discreto Electrónico). Más adelante, en 1946, trabajó con sus colegas diseñando un computador para el Princeton Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). El IAS computer se convirtió en el prototipo para muchos computadores posteriores. En esta propuesta, von Neumann esbozó lo que él creyó sería necesario en su máquina, incluyendo una ALU.
Von Neumann explicó que una ALU es un requisito fundamental para una computadora porque necesita efectuar operaciones matemáticas básicas: adición, sustracción, multiplicación, y división.1​ Por lo tanto, creyó que era "razonable que una computadora debería contener los órganos especializados para estas operaciones".1
Una ALU debe procesar números usando el mismo formato que el resto del circuito digital. Para los procesadores modernos, este formato casi siempre es la representación del número binario de complemento a dos. Las primeras computadoras usaron una amplia variedad de sistemas de numeración, incluyendo complemento a uno, formato signo-magnitud, e incluso verdaderos sistemas decimales, con diez tubos por dígito.
Las ALU para cada uno de estos sistemas numéricos mostraban diferentes diseños, y esto influenció la preferencia actual por el complemento a dos, debido a que ésta es la representación más simple, para el circuito electrónico de la ALU, para calcular adiciones, sustracciones, etc.
Resultado de imagen para unidad aritmetica logica

Tipos de lenguajes de programacion

¿Qué es un lenguaje de programación?

Para definir de manera sencilla qué es un lenguaje de programación voy a definir cada palabra; lenguaje es una forma o sistema de comunicación y la programación es el procedimiento de escritura del código fuente de un software o programa.
Según wikipedia un lenguaje de programación es un lenguaje formal que especifica una serie de instrucciones para que una computadora u ordenador produzca diversas clases de datos.  
Si tenemos en cuenta que la programación a día de hoy pueden afectar diferentes tipos de dispositivos desde ordenadores, dispositivos móviles como smartphone o tablets, televisores, frigoríficos y otros dispositivos electrónicos, lo cierto es que la definición de la wikipedia se queda un poco obsoleta, sobre todo en los dispositivos a los que se puede aplicar.

Tipos de lenguajes de Programación

Existen tres tipos de lenguajes claramente diferenciados; el lenguaje máquina y los lenguajes de bajo nivel y los de alto nivel.
1º El Lenguaje Máquina: es el lenguaje de programación que entiende directamente la máquina (computadora). Este lenguaje de programación utiliza el alfabeto binario, es decir, el 0 y el 1.
2º Lenguajes de programación de bajo nivel: Son mucho más fáciles de utilizar que el lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía con el lenguaje máquina.
3º Lenguajes de programación de alto nivel. Los lenguajes de programación de alto nivel son más fáciles de aprender porque se usan palabras o comandos del lenguaje natural, generalmente del inglés. Este es el caso del BASIC, el lenguaje de programación más conocido.

Tipos de lenguajes de programación de alto nivel según el punto de vista de trabajar los programas y la filosofía de sus creación:
  • Lenguaje  imperativo: entre ellos tenemos el Cobol, Pascal, C y Ada.
  • Lenguaje declarativo: el Lisp y el Prolog.
  • Lenguaje de programación orientado a objetos: el Smalltalk y el C++.
  • Lenguaje orientado al problema: son aquellos lenguajes específicos para gestión.
  • Lenguaje de programación natural: son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas.

Otra clasificación de los lenguajes de programación de alto nivel, es teniendo en cuenta el desarrollo de las computadoras según sus diferentes generaciones:
  • Lenguaje de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).
  • Lenguaje de programación de primera generación: el lenguaje máquina y el ensamblador.
  • Lenguaje de segunda generación: los primeros lenguajes de programación de alto nivel imperativo (FORTRAN, COBOL).
  • Lenguaje de tercera generación: son lenguajes de programación de alto nivel imperativo pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
  • Lenguaje de cuarta generación: usados en aplicaciones de gestión y manejo de bases de dados (NATURAL, SQL).
Resultado de imagen para tipos de lenguaje de programacion









Tipos de Computadoras

Enormes como una habitación o pequeñas como una memoria USB. Las computadoras forman parte de la vida de todas las personas del mundo, incluso en aquellas que no las usan directamente pero que por medio de la computación reciben todo tipo de servicios, desde los más esenciales hasta los más especializados.
En este post, destacamos los 10 principales tipos de computadoras, sus características y por qué son elementos importantes de la computación en el mundo.

1. Supercomputadoras


Las computadoras más potentes del mundo, las que pueden procesar las mayores cantidades de información y resuelven las operaciones más complicadas son las supercomputadoras. En realidad, las supercomputadoras son un conjunto de ordenadores muy poderosos conectados entre sí para aumentar su capacidad de forma exponencial.
La supercomputadora más potente del mundo se encuentra en la Universidad Nacional de Tecnología de Defensa de China. Se llama Tianhe-2 y tiene un rendimiento promedio de 33.48 petaFLOPS. Como dato informativo, cada petaflop significa que la computadora es capaz de realizar más de mil billones operaciones por segundo.
Resultado de imagen para supercomputadoras

2. Mainframes


También conocidos como macrocomputadoras o computadoras centrales, son capaces de procesar millones de aplicaciones a la vez. Por eso, son utilizadas principalmente por entidades gubernamentales y empresas que manejan grandes cantidades de información, operaciones bancarias o bases de datos.
Los mainframes pueden funcionar con muchos sistemas operativos a la vez y servir para gestionar las actividades de varios terminales virtuales. Necesitan refrigeración para evitar su sobrecalentamiento y cuestan varios miles de dólares.
Resultado de imagen para mainframes

3. Computadoras personales


La cara más vista de la computación son las computadoras personales, que tienen sus orígenes en los equipos construidos desde 1970 y que en un principio se llamaron microcomputadoras. Se caracterizan por tener un microprocesador y están diseñadas para cumplir las tareas más comunes de la informática actual, como la navegación web, la productividad y el entretenimiento.
Las computadoras portátiles y de escritorio son tipos de computadoras de escritorio.
Resultado de imagen para computadoras personales

4. Computadoras híbridas


Surgidas a partir del 2012, las computadoras híbridas son una mezcla entre una laptop y una tableta.Pensadas principalmente como una tableta evolucionada para ofrecer más opciones de productividad, las computadoras híbridas tienen mucho potencial en el futuro de la computación.
Casi todas las marcas de computadoras fabrican en la actualidad computadoras híbridas, si bien se considera a la Microsoft Surface como la pionera en el campo y al iPad Pro, recién anunciado, como una de las que impulsará más este mercado.
Resultado de imagen para computadoras hibrida


5. Computadoras portátiles

La primera computadora portátil como tal fue creada por Epson en 1981 y en su momento fue considerada como la “cuarta revolución de la computación personal” por la revista BusinessWeek. Después del lanzamiento de Windows 95, las computadoras portátiles se popularizaron, y son en la actualidad las computadoras personales más vendidas.
El término laptop viene del inglés lap –regazo- y top –encima-, mientras que se les llama también notebookspor su similitud con los cuadernos. Tienen pantalla, teclado, touchpad, procesador, discos duros, memorias y batería.
Resultado de imagen para computadoras portatiles














la regla de la informatica logica





La lógica computacional es la misma lógica matemática aplicada al contexto de las ciencias de la computación. Su uso es fundamental en varios niveles: en los circuitos computacionales, en la programación lógica y en el análisis y optimización (de recursos temporales y espaciales) de algoritmos.
La lógica se extiende al corazón de la informática a medida que surge como una disciplina: El trabajo de Alan Turing sobre el Entscheidungsproblem seguido del trabajo de Kurt Gödel sobre teoremas incompletos. La noción de la computadora de uso general que surgió de este trabajo fue de gran importancia para los diseñadores de la maquinaria informática en la década de 1940.
En los 50's y 60's, investigaciones predijeron que, cuando el conocimiento humano se pudiera expresar usando la lógica con notaciones matemáticas, sería posible crear una máquina capaz de razonar o una inteligencia artificial. Esto fue más difícil de lo esperado a causa de la complejidad del razonamiento humano. En la lógica de programación, un programa consiste en una colección de axiomas y reglas. Los sistemas de programación lógicos (como Prolog) calculan las consecuencias de los axiomas y las reglas organizadas para responder a una consulta.
Hoy en día, la lógica es extensamente aplicada en los campos de inteligencia artificial y de ciencias de computación, y estos campos proporcionan una rica fuente de problemas en la lógica formal e informal. La teoría de la argumentación es un buen ejemplo de cómo la lógica está siendo aplicada a la inteligencia artificial. El sistema de clasificación computacional ACM, en particular, considera:
  • Sección F.3 en Lógicas y significados de programas y F.4 en Lógica matemática y lenguajes formales como parte de la teoría de la ciencia de computación: este trabajo cubre la semántica formal de los lenguajes de programación tan bien como el trabajo de métodos formales como la lógica de Hoare.
  • Lógica booleana como fundamento en el hardware de la computadora, particularmente la sección del sistema B.2 en la estructura aritmética y lógica, relacionado a operadores AND, NOT y OR.
  • Muchos formalismos lógicos fundamentales son esenciales para la sección I.2 sobre inteligencia artificial, por ejemplo la lógica modal y la lógica por defecto en los formalismos y métodos de representación del conocimiento, las cláusulas de Horn en la programación lógica y la lógica de descripción.
Además, las computadoras se pueden usar como herramientas para los lógicos. Por ejemplo, en lógica simbólica y lógica matemática, las pruebas de los seres humanos pueden ser asistidos por computadoras. Usando la prueba automatizada del teorema, las máquinas pueden encontrar y comprobar pruebas, así como trabajar con las pruebas demasiado largas para escribir a mano.
Resultado de imagen para logica computacional

Circuitos computacionales

El nivel menos abstracto dentro de una computadora está constituido por circuitos electrónicos que responden a diferentes señales eléctricas, siguiendo los patrones de la lógica booleana; esto es, compuertas lógicas que devuelven un valor dependiendo de las entradas que se le dan al sistema. Existen ocho compuertas lógicas básicas con las cuales se pueden formar sistemas muy complejos: AND, OR, Inverter, Buffer, NAND, NOR, XOR y XNOR. Todas ellas son representadas mediante un símbolo y una tabla de valores de verdad, que es simplemente un cuadro donde se ubican todas las posibles entradas y los valores que devolvería la compuerta dados dichos valores.
Todo sistema computacional, por muy complejo que sea, no está compuesto por más que circuitos electrónicos que únicamente entienden un lenguaje binario. La lógica computacional se encarga de modelar y optimizar tales sistemas a este nivel.
Resultado de imagen para logica computacional