- Presentaci�n
- Conceptos b�sicos
- Lenguaje de Programaci�n Estructurado C
- Operadores, Expresiones y Estructuras
- Ciclos
- Funciones en C
- Estructuras de Datos
- Memoria din�mica
- Recursi�n
- Estructuras y Uniones
- Tipos Abstractos de Datos (TAD�s) y Pilas
- Colas
- Listas Enlazadas
- Nota Final
- Bibliograf�a
Presentaci�n
El Presente documento ha sido elaborado con la finalidad, de
proveer a los estudiantes, de un recurso �gil y f�cil de comprender
por aquellos que inician su estudio en la programaci�n del lenguaje C.
�Por qu� decid� escribir este manual?
Sencillo, cuando en la universidad empezamos a estudiar C,
nos pidieron que, si pod�amos, compr�ramos un libro texto para
apoyar las clases, o busc�ramos un manual en la Internet… yo opt�
por la segunda opci�n, ya que como todos sabr�n los libros de
programaci�n son muy caros (al menos aqu� en El Salvador), pero
me encontr� con dos grandes problemas:
- Los Manuales que bajaba estaban incompletos, es decir; las explicaciones,
los ejemplos y la informaci�n en general era muy pobre, por no decir
escasa. - si al dado caso, encontraba alg�n manual que estuviera completo,
ten�a muchos errores, en sus ejemplo(errores de sintaxis, de ejecuci�n
y hasta de l�gica) o en la explicaci�n que se daba. Lo cual
al yo cometer esos ejemplos, mis profesores me lo hac�an saber.
Por esas razones decid� escribir mi propio manual, para
evitar que, otros estudiantes les suceda lo mismo que a m�, y as�
les evitar� gastos en impresiones innecesarios.
Cabe recalcar que, no soy un experto programador… todav�a
sigo estudiando, pero quiero colaborar de una manera desinteresada, a la formaci�n
de las personas.
Espero que, este peque�o manual les sirva de mucho y
sobre todo, le saquen mucho provecho.
PARTE I :
CONCEPTOS B�SICOS
CAPITULO I "MARCO INTRODUCTORIO"
Marco Conceptual
Se muy bien, que usted, querido lector; est� muy ansioso
por comenzar a programar, pero considero que es importante; conocer un poco
del lenguaje C, tanto de sus or�genes como de sus ventajas, pero no se
preocupen, ser� breve en esta introducci�n te�rica. Adem�s
que es importante conocer o recordar algunos conceptos que, son importantes
al momento de programar.
- Computadora
Componentes de Una Computadora
Hemos definido una, computadora como una m�quina que
recibe datos y ordenes, que al ejecutarlas produce cierta informaci�n;
dicha informaci�n se presenta en un "idioma" codificado; por
que ha de saberse que las computadoras no entienden nuestro idioma, o cualquier
otro en el mundo. Dicho "idioma" est� compuesto �nicamente
por dos elementos los ceros y los unos. Mejor conocido como c�digo
Binario, con el cual se representan los datos, que arroja la computadora.
En una forma m�s general, y creo que m�s sencilla,
una computadora se comprende por dos grandes grupo: El Hardware y el Software.
Hardware
El Hardware de un computador es un conjunto de elementos f�sicos,
que la componen.
Ve�moslo gr�ficamente:
Podr�amos entrar en detalle de cada una de las partes
descritas anteriormente, pero ese, no es el objetivo de estas insignificantes
p�ginas; sino que esto es una mera introducci�n te�rica,
por ello s�lo dar� una breve explicaci�n.
En la Unidad Central de Proceso (o CPU, por sus siglas en ingles
�Central Proccessing Unit-) se contiene la Unidad de Control, que su
funci�n es organizar y clasificar las instrucciones recibidas; mientras
que la Unidad Aritm�tica y L�gica, Se encarga de ejecutar
dichas instrucciones. Los Buses, son los mecanismos de interconexi�n
en el CPU.
La memoria Principal, Es el lugar donde se cargan todas
las instrucciones, programas, etc que se est�n ejecutando.
Software
Debemos entender el software como la parte l�gica de
la computadora… �un poco dif�cil de comprender, verdad?; es decir,
que el software, es lo que dota a los componentes f�sicos de poder realizar
tareas determinadas. Ejemplo, para poder utilizar una computadora, esta debe
tener instalado un sistemas operativo. Para poder imprimir alg�n trabajo,
aparte de poseer un impresor, en la computadora, debo tener un software que
me permita imprimir dicha acci�n (generalmente las impresoras traen un
cd, son su respectivo software de instalaci�n).
Aburrido?…
Es necesario, que empiece con tanta palabrer�a; por
que es necesario, para el lector tener en claro estos conceptos.
Ahora vamos a hablar de algo un poco m�s interesante,
como lo es el lenguaje de programaci�n
Un lenguaje de Programaci�n Es un conjuntos de
palabras, reglas, con las cuales se le indica a la computadora las funciones
que debe realizar. Un lenguaje de programaci�n puede ser:
- Lenguajes M�quinas: se trata de lenguaje cuyas instrucciones son
directamente comprendidas por el ordenador o computador en el que se ejecuta
el programa. - Lenguaje de Bajo Nivel: este tipo de lenguajes, al igual que sucede con
los lenguajes m�quinas, existe una gran dependencia con el equipo en
el que se va a ejecutar. No obstante son algo m�s f�ciles de
escribir, quedando ubicados por tanto, seg�n su grado de complejidad;
en un nivel intermedio entre el lenguaje m�quina y el de alto nivel. - Lenguaje de Alto Nivel: Disponen de una sintaxis en lenguaje m�s
natural, y un amplio conjunto de funciones internas, que ayudan al programador
en distintas situaciones, as� como un n�mero determinado de
utilidades y asistentes que ahorran tiempo y trabajo al programador. Dentro
de estos lenguajes tenemos: Visual Foxpro, Visual Basic. NET.
Programa:
Es un conjunto de instrucciones que se le dan a la computadora,
para que �sta realice una determinada tarea.
Lenguaje C
El lenguaje C, fue dise�ado por Dennies Ritchie en 1970,
en los laboratorios Bell de Estados Unidos.
Este lenguaje presenta varias caracter�sticas, entre
las cuales est�n:
- Lenguaje de programaci�n de prop�sitos generales
- Permite la Programaci�n Estructurada
- Abundancia de Operadores y Tipos de Datos
- No est� asociado a ning�n sistema operativo ni a ninguna m�quina
- Popular y Eficaz
- Permite el desarrollo de Sistemas Operativos y programas de aplicaci�n
- Portabilidad
- Existen las librer�as en las bibliotecas
- tiene s�lo 32 palabras reservadas
*bibliotecas: es el archivo que contiene c�digo objeto
de una colecci�n de rutinas o funciones que realizan tareas determinadas
y se pueden utilizar en los programas.
*Enlazador: Programa que convierte las funciones de la biblioteca
est�ndar de C, con el c�digo que ha traducido el compilador .
Estructura de Un programa en C
Ya estamos apunto de entrar a lo m�s interesante, a
la programaci�n en s�; pero es necesario, primero; mencionar algunos
de los errores t�picos al programar, para que el lector sepa como identificarlos
y as� los pueda corregir.
- ERROR DE SINTAXIS: Estos errores son producidos, cuando se hace mal
uso de las reglas del lenguaje de programaci�n, y se violan las normas
de sintaxis, de ese lenguaje (en nuestro caso C); estos errores son f�ciles
de detectar por que generalmente es el compilador, que los identifica (Y hasta
muestra la l�nea donde se encuentra dicho error, pero eso depende de
la versi�n del compilador que estemos usando). En este curso he usado
Turbo C, en su versi�n 2 y 3. - ERRORES DE EJECUCI�N: Estos errores se producen , cuando le
indicamos a la computadora, realizar una determinada acci�n, y esta
la comprende, pero no puede ejecutarla. Por ejemplo, indicarle a la computadora
una divisi�n entre cero, sumar dos variables a las cuales no se les
ha signado valor alguno, etc. - ERRORES DE L�GICA: Muchas veces, cuando estamos programando,
el compilador no nos indica errores de sintaxis, ni de l�gica; pero
el resultado de nuestro programa, esta fuera del rango esperado, esto es producto
de un error de l�gica en el c�digo de nuestro programa. Este
tipo de errores son muy dif�ciles de identificar y por supuesto de
corregir, ya que generalmente hay que revisar l�nea por l�nea
de nuestro programa. Ejemplo: El sueldo negativo de un empleado, etc.
La estructura de un programa en C, consta de algunas partes
esenciales: las cuales son uno o m�s m�dulos llamadas funciones,
siendo main() la primera funci�n que es llamada cuando empieza la ejecuci�n
del programa .
Cada funci�n debe contener :
>Directivas de pre-procesador (instrucciones que se le dan
al compilador
#include antes de compilar)
#define
ejemplo:
#include <stdio.h>
Lo que se le esta indicando, es que de las librer�as,
"Incluya" en nuestro programa la directiva stdio.h, la cual contiene
las funciones de entrada y salida de datos (standar input output, en ingl�s).
Si necesitamos las funciones matem�ticas, debemos especificarlo con la
declaratoria:
#include <math.h>
Si necesitamos las funciones de cadenas:
#inlcude <stlib.h>
Es necesario aclarar que esto se hace al inicio del programa,
y las declaratorias deben llevar el s�mbolo de numeral (#) seguido de
la sentencia "include", y entre signos de mayor y menor que (<>)
el nombre de la directiva.
>Declaraciones Globales
pueden ser:
*Prototipos de Funciones: Tambi�n llamadas declaraciones
de funciones, lo cual se tratar� m�s adelante
*Declaraciones de Variables
cabe destacar, que esto se hace seguido de los #include y los
#define.
>Funci�n Principal main()
Esta es la funci�n principal de nuestro programa, su
cuerpo, por ello NUNCA debe faltar, ya que en ella van contenidas todas las
instrucciones de nuestro programa.
la funci�n main() va al inicio, luego abrimos llaves
y dentro de ellas van las declaraciones de variables, las sentencias de lectura,
c�lculos, asignaciones e impresiones, y con la �ltima llave (
} ), le indicamos el final del programa.
Ejemplo 1.1
Programa que a partir del radio, calcula el �rea de
un circulo
Explicaci�n:
Le indicamos al compilador, que usaremos las bibliotecas <stdio.h>
y <conio.h>, �por qu� <conio.h>?, por que esta biblioteca,
contiene las funciones getche(), getch(), etc, y de una de ellas hacemos uso
en este peque�o ejemplo.
Luego, le indicamos a nuestro programa el incio de nuestro
programa (funci�n main() ).
Declaramos, como valores reales, las variables radio y area
(de esto se hablar� m�s adelante). Luego, con la instrucci�n
printf(), mostramos en pantalla el mensaje (Radio=) y scanf se encarga de leer
el valor digitado por el usuario. Posteriormente area, es igual al la multiplicaci�n
de pi (3.14159), el radio al cuadrado. Se muestra en pantalla ese resultado,
luego el programa espera que se presiones cualquier tecla (getch() ) y no retorna
ning�n valor (return 0).
Ejercicios
Defina los siguientes conceptos:
- Programa:____________________________________________________________________________________________________________________________
- CPU:_________________________________________________________________________________________________________________________________
- Software:_____________________________________________________________________________________________________________________________
- Memoria Principal:_____________________________________________________________________________________________________________________________
- Lenguaje de Programaci�n:________________________________________________________________________________________________________________________
Indique que tipo de error (Error de sintaxis, error de ejecuci�n
o error l�gico), en cada uno de los siguientes enunciados
- Utilizar una variable antes de asignarle un valor:____________________
- asignarle un valor real a una variable declarada como entero:______
- al cometer este error, los resultados arrojados por el programa no son los
que se esperaban:______________________________________________ - Un programa no puede ser ejecutado por el computador, mientras tenga este
tipo de errores:__________________________________________ - estos errores no son detectados por el compilador, ni tampoco son errores
de ejecuci�n:_______________________________________________
Mencione y Explique, la estructura general de un programa en
C:
P�gina siguiente |