Fundamentos de programación

Get Started. It's Free
or sign up with your email address
Rocket clouds
Fundamentos de programación by Mind Map: Fundamentos de programación

1. Apunta a dividir el programa en módulos independientes, cada uno con un comportamiento bien definido.

2. Clasificación del sw

2.1. Software de Aplicación

2.1.1. Programas escritos para realizar tareas particulares requeridas por los usuarios.

2.1.1.1. Negocios

2.1.1.1.1. Programas dedicados a mejorar la funcionalidad de la empresa. Por ejemplo:

2.1.1.2. Utileria

2.1.1.2.1. Ayudan administrar y a dar mantenimiento a la computadora. Por ejemplo:

2.1.1.3. Personal

2.1.1.3.1. Permiten realizar transacciones bancarias desde casa, enviar correo electrónico, agendar citas.

2.1.1.4. Entretenimiento

2.1.1.4.1. Pueden ser videojuegos de galería, simuladores de vuelo, muchos programas educativos se consideran software de entretenimiento.

2.2. Software de Sistema

2.2.1. Es la colección de programas que deben estar disponibles en cualquier sistema de cómputo. Se divide en:

2.2.1.1. Sistema operativo

2.2.1.1.1. Conjunto de programas que administran los recursos de la computadora y controlan el funcionamiento.

2.2.1.2. Controladores de dispositivos

2.2.1.2.1. Son programas que permiten a otros programas de mayor nivel como un sistema operativo interactuar con el hardware.

2.2.1.3. Programas utilitarios

2.2.1.3.1. Realizan varias funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento.

2.3. Software de Programación

2.3.1. Conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación. Se clasifica en:

2.3.1.1. Compiladores

2.3.1.1.1. Son aplicaciones que traducen el código fuente a lenguaje máquina, para que el equipo pueda entender las instrucciones recibidas

2.3.1.2. Depuradores

2.3.1.2.1. Utilizados para monitorear linea a linea la ejecución de un programa.

2.3.1.3. Interpretes

2.3.1.3.1. Permiten ejecutar programas. Ejectuan el código fuente a un enguaje intermedio antes de la ejecución.

3. Lenguaje de programación

3.1. Es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Se divide en:

3.1.1. Imperativo

3.1.1.1. Programa mediante una serie de comandos, agrupados en bloques y compuestos de ordenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple una condición.

3.1.2. Funcional

3.1.2.1. Crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones.

4. Programa

4.1. Es un conjunto de instrucciones que le posibilita a una computadora desarrollar diferentes funciones.

4.2. Programa imprescindible para el norma funcionamiento de una computadora.

5. Programación

5.1. Se conoce como programación a los pasos que se abordan para crear el código fuente de un programa informático.

6. Paradigmas de programación

6.1. Orientado a objetos

6.1.1. El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento.

6.2. Indica un método de realizar cómputos y la manera en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa.

6.2.1. Imperativo

6.2.1.1. Los programas se componen de un conjunto de sentencias que cambian su estado. Son secuencias de comandos que ordenan acciones a la computadora.

6.2.2. Declarativo

6.2.2.1. Opuesto al imperativo. Los programas describen los resultados esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos

6.2.3. Lógico

6.2.3.1. El problema se modela con enunciados de lógica de primer orden.

6.2.4. Funcional

6.2.5. Dirigido por eventos

6.2.5.1. El flujo del programa está determinado por sucesos externos (por ejemplo, una acción del usuario).

6.2.6. Orientado a aspectos

6.2.7. Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.

7. Editores de texto

7.1. Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato.

7.1.1. Editores de lineas

7.1.1.1. permitían al programador editar una sola línea a la vez. El programador debe especificar qué línea se debe editar.

7.1.2. Editores de pantalla completa

7.1.2.1. los editores de pantalla completa son más fáciles de usar que los editores de líneas, porque los programadores editan cualquier línea en cualquier momento.

8. Compiladores

8.1. Programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación. Se pueden dividir en:

8.1.1. Una sola pasada

8.1.1.1. examina el código fuente una vez, generando el código o programa objeto.

8.1.2. Pasadas multiples

8.1.2.1. Requieren pasos intermedios para producir un código en otro lenguaje, y una pasada final para producir y el código producido durante los pasos anteriores.

8.1.3. Optimación

8.1.3.1. Lee un código fuente, lo analiza y descubre errores potenciales sin ejecutar el programa.

8.1.4. Incrementales

8.1.4.1. Generan un código objeto instrucción por instrucción cuando el usuario teclea cada orden individual.

8.1.5. Ensamblador

8.1.5.1. El lenguaje fuente es lenguaje ensamblador y posee una estructura sencilla.

8.1.6. Cruzado

8.1.6.1. Se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar.

8.1.7. Con montador

8.1.7.1. Compilador que compila distintos módulos de forma independiente y después es capaz de enlazarlos.

8.1.8. Descompilador

8.1.8.1. Realiza el proceso inverso a la compilación, acepta código máquina y lo traduce a lenguaje de alto nivel.

9. Ejecutables

9.1. Es un archivo binario el cual la computadora interpreta como programa.

9.1.1. Portables

9.1.1.1. Se pueden ejecutar en varias plataformas

9.1.2. No portables

9.1.2.1. Estos por lo contrario son destinados a una plataforma concreta.

10. Interfaz de línea comando

10.1. Método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple.

10.1.1. Los ejemplos más claros de esto es el Shell de Unix, el command.com de Microsoft, que es la interfaz del sistema operativo DOS.

10.1.2. A nivel de aplicaciones AutoCad es uno de los principales exponentes de este estilo.

11. Algoritmo

11.1. Es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos. Se dividen en:

11.1.1. Cuantitativos

11.1.1.1. Son aquellos algoritmos en los cuales no están involucrados cálculos numéricos.

11.1.2. Cualitativos

11.1.2.1. Es aquel que involucra cálculos numéricos.

11.1.3. Formas de representación

11.1.3.1. Diagrama de flujo

11.1.3.1.1. Método de representación en el cual se utilizan figuras geométricas para la representación del algoritmo.

11.1.3.2. Diagrama Nassi-Schneiderman

11.1.3.2.1. Diagrama estructura en el cual las acciones se escriben en rectángulos o cajas de sucesión.

11.1.3.3. Pseudocódigo

11.1.3.3.1. Es la técnica que permite expresar la solución de un problema de un algoritmo mediante un escrito de palabras normales.