salida en pantalla

Anuncio
Programe C
2.- TRABAJO EN COMPUTADORA
Diagrama del Tema
Objetivo
Características
Lenguaje C
Trabajo en
Computadora
Ciclo de
Desarrollo en
Computadora
Ventajas
Archivo Fuente
Codificación
Elementos del
Lenguaje C
Compilación
Archivo Objeto
Ejecución
Archivo
Ejecutable
En este Tema se estudian los componentes específicos del lenguaje C; los que corresponden al trabajo
en computadora. Esta parte de la programación es muy interesante al igual que laboriosa, por ello, lee y
realiza los ejercicios indicados, pues al final, el resultado será muy gratificante.
Primero se tratará el ciclo de desarrollo completo para que tenga una visión general y luego nos
ocuparemos en detalle de la codificación en Lenguaje C, siendo esta la parte de mayor importancia.
46
Programe C
CICLO DE DESARROLLO EN COMPUTADORA
APERTURA
¿Conoces la clave morse?, ¿Sabes el lenguaje de señas que utilizan los sordomudos?, ¿Que necesitas
para poder comunicarte con alguno de estos lenguajes?
De igual manera, en lenguaje C necesitamos saber que significa y que acción realiza cada uno de sus
Elementos para poder programar lo que deseemos.
DESARROLLO
Iniciemos por conocer el Lenguaje de Programación C.
LENGUAJE C
Lenguaje de programación creado por Dennis Ritchie en los Laboratorios de la Bell
Telephone, en el año de 1972. Se diseño con el objetivo realizar el sistema operativo Unix.
El Lenguaje C fue llamado así, porque su antecesor se llamaba Lenguaje B. El Lenguaje B fue
desarrollado por Ken Thompsom, también en los Laboratorios Bell, por eso se cree que se le nombre
así.
Propósito del Lenguaje C
El lenguaje C es un Lenguaje muy Poderoso, considerado de nivel medio por la interfaz
flexible y sencilla que brinda al usuario y la solidez ofrecida para hacer uso del
Hardware.
Su uso se difundió rápidamente entre los programadores de todo el mundo. Sin embargo diferentes
organizaciones comenzaron a utilizar sus propias versiones del Lenguaje C, sucedió que las pequeñas
diferencias entre las implementaciones comenzaron a dar problemas. Para resolver estos problemas la
ANSI (American National Standards Institute) formó un comité en 1983 para establecer una definición
estándar del C que llegó a ser conocida como el C estándar ANSI. Hoy en día casi todos los
compiladores de C se adhieren a este estándar.
Compilador
Es un programa de computadora que se encarga de traducir el código de un Lenguaje de
Programación (programa fuente) a otro que pueda ser entendido por la computadora
(Programa objeto).
Actualmente un compilador incluye los componentes necesarios para realizar todas las fases del ciclo
de desarrollo de un Programa.
46
Programe C
Componentes del Compilador de Lenguaje C
1. Editor.- Es el componente desde el cual se pueden escribir los comandos del Lenguaje C.
2. Compilador.- Encargado de traducir el programa fuente a objeto y mostrar los errores del código
fuente.
3. Linker.- Se encarga de enlazar el código fuente con unos componentes del lenguaje C (llamados
librerías), para crear el archivo ejecutable, que puede ser entendido por los humanos.
VENTAJAS DEL LENGUAJE C
 Es un lenguaje poderoso y flexible. Lo que se puede lograr en este lenguaje esta limitado
únicamente por la imaginación del programador. Se usa para proyectos tan diversos como
sistemas operativos, procesadores de palabras, gráficos, hojas de cálculo, compiladores para otros
lenguajes y hasta programación de juegos y robots.
 Es un lenguaje Común. Preferido por los programadores profesionales, por lo tanto se tienen
una amplia variedad de compiladores y accesorios útiles.
 Es un Lenguaje Transportable. Transportable significa que un programa en C escrito para una
computadora (un PC de IBM, por ejemplo) puede ser compilado y ejecutado en otro sistema y
ejecutado en otro sistema (una Mac) con pocas o ninguna modificación.
 Es un Lenguaje de pocas palabras. Contiene solamente unos términos llamados palabras clave
que son la base sobre la que esta construida la funcionalidad del Lenguaje. Pudiera pensarse que
un Lenguaje con más palabras clave (palabras reservadas), pudiera ser más poderoso esto no es
cierto. Conforme se programa en C se puede observar como se puede realizar cualquier tarea.
 Es modular. El código de C puede (y debe) ser escrito en rutinas llamadas Funciones. Estas
funciones pueden ser reutilizadas en otras aplicaciones o programas.
 Base para otros Lenguajes. Como C++, Java y Visual Fox, Lenguajes orientados a objetos,
Tienen estructuras similares por lo que se facilitaría su comprensión.
Con todo esto, podemos decir que al aprender el Lenguaje C, no solo se está aprendiendo un Lenguaje
de programación poderoso y generalizado, sino que se esta preparando para la Programación Orientada
a Objetos.
CICLO DE DESARROLLO DE UN PROGRAMA EN C
Recuerde que se le llama CICLO DE DESARROLLO DE UN PROGRAMA, a todo el proceso por el
que atraviesa un programa incluyendo a los componentes generales y específicos. Ya hemos visto los
componentes generales, ahora veremos los componentes específicos del Lenguaje C.
En caso de errores se deben de repetir los componentes hasta que el programa este completamente
funcional, por ello se le conoce como ciclo. Se culmina con la documentación.
El siguiente diagrama represente este proceso.
Codificar
Código
Fuente
.C ó .CPP
Compilar
Código
Objeto
.OBJ
Ejecutar
Programa
Ejecutable
.EXE
47
Programe C
Lo primero que se hace es codificar, es decir, escribir los símbolos y palabras reconocidas por el
Lenguaje C.
CODIFICACIÓN:
Consiste en Escribir el Código Fuente especifico de un lenguaje de Programación,
usando un Editor de texto o el editor propio del lenguaje.
Código Fuente:
Es una serie de enunciados o comandos reconocidos por un Lenguaje de Programación,
usados para darle instrucciones a la computadora para que ejecute las tareas deseadas.
Considere el ejemplo del código Morse o el lenguaje de señas. Es necesario conocer los símbolos
utilizados en cada uno de ellos para entenderlos. Más adelante tratare los comandos del Lenguaje C
Archivo Fuente:
Es el Archivo donde se guarda el código fuente, es necesario para crear las siguientes
etapas del programa. Su extensión es .C ó .CPP
COMO CREAR EL ARCHIVO FUENTE
1. Asegúrese de que tiene el compilador de C, instalado
en su computadora. Generalmente se encuentra en un
directorio de la unidad Raiz C:/>. Según la versión, el
nombre del directorio puede ser: TC (si se trata de turbo
C), BC o Borland (si se trata de Borland C). En ambos
compiladores trabajará de forma similar.
2. Acceda al editor con el archivo
TC.EXE o BC.EXE (según la versión
utilizada), se encuentra dentro del
directorio mencionado anteriormente,
generalmente dentro de otro directorio
llamado BIN. La ruta completa para
acceder al editor puede ser: C:\TC\BIN.
3. Cree un programa nuevo, desde el
menú File en la opción New.
4. Escriba el código Fuente utilizando las palabras
reservadas del Lenguaje C. es importante destacar que
todo el código fuente debe de ser escrito en minúsculas.
5. Guarde con frecuencia presionando la Tecla F2; para
evitar pérdidas de información. Igualmente puede
Guardar desde el menú File en la opción Save. La
primera vez que guarde, se mostrará el cuadro de diálogo “Save File As”, en el cuál
deberá de especificar la ruta y el nombre que desea para el archivo.
48
Programe C
RECOMENDACIONES para guardar el Archivo Fuente.
1. El nombre del archivo fuente debe dar una idea de su contenido, para una mejor y fácil
identificación. Es decir debe de ser significativo.
2. El nombre del archivo, solo Acepta nombres de 8 letras máximo. Abrevie el nombre.
3. No acepta caracteres especiales como espacios, acentos, @, #,?, etc.
4. Evite que el archivo se guarde como un código con formato Especial como .DOC, el programa
fuente debe de ser grabado como un texto estándar sin formato.
5. La extensión del programa fuente es .C ó .CPP, según el editor que utilice. Se pone en forma
automática si lo guarda desde el editor de C.
Lo que sigue ahora es Compilar el archivo Fuente para generar el Archivo Objeto.
COMPILACIÓN:
Se refiere Al proceso que realiza el compilador del Lenguaje, de tomar el archivo fuente
como entrada y producir un archivo Objeto.
Archivo objeto:
Contiene las mismas instrucciones que al archivo fuente pero en instrucciones binarias o
Lenguaje Máquina para que pueda ser entendido por la computadora. El nombre del
archivo Objeto es el mismo que el archivo Fuente, pero con la extensión .OBJ
El archivo .OBJ se genera cuando se compila el programa y esto sucede hasta que el programa fuente
este libre de errores. Si el programa fuente tiene errores se deben de corregir y compilar cada vez que
se realice alguna corrección, hasta que esté completamente correcto.
COMO COMPILAR EN C
1. Compile, Una vez terminado el código fuente del programa compile con las teclas
Alt + F9 o desde el menú Compile en la Opción Compile.
2. Corrija los errores, mostrados en la parte de abajo de la ventana. Los errores
generalmente se especifican en inglés.
IMPORTANTE.
1. Anote en una libreta, la descripción de todos los errores que le muestre el compilador de C.
2. Traduzca la descripción de error al español y anote la solución realizada; para aprender y
saber como actuar en situaciones similares.
Crear archivo ejecutable
Después de que se haya compilado el programa se puede crear el ejecutable. Se obtiene como resultado
de enlazar el código objeto con las funciones predefinidas en la Biblioteca de Funciones del Lenguaje
C.
Biblioteca de Funciones:
Es un conjunto de funciones que contienen código C ya compilado, que se proporcionan
con el paquete del compilador, ya listas para usarse.
49
Programe C
Archivo Ejecutable:
Es el archivo ya listo para usarse como cualquier otra aplicación, sin necesidad de tener
el compilador de C. Este archivo no es modificable. El archivo ejecutable toma el mismo
nombre del código fuente y objeto, pero con la extensión .EXE.
EJECUCIÓN DE PROGRAMAS:
Se refiere al uso del archivo ejecutable final, en el que se introducen los datos requeridos
para obtener el resultado esperado.
COMO EJECUTAR EN C
1. Ejecute el programa con las Teclas Crtl + F9 para ver el resultado final del
programa ó desde el menú Run del Editor.
2. Cree el Ejecutable. Si todo ha salido utilice la tecla F9 para crear el ejecutable.
RECOMENDACIONES para Ejecutar.
1. En caso de que el programa requiera modificaciones, hágalas y vuelva a compilar.
2. Ctrl + F9 Permite ejecutar el programa Desde el editor, ya que se realiza al mismo tiempo el
enlace y la ejecución del programa.
3. Debe de saber que posiblemente el archivo ejecutable se guarde en el directorio del
Lenguaje; C:\TC\BIN, por ello deberá de buscarlo y copiarlo a la dirección que desee.
Salir del Editor
Si ha terminado de trabajar con el editor puede cerrarlo con las teclas Alt + x o desde el menú File y
luego la opción Quit.
Abrir un Archivo existente
Posteriormente puede volver a ver el archivo guardado.
Ingrese al editor del Lenguaje C y abra el archivo
utilizando la Tecla F3 o desde el Menú File y luego la
opción Open.
Se mostrará la ventana llamada Open a File, desde la cual
debe de buscar el archivo en el lugar donde lo guardó.
En el recuadro Name escriba el nombre de la unidad en la que tiene guardado el archivo seguido de dos
puntos, por ejemplo: C:
si se encuentra en el disco duro, ó cualquier letra que le corresponda a su
dispositivo de almacenamiento. Eso lo puede ver en el explorador de Windows.
Para finalizar el ciclo de desarrollo de un programa es necesario considerar la Documentación.
DOCUMENTACIÓN:
Comprende la escritura de todo aquello que se pueda mencionar del programa y sea de
utilidad para su posterior modificación y mantenimiento.
50
Programe C
Según la persona que lo usa, se divide en:
Documentación técnica.- Comprende todos aquellos documentos en utilidad al personal informático.
Documentación de usuario.- Comprende todos aquellos documentos destinados al usuario en el cual
se describan las características de manejo y funcionamiento de los programas, como los donde se
expresen las cuestiones técnicas de análisis, diseño, codificación, del programa, es de manuales de
usuario.
CÓDIGO
Para practicar, realice todo el proceso con el siguiente código. Por ahora, no es necesario que
entienda el código, basta que lo escriba con cuidado en el editor de C, para evitar errores.
Recuerde y ponga en práctica todo lo visto hasta ahora.
/*Primer programa*/
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
printf(“Estoy aprendiendo C“);
getch();
}
El Diagrama de Flujo de datos sería:
Inicio
“Estoy aprendiendo C”
Fin
El resultado Será:
Estoy aprendiendo C
CIERRE
LO QUE DEBES DE SABER
I.- Escribe en la línea lo que corresponda, puede orientarse de la lista de respuestas.
1. Nombre del programador que desarrolló el Lenguaje C: _______________________________
2. Programa de computadora que se encarga de traducir el código de un Lenguaje a otro que pueda ser
entendido por la computadora: ____________________________
3. Son las tres Fases en computadora del ciclo de desarrollo de un programa en C:
______________________, ________________________, _________________________
4. Es el archivo ya listo para usarse como cualquier otra aplicación, sin necesidad de tener el
compilador del Lenguaje tiene la extensión .EXE: _______________________
5. Algunas ventajas del lenguaje C, son: _____________________, _______________________.
6. Es el proceso de tomar el archivo fuente como entrada y producir un archivo Objeto:
____________________________
LISTA DE RESPUESTAS
CODIFICAR, INTERPRETE, ARCHIVO OBJETO, COMPILAR, ARCHIVO FUENTE, EJECUTAR,
LENGUAJE C, DENNIS RITCHIE, KEN THOMPSON, COMPILADOR, ARCHIVO EJECUTABLE,
PODEROSO, FLEXIBLE, COMPILACIÓN, CICLO DE DESARROLLO DE UN PROGRAMA
51
Programe C
II.- Instrucciones: Subraya la respuesta correcta.
1. Es una técnica de diseño de algoritmos que consiste en escribirlos utilizando el español con verbos y
acciones definidas, por ejemplo: utilizar la palabra leer para la lectura de datos, la palabra hacer para
la asignación, etc.
a) Diagrama de Flujo b) Codificación
c) Algoritmo d) Pseudocódigo
e) Compilación
2. Técnica que consiste en leer un programa escrito en un lenguaje fuente para traducirlo a un
programa equivalente en otro lenguaje, el lenguaje objeto.
a) Diagrama de Flujo b) Codificación
c) Algoritmo d) Pseudocódigo
e) Compilación
3. Es una serie de operaciones detalladas y no ambiguas que se ejecutan paso a paso y que conducen a
la resolución de un problema
a) Diagrama de Flujo b) Codificación
c) Algoritmo d) Pseudocódigo
e) Compilación
4. Es el proceso de escribir las sentencias reales a un lenguaje de programación.
a) Diagrama de Flujo b) Codificación
c) Algoritmo d) Pseudocódigo
e) Compilación
5. Se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un
cierto grado de modularidad o de estructura jerárquica.
a) Diagrama de Flujo b) Codificación
c) Algoritmo d) Pseudocódigo
e) Compilación
III.- Escribe en la columna CON TECLAS y en la columna CON MENUS, las teclas y los menús
utilizados para realizar la acción solicitada en la primera columna. Considere que se encuentra
en el editor del Lenguaje C.
ACCIÓN A REALIZAR
CON TECLAS
CON MENÚS
Guardar un archivo fuente
Compilar el programa Fuente.
Ejecutar el programa Objeto
Crear el Archivo Ejecutable
Salir del Editor de C
CREACIÓN DE UN PROGRAMA EN LENGUAJE C
APERTURA
¿Ya deseas programar? Pues en este apartado conocerás el proceso de creación de un programa en
Lenguaje C y cuando empieces programar asegúrate de cumplir con todas las indicaciones.
Programar es una tarea interesante porque te permite crear tus propios programas que solucionen
problemas y de esta manera facilitar el uso de las computadoras a otros usuarios.
Algo muy importante que debes de considerar es que la programación es una actividad
laboriosa que requiere tiempo, si en algún momento te sientes desesperado no te rindas, te
recomiendo que descanses momentáneamente y posteriormente continúes.
52
Programe C
DESARROLLO
ELEMENTOS GENERALES DEL UN PROGRAMA EN C
Para definir las partes que componen un programa en C, se presenta un ejemplo. Se agrega un número
secuencial al principio de cada línea para que se puedan identificar y referenciar fácilmente, sin
embargo no debes escribir ni los números ni los dos puntos que están al principio de la línea.
PROGRAMA PARA SUMAR 2 NÚMEROS ENTEROS
1: # include <stdio.h>
2: # include <conio.h>
3: int num1,num2, suma;
4: void main()
5: {
6:
clrscr();
7:
/*Imprime un mensaje para solicitar el primer número */
8: printf(“Teclea un numero entero entre 1 y 100: ”);
9:
scanf(“%d”,&num1); /*almacena el primer número en la variable num1*/
10: /* Imprime otro mensaje para solicitar el segundo número */
11: printf(“Teclea otro numero entero entre 1 y 100: “);
12: scanf(“%d”,&num2); /*almacena el segundo número en la variable num2*/
13: Suma=num1+num2;
14: printf(“%i + %i = %i”,num1,num2,suma);
15: getch();
16: }
Aunque cada uno de los programas son distintos, todos tiene elementos comunes del Lenguaje C, entre
los que se encuentran los siguientes:
 Archivos de Inclusión
 Se encuentran en las líneas: 1, 2
 Comentarios
 Se encuentran en las líneas: 8, 10, 11, 13
 La función main( )
 Se encuentra en la línea: 5
 Llaves
 Se encuentran en las líneas: 6, 17
 Declaración de variables  Se encuentra en las líneas: 3,
 Enunciados del programa  Se encuentran en las líneas: 7, 9, 10, 12, 13, 14, 15, 16
Archivo de Inclusión o de Cabecera
Es un archivo que contiene información necesaria para el compilador, ya que en él se
encuentran definidas las funciones estándar del Lenguaje C usadas comúnmente, como
printf, getch, clrscr, etc. La extensión de estos archivos es .h
Los archivos de inclusión también son llamados Librerías. Para añadir un Archivo de Inclusión al
momento de compilar el programa, se utiliza la directiva #include
EJEMPLO
1: # include <stdio.h>
2: # include <conio.h>
Las librerías se incluye para recordar la importancia de su uso; pues si no se agregan no serán
reconocidas las funciones estándar de C y por lo tanto los programas que hagas no funcionarán.
53
Programe C
Todos los programas en C deben de tener uno o varios de los principales archivos de cabecera:
Archivo de
Descripción
Inclusión
stdio.h
Stándard Input/Ouptut – Entrada/Salida Estándar
stdlib.h
Standard Library – Librería Estándar
string.h
Cadena – Se refiere a las funciones de cadenas
math.h
Matemáticas – Se refiere a las funciones Matemáticas
conio.h
Console Input/Ouput – Consola de Entrada/Salida
graphics.h
Gráficas – Se refiere a las funciones de gráficos
Comentarios
Son Instrucciones que el compilador ignora, por lo tanto no tienen ningún efecto sobre la
manera en que funciona el programa. Su única función es servir como recordatorio para
el programador.
Para poner un comentario, se comienzan con una diagonal y un asterisco (/*) y luego se termina en
forma contraria; un asterisco y una diagonal (*/). Los comentarios le sirven al programador para hacer
más comprensible las líneas de código escritas. En BorlandC se utiliza doble diagonal (//).
Un comentario puede ocupar parte de una línea, una línea completa, o varias líneas.
EJEMPLOS:
/* Comentario de una línea */
int a,b,c;
/* comentario como parte de una línea */
/* Comentario de
varias líneas */
Función main()
Es la función principal y el único componente de carácter obligatorio en cualquier
programa de C. Solo puede incluirse una vez en cada programa.
En su forma más simple consiste en el nombre main, seguido de un par de paréntesis vacíos y un par de
llaves. Dentro de las llaves se encuentran los enunciados que forman el cuerpo del programa.
En algunas versiones de C, debe de especificar la palabra void, antes de la función main, para indicar
que la función NO debe devolver un valor. Quedando de la siguiente manera:
void main()
{
/* aquí se pone todo el cuerpo del programa */
}
Llaves
Se usan llaves para agrupar las líneas de programa que forman cada función, incluyendo
la función main.
54
Programe C
Bloque de datos
Es un grupo de enunciados encerrados dentro de llaves, que deben de ejecutarse en
conjunto. También se le llama Bloque de Código
El Lenguaje C tiene muchos usos para los bloques, como ejemplo están los ciclos y las estructuras.
Declaración
Es una sentencia que introduce un nombre a una variable o función y lo asocia a un tipo
de dato(a esto se le llama existencia semántica); para que a partir de ahí el compilador le
dé un significado a ese nombre en el programa.
Un programa utiliza variables para guardar varios tipos de datos, que pueden cambiar durante la
ejecución del programa. En C las variables deben de ser declaradas antes de ser utilizadas. Una
declaración de variable le informa al compilador, el nombre de la variable y el tipo de datos que va a
almacenar.
EJEMPLO:
Si declara una variable num de tipo entero: int num;
El compilador “sabe” que num es una variable de tal tipo.
IMPORTANTE
Las declaraciones deben realizarse antes utilizar las variables, de lo contrario el compilador
genera un mensaje de error.
Una declaración de variable tiene la siguiente forma:
Tipo de dato identificador;
Donde: El tipo de dato es la palabra reservada de C correspondiente al tipo requerido. Identificador es
el nombre de la variable y debe de ajustarse a las reglas acerca de los identificadores de variable como
se ha visto anteriormente.
Ejemplos:
float promedio;
char resp;
ACTIVIDAD INDIVIDUAL
Para recordar las reglas de los identificadores, Escribe en la
columna derecha una “i” si el nombre de la variable es
incorrecto y “c” si es correcta.
Se pueden declarar más de una variable del mismo tipo en una
misma línea, separando los identificadores con comas.
Ejemplos:
float promedio, prom_grupal;
int cal1, cal2, cal3;
Nombre
C/I
Ventas Totales
_Ventas Totales
Ventas_Totales
Ventas-Totales
01Inicial
Ingresos/Egresos
55
Programe C
TIPO DE DATOS
Es atributo de los datos que indica el conjunto de valores y las operaciones que se pueden
realizar sobre estos valores.
Los Tipos de datos pueden clasificarse en:
 Básicos o Elementales
 Estructurados
Tipos de datos Básicos
La principal característica de los datos básicos es que ocupan solo una casilla de memoria; por lo tanto
una variable simple hace referencia a un único valor a la vez. Dentro de este grupo se encuentran los
tipos: Enteros, flotantes, Caracteres, booleanos.
Tipos de datos Estructurados
Los datos estructurados se caracterizan por el hecho de que con un
nombre (conocido como identificador de variable estructurada) se hace
referencia a un grupo de espacios de memoria, es decir, un dato
estructurado tiene varios elementos. Los datos estructurados a su vez
pueden subdividirse en simples y complejos, de la siguiente manera:
Simples
Arreglos
Registros
Conjuntos
Complejas
Pilas
Colas
Listas
Árboles
Por el momento solamente nos dedicaremos a los datos básicos.
Tipos de datos Básicos del Lenguaje C
Los datos que se van a almacenar en las variables requieren de espacios de almacenamiento diferentes
según el dato del que se trate. Los números pequeños (por ejemplo; 299, -17) requieren menos espacio
de almacenamiento y las operaciones matemáticas pueden ser más rápidamente ejecutadas. Por lo
contrario los números largos y valores con punto decimal (123456.5369801, por ejemplo) requieren
más espacio de almacenamiento y más tiempo para las operaciones matemáticas.
IMPORTANTE
Usando los tipos de datos adecuados se aprovecha el espacio en memoria y se hace más
rápida la velocidad de ejecución, es decir se asegura que el programa se ejecuta lo más
eficientemente posible.
La tabla siguiente, muestra los principales tipos de datos y la cantidad de memoria en bytes que se
requiere para guardar una sola variable de cada tipo.
Tipo de variable
Carácter
Entero
Entero largo
Punto flotante de
precisión sencilla
Punto flotante de
doble precisión
Palabra
Guarda
Bytes
Rango
clave en C
char
Letras, símbolos
1
-128 a 127
Int
Números Enteros
2
-32768 a 32767
long int
-2147483648 a
Números Enteros más grandes
4
2147483647
Float
Números con Punto decimal.
1.2E-38 a 3.4E381
4
Hasta 7 decimales
Double
Números con Punto decimal.
2.2E-308 a 1.8E3082
8
Hasta 19 decimales
56
Programe C
EJEMPLOS:
1. Almacenar el resultado de una división, o el promedio de un alumno se requiere una
variable con decimales.
float Division, promedio;
2. Almacenar la edad o el número de hijos de una persona se requiere variables de tipo entero.
int edad, num_hijos;
3. Almacenar una letra que sirva como respuesta (s/n), (y/n) se requiere una variable de tipo char.
char resp, y;
4. Para almacenar el resultado de 9 elevado a la 7 se requiere una variable de tipo entero largo.
Long int exp;
ACTIVIDAD INDIVIDUAL 8
1. Escribe el código correcto en Lenguaje C, para declarar las variables y los tipos de datos
correctos solicitados. Considerando las variables num, resp, x, precio, sum, m.
a) Declara como tipo entero a num, x y m, utilizando una línea de código, para cada variable.
b) Declara como tipo entero a num, x y m, utilizando una sola línea de código.
c) Declara como float a precio y sum, utilizando una sola línea de código.
d) Declara como char a resp.
2. Declara las variables para que sean correctas según la información que va a almacenar. Recuerda
que debe Tener un nombre significativo y debe ser del tipo de dato correcto.
a) Un número par del 1 al 100
b) Un día del mes (1-31)
c) La inicial del nombre de un alumno
d) El resultado de realizar la operación 3451 * 278
e) La altura de una persona
Enunciados del programa
Son los encargados de realizar el trabajo real de un programa en C, ya que; despliegan
información en pantalla, leen datos de entrada, ejecutan operaciones, llaman funciones,
leen archivos de disco y hacen todas las demás operaciones.
IMPORTANTE
El punto y coma es un terminador. En C cada enunciado terminal debe llevar el punto y
coma (;). Un enunciado terminal es funcional por sí solo no requiere ni contiene a otros.
No llevan punto y coma todos los enunciado que contienen a otros, como el caso de la función main( ),
la definición de funciones, los ciclos, las estructuras y las instrucciones condicionales. En lugar de
punto y coma utilizan llaves.
57
Programe C
En los enunciados del programa se utilizan las palabras reservadas, las expresiones, las funciones de
Biblioteca, y las funciones definidas por el usuario del Lenguaje C.
Palabra reservada
Es un identificador que tiene un significado gramatical especial para ese lenguaje y no
deberán ser usadas para otro objetivo en un programa en C.
Los siguientes son las palabras reservadas del Lenguaje C:
Asm
auto
break
case
char
const
Continue
default
do
double
else
enum
Extern
float
for
goto
if
int
Long
register
return
short
signed
Sizeof
Static
struct
switch
Typedef
union
unsigned
void
volatile
while.
ACTIVIDAD INDIVIDUAL 9
Identifica y subraya las palabras reservadas en el siguiente programa;
/*programa para calcular la división de 2 números enteros, con función*/
# include <stdio.h>
# include <conio.h>
int a,b;
float c;
float divi(int x, int y); /*PROTOTIPO DE LA FUNCION, parametros*/
void main()
{
clrscr();
/* solicita el primer número */
printf(“Teclea un numero entero entre 1 y 100: “);
scanf(“%d”,&a);
/* solicita el segundo número */
printf(“Teclea otro numero entero entre 1 y 100: “);
scanf(“%d”,&b);
c=divi(a,b);
/* LLAMADA DE LA FUNCIÓN, argumentos */
printf(“%d * %d = %f”,a,b,c);
getch();
}
/* DEFINICIÓN DE LA FUNCIÓN*/
float divi(int x, int y)
{
return( x * y );
}
58
Programe C
FUNCIONES
Lenguaje C tiene funciones propias, definidas en los archivos de inclusión, también llamadas funciones
de Biblioteca, que pueden ser usadas con propósitos generales. Igualmente permite a los usuarios
declarar sus propias funciones para realizar tareas específicas.
La declaración de una función se conoce en lenguaje C como prototipo de función y proporciona al
compilador el nombre y los parámetros de dicha función. Debe declararse antes de ser usada.
Conozca los conceptos básicos de parámetro y argumento.
Parámetro
Es un espacio de memoria que se reserva, al momento de declarar una función, para los
valores que necesitará. Cada parámetro debe estar de acuerdo con el tamaño y el tipo de
dato del valor que se va a almacenar.
Argumento
Es el valor que requiere una función al momento de ser utilizada, se relacionan
directamente con los parámetros definidos al declarar la función. Cada argumento debe de
ponerse en el orden correspondiente al parámetro declarado en la función.
Ambos conceptos se pueden apreciar en el programa de ejemplo anterior; en el prototipo de la función
se declaran los parámetros y en la llamada de la función se ponen los argumentos correspondientes a
los parámetros declarados.
IMPORTANTE
Se debe de tener cuidado de no confundir estos conceptos. Al momento de poner un
argumento debe de tener especial cuidado de establecer una relación en orden ya que a cada
parámetro le corresponde un argumento.
Función clrscr()
Una de las funciones más utilizadas en Lenguaje C, por su utilidad. Proviene de las palabras en inglés
clear screen, cuyo significado es Limpiar Pantalla y precisamente esa es su función; limpiar todo lo
que este en la pantalla y dejarla lista para desplegar información.
La función clrscr no requiere argumentos, y generalmente se utiliza iniciando el programa, después de
la llave que inicia la función main(), sin embargo puede usarse en cualquier lugar o momento en que se
requiere limpiar la pantalla.
void main()
{
clrscr();
SALIDA EN PANTALLA
La función Printf
La función printf es parte de la biblioteca estándar de C y es probablemente la versión más
versátil de la que dispone un programa para desplegar información en pantalla.
46
Programe C
Utilizando printf se puede desplegar de manera fácil texto, valores o una combinación de ambos.
Para mostrar texto en pantalla, se pone el texto dentro del paréntesis entre comillas de esta manera:
Printf (“Bienvenidos a mi Programa”);
Además de imprimir texto en pantalla printf es utilizado para desplegar el valor de las variables del
programa. Por ejemplo: Printf(“La suma es total es %d \n”,suma);
En este ejemplo se pasan 2 argumentos a la función printf. El primer argumento se encuentra encerrado
entre comillas y es llamado el formato de Impresión. El segundo argumento es el nombre de la
variable que contiene el valor que se va a imprimir.
FORMATO DE IMPRESIÓN
Un formato de impresión específica la manera en que se mostrará la información. Los tres posibles
componentes de un formato de impresión son los siguientes:
 El texto literal
 Una secuencia de escape
 Un especificador de conversión
El Texto Literal
Es desplegado exactamente igual a como se escribió. Sin incluir las secuencias de Escape ni
los especificadores de conversión.
El texto literal en el ejemplo es La suma total es que puede compartir las comillas con %d y \n pero no
los incluye, ya que estos no se muestran tal cual, pues tienen otra función.
Una Secuencia de Escape
Proporciona control especial del formateo de la impresión. En el ejemplo la secuencia de escape es \n,
el cual es llamado caracter de nueva línea y significa “moverse al inicio de la nueva línea”.
Una secuencia de escape consiste en la diagonal inversa(\), seguida de un solo caracter.
Se usa para controlar la posición de la salida de información moviendo el cursor de la
pantalla y también sirve para imprimir determinados caracteres que de no hacerlo así
podrían tener un significado especial para printf.
Las secuencias de escape más utilizadas son:
EJEMPLO:
Para imprimir una diagonal
inversa (\) se deben de poner 2 caracteres de
diagonal inversa (\\) en el formato; la primera
diagonal inversa le dice a printf que la
segunda diagonal inversa debe de ser
interpretada como un caracter literal y no
como el comienzo de una secuencia de
escape.
Secuencia
de Escape
\a
\b
\n
\t
\\
\?
\’
\”
Significado.
Campana (alerta)
Retroceso
Nueva Línea
Tabulador Horizontal
Diagonal Inversa
Signo de Interrogación
Comilla Simple(apostrofe)
Comillas dobles
47
Programe C
Especificador de conversión
Consiste en el símbolo de % seguido de un carácter. Un especificador de conversión le
indica a printf la manera en que debe de interpretar a la(s) variable(s) que ha(n) de ser
impresas, según el tipo de datos del que se trate.
El formato de impresión, debe de contener un especificador de conversión para cada variable a
imprimir, con el fin de indicar el tipo de dato de la variable.
Especificador Tipo de dato
Los especificadores más requeridos son:
%i
Enteros
%d
Entero del sistema decimal
%f
Número con punto flotante
%u
Entero decimal sin signo
%ld
Entero largo (long)
%c
Un solo carácter
%s
Cadena de caracteres
%o
Número en sistema octal
%x
Número en sistema hexadecimal
Programa de Ejemplo:
Inicio
#include <stdio.h>
total0, n1 0, n20,
#include <stdio.h>
r0
long total=0;
int n1=0, n2=0;
n1=993
void main()
n2,=541
{
clrscr();
total  n1*n2
num1=993;
num2=541;
“valor 1 valor 2 valor3”
total= n1 * n2;
printf("valor1\tvalor2\ttotal\n");
printf("%i \t %i \t %ld\a", n1,n2,total);
n1 n2 total
getch();
}
Fin
La salida del programa será:
valor1
993
valor2
541
total
12925
En el programa se utilizan los tipos de datos int y long. long para la variable total pues al realizar una
multiplicación con los números asignados a num1 y num2 seguramente se excederá el rango del tipo
int.
Como puede observar en el primer enunciado printf, se desea imprimir en pantalla únicamente el
encabezado, desde luego es texto literal con las secuencias de escape: \t que indican que se deje un
espaciado horizontal entre cada palabra y \n que indica que se pase a la siguiente línea. No importa que
estén pegadas las palabras con las secuencias de escape.
48
Programe C
En el segundo enunciado printf se imprimen los valores de dos variables de tipo int y una variable de
tipo long, recuerde que a cada variable le corresponde un especificador de conversión según su tipo de
dato, también se indican las secuencias de escape \t para quedar en forma de columna y queden debajo
del encabezado.
Además de imprimir variables printf, puede imprimir el resultado de una operación.
Por ejemplo:
printf("El pago de %i * %.2f es:%.2f",capital,interes,(capital*interes)/100);
Suponiendo que el valor de capital es 100 y el valor de interés es 1.50, El resultado será:
El pago de 100 * 1.50 es: 1.50
IMPORTANTE
Observe que se imprimen las variables y también se imprime el resultado de la operación.
Además en este ejemplo se utiliza el especificador de conversión para datos de punto flotante
con una pequeña modificación: %.2f, esto le indica a printf que imprima solamente 2
decimales y no los 7 de precisión que tiene por defecto este tipo de datos.
ACTIVIDAD INDIVIDUAL 10
1. Considerando la actividad individual 8, escribe el código que se te pide en cada caso:
 Realiza una instrucción para imprimir el resultado de “x*m”
 Imprime el resultado de “pdec + m” con 3 decimales.
 Realiza una sola instrucción para imprimir 3 números; uno en cada línea.
La función puts
La funcion puts() también puede ser usada para desplegar mensajes de texto en la
pantalla, pero no puede desplegar variables numéricas.
puts toma una sola cadena como su argumento y lo despliega, añadiendo automáticamente un salto de
línea al final.
Por ejemplo, el enunciado
puts(“hola.”); /*Ejecuta la misma acción que el siguiente enunciado con printf */
printf(“hola.\n”);
Se puede incluir secuencias de escape (incluyendo \n)en una cadena que se le pasa a puts(). Tienen el
mismo efecto que cuando se usan con printf().
Cualquier programa que use puts() debe incluir al archivo de encabezado STDIO.H.
Considerando el ejemplo anterior, se puede cambiar el primer enunciado printf por la función puts, ya
que imprime solo texto. Las secuencias de escape son aceptadas también y se puede quitar la secuencia
de escape \n del final, pues puts automáticamente hará una salto de línea.
49
Programe C
Sin embargo no se puede cambiar el segundo enunciado printf, debido a que se requiere la
impresión de los valores de las variables.
Aquí está el Ejemplo:
#include <stdio.h>
#include <conio.h>
long total;
int num1, num2;
void main()
{
clrscr();
num1=993;
num2=541;
total= num1 * num2;
puts("valor1\tvalor2\ttotal");
printf("%i \t %i \t %ld\a",num1,num2,total);
getch();
}
ENTRADA DE DATOS
La función scanf
La manera más flexible para que el programa pueda leer datos numéricos del teclado es el uso de la
función scanf( ).
La función scanf lee datos del teclado de acuerdo con un formato especificado, y asigna los
datos de entrada a una o más variables del programa.
De manera similar a printf, la función scanf usa un formato para describir el formato de entrada según
el tipo de datos de la variable, el formato utiliza los mismos especificadores de conversión que la
función printf.
Por ejemplo:
scanf(“%d”,&num1);
/* lee un entero decimal y lo asigna a la variable num1. */
scanf(“%f”,&interes); /*lee un valor de punto flotante y lo asigna a la variable interes*/
El símbolo del ampersand (&) es el operador de dirección del lenguaje C, esto se refiere al uso de una
dirección de memoria y los apuntadores que la referencian. Pero no se preocupe, por el momento solo
debe de recordar que scanf requiere el & antes del nombre de cualquier variable para que pueda
asignar el valor a la variable.
Un solo scanf puede aceptar la entrada de más de un valor si se incluyen varios especificadores de
conversión en el formato y varias variables precedidas del &.
Ejemplo:
Scanf(“%i %f”,&num1,&interes);
50
Programe C
Este enunciado acepta un valor entero y lo asigna a la variable num1, también acepta un valor de punto
flotante y lo almacena en la variable interes. Cuando se leen diversas variables, durante la ejecución
del programa, se debe utilizar una separación entre un valor y otro. La separación puede ser un espacio
en blanco, un tabulador o una nueva línea (Enter).
Por lo tanto, para este ejemplo se puede teclear:
26 14.71
/* los dos valores separados por un espacio */
26
14.71
/* los dos valores separados por un tabulador */
26
/* los dos valores separados por un enter */
14.71
Con esto se concluye que mientras haya un espacio entre los valores, la función scanf puede asignar
cada valor a su variable correspondiente.
El código para este ejemplo:
#include <stdio.h>
#include <conio.h>
float interes, pago;
int capital;
void main()
{
clrscr();
printf("Teclea los dos valores, separados por un espacio: \n");
scanf("%i %f",&capital,&interes);
printf("Los valores tecleados son: %i y %.2f",capital,interes);
getch();
}
ACTIVIDAD INDIVIDUAL 11
1. Considerando el ejercicio individual 8, escribe el código que se te pide en cada caso:
 Utiliza una instrucción para pedir “pdec”.
 Utiliza una sola instrucción para solicitar num y x
 Utiliza una sola instrucción para pedir cad, sin, m.
La función gets
La función gets obtiene una cadena del teclado. Cuando esta función es llamada lee todos
los caracteres tecleados hasta que encuentra el primer carácter de nueva línea (que se
genera cuando se oprime Enter).
La función deshecha la nueva línea cambiándola por un carácter nulo y le devuelve la cadena al
programa que lo llamó.
51
Programe C
Ejemplo de uso:
#include <stdio.h>
#include <conio.h>
char cadena[81];
void main()
{
clrscr();
printf("Teclea tu nombre completo: nombres y apellidos \n");
gets(cadena);
printf("El Nombre es: %s",cadena);
getch();
}
Para comprender mejor este ejemplo es necesario indicar que una cadena de texto es en realidad un
arreglo de caracteres, por eso razón se declara la variable cadena como char (que solo acepta un
caracter) y luego se indica el número de caracteres requeridos.
(Para mayor información consulte el tema arreglos de caracteres).
La longitud de línea máxima en la mayoría de las computadoras es de ochenta caracteres, en el ejemplo
se declara un arreglo de 81 caracteres para que se pueda almacenar toda una línea de la pantalla más el
carácter nulo que gets añade al final de la cadena para indicar que ésta ha terminado.
Código de ejemplo:
Quizás se pregunte si se podría hacer con la función scanf( ), de la sig. Manera:
#include <stdio.h>
#include <conio.h>
char cadena[81];
void main()
{
clrscr();
printf("Teclea tu nombre completo \\nombres y apellidos\\: \n");
scanf(“%s”&cadena);
/* esta es la línea que cambiaría */
printf("El Nombre es: %s",cadena);
getch();
}
La respuesta se la daré mostrando los resultados de cada programa.
Con gets:
Teclea tu nombre completo \nombres y apellidos\:
Juan Moisés Yam Chán
El Nombre es: Juan Moisés Yam Chán
Con scanf:
Teclea tu nombre completo \nombres y apellidos\: Juan Moisés Yam Chán
El Nombre es: Juan
52
Programe C
Así es; con la función scanf solamente se mostrará el primer nombre. Esto sucede porque scanf
interpreta que se trata de 4 valores independientes por el espacio que existe entre cada uno y como
solamente se tiene una variable, solo se imprime el primer nombre.
A diferencia de la función gets que interpreta como termino de una cadena el caracter de nueva línea,
por lo tanto acepta toda cadena hasta que se presiona la tecla Enter.
La función getch( )
Otra función que le puede ser útil al momento de aceptar algún carácter del teclado es getch( ).
La función getch( ) obtiene un carácter del teclado pero no lo muestra en pantalla, por ello
generalmente se utiliza para esperar un carácter antes de continuar; Es muy común ponerla antes de la
llave de cierre del main. Sin embargo tiene otros usos los cuales se tratarán más adelante. Puede
consultar los programas proporcionados de ejemplo en este libro, para verificar el uso de getch.
CIERRE
LO QUE DEBES DE SABER
I.- Escribe en el paréntesis el número que corresponda
(
) En estos archivos se encuentran definidas funciones estándar,
como printf, getch, clrscr, etc. Su extensión es .h
(
) Despliegan información en pantalla, leen datos de entrada,
ejecutan operaciones, leen archivos de disco y hacen todas las
demás operaciones que un programa necesita.
( ) Se usa para declarar tipos de datos enteros
( ) Esta función se usa para desplegar algún texto
( ) Se usa para controlar la posición de la salida de información
( ) Le indica a printf la manera en que debe de interpretar a la
variable que ha de ser impresas, según el tipo de datos del
que se trate.
(
) Lee datos del teclado de acuerdo con un formato
especificado, y asigna los datos de entrada a una o más
variables del programa.
(
) Este tipo de dato representa un número real con punto
decimal.
(
) Este tipo de dato, permite almacenar cadenas de texto.
(
) Este parámetro sirve para agregar un salto de línea
1. Enunciados del
programa
2. float
3. Archivo de Inclusión o
de Cabecera
4. Una secuencia de escape
5. Un especificador de
conversión
6. Bloque de datos
7. Int
8. La función scanf
9. Printf
10. \n
10. La funcion puts
11.chr
12.\t
II.- De los siguientes programas ya codificados en C, describe sobre la línea, de manera general,
en que consiste y a un lado del código realiza el diagrama de flujo de datos que se utilizó para
crearlo.
a) Que hace Este programa: ________________________________________________________
_______________________________________________________________________________
________________________________________________________________________
53
Programe C
#include <stdio.h>
#include <conio.h>
float pesos=0,dolar=0, preciod=0;
void main()
{
clrscr();
printf(“Teclea una cantidad en dolares: ”);
scanf(“%f”,&dolar);
printf(“Escribe el precio del dolar: “);
scanf(“%f”,&preciod);
pesos=dolar*preciod;
printf(“%f Pesos”,pesos);
getch();
}
b) Que hace el siguiente programa: __________________________________________________
_______________________________________________________________________________
________________________________________________________________________
#include <stdio.h>
#include <conio.h>
float total,deposito;
int meses;
void main ()
{
clrscr();
printf("Escribe el Deposito: ");
scanf("%f",&deposito);
rintf("Escribe los meses: ");
scanf("%i",&meses);
total=deposito*.15*12
printf ("invertir %.2f a % i meses = %.2f",deposito,meses,total);
getch ();
}
III.- Instrucciones: Revisa el programa y encuentra 10 errores de sintaxis. Luego describe brevemente
de que error se trata para; hacer referencia utiliza el número de cada línea.
1. #include<stdio.c>
2. #include<conio.h>
3. int num1,num2
4. void main();
5. {
6. clscr();
7. printf("Escribe un número: ");
8. scanf(“%i”,&num1);
9. prinf("Escribe otro número: ");
10. scanf("%i",num2);
11. printf("La suma es: %i,num1+num2);
12. printf("La Resta es: %i"num-num2);
13. printf("La Multiplicación: %i",num1num2);
14. gech();
15. }
54
Programe C
IV.- Instrucciones: Dado el siguiente programa, escribe el resultado que se obtiene al ejecutarlo.
#include<stdio.h>
#include<conio.h>
main()
{
clrscr();
int a=6,b=4,dato;
dato=(a/2+8);
dato=dato*(b + 1);
printf(“El valor de dato es: %d\n\n”,dato);
dato= (b%2)*a + 10 – (dato / 5);
printf(El valor de dato es: %d\n\n”,dato);
printf(“”\n\n\nPresiona una tecla para continuar…”);
getch();
return 0;
}
V.- Instrucciones: Realiza el código en Lenguaje C, de los siguientes problemas ya conocidos.
1. Calcular el área de un triángulo. Solicitar los valores necesarios.
2. Hallar el promedio de 3 calificaciones. Pedir las calificaciones.
3. Sumar 2 números. Leer los números.
4. Hallar el área de un círculo. Solicitar los valores necesarios.
5. Hallar el área de un cuadrado. Solicitar los valores necesarios.
6. Calcular cuanto va a ganar un empleado a la semana si le pagan X pesos por hora, si trabaja 40
horas a la semana.
7. Calcular cuanto pagará Claudia en un cyber si se cobra a $10 por hora. Solicitar cuanto tiempo
utilizó la computadora en horas y minutos. Considerar el cobro proporcional por minutos.
EJERCICIO INDIVIDUAL 2:
Realiza el código en Lenguaje C, de los siguientes problemas ya tratados en el apartado
anterior:
1. Tres Amigos hicieron una venta una de libros y se reparten las ganancias de acuerdo al siguiente
porcentaje: el 25% para el Miguel, el 35% para Antonio y el 45% para Roberto. Si las ganancias
fueron de X pesos, ¿Cuánto le corresponde a cada quien?
2. En un partido de basquetball cada jugador anotó al menos un punto, solicitar los puntos de cada
jugador para conocer el marcador final.
3. Calcular cuanto va a pagar un alumno por sus útiles escolares, si necesita 6 libretas cuyo precio es
el mismo para todas, 2 libros del mismo valor y un paquete de hojas.
4. En cuantas abonos se podrá pagar un celular que cuesta X pesos, si paga Y cantidad
quincenalmente.
5. Solicitar 2 números e imprima la suma, la resta, la multiplicación y la división entre ambos.
6. Calcular cuanto dinero ahorraría Marina en su alcancía, durante una semana, si cada día ahorra una
cantidad variable. Solicitar las cantidades diarias que ahorra.
7. Calcular e imprimir los tres números que siguen de esta sucesión 2, 5, 8, ___, ___, ___.
8. Federico y Luis juntaron su dinero para comprar una Moto que tanto querían; Federico aporto una
cantidad X y Luis aporto una cantidad menor. Solicitar las dos cantidades y determinar cual fue el
porcentaje que aporto cada quien, del total juntado.
9. Solicitar un número y calcular el cuadrado y el cubo del mismo.
10. Para tener un 10 en un examen debes de responder 60 aciertos, ¿Cuál será tu calificación? Si solo
obtuviste 49 aciertos.
55
Programe C
11. Solicitar una Cantidad de tres dígitos y que muestre por separado cuantas centenas, decenas y
unidades tiene, dicha cantidad. Ejemplo: para la cantidad 475;
Deberá mostrar:
Centenas, 7 Decenas, 5 Unidades
56
Descargar