Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS............................................................ 2
DIAGRAMAS DE FLUJO ................................................................................................................ 2
PROGRAMACIÓN EN “C” ............................................................................................................. 3
COMPILAR UN PROGRAMA PARA VER ERRORES: .................................................................. 5
DECLARACIÓN Y TIPO DE VARIABLES ...................................................................................... 6
OPERADORES ARITMÉTICOS EN “C”......................................................................................... 6
INDICADORES DE CONTROL DE FORMATO Y SECUENCIAS DE ESCAPE. ............................ 7
OPERADORES LÓGICOS EN “C”................................................................................................. 7
OPERADORES DE COMPARACIÓN EN “C” ................................................................................ 8
PRINCIPALES LIBRERIAS EN “C” ............................................................................................... 8
ESTRUCTURAS DE SELECCIÓN .................................................................................................. 9
SENTENCIA IF. ........................................................................................................................... 9
SENTENCIA IF ELSE.............................................................................................................. 11
SENTENCIA SWITCH y CASE ................................................................................................. 13
ESTRUCTURAS DE REPETICIÓN ............................................................................................... 13
CICLO FOR ............................................................................................................................... 13
TABLA DE COLORES EN “C”..................................................................................................... 15
CICLO WHILE ........................................................................................................................... 15
CICLO DO WHILE..................................................................................................................... 16
FUNCIONES EN “C” .................................................................................................................... 19
E
n esta etapa de tu curso vas a entrar al mundo de la programación, que no es otra cosa si no
indicarle a la computadora paso a paso lo que quieres que realice, utilizando para ello un
lenguaje de programación, que en este caso es “C”. Que nos va a servir para que las
computadoras trabajen para nosotros.
Para resolver un problema utilizando una computadora se requiere diseñar un algoritmo, esto
significa encontrar los pasos para solucionar un problema, te sugerimos seguir la siguiente
metodología que se compone de cinco pasos:
4. Verificación. Es la prueba exhaustiva del programa para eliminar todos los errores que tenga,
de manera que efectúe lo que se desea. Los resultados de prueba se comparan con soluciones
conocidas de problemas ya resueltos.
OPERACIÓN (PROCESO)
Dentro de esta figura colocaras todas las operaciones que vaya a realizar
tu programa
DECISIÓN
Dentro de esta figura puedes colocar preguntas como: A=B , A<B, C=4,
etc., Existen dos caminos verdadero o falso.
LECTURA DE DATOS
Utiliza esta figura cuando vas a solicitar o leer un dato fuera de tu
programa
SALIDA EN PANTALLA
Dentro de ella colocaras aquellas variables que quieres que aparezcan en
la pantalla
CONECTOR
Se utiliza cuando quieres indicar la conexión de una parte del diagrama
con otra, dentro de ella se puede colocar una letra o un número que
indique la conexión
CONECTOR DE CAMBIO DE PAGINA
Se utiliza cuando en la hoja donde estas dibujando tu diagrama ya no
caben más figuraras puedas dirigirte a otra hoja, dentro de ella se puede
colocar una letra o un número que indique la conexión
OPERACIÓN REPETITIVA O CÍCLICA
Se utiliza para representar un conjunto de instrucciones que quieres que
se repitan continuamente hasta que se cumpla una condición
determinada
PROGRAMACIÓN EN “C”
La historia de C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970 con
el objetivo de recodificar el sistema operativo UNIX.
En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien diseña finalmente C a partir del
B de Thompson, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y
eficacia en el lenguaje muy superior.
En 1980 surge C++ de la mano de Bjarne Stroustrup (también de Laboratorios Bell de AT&T). Diseña
este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales, tipos
genéricos y expresiones, que le la posibilidad de declarar variables en cualquier punto del programa,
y sobre todo, un auténtico motor de objetos con herencia múltiple que permite combinar la
programación imperativa de C con la programación orientada a objetos. Estas nuevas características
mantienen siempre la esencia del lenguaje C: otorgan el control absoluto de la aplicación al
programador, consiguiendo una velocidad muy superior a la ofrecida por otros lenguajes.
El siguiente hecho fundamental en la evolución de C++ es sin duda la incorporación de la librería
STL años más tarde, obra de Alexander Stepanov y Adrew Koening. Esta librería de clases con
contenedores y algoritmos genéricos proporciona a C++ una potencia única entre los lenguajes de
alto nivel.
C” posee varias características que lo hacen muy apto para la enseñanza y muy útil para solucionar
problemas diversos. Sus principales características son: “C” es un lenguaje que requiere compilador,
es Estructurado y Modular, esto es que se pueden realizar pequeños programas (módulos) que
formen parte de un programa más grande.
Un programa en lenguaje “C” es en realidad un documento (escrito) que contiene una serie de
instrucciones y especificaciones que le indican a una computadora cómo resolver un problema.
Sin embargo, dichas instrucciones y especificaciones deben ser colocadas en lugares adecuados
del texto siguiendo la siguiente estructura:
PROFESOR LEOPOLDO TÉLLEZ LÓPEZ 3
GUIA DE PROGRAMACIÓN EN LENGUAJE “C”
1. Encabezado
2. Declaraciones o especificaciones
3. Cuerpo del Modulo
Como primer ejemplo realizaremos un programa que escriba nuestro nombre, el primer paso es
describir como lo haríamos nosotros; esto es hacernos la pregunta ¿qué pasos seguiríamos para
escribir nuestro nombre?
1. Iniciar
2. Tomar la pluma
3. Escribir mi nombre
4. Terminar
Un algoritmo es una forma de describir la solución de un problema, por lo que los pasos anteriores
representan un algoritmo para resolver el problema de escribir mi nombre, a continuación,
transformaremos estos pasos en un diagrama de flujo:
INICIO
LEOPOLDO
TÉLLEZ LÓPEZ
FIN
En la primera línea encontramos dos diagonales que es un comentario y nos sirve para indican lo
que realiza el programa. En este caso escribe mi nombre, posteriormente se abre la librería estándar
de C que es stdio.h esta librería deberá utilizarse en todos los programas que realicemos.
Se declara una variable de tipo carácter (char) que se llama nombre con una longitud de 30 letras
o caracteres.
Posteriormente encontramos dentro del cuerpo del programa la instrucción que nos servirá para
mandar a imprimir un texto o valor en la pantalla que es el comando printf("escribe tu nombre \n");
debemos observar claramente que al final del texto colocamos una diagonal invertida\ y la letra n
esto nos sirve para indicarle a la computadora que muestre el mensaje y después de esto realice un
salto de línea. El texto que se encuentre entre comillas será el que mande o muestre en la pantalla.
Posteriormente utilizamos la instrucción gets para asignar o guardar la cadena de caracteres que
tecle el usuario en la variable nombre (gets(nombre); ), posteriormente la mandamos a imprimir
nuevamente utilizamos la función printf . Finalmente ponemos la instrucción system("pause"); para
detener la corrida del programa y por ver el resultado concluimos la instrucción return 0; esta nos
sirve para indicarle al programa que termino. No olvides colocar un punto y coma al final de las
instrucciones printf y return.
La compilación de un programa consiste en revisarlo línea por línea de arriba hacia abajo para
detectar Instrucciones mal escritas, faltas de punto y coma, variables desconocidas o no declaradas,
etc. Al compilar un programa este se ira deteniendo en la línea donde encuentre el error debes poner
atención que, si ves que el cursor está detenido al inicio de la línea, esto indica que solo ha revisado
la línea anterior, por lo tanto, el error se encuentra en esa línea, por lo que debes buscar la falla en
la línea anterior al cursor, en seguida te muestro algunos errores de los más comunes:
[Error] expected ';' before 'printf' Falta punto y coma en la línea anterior a la
instrucción printf.
[Error] 'r' undeclared (first use in this function) La instrucción está mal escrita, si es una variable no
la has declarado.
[Error] expected declaration or statement at end of A la función main le falta el corchete que cierra( } )
input
[Error] 'retrn' undeclared (first use in this function) La función return está mal escrita. Este mensaje
aparece cuando escribiste mal una función o no
declaraste la variable.
Recuerda siempre que al inicio del. mensaje de error aparece el numero de la line donde se encuentra el
problema, revisa también la línea anterior.
1 152.20 500.12 S
contador precio 36
deuda opcion
Puedes observar que las cajas reservadas para guardar los datos cuentan con un nombre que será
el de la variable, dentro de cada caja existen datos de diferente tipo, por ejemplo, la variable
contador es de tipo entera por que guardara números enteros, esto es que del 1 pasa al 2
directamente o sea no existen decimales. En la variable precio y deuda se permite manejar
decimales, por eso podemos guardar en ella el número 152.20. y 500.12 respectivamente. La
variable opción sirve para guardar una letra o un conjunto de caracteres.
Nota: Debes tomar en cuenta que los nombres de las variables no pueden llevar acentos,
espacios en blanco y algunos caracteres especiales.
return 0;
}
Queremos realizar un programa que multiplique dos números, donde el usuario solo tendrá que
teclear los dos números y presionar la tecla Enter para obtener el resultado:
//PROGRAMA MULTIPLICACION
#include<stdio.h>
NOMBRE DESCRIPCIÓN
fclose Cierra un fichero a través de su puntero.
fopen,freopen,fdopen Abre un fichero para lectura, para escritura/reescritura o para adición
remove Elimina un fichero.
rename Cambia al fichero de nombre
fgetc Devuelve un carácter de fichero
fpunts Escribe una cadena de caracteres en un fichero
getc Devuelve un carácter desde un fichero
getchar Devuelve un carácter desde la entrada estándar
gets Lee caracteres de entrada hasta que encuentra un salto de línea y
los almacena en un único argumento.
printf, fprintf, sprintf, Usados para imprimir salidas de datos.
snprintf
vprintf También utilizado para imprimir salidas.
scanf, fscanf, sscanf Utilizado para introducir entradas.
vfscanf,vscanf,vsscanf También utilizado para introducir entradas.
NOMBRE DESCRIPCIÓN
tolower Regresa la minúscula del carácter
toupper Regresa la mayúscula del carácter
Las estructuras de selección nos permiten elegir entre un bloque de instrucciones diferentes para
ello evalúa expresiones booleanas y considera si se cumplió (o no) la condición. En “C” existen tres
formas de indicar selección.
SENTENCIA IF.
En el siguiente diagrama, podemos observar que si la variable “a” es igual a cinco (a=5), el conjunto
de instrucciones que se encuentran debajo del rombo se ejecutaran.
Con cualquier otro valor de la variable, el programa pasara al final sin realizar ninguna instrucción.
INICIO
NO
a=5
SI
INSTRUCCIONES
FIN
Deseamos que nuestro programa de suma le de la opcion al usuario de seguir realizando sumas o
de terminar el programa. Utilizaremos para ello la intruccion IF y GOTO, veamos como queda:
//PROGRAMA SUMA con IF y GOTO
#include<stdio.h>
int main (){
int x,y,r,op;
eti:
system("cls");
printf("Este programa realiza la suma de dos numeros enteros\n");
printf("Introduce el primer sumando ");
scanf("%i",&x);
printf("Introduce el segundo sumando ");
scanf("%i",&y);
r=x+y;
printf("El resultado de la suma es = %i\n",r);
printf("Deseas realizar otra suma si (1) no (2)\n");
scanf("%i",&op);
if(op==2)
{ printf("Que tengas un buen dia\n "); }
if (op==1)
{ goto eti; }
system("pause");
return 0;
}
Veamos otro ejemplo: con un programa de a escoger al usuario si desea una suma o una resta
utilizando la instrucion if:
SENTENCIA IF ELSE
En el siguiente diagrama, podemos observar que si la variable “a” es igual a cinco (a=5), el conjunto
de instrucciones que se encuentran debajo del rombo se ejecutaran.
Con cualquier otro valor de la variable el programa pasara a la opción ELSE y realizara el conjunto
de instrucciones que se encuentren debajo de ella.
INICIO
NO (Else)
a=5
SI INSTRUCCIONES
INSTRUCCIONES (B)
(A)
FIN
INICIO
op=1
NO
op = 1
(ELSE)
SI RESTA
SUMA
FIN
Otra intrucion de selección es la función switch que nos ayuda cuando hay varias opciones, con
esta función en complemento con case, podremos realizar menús de opciones para que el usuario
de nuestro programa elija lo que desea, veamos con el programa anterior como funcionaria
incluyendo esta función:
switch (op)
{
case 1:
system("cls ");
printf("Introduce el primer sumando : ");
scanf("%f",&x); // aquí lee el número y lo almacena en la variable x
printf("Introduce el segundo sumando : ");
scanf("%f",&y); // aquí lee el número y lo almacena en la variable y
r=x+y;
printf("El resultado de la suma es = %.2f\n ",r);break;
case 2:
system("cls ");
printf("Introduce el primer dato ");
scanf("%f",&x); // aquí lee el número y lo almacena en la variable x
printf("Introduce el segundo dato ");
scanf("%f",&y); // aquí lee el número y lo almacena en la variable y
r=x-y;
printf("El resultado de la resta es = %.2f\n ",r); break;
default:
printf("No elegiste ninguna opción valida, vuelve a intentarlo\n "); break;
}
return 0;
}
ESTRUCTURAS DE REPETICIÓN
CICLO FOR
Supongamos que queremos realizar el programa dibuja triángulos dos veces, si lo hiciéramos con
las instrucciones que ya conocemos bastaría con teclear el programa dos veces. Pero qué pasaría
si quisiéramos que lo realizara 25 veces, se convertiría en algo más laborioso, para hacerlo más
factible veremos a continuación el ciclo for:
INICIO
INSTRUCCIONES
i = i +1
i = 25
NO
SI
FIN
Esta instrucción no sirve para repetir una parte del código el número de veces que requiramos o
indiquemos. para el uso de esta instrucción en lenguaje C, necesitamos primero que nada declarar
una variable de tipo entera que servirá para ir contando las veces que se realizarán las instrucciones
que queremos repetir, así mismo se conforma de tres partes, primero indicaremos en que numero
empieza nuestra variable a contar, para el caso del programa dibuja triángulos la variable que
declaramos es “i”, entonces la primera parte es indicarle que valor tendrá esta variable al inicio que
en este caso es 0 , entonces la primera parte que de la siguiente forma “i=0”, posteriormente
colocamos un punto y coma y continuamos con la segunda parte de la instrucción que indica el
número de veces queremos que se repita el ciclo, como queremos que el programa se ejecute 25
veces el valor de la variable i será de 26 quedando de la siguiente forma “i<26”, posteriormente
colocamos punto y coma y pasamos a la última parte que indica en cuanto ira creciendo el valor de
la variable i encada ciclo realizado que para este caso es de uno. Esto en programación C se expresa
con el signo + dos veces continuas por lo que quedaría la tercera parte de la instrucción de la
siguiente forma “i++” lo que indica que se incremente en uno cada ciclo, a continuación, mostramos
como queda la instrucción con sus tres componentes:
for (i=0; i<26;i++)
{dentro de estos corchetes van las intrusiones que queremos que se repitan 25 veces}
En seguida te muestro el programa completo:
//PROGRAMA DIBUJA UN TRIANGULO 25 veces con FOR
include<stdio.h>
int main ()
{
int i;
for (i=1; i<26;i++)
{
system(“color 17”);
printf(" * \n ");
printf(" **\n ");
printf(" ***\n ");
printf(" *****\n ");
}
return 0;
}
0 = Negro 8= Gris
1= Azul 9= Azul Claro
2= Verde A= Verde Claro
3= Aguamarina B= Aguamarina Claro
4= Rojo C= Rojo Claro
5= Púrpura D= Púrpura Claro
6= Amarillo E= Amarillo Claro
7= Blanco F= Blanco Brillante
Por Ejemplo, si queremos que, a la hora de ejecutar un código de programa con fondo de color azul
y texto de color rojo, ingresamos: system(“color 14”);donde el 1 sería para el fondo de color azul
y el 4 para el texto de color rojo. (combinaciones recomendadas: 0b,07,17,1c,1a,1b,1e y 1f)
Para limpiar la pantalla se utiliza system(“cls”);
CICLO WHILE
Continuaremos a hora con otro ciclo de repetición while y lo aplicaremos al programa dibuja
triángulo.
DIAGRAMA DE FLUJO DEL CICLO WHILE
INICIO
NO
a < 25
SI
INSTRUCCIONES
FIN
Esta instrucción no sirve también para repetir una parte del código y estará sujeta a una condición
mientras esta sea verdadera el conjunto de instrucciones se seguirá repitiendo, en el momento que
la condición sea falsa se termina el ciclo de repetición.
Para usar este bucle necesitamos primero que nada declarar dos variables de tipo entero una
variable que cuente el número de veces que se realiza que para este caso es (i) y otra que es la
condición (a), para el caso del programa que repite 25 veces el dibujo de un triángulo tenemos que
a diferencia del for aquí tenemos que inicializar la variable que cuenta (i) antes de iniciar el ciclo que
para este caso queda “i=0”, otro cambio importante es que el incremento de la variable va colocada
dentro del ciclo y no como tercer término como en el for, veamos a continuación como queda:
INSTRUCCIONES
S
a < 25
I
NO
FIN
Esta instrucción no sirve también para repetir una parte del código y estará sujeta a una condición
mientras esta sea verdadera el conjunto de instrucciones se seguirá repitiendo, en el momento que
la condición sea falsa se termina el ciclo de repetición.
Así mismo cabe mencionar algo muy importante que en este ciclo aun cuando la condición sea falsa
el programa se realizara por lo menos una vez.
Para usar este bucle necesitamos primero que nada declarar una variable de tipo entero que cuente
el número de veces que se realiza, que para este caso es (i) a diferencia del for aquí tenemos que
inicializar la variable que cuenta (i) antes de iniciar el ciclo que para este caso queda “i=0”, otro
cambio importante es que el incremento de la variable va colocada dentro del ciclo do y no como
tercer término como en el for, veamos a continuación como queda:
do{ system("cls");
printf("\n Elige la operacion que deseas\n");
printf("1.-Suma\n");
printf("2.- Resta\n");
printf("3.- Salir del programa\n");
scanf("%i",&op);
switch (op)
{
case 1:
system("cls ");
printf("Introduce el primer sumando : ");
scanf("%i",&x); // aquí lee el número y lo almacena en la variable x
printf("Introduce el segundo sumando : ");
scanf("%i",&y); // aquí lee el número y lo almacena en la variable y
r=x+y;
printf("El resultado de la suma es = %i\n ",r);
system("pause");
break;
case 3:
printf("********************************************************************\n ");
printf("* HASTA LA VISTA BABY *\n ");
printf("********************************************************************\n ");
break;
default:
printf("No elegiste ninguna opcion valida intentalo nuevamente\n ");
system("pause");
break;
}
}
while (op!=3);
return 0;
}
Realicemos un programa que calcule la raiz cuadrada y tenga un menu donde indique la opcion de
salir del programa.
//PROGRAMA RAIZ CUADRADA con SWITCH y DO WHILE
#include<stdio.h>
#include<math.h>
int main (){
int op,x;
float r;
do{
system ("color 1f");
printf("\n\n Elige la operacion que deseas\n");
printf("1.- Calcular la raiz cuadrada de un numero\n ");
printf("2.- Salir del programa ");
scanf("%i",&op);
switch (op)
{
case 1:
system("cls ");
printf("Introduce el dato para calcular la raiz : ");
scanf("%i",&x);
r=sqrt(x);
printf("La raiz del numero es = %f\n ",r);
system("pause");
break;
default:
system("cls ");
printf("No elegiste ninguna opcion valida intentalo nuevamente\n ");
system("pause");
break;
}
}
while (op!=2);
return 0;
}
Puedes observar que en el programa anterior se añadieron cambios uno de ellos es que se incluyo
la librería math.h que es la que contiene la instrucion sqrt, a demas podemos observar que la
variable que contiene el resultado ya no se declaro entera si no flontante, estos es porque la raices
no siempres son exactas ( de tipo entero).
FUNCIONES EN “C”
Para completar nuestro curso de programacion en C veremos el empleo de funciones y las
aplicaremos al programa suma resta que ya realizamos, para que podamos observar su utilidad y la
diferencia entre las otras versiones del programa.
Una funcion se identifica con la palabra reservada void, despues de esta va el nombre de nuestra
funcion. Cuando mandamos llamar la funcion en el programa principal esto se relaiza con el nombre
que le pusimos agregandole parentesis y un punto y coma. Ejemplo suma();
switch (op)
{ case 1:
suma();// aquí se llama la función suma
system("pause");
break;
case 2:
resta();// aquí se llama la función resta
system("pause"); PROGRAMA PRINCIPAL
break;
de aquí se llaman todas
case 3: las Funciones que
system("cls"); creamos.
system("color 2f");
printf("******************************************************************\n");
printf("\n");
printf(" __ \n");
printf(" .' '. \n");
printf(" _.-'/ | . \n");
printf(" , _.- , | / 0 `-. \n");
printf(" |. ._.-* `---`_._ .'=========================, \n");
printf(" * '-'` .___.--._)===========================| \n");
printf(" . .' * *\n");
printf(" | /,_.-' * *\n");
printf(" _/ _.'( * HASTA LA VISTA BABY *\n");
printf("/ ,-' . . * *\n");
printf(". . `-' * *\n");
printf(" `-' '==============================' \n");
printf("\n");
system("pause");
break;
default:
system("cls");
printf("No elegiste ninguna opcion valida intentalo nuevamente\n ");
system("pause");
break;
}
}
while (op!=3);
return 0;
}