You are on page 1of 6

PRCTICA

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

Estructura de un programa bsico en lenguaje C


A continuacin se elabora un primer programa en C empleando el editor integrado
al entorno de desarrollo que se haya instalado en la computadora. Este programa mostrar
un mensaje de saludo en el monitor.
Escribirlo exactamente como aparece a continuacin:
/* Programa que muestra un mensaje de saludo en el monitor */
#include <stdio.h>
int main(void)
{
printf("Hola mundo");
return 0;
}
Una vez escrito el programa anterior debe guardarse en disco y darle un nombre
apropiado que contenga la extensin .c, por ejemplo hola.c.
La primera lnea del programa es simplemente un comentario que no ser tomada en
cuenta por el compilador. El comentario inicia inmediatamente despus de los smbolos /*
y termina al iniciar los smbolos */, es decir, los comentarios deben colocarse entre los
smbolos antes mencionados.
La segunda lnea de cdigo es una instruccin dirigida al preprocesador. En este
caso la instruccin le indica que incluya el archivo stdio.h que se encuentra en el sistema
del compilador. Este archivo contiene la informacin necesaria para que el compilador
verifique que la funcin que imprime el mensaje en el monitor, es decir printf, se invoque
correctamente. En otras palabras, el archivo stdio.h contiene la informacin que permite
verificar la sintaxis de invocacin de printf y de otras funciones de la biblioteca estndar
que intervienen en el ingreso y la salida de datos.
Todo programa en C debe contener la funcin main. En main empieza el programa
y tambin normalmente termina. El cuerpo de main se coloca entre llaves { }, main es el
subprograma principal, es el que tiene el control del programa. La definicin de main
comienza especificando la informacin que proporciona como dato de salida, que es de tipo
entero (int) y se coloca despus entre parntesis los argumentos que recibe, es decir, la
informacin externa que ser suministrada a la funcin. Como en este caso main no recibe
informacin alguna del exterior para ser procesada, no tiene argumentos, por lo que los
parntesis contienen la palabra reservada void que significa vaco. La funcin main es de
tipo entero, de modo que debe regresar un valor entero, lo cual se especifica al finalizar la
funcin con la instruccin return 0. Un programa debe tener slo una funcin main.
Se observa cmo dentro del cuerpo de main se invoca a la funcin de la biblioteca
estndar printf -del ingls impresin con formato-. Esta funcin es la que se encarga de
imprimir el texto que est entrecomillado dentro de los parntesis ( ) de la misma funcin.
Ahora que se ha guardado el programa se puede proceder a compilarlo, y si todo
sale bien, a ejecutarlo. Es importante mencionar que si no se escribe el programa
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

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

En cuntos joules cambia la energa

interna de 50 g de agua cuando se calienta desde 21 C hasta 37 C? (Usar


Eint erna = cmT
Donde c: calor especfico, m: masa, T: temperatura,
T = T final Tinicial ).
9. Calcular la mxima eficiencia de una mquina trmica que opera entre las temperaturas
T + 273
lmite de T1 C y T2 C. (Donde: Eficiencia = 1 1
)
T2 + 273
10. Una masa de oxgeno a 5 C ocupa 0.0200 m3 a la presin atmosfrica y tiene 101 kPa.
Determinar su volumen si su presin se incrementa hasta 108 kPa mientras su
pT
temperatura cambia a 30 C. (Hacer uso de la frmula V2=V1 1 2 )
p 2T1
11. Realizar un programa que solicite al usuario los valores para formar los vectores
d = (6,8,7) y e = (4,3,7) , de los cuales se obtendr d e . (Donde a = (a1 , a 2 , a3 ) ,
b = (b1 , b2 , b3 ) y a b = (a1b1 + a 2 b2 + a 3b3 ) )
12. Realizar un programa que solicite al usuario los valores para formar los vectores
d = (6,8,7) y e = (4,3,7) , con ellos obtenga 5d 10e y
5e 8d . (Recordar que
2a 5b = (2a1 5b1 + 2a 2 5b2 + 2a3 5b3 ) .
m
m
13. Un autobs que se mueve con rapidez de 20 , comienza a detenerse a razn de 3 .
s
s
2
2
Determinar cunto se desplaza antes de detenerse. Utilizar la expresin vf = v0 +2ax.
14. Una fuerza constante acta sobre un objeto de b dado en kg y disminuye su velocidad
m
m
de vf dada en
a vi dada en
en un tiempo de t dado en s. Calcular la fuerza a
s
s
partir de valores asignados a las variables, dados por el usuario. Hacer uso de las
v f vi
frmulas a =
y F = ma .
t
15. Obtener el rea de un cilindro circular recto de radio r y altura h dados por el usuario.
Utilizar la expresin A= 2 r2 + 2 rh.
Elaborada por:
5
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

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

You might also like