Aplicar los pricipios de programacion en la solucion de problemas 33
1. SANCHEZ SANDOVAL JESUS JAHIR 4ºA
3.PONER A PUNTO EL PROGRAMA MEDIANTE EL USO DE UN EDITOR
DE LENGUAJE DE PROGRAMACION ESTRUCTURADO
El lenguaje de máquina o código máquina es el sistema de códigos directamente
interpretable por un circuito microprogramable, como el microprocesador de unacomputadora o
el microcontrolador de un autómata. Este lenguaje está compuesto por un conjunto de
instruccionesque determinan acciones al ser tomadas por la máquina. Unprograma consiste en
una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja. Estas
instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo
causados por el propio programa o eventos externos. El lenguaje de máquina es específico de
la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser
similar entre arquitecturas distintas.
Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos
únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y
1, por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las
teorías del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su
programación.
Algunos de los lenguajes de programación mas difundidos son:
Algunos de los lenguajes más difundidos son:
BASIC, que durante mucho tiempo se ha considerado un buen lenguaje para
comenzar a aprender, por su sencillez, aunque se podía tender a crear programas
poco legibles. A pesar de esta "sencillez" hay versiones muy potentes, incluso para
programar en entornos gráficos comoWindows.
COBOL, que fue muy utilizado para negocios (para crear software de gestión, que
tuviese que manipular grandes cantidades de datos), aunque últimamente está
bastante en desuso.
FORTRAN, concebido para ingeniería, operaciones matemáticas, etc. También va
quedando desplazado.
Ensamblador, muy cercano al código máquina (es un lenguaje de "bajo nivel"),
pero sustituye las secuencias de ceros y unos (bits) por palabras más fáciles de
recordar, como MOV, ADD, CALL o JMP.
C, uno de los mejor considerados actualmente (junto con C++ y Java, que
mencionaremos a continuación), porque no es demasiado difícil de aprender y
permite un grado de control del ordenador muy alto, combinando características de
lenguajes de alto y bajo nivel. Además, es muy transportable: existe un estándar, el
ANSI C, lo que asegura que se pueden convertir programas en C de un ordenador a
otro o de un sistema operativo a otro con bastante menos esfuerzo que en otros
lenguajes.
2. SANCHEZ SANDOVAL JESUS JAHIR 4ºA
C++, un lenguaje desarrollado a partir de C, que permite Programación Orientada a
Objetos, por lo que resulta más adecuado para proyectos de una cierta envergadura.
Java, desarrollado a su vez a partir de C++, que elimina algunos de sus
inconvenientes, y ha alcanzado una gran difusión gracias a su empleo enInternet.
PASCAL, el lenguaje estructurado por excelencia (ya se irá viendo qué es esto más
adelante), y que en algunas versiones tiene una potencia comparable a la
del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y
de Delphi en la programación para Windows. Frente al C tiene el inconveniente de
que es menos portable, y la ventaja de que en el caso concreto de la programación
para DOS, Turbo Pascal no tiene nada que envidiar la mayoría de versiones
del lenguaje C en cuanto a potencia, y además resulta más fácil de aprender, es muy
rápido, crea ficheros EXE más pequeños, etc., mientras que en la programación para
Windows, Delphi es una muy buena herramienta para crear aplicaciones
de calidad en un tiempo razonablemente breve.
3.1 Captura y edición del programa
Existen muchos compiladores de C. El cc es el compilador estándar de Sun. El compilador GNU
de C es gcc, el cual es bastante popular y esta disponible en varias plataformas.
Existen también compiladores equivalentes de C++ los cuales usualmente son nombrados
como CC. Por ejemplo, Sun provee CC y GNU GCC. El compilador de GNU es también
denotado como g++.
Existen otros compiladores menos comunes de C y C++. En general todos los compiladores
mencionados operan esencialmente de la misma forma y comparten muchas opciones comunes
en la línea de opciones. Más adelante se listan y se dan ejemplos de opciones comunes de los
compiladores. Sin embargo, la mejor referencia de cada compilador es a través de las páginas
en línea, del manual del sistema. Por ejemplo: man gcc.
Para compilar el programa usaremos el comando gcc. El comando deberá ser seguido por el
nombre del programa en C que se quiere compilar. Un determinado número de opciones del
compilador pueden ser indicadas también. Por el momento no haremos uso de estas opciones
todavía, se irán comentando algunas más esenciales.
Por lo tanto, el comando básico de compilación es:
gcc programa.c
donde programa.c es el nombre del archivo.
Si hay errores obvios en el programa (tales como palabras mal escritas, caracteres no tecleados
u omisiones de punto y coma), el compilador se detendrá y los reportará.
Podría haber desde luego errores lógicos que el compilador no podrá detectar. En el caso que
esta fuera la situación se le estará indicando a la computadora que haga las operaciones
incorrectas.
Cuando el compilador ha terminado con éxito, la versión compilada, o el ejecutable, es dejado en
un archivo llamado a.out, o si la opción -o es usada con el compilador, el nombre después de -
o es el nombre del programa compilado.
Se recomienda y es más conveniente usar la opción -o con el nombre del archivo ejecutable
como se muestra a continuación:
gcc -o programa programa.c
el cual pone el programa compilado en el archivo del programa señalado, en éste caso en programa, en
vez del archivo a.out.
3. SANCHEZ SANDOVAL JESUS JAHIR 4ºA
3.3 Compilar el programa Depurar el programa y Ejecutar el programa
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de
programación a otro lenguaje de programación, generando un programa equivalente que la
máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina,
pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de
traducción se conoce como compilación.
1
Un compilador es un programa que permite traducir el código fuente de un programa
en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamentelenguaje de máquina). De
esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a
como piensa un ser humano, para luego compilarlo a un programa más manejable por una
computadora.
Depuración de programas es el proceso de identificar y corregir errores de programación. En
inglés se le conoce como debugging, es que se asemeja a la eliminación de bichos (bugs),
manera en que se conoce informalmente a los errores de programación. Se dice que el
término bug proviene de la época de los ordenadores deválvula termoiónica, en los cuales los
problemas se generaban por los insectos que eran atraídos por las luces y estropeaban el
equipo. Si bien existen técnicas para la revisión sistemática del código fuente y se cuenta con
medios computacionales para la detección de errores (depuradores) y facilidades integradas en
los sistemas lowerCASE y en los ambientes de desarrollo integrado, sigue siendo en buena
medida una actividad manual, que desafía la paciencia, la imaginación y la intuición del
programador
Suponiendo que en el disco duro de un PC esté guardado el programa Sumar, si alguien quiere
realizar una suma con dicho programa, deberá seguir, como mínimo, los siguientes cinco
pasos:
1. Encender el ordenador. Enseguida algunos programas del sistema operativo instalado en
la máquina se cargarán en la memoria principal y tomarán el control de la computadora, la cual
quedará a la espera de que el usuario "diga" que quiere hacer.
2. Seleccionar el programa Sumar para ejecutarlo. Si el sistema operativo ofrece una
interfaz gráfica, el usuario podrá seleccionar el programa haciendo doble clic con el puntero del
ratón sobre su nombre (Sumar). Pero, en el supuesto de que la interfaz sea modo texto,
también llamado modo línea de comandos, entonces el usuario deberá escribir su nombre y
pulsar la tecla Enter. En cualquiera de los dos casos, el sistema operativo buscará dicho
programa en el disco duro y, si lo encuentra, lo cargará en la memoria, es decir, en ella
escribirá una copia de todas las instrucciones del programa Sumar.
Inmediatamente después, la unidad de control se encargará de leer e interpretar dichas
instrucciones, una a una, para así ejecutarlas. Dos de las primeras instrucciones solicitarán al
usuario los números que éste desea sumar. De manera que, la ejecución del programa se
detendrá, en ambas ocasiones, a la espera de que el usuario teclee dichos números.
3. Introducir los datos de entrada. El usuario debe teclear un número (por ejemplo, el 3) y
pulsar Enter, y realizar la misma operación para el segundo número (por ejemplo, el 5). A
continuación, la unidad aritmético/lógica calculará la suma, que en este caso resultará ser 8.
Los tres datos también se guardarán en la memoria.
4. SANCHEZ SANDOVAL JESUS JAHIR 4ºA
En el transcurso de la ejecución de este programa, el usuario interviene dos veces, ambas para
escribir los números que quiere sumar. En cierta manera, se ha producido un diálogo entre el
usuario y la máquina, o dicho de otra forma, para que este programa se ejecute de principio a
fin, es necesario que el usuario participe en algún momento dado. A este tipo de programas se
les denomina interactivos. Los videojuegos son excelentes ejemplos de programas interactivos,
ya que, en ellos, el usuario interactúa constantemente con la máquina.
4. Finalizar el programa. Llegados a este punto, el programa Sumar finalizará después de que
el usuario pulse cualquier tecla. En consecuencia, el sistema operativo liberará el espacio de
memoria ocupado por las instrucciones del programa y por todos los datos utilizados en su
ejecución (en este caso tres datos). Después de ejecutar cualquier programa siempre hay que
dejar libre el espacio de memoria ocupado y, así, dejar hueco para que otros programas
puedan ejecutarse.
5. Apagar el ordenador. Si ahora el usuario decide apagar el ordenador, también se liberará el
espacio de memoria ocupado por los programas del sistema operativo y todo volverá a estar
como al principio.
Grosso modo, esto es lo que sucederá cuando se ejecute el programa Sumar. En la explicación
se han pasado por alto muchos detalles técnicos. Sin embargo, obsérvese que, en el proceso
han participado todas las unidades principales de la computadora.