Beruflich Dokumente
Kultur Dokumente
INICIACIN A LA PROGRAMACIN EN C
Objetivos
El alumno conocer los elementos indispensables de un ambiente de programacin
y ser capaz de realizar programas bsicos en lenguaje C.
Al final de esta prctica el alumno podr:
1. Decir cules son las partes bsicas de un programa en lenguaje C.
2. Conocer un ambiente de programacin.
3. Realizar exitosamente programas bsicos (compilacin y ejecucin).
Introduccin
Cuando se desarrolla un programa de computadora, ste debe ser convertido del
lenguaje de programacin en que fue escrito, por ejemplo C, a una forma que la
computadora pueda ejecutar, es decir a binario. El primero se denomina el cdigo fuente
del programa y el segundo constituye el programa ejecutable. En DOS y WINDOWS el
programa ejecutable se reconoce porque tiene la extensin .exe. Normalmente la
elaboracin de programas de computadora se efecta en lo que se denomina un ambiente
integrado de desarrollo. ste es un programa que contiene un editor en donde el
programador escribe el cdigo fuente del programa que desarrolla, el sistema completo del
compilador, que incluye el compilador, el enlazador y un depurador para la bsqueda de
errores de lgica, y finalmente un sistema de ayuda que incluye apoyo para la sintaxis del
lenguaje. Los pasos que se siguen para elaborar un programa en lenguaje C son:
a) Edicin del programa, es decir, escritura del cdigo fuente.
b) Compilacin del programa que incluye el preprocesado, la compilacin y el
enlazado con funciones externas al programa que se desarrolla.
c) Ejecucin del programa y verificacin de que no existen errores de lgica.
Una vez escrito el cdigo fuente del programa, el programador procede a
compilarlo. Internamente el proceso de compilacin implica primero, pasar el archivo
conteniendo el cdigo fuente por un preprocesador. Todas las instrucciones dirigidas al
preprocesador van antecedidas por el smbolo #. Una vez que el compilador toma el cdigo
que entrega el preprocesador, lo convierte en instrucciones llamadas cdigo objeto, las
cuales ya pueden ser entendidas por la computadora, pero todava no pueden ser ejecutadas
por ella. Este proceso genera un archivo intermedio que frecuentemente tiene la extensin
.obj. Finalmente y como ltimo paso, dicho archivo es tomado por el enlazador, el cual lo
liga con cdigo adicional previamente compilado y que contiene las funciones externas
que invoca el programa. El resultado final de este proceso es la creacin de un archivo
ejecutable.
Elaborada por:
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. De los M. alejandrav@correo.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
PRCTICA
INICIACIN A LA PROGRAMACIN EN C
PRCTICA
INICIACIN A LA PROGRAMACIN EN C
correctamente, ste puede contener errores de sintaxis que habr que corregir hasta obtener
una compilacin sin errores. Por lo que el proceso de edicin y compilacin debe repetirse
hasta que no exista un mensaje de error o advertencia. Una vez que el compilador avise que
no existen errores, se puede proceder a ejecutar el programa. Para el ejemplo mostrado, el
resultado ser la visualizacin en la pantalla del mensaje: Hola mundo.
Aun cuando este ejemplo slo se compone de los elementos antes mencionados, es
conveniente hacer notar que la mayora de los programas elaborados en lenguaje C y con
base en su complejidad, tambin pueden contener los siguientes elementos:
a) Declaraciones: donde las variables y constantes globales se declaran en la
cabecera del programa, antes del main, mientras que las variables y constantes
locales se declaran dentro del bloque de las funciones, o de preferencia al inicio
de cualquier bloque.
b) Funciones secundarias definidas por el usuario: grupo de instrucciones que
realizan una o ms acciones en el momento en que se llaman dentro del
programa principal.
Ejemplos
/* Ejemplo 1: Programa que calcula el volumen de una esfera */
#include <stdio.h>
int main(void)
{
float radio, volumen;
radio = 2 ;
volumen = 4. / 3. * 3.1416 * radio * radio * radio ;
printf(el volumen de la esfera es : %f, volumen) ;
return 0 ;
}
/* Ejemplo 2: Programa que imprime dos iniciales que introduce el usuario */
#include <stdio.h>
int main(void)
{
char uno,dos;
printf(Introduzca la primera y segunda inicial);
scanf(%c %c,&uno,&dos);
printf(Las iniciales son: %c %c,uno,dos);
return 0 ;
Elaborada por:
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. De los M. alejandrav@correo.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
PRCTICA
INICIACIN A LA PROGRAMACIN EN C
}
/*Ejemplo 3: Programa que determina el valor de la expresin aritmtica: z=x/y +1 */
#include <stdio.h>
int main(void)
{
float x, y, z;
printf(Dame el valor de x ) ;
scanf(%f,&x);
printf(Dame el valor de y ) ;
scanf(%f,&y);
z=x/y + 1;
printf(El valor de z es %f, z) ;
return 0 ;
}
Errores comunes que se pueden cometer:
1. Ubicar incorrectamente un punto y coma. Por ejemplo, colocarlo al final de las
directivas include o despus del parntesis que cierra en main.
2. Especificar un formato diferente al declarado para una variable al momento de
imprimir resultados o leer datos usando las funciones printf y scanf,
respectivamente.
3. Olvidar colocar dentro de la sentencia scanf el smbolo & que permite guardar datos
en una variable, accediendo a su direccin en memoria.
Ejercicios propuestos
Nota: No olvidar realizar el algoritmo antes de elaborar el programa
1. Realizar un programa que imprima en pantalla el nombre del curso, el da de hoy y
tu nombre.
2. Escribir un programa que lea la temperatura en grados Celsius y la escriba en grados
9
Fahrenheit. Hacer uso de la frmula f = 32 + c .
5
3. Determinar el valor de la siguiente expresin aritmtica: r = (a + b)(c + d ) . El alumno
deber proporcionar los valores de las variables.
dx + ey = f se puede resolver con las
4. Un sistema de ecuaciones lineales ax + by = c
siguientes frmulas:
ce bf
af cd
x=
y=
ae bd
ae bd
Elaborada por:
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. De los M. alejandrav@correo.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
PRCTICA
INICIACIN A LA PROGRAMACIN EN C
Escribir un programa que lea dos conjuntos de coeficientes (a,b y c; d,e y f) y calcule
los valores de x, y.
5. Escribir un programa que lea la masa de dos cuerpos y la distancia entre ellos y a
G * m1 * m2
continuacin obtenga la fuerza gravitacional. (Tomar en cuenta que F =
y
d2
G=6.673x10-11 Nm2/kg2 ).
6. Escribir un programa que lea el radio de un crculo y a continuacin visualice: rea del
crculo (Recordar que A= r2).
7. Cierta bombilla tiene una resistencia de 240 cuando se enciende. Cunta corriente
fluir a travs de la bombilla cuando se conecta a 120 V que es el voltaje de operacin
normal? (Considerar que V=RI)
8. El calor especfico del agua es de 4184
J
kgK
PRCTICA
INICIACIN A LA PROGRAMACIN EN C
16. La rapidez de un automvil que viaja hacia el este se reduce en forma uniforme de 45
m
m
a 30
, en una distancia de 264 m. Con los datos proporcionados calcular su
s
s
2
2
v f v0
aceleracin Cul es su aceleracin?. Considerar a =
.
2x
17. La luna gira alrededor de la tierra, dando una revolucin completa en T = 2.36x106 seg.
Suponiendo que la rbita es circular y tiene un radio de 3.85x108 m, cul es la
2 r
v2
aceleracin centrpeta de la luna hacia la tierra?. Emplear: v =
y a= .
r
T
18. Escribir un programa que lea la temperatura en grados Celsius y la escriba en grados
Kelvin. Hacer uso de la frmula k = c + 273 .
19. Un automvil desarrolla una potencia de 100000 w y se mueve con una rapidez
m
. Con la informacin dada, calcular la fuerza hacia delante ejercida
uniforme de 88
s
por el motor. Cul es la fuerza hacia adelante ejercida por el motor? Considerar la
P
frmula F = .
v
20. Determinar la presin de un fluido en una jeringa hipodrmica cuando la enfermera
aplica una fuerza de 42 Newtons (N) al pistn, cuyo radio es de 1.1x10-2 m. Emplear
F
y A = r2.
las frmulas p =
A
21. Escribir un programa que lea la temperatura en grados Fahrenheit y la escriba en grados
9
Celsius. Hacer uso de la frmula f = 32 + c .
5
22. Realizar un programa que muestre nicamente en pantalla el siguiente men:
Operaciones
1.- suma
2.- resta
3.- multiplicacin
4.- divisin
(OSURIHVRUSRGUiGLVHxDUVXVSURSLRVHMHUFLFLRVVLHPSUH\FXDQGRFXEUDSRUFRPSOHWRHOREMHWLYRGH
ODSUiFWLFD
Elaborada por:
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. De los M. alejandrav@correo.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx