Documentos de Académico
Documentos de Profesional
Documentos de Cultura
p01 Secuencial PDF
p01 Secuencial PDF
Estructuras secuenciales
GUIN DE PRCTICAS 1:
ESTRUCTURAS SECUENCIALES
Introduccin.
Con este guin de prcticas no se pretende ensear el uso de un entorno de
programacin, sino que vamos a aprender a programar en C (con algunos trucos de
C++) y para ello utilizaremos pequeos ejemplos y ejercicios para afianzar los
conocimientos.
El primer programa.
Vamos a realizar nuestro primer programa, por lo tanto escribe el siguiente cdigo:
int main( void ){
}
NOTA: Escribe el texto tal cual aparece aqu, puesto que el lenguaje C es muy estricto
con respecto a las maysculas y las minsculas.
A continuacin, realiza los siguientes pasos escribiendo en tu entorno de compilacin
preferido:
Guarda el cdigo escrito en un fichero con el nombre de ejemplo1.cpp
Compila el archivo para obtener un programa ejecutable.
Ejecuta el programa obtenido en el paso anterior.
Si has realizado todos los pasos correctamente podrs comprobar que has escrito un
programa que hace NADA.
El cdigo escrito es un esqueleto que nos servir para ir aadiendo distintas rdenes
hasta obtener un programa totalmente funcional.
Vamos a aadir unas lneas al cdigo escrito hasta el momento.
#include <stdio.h>
int main( void ){
printf( Hola Mundo );
}
NOTA: Observa que al final de la instruccin printf hay un punto y coma (;). Este
smbolo es muy importante y nos indica dnde finaliza la orden.
Compila y ejecuta este cdigo. El resultado de ejecutar este programa debera ser:
Hola Mundo_
Pgina 1 de 10
Guin de prcticas
Estructuras secuenciales
Libreras.
Las dos primeras lneas de nuestro cdigo son:
#include <stdio.h>
#include <stdlib.h>
Ambas hacen referencia a las cabeceras de unas libreras. Una de las grandes
ventajas del lenguaje C consiste en que muchas acciones ya estn implementadas
dentro de sus libreras, en secciones de cdigo llamadas funciones, para que
nuestros programas sepan qu funciones hay dentro de cada librera, incluimos sus
cabeceras al principio del cdigo.
Por lo tanto, incluimos 2 libreras para poder utilizar las funciones:
printf stdio.h
system stdlib.h
Pgina 2 de 10
Guin de prcticas
Estructuras secuenciales
Funciones utilizadas.
En nuestro primer programa hemos utilizado 2 funciones distintas (de distintas
libreras).
La primera es:
printf( Hola Mundo );
Bienvenido\n.
Cambia el mensaje que se muestra por uno personalizado.
Esta funcin ejecuta un programa existente en nuestro sistema operativo que se llama
PAUSE. El programa muestra el texto Presione una tecla para continuar . . . y espera
hasta que se pulse una tecla.
Pgina 3 de 10
Guin de prcticas
Estructuras secuenciales
system("PAUSE");
Vamos a ver qu significan los nuevos elementos que hemos introducido en el cdigo.
Constantes.
En nuestro programa hemos declarado una constante con la siguiente lnea:
#define PI 3.14
Pgina 4 de 10
Guin de prcticas
Estructuras secuenciales
Ejercicio:
Variables.
Las variables son zonas de memoria reservadas para almacenar datos. C es un
lenguaje fuertemente tipificado, por lo tanto, es necesario declarar el identificador de
las variables y su tipo antes de utilizarlas.
En nuestro programa hemos declarado 2 variables:
int radio;
float perimetro;
Observa que cada declaracin termina con punto y coma, y estn compuestas de 2
partes separadas por espacios:
1. El tipo de datos que se almacenar (en el primer caso un entero y en el
segundo un real - float).
2. El nombre (o identificador) que deseamos asignar a la variable para poder
referenciarla.
Se pueden declarar varios identificadores del mismo tipo, en una misma lnea
separndolos con comas, de la siguiente manera:
int radio, edad, numero;
int
float
double
char
Tipo de dato
Entero
Real (aprox. 6 dgitos de precisin)
Real (aprox. 10 dgitos de precisin)
Carcter
Ejercicio:
Cambia el tipo de la variable radio para poder introducir valores reales y une
las 2 declaraciones en una sola lnea. Compila y ejecuta el programa.
Funciona correctamente?.
Pgina 5 de 10
Guin de prcticas
Estructuras secuenciales
Esta funcin pertenece a la librera STDIO y est formada por varias partes:
Nombre de la funcin: scanf( );
Parmetros, que en este caso son dos:
1. Tipo de dato que se quiere leer, en este ejemplo un entero: "%i".
2. Variable donde se almacena el valor: &radio.
NOTA: El nombre de la variable va antecedido por el smbolo &, para indicarle a la
funcin scanf que modifique el contenido de dicha variable. Si se omite ese smbolo,
la funcin scanf leer el valor pero no lo almacenar. A esto se le llama paso por
referencia.
En cuanto al tipo de dato que se quiere leer, hay una letra para cada tipo. Las letras
son las siguientes:
Letra
%i, %d
%c
%f
%lg, %lf
%s
Tipo de variable
int
char
float
double
cadena de caracteres
Ejercicios:
Adems de esta entrada de datos, tenemos una salida de datos algo diferente a
escribir un simple mensaje por pantalla. La lnea de cdigo en concreto es:
printf( "El perimetro es: %f\n", perimetro);
Al igual que scanf , la funcin printf tiene varios parmetros (en este caso dos).
El primero de ellos es totalmente distinto a los dems, ya que nos indica qu texto se
va a mostrar por la pantalla:
Pgina 6 de 10
Guin de prcticas
Estructuras secuenciales
El precio es
y el contenido de valor y el texto euros no se mostrarn, ya que en el primer
texto no hay elementos de la forma %tipo para ser sustituidos.
Esta es la ms simple de todas las lneas, ya que lo nico que hace es realizar una
operacin aritmtica:
2*PI*radio
y guardar el resultado dentro de la variable perimetro.
Pgina 7 de 10
Guin de prcticas
Estructuras secuenciales
Ejercicios:
Modifica el cdigo del clculo del permetro de una circunferencia para que,
adems, calcule el rea del crculo, teniendo en cuenta que el rea se calcula
multiplicando PI por el radio al cuadrado.
Aade tambin el clculo del rea de una esfera del mismo radio:
rea esfera = 4 * PI * radio2
Calcula tambin el volumen de dicha esfera:
volumen esfera = 4/3 * PI * radio3
Pgina 8 de 10
Guin de prcticas
Estructuras secuenciales
Comentarios.
Cuando tenemos mucho cdigo es muy til poder incluir texto que explique lo que se
est haciendo en cada parte. De esta forma, cuando vayamos a mirar un cdigo de
otra persona (o uno que hace mucho tiempo que hicimos) podramos comprender
rpidamente su funcionamiento. Adems, los comentarios no tienen ningn efecto en
nuestra aplicacin, ya que son ignorados por el compilador.
Observa cmo quedara el cdigo del clculo del permetro comentado.
#include <stdio.h>
#include <stdlib.h>
#define PI 3.14
/* Programa principal */
int main( void ){
int radio;
//ENTRADA: radio de la circunferencia
float perimetro; //SALIDA: Permetro que vamos a calcular
/* Leer los valores de entrada. */
printf( "Introduzca el radio de una circunferencia: " );
scanf("%i", &radio);
/* Calcular el permetro */
perimetro = 2*PI*radio;
/* Mostrar el resultado */
printf( "El perimetro es: %f\n", perimetro);
system("PAUSE");
}
Pgina 9 de 10
Guin de prcticas
Estructuras secuenciales
Recuerda.
El lenguaje C es muy estricto, por lo que hay que tener cuidado con las
maysculas y las minsculas.
La gran mayora de las rdenes finalizan con un punto y coma (;) y es fcil
olvidarse de l.
La librera de entrada y salida estndar es stdio.h .
En la funcin scanf, no olvides poner el smbolo & antes del nombre de la
variable. Si lo omites, no se almacenar el valor ledo.
La primera cadena de texto de printf es un patrn donde se indica dnde
colocar los valores a mostrar, utilizando elementos de la forma %tipo. Poner
los valores seguidos, simplemente separados por comas, no es suficiente para
que se muestren todos los valores.
Los comentarios de tipo /* */ no se pueden anidar.
Ejercicios finales.
1. Disear un algoritmo que lea un valor entero y otro real, y muestre los
resultados de sumar, restar, dividir y multiplicar dichos nmeros.
2. Queremos conocer los datos estadsticos de una asignatura, por lo tanto,
necesitamos un algoritmo que lea el nmero de suspensos, aprobados,
notables y sobresalientes de una asignatura, y nos devuelva:
a. El porcentaje de alumnos que han superado la asignatura.
b. El porcentaje de suspensos, aprobados, notables y sobresalientes.
3. Un departamento de climatologa ha realizado recientemente su conversin al
sistema mtrico. Disear un algoritmo para realizar las siguientes
conversiones:
a. Leer la temperatura dada en la escala Celsius e imprimir en su
equivalente Fahrenheit (la frmula de conversin es F=9/5 C+32).
b. Leer la cantidad de agua en pulgadas e imprimir su equivalente en
milmetros (25.5 mm = 1 pulgada).
4. Abajo se muestra el men de un restaurante de bocadillos. Disear un
algoritmo capaz de leer el nmero de unidades consumidas de cada alimento
ordenado y calcular la cuenta total.
a.
b.
c.
d.
e.
Bocadillo de jamn:
Bocadillo de queso:
Patatas fritas:
Refresco:
Cerveza:
2,50
2,00
1,00
1,75
1,25
Pgina 10 de 10