SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Programación:

En computación, la programación es el proceso de escribir -en un lenguaje de programación- el
código fuente de un software para indicarle a este qué tiene que hacer y como realizarlo. Un
término más amplio de programación puede incluir no sólo a escribir, sino a analizar, probar,
depurar y mantener el código programado.
El fin último de la programación es crear programas o software, que luego será ejecutado por otro
programa o directamente por el hardware de la computadora.

La programación es una parte del Ciclo de vida del software. Los modelos de análisis y desarrollo
general de software son estudiados por la ingeniería del software.

La programación se realiza mediante el uso de algoritmos, que son secuencias finitas, ordenadas y
no ambiguas de instrucciones que deben seguirse para resolver un problema.

Una vez que el programa informático ya se encuentra escrito, es necesario compilar el código para
que pueda ser ejecutado por la computadora.

El propósito de la programación es crear programas que exhiban un comportamiento deseado.

Características de la Programación

Exactitud y precisión: Un programa debe aceptar datos, procesarlos y generar resultados sin
errores de sintaxis o de lógica; de ahí la necesidad de exactitud y precisión. Integridad o
completitud: Un programa es completo sólo si ejecuta todas las operaciones que el usuario espera
al procesar un conjunto de datos.

Generalidad: La generalidad se entiende en dos sentidos: Un programa bien diseñado se puede
generalizar; es decir puede procesar conjuntos de datos que varían en el número de transacciones
y en la naturaleza de los datos mismos. Las instrucciones se deben elaborar para que no se limiten
a un número específico de transacciones en el conjunto de datos. No debe suponerse que una
parte específica de datos siempre sea de igual tamaño. El programa contiene diferentes opciones
que pueden o no ser aplicadas durante una corrida. Los usuarios pueden seleccionar la opción
adecuada cada vez.

Eficiencia: Debe asegurarse que las instrucciones para procesar datos se selecciones tan rápida y
fácilmente como sea posible. La rapidez y la eficiencia del procesamiento de datos puede variar
debido a: modo como se introducen los datos, orden en que se procesan los datos, instrucciones
particulares que se empleen para controlar el proceso, etc.

Documentación: Consiste en la inclusión de auxiliares que explican con claridad como ocurre el
procesamiento de los datos en un programa. La documentación incluida en un programa es de dos
tipos: externa: No está incluida en el programa mismo sino que va por separado. Comprende:
diagrama de flujo que muestre los pasos y los procedimientos y el orden en el cual tienen lugar;
explicación que describa en el lenguaje común cómo es el procesamiento de los datos; descripción
de los datos que van a introducirse y procesarse, incluyendo su tipo y tamaño. Interna: Consiste en
comentarios y descripciones que se insertan entre los enunciados ejecutables de un programa.
Explica la sucesión de los pasos del procesamiento y los objetivos de los diferentes grupo de
enunciados del programa
Objetivos de la programación: La programación debe perseguir la
obtención de programas de calidad. Para ello se establece una serie de factores que
determinan la calidad de un programa.

       Corrección. Un programa es correcto si hace lo que debe hacer tal y como se
       estableció en las fases previas a su desarrollo. Para determinar si un programa hace
       lo que debe, es muy importante especificar claramente qué debe hacer el programa
       antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace.

       Claridad. Es muy importante que el programa sea lo más claro y legible posible,
       para facilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa
       se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo
       en la edición; de esta forma se ve facilitado el trabajo del programador, tanto en la
       fase de creación como en las fases posteriores de corrección de errores,
       ampliaciones, modificaciones, etc.
       Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue
       creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible
       los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se
       suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido
       creado y a la cantidad de memoria que necesita, pero hay otros recursos que
       también pueden ser de consideración al obtener la eficiencia de un programa,
       dependiendo de su naturaleza (espacio en disco que utiliza, tráfico de red que
       genera, etc.).

       Portabilidad. Un programa es portable cuando tiene la capacidad de poder
       ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la
       que se elaboró. La portabilidad es una característica muy deseable para un
       programa, ya que permite, por ejemplo, a un programa que se ha desarrollado para
       sistemas GNU/Linux ejecutarse también en la familia de sistemas operativos
       Windows. Esto permite que el programa pueda llegar a más usuarios más
       fácilmente.

Entorno de programación: Es el banco de trabajo del programador
       Da soporte a las actividades de la fase de codificación (preparación del código y
       prueba de unidades)
       Los mismos productos sirven también para el diseño detallado y para las pruebas de
       integración.
Se sitúa, por tanto, en la parte central del ciclo de desarrollo




Funciones de un Entorno de Programación
Como se ha dicho, la misión de un Entorno de Programación es dar soporte a la preparación
de programas, es decir, a las actividades de codificación y pruebas.

       Las tareas esenciales de la fase de codificación son:
          o Edición (creación y modificación) del código fuente
          o Proceso/ejecución del programa
                    Interpretación directa (código fuente)
                    Compilación (código máquina) - montaje - ejecución
                    Compilación (código intermedio) - interpretación
       Otras funciones:
          o Examinar (hojear) el código fuente
          o Analizar consistencia, calidad, etc.
          o Ejecutar en modo depuración
          o Ejecución automática de pruebas
          o Control de versiones
          o Generar documentación, reformar código
          o ... y otras muchas más ...
Un lenguaje de programación es un idioma artificial diseñado para expresar
computaciones que pueden ser llevadas a cabo por máquinas como las computadoras.
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.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa
informático se le llama programación.

También 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.

   Existe un error común que trata por sinónimos los términos 'lenguaje de programación'
   y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de
   programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de
   páginas web que no es propiamente un lenguaje de programación, sino un conjunto de
   instrucciones que permiten diseñar el contenido de los documentos).

Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo
al lenguaje humano o natural. Una característica relevante de los lenguajes de
programación es precisamente que más de un programador pueda usar un conjunto común
de instrucciones que sean comprendidas entre ellos para realizar la construcción de un
programa de forma colaborativa.

Uso de los lenguajes de programación:
Una vez que se identifica una tarea y se conoce el algoritmo para resolverla, el programador
debe codificarlo en una lista de instrucciones, propias de algún lenguaje de computación.
Los programas pueden ser escritos en cualquier lenguaje de la amplia gama disponibles. La
escogencia del más adecuado, dependerá de factores como la experiencia del programador
con un lenguaje, determinar cuál producirá el programa menos complicado, la flexibilidad y
la compatibilidad del programa como resultado del lenguaje usado.

A continuación se presenta como ejemplo un sencillo programa fuente, escrito en C, el
cual, es un lenguaje de programación que llegó a ser muy popular, y justo al lado se explica
la acción que realizará la computadora en respuesta a los comandos del programa. El
programa tiene como finalidad el cálculo del promedio de una lista de cinco números.

En computación se suele hablar de niveles y generaciones de los lenguajes de
programación. Respecto al nivel, se clasifican en lenguajes de bajo y alto nivel. Los
lenguajes de bajo nivel, son aquellos que se asemejan al lenguaje empleado por la
computadora, mientras que los lenguajes de alto nivel, son aquellos que se asemejan al
lenguaje humano.

Los lenguajes de alto nivel son resultado de una evolución, desde los lenguajes de bajo
nivel. La computadora sólo es capaz de comprender su lenguaje máquina. Pero para las
personas no es fácil entender y manejar este código máquina de combinaciones binarias.
Las investigaciones dieron un primer paso que llevó a la evolución desde las hileras de
números binarios del código máquina, a un lenguaje ensamblador, que las representaba
como una serie de comandos más entendibles. Los lenguajes de nivel superior están
orientados más hacia lo que se quiere realizar, que en la manera como se ejecutarán los
comandos.

Generaciones de los lenguajes de programación

Primera generación: Lenguaje máquina Son los lenguajes más básicos. Los lenguajes de
máquina se representan en bytes, los cuales, están compuestos de bits, que son números
binarios o que consisten únicamente de ceros (0) o unos (1). Estos valores pueden
corresponder a que la electricidad esté encendida o apagada en la máquina, o a la presencia
o ausencia de carga magnética en un medio de almacenamiento. A partir de estos dos
estados se forman los esquemas de codificación (como el código ASCII) que permiten
generar letras, números, signos de puntuación y caracteres especiales. Una computadora
sólo es capaz de comprender su lenguaje máquina original, el conjunto de instrucciones
para realizar sus operaciones elementales.

Segunda generación: lenguajes ensambladores:
    Están constituidos por nemotécnicos similares a palabras en idioma inglés. En primer
lugar, se      crea un archivo fuente con las instrucciones que se desea que la computadora
ejecute, usando        un editor, que es una especie de procesador de palabras. El código
fuente es traducido al           lenguaje máquina mediante programas traductores
(compiladores). Los programadores rara vez          escriben programas de tamaño relevante
en este tipo de lenguajes, debido a que, a pesar que es      mucho más fácil que utilizar
código de máquina, siguen siendo altamente detallados                  (instrucciones muy
básicas). Sólo se hace en los casos donde la velocidad es clave (como en la
programación de juegos de video) y para afinar partes importantes de los programas que
son       escritos en lenguajes superiores.

   • Tercera generación: Lenguajes de alto nivel:
     Son llamados de alto nivel porque se asemejan más al lenguaje que utilizan los
humanos al      comunicarse. Fueron desarrollados con la finalidad de facilitar el proceso
de programación.      Cuentan con comandos que se acercan más a las palabras de uso
común en lugar de tener que      usar combinaciones binarias del código máquina o los
comandos básicos del ensamblador. Estos      lenguajes hacen más fácil la lectura,
escritura y comprensión de los programas, aunque de     manera semejante a los lenguajes
ensambladores, deben ser convertidos a lenguaje máquina,     para poder ser usados en la
computadora.

Los programas de la tercera generación son capaces de soportar programación estructurada,
es decir, permiten el uso de estructuras de programación específicas para ramificaciones y
ciclos en el flujo del programa. Por otro lado, resultan más claros puesto que usan palabras
o comandos semejantes al lenguaje normal, lo que permite compartir el desarrollo entre
diferentes programadores. Los programadores que conforman un equipo pueden leer el
código realizado por los demás y comprender la lógica y el flujo de control del programa.

Entre los lenguajes de tercera generación se incluyen:

- FORTRAN (Traductor de Fórmulas: Formula TRANslator), diseñado específicamente
para programas matemáticos y de ingeniería, motivo por el cual, no fue de amplio uso en
computadoras personales. Su uso se dirige especialmente a equipos de cómputo
dedicados a la investigación y la educación. La versión más actual (1990) fue
denominada FORTRAN-90.

- COBOL (Lenguaje simbólico de programación, orientado hacia aplicaciones comerciales
y de gestión: Common Business Oriented Languaje) desarrollado en 1960, con el fin de
solucionar las incompatibilidades de los fabricantes de computadoras. Ganó amplia
aceptación como lenguaje estandarizado llegándose a utilizar ampliamente en los
negocios, pero perdió seguidores en la pasada década. Motivado al problema del año
2000 fueron requeridos programadores especializados en este lenguaje para reprogramar
las millones de líneas de código escritas en COBOL para que tales programas
continuasen funcionando.

- BASIC (Código de instrucción simbólica universal para principiantes: Begginners
Allpurpose Symbolic Instruction Code) comienza como una herramienta para enseñar
sobre programación a estudiantes. Fue desarrollado por Jhon Kemeny y Thomas Kurtz
en 1964. Por su simplicidad se volvió ampliamente popular y usado en educación y entre
los programadores aficionados, pero no ha llegado a ser un lenguaje viable para
aplicaciones comerciales. Esto último se debe a que no posee un amplio repertorio de
herramientas como el que ofrecen otros lenguajes. Además, sus compiladores no
producen archivos ejecutables tan compactos, rápidos y eficientes como los que
   producen otros lenguajes.

- PASCAL, nombrado en honor del inventor francés Blas Pascal, es introducido por
Niklaus Wirth en 1971. El Pascal, buscaba superar las limitaciones de los otros lenguajes
de programación y demostrar la manera adecuada de implementar un lenguaje de
cómputo. Ha llegado a considerarse un excelente lenguaje de enseñanza. Las personas
que se inician en la programación le consideran fácil para implementar algoritmos, su
compilador es estricto con el uso de programación estructurada, asegurándose de que los
errores sean señalados al principio.
- C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie, quienes
buscaban un mejor lenguaje de integrar con el sistema operativo UNIX, para que los
usuarios pudiesen hacer modificaciones y mejoras con facilidad. El código ejecutable
obtenido del lenguaje C, es rápido y eficiente. El C es poderoso, puesto que brinda la
libertad de conseguir que se realice casi cualquier cosa en una computadora. Esta es una
de las razones por la cual se ha vuelto tan popular entre quienes desarrollan software para
aplicaciones comerciales profesionalmente. Su dificultad estriba, en que no es tan
sencillo de aprender en comparación con otros lenguajes.

- C++, Es un lenguaje de principios de los ochenta desarrollado por Bjarne Stroustrup. Es
   extremadamente poderoso y eficiente igual que el C. Su aprendizaje implica aprender
todo acerca de C y además aprender sobre la programación orientada a objetos y su
aplicación mediante el C++. Desde su origen ha ido ganando terreno entre quienes
desarrollaban en C.

- Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenzó a ganar
popularidad como red de comunicaciones a mediados de los noventa, Sun redirige a Java
para convertirlo en un ambiente de programación que permitiese crear sistemas
interactivos y dinámicos (denominados applets) para las páginas Web. La complejidad de
Java es similar a C++, pero ha ido ganando popularidad por la demanda de aplicaciones
para páginas Web, incluso se estima que puede llegar a desplazar a C++ como ambiente
de programación.

Las cinco generaciones de lenguajes de programación
    Generación          Nombre                           Particularidad
                                        Específico para cada microprocesador, uso de
   Primera       De máquina
                                        código binario
                                        Uso de nemotécnicos que abstraen del lenguaje
   Segunda       Ensamblador
                                        máquina.
                                        Lenguajes estructurados con comandos
   Tercera       De procedimientos
                                        cercanos al lenguaje común.
   Cuarta        Orientados a procesos Programas orientados a problemas específicos.
                                        Incluye inteligencia artificial y sistemas
   Quinta        Natural
                                        expertos.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (18)

Consulta
ConsultaConsulta
Consulta
 
CONSULTA
CONSULTACONSULTA
CONSULTA
 
El software 2
El software 2El software 2
El software 2
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
Programación
ProgramaciónProgramación
Programación
 
Programacion
ProgramacionProgramacion
Programacion
 
La programación
La programaciónLa programación
La programación
 
Introduccion programacion
Introduccion programacionIntroduccion programacion
Introduccion programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Software
SoftwareSoftware
Software
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
Programacion
ProgramacionProgramacion
Programacion
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 

Ähnlich wie Conceptos básicos programaciön

QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASsergiosalazarcano
 
Libro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadorLibro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadordavidcab
 
Lenguaje de programacion de c++
Lenguaje de programacion de c++Lenguaje de programacion de c++
Lenguaje de programacion de c++zoymar graterol
 
Conceptos básicos y definiciones sobre programación (1).pdf
Conceptos básicos y definiciones sobre  programación (1).pdfConceptos básicos y definiciones sobre  programación (1).pdf
Conceptos básicos y definiciones sobre programación (1).pdfJosManuelMartnez32
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte Yelixa Araque Angulo
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte Yelixa Araque Angulo
 
Saberes y tareas del programador
Saberes y tareas del programadorSaberes y tareas del programador
Saberes y tareas del programadorJessica
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacioninstuto
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programaciónRoberto Aguirre
 
Programacion ii capitulo3
Programacion ii capitulo3Programacion ii capitulo3
Programacion ii capitulo3Halmiron85
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionErikValladarez
 

Ähnlich wie Conceptos básicos programaciön (20)

BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
programación :)
programación :)programación :)
programación :)
 
Libro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadorLibro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programador
 
Lenguaje de programacion de c++
Lenguaje de programacion de c++Lenguaje de programacion de c++
Lenguaje de programacion de c++
 
Cuaderno3
Cuaderno3Cuaderno3
Cuaderno3
 
Int a la computacion
Int a la computacionInt a la computacion
Int a la computacion
 
Programacion
Programacion Programacion
Programacion
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Conceptos básicos y definiciones sobre programación (1).pdf
Conceptos básicos y definiciones sobre  programación (1).pdfConceptos básicos y definiciones sobre  programación (1).pdf
Conceptos básicos y definiciones sobre programación (1).pdf
 
Libro3
Libro3Libro3
Libro3
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Saberes y tareas del programador
Saberes y tareas del programadorSaberes y tareas del programador
Saberes y tareas del programador
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Programacion ii capitulo3
Programacion ii capitulo3Programacion ii capitulo3
Programacion ii capitulo3
 
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacionPteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacion
 

Conceptos básicos programaciön

  • 1. Programación: En computación, la programación es el proceso de escribir -en un lenguaje de programación- el código fuente de un software para indicarle a este qué tiene que hacer y como realizarlo. Un término más amplio de programación puede incluir no sólo a escribir, sino a analizar, probar, depurar y mantener el código programado. El fin último de la programación es crear programas o software, que luego será ejecutado por otro programa o directamente por el hardware de la computadora. La programación es una parte del Ciclo de vida del software. Los modelos de análisis y desarrollo general de software son estudiados por la ingeniería del software. La programación se realiza mediante el uso de algoritmos, que son secuencias finitas, ordenadas y no ambiguas de instrucciones que deben seguirse para resolver un problema. Una vez que el programa informático ya se encuentra escrito, es necesario compilar el código para que pueda ser ejecutado por la computadora. El propósito de la programación es crear programas que exhiban un comportamiento deseado. Características de la Programación Exactitud y precisión: Un programa debe aceptar datos, procesarlos y generar resultados sin errores de sintaxis o de lógica; de ahí la necesidad de exactitud y precisión. Integridad o completitud: Un programa es completo sólo si ejecuta todas las operaciones que el usuario espera al procesar un conjunto de datos. Generalidad: La generalidad se entiende en dos sentidos: Un programa bien diseñado se puede generalizar; es decir puede procesar conjuntos de datos que varían en el número de transacciones y en la naturaleza de los datos mismos. Las instrucciones se deben elaborar para que no se limiten a un número específico de transacciones en el conjunto de datos. No debe suponerse que una parte específica de datos siempre sea de igual tamaño. El programa contiene diferentes opciones que pueden o no ser aplicadas durante una corrida. Los usuarios pueden seleccionar la opción adecuada cada vez. Eficiencia: Debe asegurarse que las instrucciones para procesar datos se selecciones tan rápida y fácilmente como sea posible. La rapidez y la eficiencia del procesamiento de datos puede variar debido a: modo como se introducen los datos, orden en que se procesan los datos, instrucciones particulares que se empleen para controlar el proceso, etc. Documentación: Consiste en la inclusión de auxiliares que explican con claridad como ocurre el procesamiento de los datos en un programa. La documentación incluida en un programa es de dos tipos: externa: No está incluida en el programa mismo sino que va por separado. Comprende: diagrama de flujo que muestre los pasos y los procedimientos y el orden en el cual tienen lugar; explicación que describa en el lenguaje común cómo es el procesamiento de los datos; descripción
  • 2. de los datos que van a introducirse y procesarse, incluyendo su tipo y tamaño. Interna: Consiste en comentarios y descripciones que se insertan entre los enunciados ejecutables de un programa. Explica la sucesión de los pasos del procesamiento y los objetivos de los diferentes grupo de enunciados del programa
  • 3. Objetivos de la programación: La programación debe perseguir la obtención de programas de calidad. Para ello se establece una serie de factores que determinan la calidad de un programa. Corrección. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace. Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo en la edición; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de creación como en las fases posteriores de corrección de errores, ampliaciones, modificaciones, etc. Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a la cantidad de memoria que necesita, pero hay otros recursos que también pueden ser de consideración al obtener la eficiencia de un programa, dependiendo de su naturaleza (espacio en disco que utiliza, tráfico de red que genera, etc.). Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se elaboró. La portabilidad es una característica muy deseable para un programa, ya que permite, por ejemplo, a un programa que se ha desarrollado para sistemas GNU/Linux ejecutarse también en la familia de sistemas operativos Windows. Esto permite que el programa pueda llegar a más usuarios más fácilmente. Entorno de programación: Es el banco de trabajo del programador Da soporte a las actividades de la fase de codificación (preparación del código y prueba de unidades) Los mismos productos sirven también para el diseño detallado y para las pruebas de integración.
  • 4. Se sitúa, por tanto, en la parte central del ciclo de desarrollo Funciones de un Entorno de Programación Como se ha dicho, la misión de un Entorno de Programación es dar soporte a la preparación de programas, es decir, a las actividades de codificación y pruebas. Las tareas esenciales de la fase de codificación son: o Edición (creación y modificación) del código fuente o Proceso/ejecución del programa  Interpretación directa (código fuente)  Compilación (código máquina) - montaje - ejecución  Compilación (código intermedio) - interpretación Otras funciones: o Examinar (hojear) el código fuente o Analizar consistencia, calidad, etc. o Ejecutar en modo depuración o Ejecución automática de pruebas o Control de versiones o Generar documentación, reformar código o ... y otras muchas más ...
  • 5. Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. 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.1 Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. También 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. Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos). Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa. Uso de los lenguajes de programación: Una vez que se identifica una tarea y se conoce el algoritmo para resolverla, el programador debe codificarlo en una lista de instrucciones, propias de algún lenguaje de computación. Los programas pueden ser escritos en cualquier lenguaje de la amplia gama disponibles. La escogencia del más adecuado, dependerá de factores como la experiencia del programador con un lenguaje, determinar cuál producirá el programa menos complicado, la flexibilidad y la compatibilidad del programa como resultado del lenguaje usado. A continuación se presenta como ejemplo un sencillo programa fuente, escrito en C, el cual, es un lenguaje de programación que llegó a ser muy popular, y justo al lado se explica
  • 6. la acción que realizará la computadora en respuesta a los comandos del programa. El programa tiene como finalidad el cálculo del promedio de una lista de cinco números. En computación se suele hablar de niveles y generaciones de los lenguajes de programación. Respecto al nivel, se clasifican en lenguajes de bajo y alto nivel. Los lenguajes de bajo nivel, son aquellos que se asemejan al lenguaje empleado por la computadora, mientras que los lenguajes de alto nivel, son aquellos que se asemejan al lenguaje humano. Los lenguajes de alto nivel son resultado de una evolución, desde los lenguajes de bajo nivel. La computadora sólo es capaz de comprender su lenguaje máquina. Pero para las personas no es fácil entender y manejar este código máquina de combinaciones binarias. Las investigaciones dieron un primer paso que llevó a la evolución desde las hileras de números binarios del código máquina, a un lenguaje ensamblador, que las representaba como una serie de comandos más entendibles. Los lenguajes de nivel superior están orientados más hacia lo que se quiere realizar, que en la manera como se ejecutarán los comandos. Generaciones de los lenguajes de programación Primera generación: Lenguaje máquina Son los lenguajes más básicos. Los lenguajes de máquina se representan en bytes, los cuales, están compuestos de bits, que son números binarios o que consisten únicamente de ceros (0) o unos (1). Estos valores pueden corresponder a que la electricidad esté encendida o apagada en la máquina, o a la presencia o ausencia de carga magnética en un medio de almacenamiento. A partir de estos dos estados se forman los esquemas de codificación (como el código ASCII) que permiten generar letras, números, signos de puntuación y caracteres especiales. Una computadora sólo es capaz de comprender su lenguaje máquina original, el conjunto de instrucciones para realizar sus operaciones elementales. Segunda generación: lenguajes ensambladores: Están constituidos por nemotécnicos similares a palabras en idioma inglés. En primer lugar, se crea un archivo fuente con las instrucciones que se desea que la computadora ejecute, usando un editor, que es una especie de procesador de palabras. El código fuente es traducido al lenguaje máquina mediante programas traductores (compiladores). Los programadores rara vez escriben programas de tamaño relevante en este tipo de lenguajes, debido a que, a pesar que es mucho más fácil que utilizar código de máquina, siguen siendo altamente detallados (instrucciones muy básicas). Sólo se hace en los casos donde la velocidad es clave (como en la programación de juegos de video) y para afinar partes importantes de los programas que son escritos en lenguajes superiores. • Tercera generación: Lenguajes de alto nivel: Son llamados de alto nivel porque se asemejan más al lenguaje que utilizan los humanos al comunicarse. Fueron desarrollados con la finalidad de facilitar el proceso de programación. Cuentan con comandos que se acercan más a las palabras de uso común en lugar de tener que usar combinaciones binarias del código máquina o los
  • 7. comandos básicos del ensamblador. Estos lenguajes hacen más fácil la lectura, escritura y comprensión de los programas, aunque de manera semejante a los lenguajes ensambladores, deben ser convertidos a lenguaje máquina, para poder ser usados en la computadora. Los programas de la tercera generación son capaces de soportar programación estructurada, es decir, permiten el uso de estructuras de programación específicas para ramificaciones y ciclos en el flujo del programa. Por otro lado, resultan más claros puesto que usan palabras o comandos semejantes al lenguaje normal, lo que permite compartir el desarrollo entre diferentes programadores. Los programadores que conforman un equipo pueden leer el código realizado por los demás y comprender la lógica y el flujo de control del programa. Entre los lenguajes de tercera generación se incluyen: - FORTRAN (Traductor de Fórmulas: Formula TRANslator), diseñado específicamente para programas matemáticos y de ingeniería, motivo por el cual, no fue de amplio uso en computadoras personales. Su uso se dirige especialmente a equipos de cómputo dedicados a la investigación y la educación. La versión más actual (1990) fue denominada FORTRAN-90. - COBOL (Lenguaje simbólico de programación, orientado hacia aplicaciones comerciales y de gestión: Common Business Oriented Languaje) desarrollado en 1960, con el fin de solucionar las incompatibilidades de los fabricantes de computadoras. Ganó amplia aceptación como lenguaje estandarizado llegándose a utilizar ampliamente en los negocios, pero perdió seguidores en la pasada década. Motivado al problema del año 2000 fueron requeridos programadores especializados en este lenguaje para reprogramar las millones de líneas de código escritas en COBOL para que tales programas continuasen funcionando. - BASIC (Código de instrucción simbólica universal para principiantes: Begginners Allpurpose Symbolic Instruction Code) comienza como una herramienta para enseñar sobre programación a estudiantes. Fue desarrollado por Jhon Kemeny y Thomas Kurtz en 1964. Por su simplicidad se volvió ampliamente popular y usado en educación y entre los programadores aficionados, pero no ha llegado a ser un lenguaje viable para aplicaciones comerciales. Esto último se debe a que no posee un amplio repertorio de herramientas como el que ofrecen otros lenguajes. Además, sus compiladores no producen archivos ejecutables tan compactos, rápidos y eficientes como los que producen otros lenguajes. - PASCAL, nombrado en honor del inventor francés Blas Pascal, es introducido por Niklaus Wirth en 1971. El Pascal, buscaba superar las limitaciones de los otros lenguajes de programación y demostrar la manera adecuada de implementar un lenguaje de cómputo. Ha llegado a considerarse un excelente lenguaje de enseñanza. Las personas que se inician en la programación le consideran fácil para implementar algoritmos, su compilador es estricto con el uso de programación estructurada, asegurándose de que los errores sean señalados al principio.
  • 8. - C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie, quienes buscaban un mejor lenguaje de integrar con el sistema operativo UNIX, para que los usuarios pudiesen hacer modificaciones y mejoras con facilidad. El código ejecutable obtenido del lenguaje C, es rápido y eficiente. El C es poderoso, puesto que brinda la libertad de conseguir que se realice casi cualquier cosa en una computadora. Esta es una de las razones por la cual se ha vuelto tan popular entre quienes desarrollan software para aplicaciones comerciales profesionalmente. Su dificultad estriba, en que no es tan sencillo de aprender en comparación con otros lenguajes. - C++, Es un lenguaje de principios de los ochenta desarrollado por Bjarne Stroustrup. Es extremadamente poderoso y eficiente igual que el C. Su aprendizaje implica aprender todo acerca de C y además aprender sobre la programación orientada a objetos y su aplicación mediante el C++. Desde su origen ha ido ganando terreno entre quienes desarrollaban en C. - Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenzó a ganar popularidad como red de comunicaciones a mediados de los noventa, Sun redirige a Java para convertirlo en un ambiente de programación que permitiese crear sistemas interactivos y dinámicos (denominados applets) para las páginas Web. La complejidad de Java es similar a C++, pero ha ido ganando popularidad por la demanda de aplicaciones para páginas Web, incluso se estima que puede llegar a desplazar a C++ como ambiente de programación. Las cinco generaciones de lenguajes de programación Generación Nombre Particularidad Específico para cada microprocesador, uso de Primera De máquina código binario Uso de nemotécnicos que abstraen del lenguaje Segunda Ensamblador máquina. Lenguajes estructurados con comandos Tercera De procedimientos cercanos al lenguaje común. Cuarta Orientados a procesos Programas orientados a problemas específicos. Incluye inteligencia artificial y sistemas Quinta Natural expertos.