Curso Técnicas
de Programación
Dictado en la USAT
por Ing. Enrique Barrueto
Acceso a las paginas: 1
2 3 4
5 6
7 8 9
S1 S2 SoluciónPrácticas
S4 ExamenParcial
S30Repetitivas Ejem
Manejo de Archivos Demo Matemáticas
Ejem Funciones Ejem
Facturacion
Pasos para
elaborar un programa:
1.- Entender el Problema
2.- Elaborar un Pseudocodigo
3.- Programarlo en C
4.- Compilar el programa
5.- Enlazar las partes con las librerias
6.- Probar
7.- Si tiene fallas volver al paso 1
8.- Publicar
Anatomia de un Programa:
En este punto describiremos los elementos
que conforman un programa típico desde el punto de vista de la programación en
lenguaje C.
Un programa de computadora en un lenguaje estructurado tiene un esquema que se puede describir para todos los casos, independientemente del lenguaje que se seleccione. Este esquema general, de todo programa de computadora, tiene dos grupos de instrucciones:
En los lenguajes de alto nivel un algoritmo sencillo, conformado por unas cuantas instrucciones, se denomina procedimiento o programa principal, en el lenguaje C equivale a un modulo denominado función principal, según se muestra a continuación:
#include<stdio.h>
/* esta es la
cabecera */
Main() /* Función
principal */
{
int a,b,c;
/*Declaraciones ejecutables */
/*INSTRUCCIONES
EJECUTABLES (Lectura, proceso y despligue de resultados);*/
printf("hola
mundo\n");
return 0;
}
ENCABEZAMIENTO
#include<stdio.h>
Las líneas anteriores a la función main() se denominan ENCABEZAMIENTO (HEADER)
y son informaciones que se le suministran al Compilador.
La primera línea del programa está compuesta por una directiva: "
#include " que implica la orden de leer un archivo de texto especificado en
el nombre que sigue a la misma ( <stdio.h> ) y reemplazar esta línea por
el contenido de dicho archivo.
En este archivo están incluidas declaraciones de las funciones luego llamadas
por el programa ( por ejemplo printf() ) necesarias para que el compilador las
procese. Por ahora no nos preocupemos por el contenido del archivo ya que más
adelante, en el capítulo de funciones, analizaremos exhaustivamente dichas
declaraciones.
Hay dos formas distintas de invocar al archivo, a saber, si el archivo invocado
está delimitado por comillas (por ejemplo "stdio.h") el compilador lo
buscará en el directorio activo en el momento de compilar y si en cambio se lo
delimita con los signos <.......> lo buscará en algun otro directorio,
cuyo nombre habitualmente se le suministra en el momento de la instalación del
compilador en el disco ( por ejemplo C:\TC\INCLUDE). Por lo general estos
archivos son guardados en un directorio llamado INCLUDE y el nombre de los
mismos está terminado con la extensión .h.
La razón de la existencia de estos archivos es la de evitar la repetición de
la escritura de largas definiciones en cada programa.
Nótese que la directiva "#include" no es una sentencia de programa
sino una orden de que se copie literalmente un archivo de texto en el lugar en
que ella está ubicada ,por lo que no es necesario terminarla con ";
".
FUNCION main()
Dejemos de lado por el momento el análisis
de la primer linea del programa, y pasemos a la segunda.
La función main() indica donde empieza el programa, cuyo cuerpo principal es un
conjunto de sentencias delimitadas por dos llaves, una inmediatamente después
de la declaración main() " { ", y otra que finaliza el listado "
} ". Todos los programas C arrancan del mismo punto: la primer sentencia
dentro de dicha función, en este caso printf ("......").
En el EJEMPLO 1 el programa principal está compuesto por sólo dos sentencias:
la primera es un llamado a una función denominada printf(), y la segunda,
return, que finaliza el programa retornando al Sistema Operativo.
Recuérdese que el lenguaje C no tiene operadores de entrada-salida por lo que
para escribir en video es necesario llamar a una función externa. En este caso
se invoca a la función printf(argumento) existente en la Librería y a la cual
se le envía como argumento aquellos caracteres que se desean escribir en la
pantalla. Los mismos deben estar delimitados por comillas. La secuencia \n que
aparece al final del mensaje es la notación que emplea C para el caracter
"nueva linea" que hace avanzar al cursor a la posición extrema
izquierda de la línea siguiente. Más adelante analizaremos otras secuencias de
escape habituales.
La segunda sentencia (return 0) termina el programa y devuelve un valor al
Sistema operativo, por lo general cero si la ejecución fué correcta y valores
distintos de cero para indicar diversos errores que pudieron ocurrir. Si bien no
es obligatorio terminar el programa con un return, es conveniente indicarle a
quien lo haya invocado, sea el Sistema Operativo o algún otro programa, si la
finalización ha sido exitosa, o no. De cualquier manera en este caso, si
sacamos esa sentencia el programa correrá exactamente igual, pero al ser
compilado, el compilador nos advertirá de la falta de retorno.
Cada sentencia de programa queda finalizada por el terminador "; ", el
que indica al compilador el fin de la misma. Esto es necesario ya que,
sentencias complejas pueden llegar a tener más de un renglón, y habrá que
avisarle al compilador donde terminan.
Es perfectamente lícito escribir cualquier sentencia abarcando los renglones
que la misma necesite, por ejemplo podría ser:
printf("Hola mundo \n");
COMENTARIOS
/* bla bla bla
bla.... */
La inclusión de comentarios en un programa es una saludable práctica, como lo
reconocerá cualquiera que haya tratado de leer un listado hecho por otro
programador ó por sí mismo, varios meses atrás. Para el compilador, los
comentarios son inexistentes, por lo que no generan lineas de código,
permitiendo abundar en ellos tanto como se desee.
En el lenguaje C se toma como comentario todo caracter interno a los simbolos:
/* */ . Los comentarios pueden ocupar uno o más renglones, por ejemplo:
/* este es un comentario corto */ /* este otro es mucho más largo que el anterior */
Todo caracter dentro de los símbolos delimitadores es tomado como comentario
incluyendo a " * " ó " ( " , etc.