INTRODUCCIÓN A LA PROGRAMACIÓN Tecnología

Anuncio
INTRODUCCIÓN A LA PROGRAMACIÓN
Empezaremos con unas definiciones un poco técnicas, pero que son
imprescindibles para el aprendizaje.
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.
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.
Cuando programamos en lenguajes de alto nivel, lo que estamos
haciendo en realidad es el código fuente de ese programa.
Este código fuente debe ser traducido a binario para que las
instrucciones que contienen puedan ser entendidas y ejecutadas por
la máquina.
Para esto existe un programa encargado de realizar la traducción,
llamado traductor del lenguaje.
Estos traductores pueden ser de dos tipos:
Ensambladores
Son los encargados de traducir los programas escritos en lenguaje
ensamblador a lenguaje máquina.
Compiladores
Son programas que leen el código fuente y lo traducen o convierten a
otro lenguaje. Estos programas te muestran los errores existentes en
el código fuente.
Etapas del proceso de compilación:
1. Edición. Esta fase consiste en escribir el programa empleando
algún lenguaje y un editor. Como resultado nos dará el código
fuente de nuestro programa.
2. Compilación. En esta fase se traduce el código fuente obtenido
en la fase anterior a código máquina. Si no se produce ningún
error se obtiene el código objeto.
En caso de errores el compilador los mostraría para ayudarnos
a corregirlos y se procedería a su compilación de nuevo, una
vez corregidos.
3. Linkado. Esta fase consiste en unir el archivo generado en la
fase dos con determinadas rutinas internas del lenguaje,
obteniendo el programa ejecutable.
Existen dos tipos de linkados:
o
o
linkado estático: Los binarios de las librerías se añaden a
nuestros binarios compilados generando el archivo
ejecutable.
Linkado dinámico: no se añaden las librerías a nuestro
binario sino que hará que se carguen en memoria las
librerías que en ese momento se necesiten.
Una vez traducido, compilado y linkado el archivo esta listo para su
ejecución donde también podrán surgir problemas y fallos, para los
cuales tendríamos que volver a realizar todo el proceso anteriormente
citado, de modo que puedan ser corregidos.
Por este motivo es importante realizar numerosas pruebas en tiempo
de ejecución antes de presentar el programa al cliente.
Otro sistema para la ejecución de nuestro código fuente es mediante
el uso de intérpretes (estos no se encontrarían dentro de los
traductores).
Intérpretes
Los intérpretes realizan la traducción y ejecución de forma
simultanea, es decir, un intérprete lee el código fuente y lo va
ejecutando al mismo tiempo.
Las diferencias entre un compilador y un intérprete básicamente son:

Un programa compilado puede funcionar por si solo mientras
que un código traducido por un intérprete no puede funcionar
sin éste.


Un programa traducido por un intérprete puede ser ejecutado
en cualquier máquina ya que, cada vez que se ejecuta el
intérprete, tiene que compilarlo.
Un archivo compilado es mucho más rápido que uno
interpretado.
Definición de variable.
Antes de abordar en detalle las particularidades de estos lenguajes,
es importante guardar en espíritu toda una serie de nociones básicas
comunes. Estos aspectos son sin duda conocidos por aquellos que
hayan programado alguna vez y pueden ser muy rápidamente
asimilados por todos los que estén familiarizados con las
matemáticas. Teniendo en cuenta esto, hemos querido acercar estos
conceptos a cualquier persona proponiendo definiciones poco
rigurosas y carentes de detalles pero que en contrapartida permiten
ser digeridas con más facilidad.
Variable
Una variable consiste en un elemento al cual le damos un nombre y
le atribuimos un determinado tipo de información. Las variables
pueden ser consideradas como la base de la programación.
De este modo podríamos escribir en un lenguaje ficticio:
a="perro"
b="muerde"
La variable que nosotros llamamos "a" posee un elemento de
información de tipo texto que es "perro". Asimismo, la variable "b"
contiene el valor "muerde".
Podríamos definir una tercera variable que fuese la suma de estas
dos:
c=a+b
Si introdujésemos una petición de impresión de esta variable en
nuestro lenguaje ficticio:
imprimir(c)
El resultado podría ser:
perro muerde
Podríamos de la misma forma trabajar con variables que contuviesen
números y construir nuestro programa:
a=3
b=4
c=a+b
imprimir(c)
El resultado de nuestro programa sería: 7
Funciónes y procedimientos
La función podría ser definida como un conjunto de instrucciones que
permiten procesar las variables para obtener un resultado. Puede que
esta definición resulte un poco vaga si no nos servimos de un ejemplo
para ilustrarla.
Supongamos que queremos calcular el valor total de un pedido a
partir de la simple suma de los precios de cada uno de los artículos.
Podríamos definir una función suma en nuestro lenguaje ficticio:
definir funcion suma(art1,art2,art3)
suma=art1+art2+art3
imprimir(suma)
fin funcion
Este supuesto programa nos permitiría calcular la suma de tres
elementos e imprimir el resultado en pantalla. Lo interesante de
utilizar este tipo de funciones es que ellas nos permiten su utilización
sistemática tantas veces como queramos sin necesidad de escribir las
instrucciones tantas veces como veces queremos utilizarla. Por
supuesto, podemos prescindir de esta declaración de función e
introducir una línea del siguiente tipo:
imprimir(art1+art2+art3)
Evidentemente, cuanto más complicada sea la función y más a
menudo la utilicemos en nuestros scripts más útil resulta definirlas.
Esta función suma podría ser utilizada en cualquier lugar de nuestro
script haciendo una llamada del siguiente tipo:
ejecuta suma(4,6,9)
Cuyo resultado sería:
19
Del mismo modo, los procedimientos son parecidos a las funciones.
La diferencia consiste tan solo en que en estos últimos el interés no
radica en el resultado obtenido sino más bien en las operaciones
realizadas al ejecutarla (creación de un archivo, reenvío a otra
página,...). En lenguajes como el PHP las funciones y los
procedimientos son considerados como la misma cosa y para
definirlos se hace usando los mismos comandos.
Tanto las variables como las funciones y los procedimientos deben ser
nombradas sin servirse de acentos, espacios ni caracteres especiales
para no correr riesgos de error .
Estos conceptos son básicos para una comprensión de la
programación.
Estructuras de control
Las estructuras de control pueden dividirse en dos: Estructuras de
control Condicional y Estructuras de control Repetitivo.
Las estructuras de control condicional son las que incluyen
alternativas de selección en base al resultado de una operación
booleana, como por ejemplo, una comparación (A=B). Según la
expresión sea cierta o falsa, se ejecutará un trozo de código u otro.
Es el caso de la sentencia IF THEN ELSE de Pascal o Basic:
IF A=0 THEN
PRINT "A vale 0"
ELSE
PRINT "A no vale 0"
Otra sentencia de control son las de tipo SWITCH CASE. En este tipo
de sentencias se especifica la variable a comparar y una lista de
valores con lo que comparar. Aquel que sea el verdadero, se
ejecutará:
SWITCH A
CASE 0:
PRINT "A vale 0"
CASE 1:
PRINT "A vale 1"
Otras herramientas imprescindibles del control de la ejecución de
nuestro código son los BUCLES o CICLOS. Consisten en un método
que permite repetir un trozo de código varias veces.
Hay básicamente dos tipos:
- Bucle FOR:
El bucle FOR consiste en una sentencia que engloba un grupo de
instrucciones y tiene una variable cuyo valor se va modificando en
cada vuelta.
FOR A=0 TO 10
PRINT "Estamos en el bucle"
NEXT A
Especificamos que A variará desde 0 hasta 10,
con lo que repetiremos el bucle
10 veces.
Con esto cerramos el bucle e indicamos el final
del bloque de instrucciones que se repiten
- Bucle WHILE:
El bucle WHILE consiste en un bucle en el que el código se repite
hasta que se cumpla alguna condición booleana (es decir, una
expresión que de como resultado verdadero o falso). Hay variaciones,
como el REPEAT...UNTIL, que se diferencia en el momento de
comprobar si se hace verdadera o no la condición.
WHILE A<>(B*2) DO
A=A+1
DONE
Aquí especificamos la expresión que evaluamos y aquí se comprueba
Incrementamos el valor de A hasta que sea igual a B*2
Necesitamos especificar donde acaba el bucle y el codigo.
Descargar