PDF de programación - Capítulo 1 Introducción a la programación

Imágen de pdf Capítulo 1 Introducción a la programación

Capítulo 1 Introducción a la programacióngráfica de visualizaciones

Publicado el 16 de Enero del 2019
1.492 visualizaciones desde el 16 de Enero del 2019
1,4 MB
65 paginas
Creado hace 11a (18/02/2008)
Capítulo 1
Introducción a la programación

1.1. Un ejemplo

Con el fin de exponer una noción de lo que es programar veamos el
siguiente ejemplo, suponga que un familiar suyo estuvo de viaje, visitó
Japón, y le trajo de presente un robot, que solamente atiende a los dos
siguientes tipos de ordenes:

avanzar X centímetros

girar X grados.

Una secuencia de ellas es posible dárselas al robot, para que recorra un
camino determinado. Si queremos indicarle al robot (la carita feliz de color
turquesa) que aparece en la figura 1.1 que se desplace hasta donde está el
objetivo debemos de algún modo ”decirle” lo que debe hacer, si suponemos
que cada rectángulo de la cuadricula tiene diez centímetros de lado, las or-
denes le dariamos a nuestro alegre amigo para alcanzar el objetivo podrian
ser algo como:

Código 1 Ejemplo de instrucciones para llegar al objetivo.

1 avanzar 70cm.
2 girar 90 grados a la izquierda.
3 avanzar 250cm.
4 avanzar 80 cm.

Aunque ahora es posible darle algunas instrucciones a las máquinas
mediante la voz, por ahora se las daremos a la antigua, escribiendolas,

1

2

1.1. Un ejemplo

Figura 1.1: Un robot.

para hacerlo, debe existir algún tipo de teclado que nos permita digitarlas.
La ordenes se graban para que se ejecuten una a una.

Si el robot toma las instrucciones dadas anteriormente relizará un recor-
rido como el mostrado en la figura 1.2. Lo que se acaba de hacer es pro-
gramar, la programación de sistemas reales no difiere mucho de lo aquí
mostrado, bueno, posiblemente se tengan a la mano más instrucciones y
un sistema que no se llame ”smile”.

Figura 1.2: Ejecución de intrucciones.

1. Introducción a la programación preliminar 18 de febrero de 2008

3

1.2. Sistemas programables, algoritmos y progra-

mas

Hoy en día, las computadoras, ya sean de propósito general o especifi-
co están por todas partes, teléfonos, electrodomésticos, aviones, etc; y real-
izan tareas de todo tipo, desde reproducir vídeo hasta controlar trayecto-
rias de disparo de tanques, todas esas máquinas de cómputo requieren, co-
mo cualquier máquina, que se enciendan y sean controladas para realizar
una realizar una tarea específica, la diferencia entre una computadora y
un tractor (sin computadora de abordo) es que al tractor lo controla una
persona y a la computadora lo que denominamos un programa, también
llamado software.

Las computadoras son un ejemplo de sistemas básados en programa alma-
cenado, todos estos sistemas poseen un procesador central, cuya actividad
de una forma simple puede resumirse a:

1. Obtener una instrucción.

2. Determinar que instrucción es.

3. Ejecutar la instrucción

4. Ir al paso número 1

El conjunto de instrucciones que se desea que el sistema ejecute se alma-
cena en algun tipo de memoria, RAM o ROM, dependiendo del sistema,
por ejemplo muchos de los microcontroladores el programa se almacena
en ROM, mientras que en las computadoras los programas son cargados a
memoria RAM por el sistema operativo para su ejecución. En la figura 1.3
se muestra un ejemplo de estructura de un sistema basado en procesador.

Todo programa comienza con idea, algo que se quiere hacer, general-
mente ese algo resulta como solución a un problema específico, la solución
de un problema requiere el diseño de un algoritmo.

Algoritmo Palabra que proviene del nombre de un matemático y as-
trónomo árabe Al-Khôwarizmi del sigo IX, que escribio un tratado sobre la
manipulación de números y ecuaciones llamado Kitab al-jabr w’almugabala.
Un algoritmo es una secuencia ordenada de pasos, no ambiguos, expresa-
dos en lenguaje natural que conducen a la solución de un problema dado.

Los algoritmos deben cumplir con algunas características:

4

1.2. Sistemas programables, algoritmos y programas

Figura 1.3: Sistema basado en procesador.

Preciso. Indica el orden de realización de cada uno de los pasos.

Definido. Si a un algoritmo se le suministra varias veces los mismos
datos los resultados deben ser los mismos.

Finito. El algoritmo debe terminar en algún momento.

Los algoritmos son soluciones abstractas a problemas, ellos generalmente
son codificados en un lenguaje de programación y luego traducidos para
que una computadora los pueda ejecutar y solucionar entonces un proble-
ma real. Los algoritmos son independientes del lenguaje de programación
y de la máquina que lo ejecute, una analogia de la vida real [joyanes1989],
la receta de un plato de cocina puede expresarse en ingles, frances o es-
pañol e indicará la misma preparación independientemente del cocinero.

Lenguaje de programación Son conjuntos de instruccines con que se
pueden escribir los algoritmos para que un sistema lo ejecute. Existen
múltiples tipos de lenguajes de programación:

Lenguaje de máquina. Es un lenguaje compuesto por códigos binarios
que un sistema puede ejecutar directamente, los programas ejecuta-
bles son precisamente secuencias de instrucciones en lenguaje de
máquina, un ejemplo de intrucciones en lenguaje de máquina es:

0011 0000 0001
0101 0001 0011

Las anteriores intrucciones le indican a un procesador que sume dos
datos y que luego multipliquen ese resultado por otro. Las instruc-
ciones en lenguaje de máquina estan compuestas de un código que

1. Introducción a la programación preliminar 18 de febrero de 2008

5

identifica la instrucción (opcode) y uno o varios operandos (o refer-
encias a los mismos). Depende del tipo de procesador sobre la cual
se esté programando, Intel, Motorola, Atmel, etc, cada uno de ellos
tiene códigos de operación diferentes.

Lenguajes ensambladores. Escribir programas funcionales en lenguaje
de máquina es una tarea que pocas personas desean hacer, pues es
muy propenso a errores y tedioso, por ello a alguien se le ocurrío
asociar símbolos o mnemonicos a las instrucciones que una máquina
podia realizar, por ejemplo en algun lenguaje ensamblador las in-
strucciones en lenguaje de máquina antes mencionadas quedarían:

add [0] [1]
mul [1] [3]

Para convertir los programas en lenguaje ensamblador a código de
máquina se usa un programa llamado ensamblador.

Lenguajes de alto nivel. Son lenguajes que tienen conjuntos de instruc-
cines similares a las palabras del idioma ingles (o algún otro) que
son más fáciles de entender por los seres humanos. En C, las instruc-
ciones para hacer lo que hicimos en lenguaje de máquina y ensam-
blador serían:

res=(a+b)*c;

Existen muchos lenguajes que se pueden llamar de alto nivel, Basic,
Pascal, Fortran. Lenguaje C, comparado con el lenguaje ensamblador
es de alto nivel, pero tiene la característica de permitir acceder a mu-
chos de los recursos de hardware disponibles en un sistema, por lo
que mucho lo clasifican como lenguaje de nivel medio. Para conver-
tir los programas escritos en un lenguaje de alto nivel en codigo de
máquina se tienen las siguientes opciones:

• Intérpretes. En los lenguajes interpretados, cuando se ejecuta un
programa cada instrucción se traduce a lenguaje de máquina y
a continuación se ejecuta, ejemplos de lenguajes interpretados
son matlab, python, smalltalk.

6

1.2. Sistemas programables, algoritmos y programas

• Compiladores. Traducen completamente los programa fuente a
lenguaje de máquina, ejemplos de lenguajes compilados son,
C/C++, Pascal, Fortran, COBOL.

• Híbridos. En los últimos años aparece una especie de lenguajes
que combinan las dos opciones anteriores, existe un compilador
que traduce el código fuente en un código intermedio que es eje-
cutado por un programa especial denominado máquina virtual.
Ejemplos de esto son Java y los lenguajes de la plataforma .Net
de Microsoft.

1.2.1. El proceso de traducción

Como se había mencionado antes, cuando se tiene un algoritmo listo,
es posible programarlo en algún lenguaje de programación con el fin de
ejecutarlo en una computadora, para ello, es necesario traducirlo a código
de máquina, el proceso de generación de un programa puede dividirse en
los siguientes pasos:

1. Se escribe el algoritmo en algún lenguaje de programación en un ed-

itor de texto y se guarda en un archivo.

2. Se utiliza un compilador para generar el ejecutable, en este paso si
existen errores de sintaxis el compilador genera un mensaje de aviso.

En la figura 1.4 se muestra esquematicamente el proceso de traducción de
un programa escrito en un lenguaje de alto nive a código entendible por
una máquina.

1.2.2. Un poco de historia de los lenguajes de programación

Según lo que se dice, fue Charles Babage a mediados del sigo XIX el
que creo el primer lenguaje de programación, dicho lenguaje era para una
máquina diseñada por él, llamada la máquina analítica, como compañera
de Babage estaba Ada Byron considerada como la primera persona que es-
cribio un programa. La máquina de Babage solo se construyó alrededor de
un siglo después. La primera computadora la ENIAC se programaba di-
rectamente modificando el hardware de la misma mediante cables, luego
se usaron las ideas de Babage y se relizaban programas utilizando tarjetas
perforadas.

1. Introducción a la programación preliminar 18 de febrero de 2008

7

Figura 1.4: Traducción de un programa.

En la decada de los 50 surgen los primeros ensambladores simbólicos,
no era necesario indicar explicitamente las direcciones de memoria, si no
que podiamos usar variables para referirnos a ellas.

En los 60 aparece la programación estructurada, comienza el uso de in-
strucciones de control de flujo de alto nivel (if, else while, etc, que em-
piezan a remplazar el uso del goto), funciones y procedimientos, algunos
de los lenguajes que aparecieron en esa epoca son: Fortran IV, COBOL,
Lisp, Algol 60, Basic, Simula-67 (precursor de lo que fue más adelante la
programación orientada a objetos) entre otros.

En los 70 surge el diseño orientado a los tipos abstratos de datos y con ello
lenguajes que permitian implementar aplicaciones así diseñadas, Pascal,
Prolog, lenguaje B, lenguaje C (nuestro querido amigo). Modula-2.

En los 80 entra en escena la programación orientada a objetos y el languaje
Small
  • Links de descarga
http://lwp-l.com/pdf14866

Comentarios de: Capítulo 1 Introducción a la 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