lunes, 22 de enero de 2018
domingo, 21 de enero de 2018
Conceptos de la programación
Un proceso es la ejecución de un programa, es decir, los datos e instrucciones están cargados en la memoria principal, ejecutándose o esperando a hacerlo.
Un proceso no tiene porqué estar siempre en ejecución. Puede pasar por diferentes estados:
- Preparado: Un proceso preparado es un proceso que está preparado para ejecutarse. Sólo le "falta" la CPU
- En Ejecución: Un proceso en ejecución es un proceso que "tiene" CPU, se está ejecutando
- Bloqueado: Un proceso bloqueado está esperando que ocurra un suceso antes de poder "usar" la CPU. Dicho suceso suele ser una operación de Entrada / Salida: pulsar una tecla, leer de disco... Pero también puede ser que esté esperando a que otro proceso haga algo:
- 1. Creación del proceso. Está preparado para ejecutarse
- 2. El proceso se ejecuta en CPU
- 3. El proceso espera a que ocurra un suceso y se bloquea
- 4. Ocurre el suceso por el que esperaba el proceso. Está preparado para ejecutarse
- 5. El proceso "sale" de la CPU
- 6. Fin de la ejecución del proceso
No es necesario que se cumplan todos los pasos, por ejemplo, podría ser que un proceso hiciera los pasos 1-2-6.
Desde el punto de vista del Hardware, dependiendo del número de CPU's, un sistema puede ser:
- Sistema Monoprocesador
- Sistema Multiprocesador
- Sistema fuertemente acoplado
- Sistema débilmente acoplado
Como su nombre indica, un sistema monoprocesador es aquel en el que sólo hay una CPU; y como todos habréis imaginado, un sistema multiprocesador es el que tiene varias CPU's. Éste último se divide en 2 tipos. Los sistemas fuertemente aclopados, en los que hay memoria común y los débilmente acoplados, en los que no hay memoria común. Un ejemplo de los fuertemente acoplados es un PC con varios procesadores, y otro de los débilmente acoplados es una red de ordenadores.
Desde el punto de vista del Software, también hay diferentes tipos de sistemas, atendiendo a cómo se ejecutan los procesos:
- Sistema de Multiprogramación
- Sistema de Multiprocesamiento
La Multiprogramación consiste en que todos los procesos se ejecuten en la misma CPU. Esto se consigue mediante la intercalación de la ejecución de los procesos.
En Multiprocesamiento cada proceso se ejecuta en una CPU. En este caso hay paralelismo real en la ejecución de los procesos.
Además de la programación imperativa o secuencial y la programación concurrente, hay otros paradigmas o enfoques de la programación.
La programación imperativa se centra en la transformación que hay que realizar para procesar los datos, pasando estos a un segundo plano. En cambio, la programación orientada a objetos gira en torno a un nuevo concepto: el objeto. Éste comprende tanto procesos como datos. Aunque pueda parecer más complejo, este tipo de programación se asemeja a la forma que tiene el ser humano de ver el mundo, frente a la programación imperativa que está orientada a la máquina. Para entenderlo mejor, un objeto es "una cosa con límites definidos", como por ejemplo, una pelota, que tiene características (datos como tamaño o color), asociadas a unas operaciones (procesos como botar o lanzar) aplicables sobre el objeto. Otras operaciones no son válidas. No puedes beberte una pelota... aunque el mundo es muy raro y hay de todo. Otra característica importante de la programación orientada a objetos es la herencia. Este mecanismo se utiliza para estructurar el programa en forma jerárquica.
La programación declarativa es otra visión de la programación, en la que no se describe cómo obtener los resultados, sino qué es lo que debemos obtener. Se divide en 2 tipos, la programación lógica y la programación funcional.
Tecnología
Dentro del campo que nos interesa a nosotros, la tecnología tiene el objetivo de eliminar las tareas repetitivas, facilitando el trabajo y haciéndolo más eficiente así como aumentando la productividad y los beneficios de la empresa.
Programación
La programación es una de las etapas más importantes del ciclo de vida de un proyecto (explicaremos más adelante lo que es este termino), y requiere un método de trabajo. La programación es el resultado de dicho trabajo.
La programación es el instrumento que permite la ejecución de las tareas automatizadas de un sistema informático.
Las herramientas que utilizaremos para programar son los lenguajes de programación, a través de las cuales codificaremos los programas.
Programa
Conjunto de instrucciones entendibles por el ordenador que permiten realizar un trabajo o resolver un problema.
Un programa debe ser finito, es decir, tiene que tener un inicio y un fin. Tiene que estar bien confeccionado para que, al introducir un dato, salga una solución y si se volviese a introducir el mismo dato, saliese de nuevo la misma solución.
Metodología de la programación
Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones que nos indican la forma de programar.
Cada lenguaje de programación sigue una metodología distinta.
Lenguaje de programación
Es un conjunto de reglas semánticas así como sintácticas que los programadores usan para la codificación de instrucciones de un programa o algoritmo de programación.
Existen varios lenguajes de programación.
Entorno de programación o entorno de desarrollo
Es el conjunto de herramientas utilizadas para la elaboración de un programa.
Recursos
Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco duro
..). Una vez conocidos los conceptos básicos necesarios para el aprendizaje de la programación podemos empezar a ver los diferentes tipos de lenguajes de programación.
Fuentes:
- http://www.ciberaula.com/articulo/conceptos
- https://desarrolloweb.com/articulos/2357.php
viernes, 19 de enero de 2018
Evolución de la programación
Generaciones De Los Lenguajes De Programación
Los lenguajes de programación se dividen en 2 categorías:
- Bajo nivel: Son dependientes de la máquina, están diseñados para ejecutarse en una determinada computadora. A esta categoría pertenecen las 2 primeras generaciones.
- Alto Nivel: Son independientes de la máquina y se pueden utilizar en una variedad de computadoras. Pertenecen a esta categoría la tercera y la cuarta generación. Los lenguajes de más alto nivel no ofrecen necesariamente mayores capacidades de programación, pero si ofrecen una interacción programador/computadora más avanzada. Cuanto más alto es el nivel del lenguaje, más sencillo es comprenderlo y utilizarlo.
Cada generación de lenguajes es más fácil de usar y más parecida a un lenguaje natural que su predecesores. Los lenguajes posteriores a la cuarta generación se conocen como lenguajes de muy alto nivel. Son lenguajes de muy alto nivel los generadores de aplicaciones y los naturales. En cada nuevo nivel se requieren menos instrucciones para indicar a la computadora que efectúe una tarea particular. Pero los lenguajes de alto nivel son sólo una ayuda para el programador. Un mayor nivel significa que son necesarios menos comandos, debido a que cada comando o mandato de alto nivel reemplaza muchas instrucciones de nivel inferior.
Primera generación: Empezó en los años 1940-1950 en este lenguaje se utilizaba códigos binarios, que eran representados ene secuencias de ceros y unos, y cada modelo de ordenador tenia su propio código. Por eso se llama lenguaje maquina. Consistía enteramente de una secuencia de 0s y 1s que los controles de la computadora interpreta como instrucciones, eléctricamente.
Segunda generación: A fines de los 50´ llamado también lenguaje simbolico,asi mismo propio de la maquina, permitían simplificar la escritura de la instrucciones y las hacían mas legibles.
Primeros lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic.
La segunda generación de lenguajes de programación consistía se identificaron como lenguajes ensambladores. Un lenguaje ensamblador convierte las secuencias de 0s y 1s a un lenguaje entendido por los seres humanos, como “añadir”, “sumar”, etc. El código escrito en un lenguaje ensamblador se convierte en lenguaje de máquina (1GL).
Tercera generación: Hacia los años 60´ ya este es un nivel mas alto de programación que sustituyo los símbolos por los códigos independientes de la maquina.
Lenguajes estructurados: Algol, Pascal, C, ADA.
La tercera generación de lenguajes de programación se conoce como lenguajes de alto nivel. Un lenguaje de alto nivel tiene una gramática y sintaxis similar a las palabras en una oración. Un compilador se encarga de traducir el lenguaje de alto nivel a lenguaje ensamblador o código máquina. Todos los lenguajes de programación de software necesitan ser traducidos a código de máquina para una computadora para utilizar las instrucciones que contienen.
Cuarta generación: Es toda aquella herramienta que permite crear una aplicación combinando piezas prefabricadas,algunos piensan que no se le puede dar el nombre de lenguaje a este tipo de herramientas y que proponen el nombre de cuarta generación para la programación orientada a objetos.
Lenguajes Declarativos: SQL Generadores de aplicaciones, Herramientas CASE.
La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de datos. Hay dos tipos de lenguajes de cuarta generación, según se orienten:
- A la producción: Diseñados sobre todo para profesionales en la computación.
- Al usuario: Diseñados sobre todo para los usuarios finales, que pueden escribir programas para hacer consultas en una base de datos y para crear sistemas de información. También se llama lenguaje de consultas (SQL, Structured Query Language: lenguaje estructurado para consultas).
Quinta generación: Lenguaje de inteligencia artificial se desarrollo a principios de los 80´. Tiene una mayor legibilidad de los programas, portabilidad, facilidad de aprendizaje y facilidad de modificación.Imitación de la mente humana
La quinta generación de lenguajes de programación es utilizada para redes neuronales. Una red neuronal es una forma de inteligencia artificial que trata de imitar la mente humana.
- http://lenguajedeborlan.blogspot.mx/p/generaciones-de-los-lenguajes-de.html
- http://www.cavsi.com/preguntasrespuestas/cuales-son-las-generaciones-de-los-lenguajes-de-programacion/
- http://www.mailxmail.com/curso-componentes-pc-s/generaciones-lenguajes-programacion
- https://es.slideshare.net/mel_15/mi-lenguaje-de-programacion
Indice
BLOQUE 1. FUNDAMENTOS DE LA PROGRAMACIÓN
Subtema 1: Evolución de la programación
Subtema 2: Conceptos de la programación
Suscribirse a:
Comentarios (Atom)
Tablas de multiplicar
#include <iostream> using namespace std; int imprime_tabla(int opcion); int main() { int opcion=0; cout << "Tablas de...
-
Los ciclos o también conocidos como bucles, son una estructura de control esencial al momento de programar. Tanto C como C++ y la mayoría d...
-
Concepto de Problema No hay un concepto determinado del problema, depende del contexto en el que se está desarrollando. Debemos resalta...
-
La calculadora básica realiza en CodeBlocks tiene 4 funciones: sumar, restar,y potencia dividir y multiplicar. Este código fue realizado con...








