PDF de programación - Tema 7 - Programación

Imágen de pdf Tema 7 - Programación

Tema 7 - Programacióngráfica de visualizaciones

Publicado el 8 de Septiembre del 2018
219 visualizaciones desde el 8 de Septiembre del 2018
64,5 KB
7 paginas
Creado hace 11a (09/09/2008)
Tema 7

Programación

La utilización de modelos matemáticos implica, en mayor o menor medida, escribir un programa que imple-
mente el modelo en cuestión. Se trata de una tarea cuya dificultad dependerá de la complejidad del modelo pero
que, lógicamente, requiere una fase inicial de aprendizaje.

Los ejemplos que van a verse en este curso se han desarrollado en lenguaje S que se ejecutarán con el programa
R. Se trata de un entorno integrado para trabajar con el lenguaje S.

7.1

Introducción a la computación

Un ordenador (computador) puede definirse como una máquina programable para el tratamiento de informa-
ción, es decir, una máquina para realizar cómputos (determinación indirecta de una cantidad mediante el cál-
culo de ciertos datos. Un programa es la descripción detallada de los algoritmo necesarios para llevar acabo
un computo en un lenguaje, intermedio entre el lenguaje humano y el lenguaje de la máquina, denominado
lenguaje de programación.

Un algoritmo es un método general de resolución de todos los problemas del mismo tipo en el que se de-
talla paso a paso lo que de be hacerse. Cada uno de estos pasos constituye una sentencia o instrucción. Una
instrucción es una combinación de palabras, variables, constantes y símbolos que, obedeciendo a la sintaxis
propia del lenguaje de programación utilizado, indican al ordenador la acción que debe ejecutar.

Un programa es la expresión de un algoritmo en un lenguaje de programación entendible por el ordenador.

A la hora de realizar algún tipo de cómputo en un ordenador, lo normal es utilizar un programa ya desarrollado
(una aplicación) de propósito general. El problema surge cuando estas aplicaciones no hacen exactamente lo
que queremos que hagan. En ese caso la solución puede ser programar el ordenador para que realice la tarea.
De hecho la mayor parte de las aplicaciones informáticas incluyen algún tipo de lenguaje de programación para
aumentar su flexibilidad.

7.2 Lenguajes de programación

Desde los años cincuenta se han desarrollado múltiples lenguajes de programación. Los lenguajes de primera
generación eran los ensambladores, lenguajes de bajo nivel que simplemente renombran instrucciones de código
máquina en un formato más legible por humanos.

Una segunda generación esta constituida por lenguajes imperativos en los que la unidad de trabajo del pro-
grama es la instrucción (Fortran, Cobol o Basic). Cada instrucción representa varias instrucciones en lenguaje

69

70

TEMA 7. PROGRAMACIÓN

máquina. La evolución de estos da lugar a lenguajes imperativos de tercera generación (Algol, Pascal, Modula-
2, C).

En una cuarta generación aparecen lenguajes aún de más alto nivel orientados a aplicaciones concretas, como
SQL para el acceso a bases de datos. Las instrucciones que manejan estos lenguajes manipulan objetos no se
basan en instrucciones que mane

En la quinta generación aparecen lenguajes orientados al procesamiento de lenguaje natural (Perl o AWK) y
lenguajes orientados a objetos (C++ o Java). En estos últimos lo importante no es la instrucción sino el objeto
definido como un tipo de dato más las funciones que puede ejecutar.

Derivados de los lenguajes orientados a objetos, aparecen los lenguajes visuales, capaces de generar interfaces
gráficas (Visual-Basic, Visual-C, Tcl-Tk)

Otra diferencia importante es entre lenguajes compilados e interpretados. En los primeros se sigue toda la
secuencia de fases presentada anteriormente (C, Pascal, Fortran, Cobol). En los segundos no hay compilación ni
enlace, el programa es leído por un intérprete que lee cada orden, la traduce a lenguaje máquina y la interpreta.
Lógicamente, debido a este proceso los programas son más lentos y requieren más recursos del ordenador. La
ventaja es que todo el proceso de compilación se simplifica (Basic, Awk, Java, Tcl-Tk).

Aunque existen varios lenguajes en realidad todos responden más o menos a las mismas ideas y elementos bási-
cos. A partir de aquí se utilizará para desarrollar los ejemplos y hacer las prácticas el lenguaje de programación
S que puede utilizarse para programar aplicaciones dentro del programa R. La ventaja fundamental de utilizar
S como lenguaje de programación es que es un lenguaje de altísimo nivel que incluye funciones para la entrada,
salida y representación de datos que exigirían muchas lineas de código en otros lenguajes de programación. Por
otro lado al ser un lenguaje orientado al análisis de datos, resulta muy adecuado para trabajar en modelización.

La desventaja de R es que, precisamente por ser un lenguaje de muy alto nivel, se vuelve muy lento cuando el
programa se complica o cuando el volumen de datos implicado es muy alto. No es un buen lenguaje para hacer
grandes programas, pero resulta muy adecuado para pequeñas aplicaciones.

7.3 Fases en el desarrollo de un programa

Existentes una serie de etapas desde el reconocimiento de la existencia de un problema, susceptible de ser
resuelto por un programa hecho por nosotros, y la solución de aquel mediante la ejecución del programa:

• Análisis del problema
• Desarrollo del algoritmo mediante esquemas o pseudocódigo.
• Codificación en un lenguaje de programación concreto.
• Edición, transcripción del código al ordenador (código fuente).
• Prueba de ejecución y corrección de los errores de ejecución (el programa no se ejecuta correctamente)

o de lógica (el programa produce resultados erróneos).

• Utilización

Este esquema es válido para la programación con lenguajes interpretados (que suele ser lo habitual en mod-
elización a pequeña escala) como puede ser BASIC, awk, python, Perl o el lenguaje S. En caso de que se trabaje
con un lenguaje compilado (C, C++, Java, etc.) habría que introducir las fases de compilación y enlazado antes
de la ejecución.

7.4. ESTRUCTURA DE UN PROGRAMA

7.4 Estructura de un programa

71

Un programa consiste en una secuencia de instrucciones que pueden agruparse en:

• Entrada de datos. Conjunto de instrucciones que toman datos de una unidad de entrada, los depositan
en la memoria RAM. En esta etapa se definen también los tipos de datos con los que va a trabajar el
programa.

• Proceso. Conjunto de instrucciones que resuelven el problema a partir de los datos de entrada y almace-

nan el resultado en memoria RAM. Describen el algoritmo del programa.

• Salida. Conjunto de instrucciones que vuelcan los resultados, a un fichero, pantalla o impresora, con un

formato definido por el usuario.

En un programa profesional resulta a menudo difícil distinguir unas fases de otras, sin embargo es una buena
práctica separar claramente estas etapas cuando se empieza a programar.

7.5 Elementos de programación

7.5.1 Variables y operadores

Todos los programas manipulan datos que se guardan en una o varias posiciones de memoria. Como, evidente-
mente, sería muy complejo hacer referencia directa a las posiciones de memoria, se les asignan variables cuyo
nombre es más sencillo e intuitivo.
Por ejemplo si queremos que una variable contenga el día del mes, podemos escribir en el programa: dia = 3.
El ordenador interpretará que queremos reservar una posición de memoria que contenga el número 3 y a la que
nos referiremos durante el desarrollo del programa como a.
El número de posiciones de memoria que ocupe una variable dependerá de su tipo. Algunos lenguajes exigen
que se definan todas las variables (junto con su tipo de dato) antes de utilizarlas.
Las variables pueden manipularse mediante operadores aritméticos o lógicos (+,−,∗, /, &&,||, =, ! =, >, <
, >=, <=) que combinan dos variables para producir un resultado que se almacena en otra variable a = b + c.
También es posible modificar variables a = a + 5.
Otra posibilidad es almacenar cadenas de caracteres en una variable. Para indicarle al ordenador que toda la
cadena es un sólo objeto, esta debe entrecomillarse a =00 Hola00

7.5.2 Entrada y salida

Puesto que el objetivo fundamental de un programa de ordenador es manipular unos datos de entrada para
producir unos datos de salida. Es necesario disponer de algún mecanismo para introducir información desde
fichero o teclado y sacarla a la pantalla o a otro fichero.
Ya se ha visto como awk está especialmente concebido para leer ficheros sin necesidad de funciones especiales.
Sin embargo en algunos casos se hace necesario combinar varios ficheros de entrada en un sólo programa. Hay
dos opciones:

• Leerlos uno detrás del otro. Para ello es necesario darle al programa algún método para distinguir un

fichero del siguiente.

• Leerlos con la función getline, por ejemplo linea = getline <00 f ichero.txt00

72

TEMA 7. PROGRAMACIÓN

%d
%nd
%f

Número entero
Número entero formateado a n caracteres
Número real

%m.nf Número real con n decimales formateado a m caracteres

%s

Cadena de caracteres

La función básica de salida en awk es print, más sofisticada es printf donde la f final significa formateada,
es decir permite determinar exactamente que forma tendrá la linea de salid a. Por ejemplo ...

awk ’{printf("Año=%d Enero=%.1f Julio=%.1f\n"),

$1,$2,$8}’ precmurcia.txt

printf es una función y por tanto sus argumentos se sitúan entre paréntesis. El primer argumento es el formato
entrecomillado, posteriormente se incluyen como argumentos las variables que se van a escribir. En el formato
se puede incluir cualquier conjunto de caracteres más combinaciones especiales de caracteres que se inician
con el carácter % y que indican como se van a imprimir el resto de los argumentos de la función:

\n

significa salto de linea.

7.5.3 Estructuras de control

En la gran mayoría de los programas, el proceso de los datos requiere ejecutar alguna tarea repetidas veces o
decidir realizar una tarea u otra en función de los valores de alguna variable. Las instrucciones para llevar a
cabo estas acciones constituyen las estructuras de control.
Todas las estructuras de control comienzan con una palabra clave como if o while

Bucles

Existen dos tipos fundamentales de bucles, los bucles FOR y WHILE, aunque en realidad son in
  • Links de descarga
http://lwp-l.com/pdf13409

Comentarios de: Tema 7 - Programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad