1. Tecnologías de la información y la
comunicación
PROGRAMACIÓN
Ivanina Krasimirova Ivanova 1 bachillarato
2. ¿QUÉ ES UN PROGRAMA?
Un programa informático es un conjunto de instrucciones que una
vez ejecutadas realizarán una o varias tareas en un ordenador. Sin
programas, estas máquinas no pueden funcionar.
Al conjunto general de programas, se le denomina software, que
más genéricamente se refiere al equipamiento lógico o soporte
lógico de una computadora digital.
Hay que decir que un programa informático o software es un
elemento imprescindible para el normal funcionamiento de un
ordenador. Puede ser tanto un programa ejecutable como su
código fuente, que es escrito por los programadores.
De acuerdo a sus funciones, un programa puede ser catalogado
como un software de sistema o un software de aplicación.
En informática, a los programas se los denomina binarios, debido
a que una vez que han pasado por el proceso de compilación y
han sido creados, las instrucciones que se escribieron en un
determinado lenguaje de programación, han sido traducidas al
único idioma que la máquina comprende, combinaciones de ceros
y uno llamado código máquina.
3. LOS LENGUAJES DE PROGRAMACIÓN
Un lenguaje de programación es un idioma artificial diseñado para
expresar procesos que pueden ser llevados a cabo por máquinas
como los ordenadores.
Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar
algoritmos con precisión, o como modo de comunicación humana.
La palabra programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de
procedimientos lógicos, a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.
5. LENGUAJES DE BAJO NIVEL
Son lenguajes totalmente dependientes de la máquina, es decir
que el programa que se realiza con este tipo de lenguajes no se
pueden migrar o utilizar en otras maquinas.
Al estar prácticamente diseñados a medida del
hardware, aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la máquina las
operaciones fundamentales para su funcionamiento. Este lenguaje es
mucho más rápido que los lenguajes de alto nivel.
El lenguaje ensamblador :es un derivado del lenguaje maquina y está
formado por abreviaturas de letras y números llamadas mnemotécnicos.
Con la aparición de este lenguaje se crearon los programas traductores
para poder pasar los programas escritos en lenguaje ensamblador a
lenguaje máquina.
6. LENGUAJES DE ALTO NIVEL
Son aquellos que se encuentran más cercanos al lenguaje natural
que al lenguaje máquina.
Se trata de lenguajes independientes de la arquitectura del
ordenador. Por lo que, un programa escrito en un lenguaje de alto
nivel, se puede poner de una máquina a otra sin ningún tipo de
problema.
Suelen usar tipos de datos para la programación y hay lenguajes
de propósito general (cualquier tipo de aplicación) y de propósito
especifico (como FORTRAN para trabajos científicos).
7. LENGUAJES DE MEDIO NIVEL
Se trata de un termino no aceptado por todos, pero es conocido.
Estos lenguajes se encuentran en un punto medio entre los dos
anteriores. Dentro de estos lenguajes podría situarse C ya que
puede acceder a los registros del sistema, trabajar con direcciones
de memoria, todas ellas características de lenguajes de bajo nivel y
a la vez realizar operaciones de alto nivel.
9. Primera generación: Los primeros ordenadores se programaban
directamente en código binario, que puede representarse mediante secuencias
de ceros y unos sistema binario. Cada modelo de ordenador tiene su propio
código, por esa razón se llama lenguaje de máquina.
Segunda generación: Los lenguajes simbólicos, asimismo propios de la
máquina, simplifican la escritura de las instrucciones y las hacen más legibles.
Tercera generación: Los lenguajes de alto nivel sustituyen las instrucciones
simbólicas por códigos independientes de la máquina, parecidas al lenguaje
humano o al de las Matemáticas.
Cuarta generación: Se ha dado este nombre a ciertas herramientas que
permiten construir aplicaciones sencillas combinando piezas prefabricadas. Hoy
se piensa que estas herramientas no son, propiamente hablando, lenguajes.
Algunos proponen reservar el nombre de cuarta generación para la
programación orientada a objetos.
Quinta generación: Se llama así a los lenguajes de la inteligencia
artificial, aunque con el fracaso del proyecto japonés de la quinta generación el
nombre ha caído en desuso.
11. PROGRAMACIÓN MODULAR
La programación modular consta de varias secciones dividas de
forma que interactúan a través de llamadas a procedimientos, que
integran el programa en su totalidad.
En la programación modular, el programa principal coordina las
llamadas a los módulos secundarios y pasa los datos necesarios
en forma de parámetros.
Cada modulo puede contener sus propios datos y llamar a otros
módulos o funciones.
12. PROGRAMACIÓN ESTRUCTURADA
La programación estructurada esta compuesta por un conjunto de
técnicas que han ido evolucionando aumentando
considerablemente la productividad del programa reduciendo el
tiempo de depuración y mantenimiento del mismo.
Esta programación estructurada utiliza un número limitado de
estructuras de control, reduciendo así considerablemente los
errores.
Un programa está estructurado si posee un único punto de entrada
y sólo uno de salida, existen de "1 a n" caminos desde el principio
hasta el fin del programa y por último, que todas las instrucciones
son ejecutables sin que aparezcan bucles infinitos.
13. PROGRAMACIÓN ORIENTADA A OBJETOS
Se trata de una técnica que aumenta considerablemente la
velocidad de desarrollo de los programas gracias a la reutilización
de los objetos.
El elemento principal de la programación orientada a objetos es el
objeto.
El objeto es un conjunto complejo de datos y programas que
poseen estructura y forman parte de una organización.
Un objeto contiene varios datos bien estructurados y pueden ser
visibles o no dependiendo del programador y las acciones del
programa en ese momento.
14. PROGRAMACIÓN CONCURRENTE
Este tipo de programación se utiliza cuando tenemos que realizar
varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y
programas a un recurso de forma simultanea.
Se trata de una programación más lenta y laboriosa, obteniendo
unos resultados lentos en las acciones.
15. PROGRAMACIÓN LÓGICA Y FUNCIONAL
Se suele utilizar en la inteligencia artificial y pequeños programas
infantiles. Se trata de una programación basada en el cálculo de
predicados (una teoría matemática que permite lograr que un
ordenador basándose en hecho y reglas lógicas, pueda dar
soluciones inteligentes).
La programación funcional se caracteriza principalmente por
permitir declarar y llamar a funciones dentro de otras funciones.
16. APLICACIONES PARA MÓVILES (APP INVENTOR)
Google App Inventor es una aplicación de Google Labs para
crear aplicaciones de software para el sistema operativo
Android. De forma visual y a partir de un conjunto de
herramientas básicas, el usuario puede ir enlazando una
serie de bloques para crear la aplicación. El sistema es
gratuito. Las aplicaciones fruto de App Inventor están
limitadas por su simplicidad, aunque permiten cubrir un gran
número de necesidades básicas en un dispositivo móvil.
Con Google App Inventor, se espera un incremento
importante en el número de aplicaciones para Android
debido a dos grandes factores: La simplicidad de uso, que facilitará la
aparición de un gran número de nuevas aplicaciones; y el Android Market , el
centro de distribución de aplicaciones para Android donde cualquier usuario
puede distribuir sus creaciones libremente.