Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
PROGRAMACIÓN por Mind Map: PROGRAMACIÓN

1. BREVE HISTORIA

1.1. DISPOSITIVOS MECÁNICOS

1.1.1. 300 Y 500 A.D ABACO: El dispositivo de cálculo más antiguo que se conoce es el ábaco, que consiste en una serie de cuentas (bolas) ensartadas en alambres que permiten representar los distintos números en el sistema decimal y realizar operaciones con ellos.

1.1.2. 1642 PASCALINA: Creada por Blaise Pascal, fue la primer máquina mecánica para calcular, utilizaba una serie de ruedas de diez dientes que representaban un digito del 0 al 9. Treinta años más tarde, Leibnitz crearía otra calculadora mecánica mejorada, ya que podía multiplicar, dividir y extraer raíces cuadradas

1.1.3. 1801 TELAR PROGRAMABLE: El francés Joseph Marie Jacquard en 1801 crea el primer telar programable. Con el telar programable se utilizaban tarjetas perforadas a través de los cuales con los agujeros se le indicaba a la aguja donde recoger el hilo para crear los diseños de forma automática

1.1.4. 1822 Máquina diferencial Charles Babbage: Charles Babbage, considerado el que dio origen a la informática, recoge las ideas del telar programable en su Máquina diferencial. Esta máquina resolvía ecuaciones diferenciales y cálculo de polinomios, introduciendo datos a través de tarjetas perforadas.

1.1.5. 1843 NOTAS ADA LOVELACE: Ada Lovelace creyó en la idea de Babbage y realizó la traducción al inglés de los escritos de la máquina de Babbage y elaboró unas notas que pasaron a la historia. Dentro de las notas de Ada se encuentra el primer programa/algoritmo de la historia

1.2. COMPUTADORAS ELECTROMECÁNICAS Y ELECTRÓNICAS

1.2.1. 1936 MAQUINA DE TURING: Alan Turing, considerado uno de los padres de la ciencia de la computación y precursor de la informática moderna, proporcionó una influyente formalización de los conceptos de algoritmo y computación. Define la máquina universal o máquina de Turing que recogía los conceptos de Ada Lovelace

1.2.2. 1931 KONRAD ZUSE: La Z1 fue la primera electrocomputadora mecánica programable, construida por Konrad Zuse en el año 1938 en Alemania. Era la primera que se podía programar, y lo hacía en base al sistema binario. usó lógica booleana y números de punto flotante binarios, aunque no era fiable en la operación. Pesaba una tonelada y estaba compuesta de unas 20.000 piezas.

1.2.3. 1944 MARK 1 IBM: Fue el primer ordenador electromecánico, construido en IBM y enviado a Harvard en 1944. Tenía 760.000 ruedas y 800 kilómetros de cable y se basaba en la máquina analítica de Charles Babbage. Funcionaba con relés, se programaba con interruptores y leía los datos de cintas de papel perforado

1.2.4. 1946 ENIAC John Mauchly y John Presper: EL ENIAC (“calculador e integrador numérico electrónico”) fue la primera computadora digital totalmente electrónica y de propósito digital. Construida en la Universidad de Pensilvana en 1946, contenía 18000 válvulas de vació, y para programarlo había que cambiar manualmente el cableado. Podía resolver 5000 sumas o 300 multiplicaciones en 1 segundo y resolvió en 2 horas un problema que a una persona le hubiera llevado 100 años. Se utilizó mas que todo en proyectos militares

1.2.5. 1951 UNIVAK REMINGTON RAND: Fue la primer computadora electrónica comercial, la UNIVAC I, fue también la primera capaz de procesar información numérica y textual. La maquina marcó el inicio de la era informática. Con la UNIVAC, se elaboró el censo en los Estados Unidos del año 1951 y se predijo correctamente el ganador de las elecciones presidenciales en 1952.

1.3. GENERACIONES TECNOLÓGICAS

1.3.1. PRIMERA GENERACIÓN

1.3.1.1. 1950-1960 Computadores similares al ENIAC, Elemento característico: Válvulas

1.3.2. SEGUNDA GENERACIÓN

1.3.2.1. 1960-1965 Las máquinas ganan potencia y disminuyen tamaño y consumo Elemento característico Transistores

1.3.3. TERCERA GENERACIÓN

1.3.3.1. 1965-1970 Se reduce el consumo y tamaño y aparecen los miniordenadores Elemento característico: Circuitos integrados

1.3.4. CUARTA GENERACIÓN

1.3.4.1. 1971-ACTUAL Aparecen los microordenadores y los ordenadores domésticos Elemento característico: Microprocesador

1.3.5. QUINTA GENERACIÓN

1.3.5.1. 1982-ACTUAL Ordenadores y desarrollos con inteligencia artificial Elemento característico: Inteligencia Artificial

2. AREAS DE LA PROGRAMACIÓN

2.1. PARTE 1

2.1.1. DESARROLLO WEB

2.1.1.1. BACKEND

2.1.1.2. FRONTEND

2.1.2. SEGURIDAD INFORMÁTICA

2.1.3. DESARROLLO DE VIDEOJUEGOS

2.1.4. APLICACIONES DE ESCRITORIO

2.1.5. DESARROLLO MÓVIL

2.2. PARTE 2

2.2.1. REALIDAD AUMENTADA Y VIRTUAL

2.2.2. SISTEMAS OPERATIVOS/ EMBEBIDOS

2.2.3. CLOUD COMPUTING

2.2.4. MACHINE LEARNING

3. ALGORITMOS

3.1. QUE ES UN ALGORITMO

3.1.1. ES UNA SECUENCIA DE PASOS LÓGICOS Y ORDENADOS LOAS CUALES LE DAMOS SOLUCIÓN A UN PROBLEMA DETERMINADO

3.2. CARACTERISTICAS

3.2.1. PRECISO

3.2.1.1. Resolver problemas sin errores Tener un orden de realización

3.2.2. DEFINIDO

3.2.2.1. Si se sigue el algoritmo varias veces, se debe obtener el mismo resultado

3.2.3. FINITO

3.2.3.1. Tener un inicio y un fin

3.2.4. LEGIBLE

3.2.4.1. cualquier persona que vea el algoritmo debe ser capaz de comprenderlo

3.3. ALGORITMOS PARA SER EJECUTADOS POR PERSONAS

3.3.1. Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera que esta persona lo entienda claramente, algunas de las normas que debe seguir la construcción del algoritmo son las siguientes:

3.3.1.1. ▪ Debe estar escrito en el idioma que comprende la persona que realizará el algoritmo. ▪ Debe enumerar cada uno de los pasos a realizar en un orden lógico. ▪ Debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo.

3.4. ALGORITMOS PARA SER EJECUTADOS CON COMPUTADORAS

3.4.1. Los pasos para la solución de un problema utilizando como herramienta la computadora son:

3.4.1.1. • Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen a la solución de un problema dado (análisis del problema y desarrollo del algoritmo). • Expresar el algoritmo como un programa en un lenguaje de programación adecuado (fase de codificación). La actividad de expresar un algoritmo en forma de programa se denomina programación. • Ejecución y validación de programa por la computadora.

3.5. PARTES DE UN ALGORITMO

3.5.1. Inicio y Fin Una de las características de los algoritmos es que deben ser finitos. Se debe indicar claramente donde inicia , y donde termina. .

3.5.2. Variables En un algoritmo son muy importante los datos, estos se deben guardar en un sitio donde se puedan leer y modificar cada vez que lo requiera. Un espacio de memoria se denomina VARIABLE cuando su contenido puede variar en el tiempo y de CONSTANTE cuando no se permite que su contenido varíe.

3.5.3. Entrada de Datos Cuando se requiera que el usuario ingrese datos, se utilizará la instrucción LEER seguido del nombre de la variable donde se guardarán los datos ingresados por el usuario

3.5.4. Operación Asignación Es el modo de copiar un valor específico en una variable o espacio de memoria. La operación de asignación se representa con el símbolo: <-

3.5.4.1. .

3.6. ESTRUCTURAS ALGORITMICAS O DE CONTROL

3.6.1. Son un grupo de formas de trabajo que permiten mediante la manipulación de variables,realizar ciertos procesos específicos que nos lleven a la solución de problemas

3.6.1.1. TIPOS DE ESTRUCTURAS

3.6.1.1.1. ESTRUCTURAS SECUENCIALES

3.6.1.1.2. ESTRUCTURAS CONDICIONALES

3.6.1.1.3. ESTRUCTURAS CICLICAS

4. JERARQUIA DE OPERACIONES

4.1. OPERADORES

4.1.1. Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Existen operadores de diferentes tipos, los cuales trataremos a continuación.

4.1.1.1. OPERADORES ARITMÉTICOS

4.1.1.1.1. Se utilizan para realizar operaciones matemáticas.

4.1.1.2. OPERADORES RELACIONALES

4.1.1.2.1. Un operador relacional se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas o de carácter).

4.1.1.3. OPERADORES LÓGICOS

4.1.1.3.1. Un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas.

5. QUE ES LA PROGRAMACIÓN

5.1. La programación es darle instrucciones y datos a una computadora para que los procese y resuelva una tarea determinada

6. FORMAS DE REPRESENTAR UN ALGORITMO

6.1. DIAGRAMAS DE FLUJO

6.1.1. Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado.

6.1.1.1. REGLAS PARA DIBUJAR UN DIGRAMA DE FLUJO

6.1.1.1.1. Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:

6.1.1.1.2. Reglas para la creación de Diagramas ▪ Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha. ▪ Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información de procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales). ▪ Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores cuando sea estrictamente necesario. ▪ No deben quedar líneas de flujo sin conectar ▪ Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras. ▪ Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final. ▪ Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

6.2. SEUDOCÓDIGOS

6.2.1. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores.

6.2.1.1. EJEMPLO

6.2.1.1.1. Proceso millasMetros //DATOS: //CONSTANTES Definir MILL_METR Como Numérico; MILL_METR = 1609; //VARIABLES Definir Dmillas Numérico; Definir Dmetros Numérico; //ALGORITMO: Escribir ”Distancia en millas: ”; Leer Dmillas; Dmetros = Dmillas * MILL_METR; Escribir “Distancia en metros:”, Dmetros FIN