You are on page 1of 5

UNIVERSIDAD DE GUANAJUATO

CAMPUS IRAPUATO-SALAMANCA

MATERIA:
FUNDAMENTOS DE LOS SISTEMAS DE INFORMACION

PROFESOR:
M.I. Marco Antonio Contreras Cruz

TRABAJO:
Proyecto Final: “JUEGO DEL AHORCADO”

INTEGRANTES DEL EQUIPO:


 Cesar Gabriel Reyes Rodríguez
 Delia Guadalupe Medina Ríos
 Carlos Alejandro Velázquez Cortes

FECHA:
02/06/2016
Proyecto Final “Programa el Juego del
Ahorcado en Lenguaje C”
Alumnos: Cesar Gabriel Reyes Rodríguez; Delia Guadalupe Medina Ríos; Carlos Alejandro
Velázquez Cortes

5- Se comprueba que el programa generado funciona


Abstracto—Se realizará un programa en lenguaje C y nosotros correctamente. En caso de encontrar algún error, se depura el
como desarrolladores de software, con conocimientos sólidos en código (solución a los problemas)
programación, llevaremos a cabo este sistema. A continuación, se 6- Se realiza la documentación del programa realizado.
presenta el problema a resolver.
¿Qué es el lenguaje de programación C?
Llamado el juego del ahorcado el cual se basa usando una fila de
guiones, en los que se representa la palabra a adivinar, dando el El lenguaje de programación C es un lenguaje de nivel medio
número de letras, números y categoría. Si el jugador adivinador que se puede caracterizar por los siguientes puntos:
sugiere una letra o número que aparece en la palabra, el programa • Es de propósito general, esto significa que puede ser usado
la escribe en todas sus posiciones correctas. Si la letra o el número tanto para el desarrollo de sistemas operativos como para
sugerido no se encuentran en la palabra, el programa saca un programas científicos, programas de aplicación o programas de
elemento de la figura del ahorcado (como partes del cuerpo del educación y juegos.
humano) como una marca de conteo. El juego termina cuando: 1)
Adivina el jugador el nombre; 2) Cuando se muestra la figura del
hombre por completo, el jugador pierde. • Posee una alta transparencia ya que los programas escritos
en C pueden ser llevados de un tipo de ordenador a otro y
funcionarán. Los cambios que hay que realizar son mínimos.

I. NOMENCLATURA • Como solo tiene 32 palabras reservadas se dice que es


El objetivo de este proyecto es que nosotros como compacto.
estudiantes utilicemos todos los conocimientos adquiridos en el
curso de fundamentos de información para resolver el • Los compiladores generan ejecutables más pequeños
problema. Este proyecto involucra el modelado, análisis, diseño porque por norma general, los programas escritos en lenguaje
y desarrollo de un programa de computadora que permita C poseen menos líneas de código que otros lenguajes de
generar la solución al problema propuesto. programación de alto nivel.

II. INTRODUCCIÓN • El lenguaje de programación C es un lenguaje imperativo


o procedimental. Esto significa que indica secuencias de
Para empezar, debemos definir que es un programa. Un
acciones con el fin de llegar a un objetivo. Generalmente los
programa puede entenderse como la forma de expresar la
lenguajes imperativos o procedimentales contienen una parte
solución a un problema de manera que sea comprensible para el
declarativa. El lenguaje C da órdenes a la máquina.
ordenador. En otras palabras, un programa es un conjunto
ordenado de instrucciones que se dan a la computadora
• Es un lenguaje estructurado ya que los programas escritos
indicando el conjunto de operaciones o tareas que se desea
con él se pueden organizar en módulos.
llevar a cabo.
Una instrucción es un conjunto de símbolos que representa
Su principal desventaja es que un programa puede estar
una orden de operación o tratamiento para el ordenador.
escrito con tal brevedad y concisión que se vuelven casi
A la hora de crear un programa, hay que tener en cuenta los
ilegibles. Esto es debido a su versatilidad.
siguientes pasos:
El compilador C trata las letras mayúsculas y minúsculas como
1- Realizar un análisis del problema definiendo los requisitos
caracteres diferentes.
a los que se deben dar solución
2- Diseñar y verificar el algoritmo que se va a seguir para
solucionar el problema
III. PREPARACIÓN DE UN ESCRITO TÉCNICO
3- Se codifica el algoritmo diseñado anteriormente en un
lenguaje de programación El proyecto asignado debe contener las características
4- Se traduce el código fuente escrito a código maquina técnicas siguientes: Herramientas de programación como
empleando compiladores, generándose de esta manera el manejo de archivos, creación de librerías, funciones, estructura
programa ejecutable por el ordenador. de datos, arreglos, punteros y demás elementos del lenguaje de
UNIVERSIDAD DE GUANAJUATO 3
CAMPUS IRAUATO-SALAMANCA

programación.  Con "break" para salir de un bloque de código


asociado a if instrucción (la instrucción break sale de
Con el objetivo de desarrollar programas claros, simples,
eficientes, modulares, etc. Recomendado realizar la un bloque de código asociado a una de switch o
documentación de nuestro código por medio de comentarios, while.)
para permitir que otros programadores puedan interpretar y  Comparar una variable "char" contra EOF (-1).
entender nuestro código.
V. DESCRIPCIÓN GENERAL
IV. ALGUNOS ERRORES COMUNES Utilice un archivo para almacenar el catálogo de palabras
disponibles en el juego. La estructura del archivo puede tener el
El texto que aparece a continuación enumera algunos de los siguiente formato:
errores más comunes que se producen programación en
lenguaje C. Cualquiera de estos elementos puede provocar n
resultados imprevisibles, como datos no válidos. Algunos son 𝑤𝑜𝑟𝑑1
el compilador detectará y registrados como errores o
𝑤𝑜𝑟𝑑2
advertencias. …
𝑤𝑜𝑟𝑑𝑛
 Con una variable automática que no se ha Donde n es el número de palabras del catálogo y 𝑤𝑜𝑟𝑑1 es
inicializado. la palabra i.
Este proyecto se realizó mediante 3 archivos a los cuales se
 Omitiendo un delimitador de comentario de cierre.
les nombre ahorcado.c, ahorcado.h, y prueba.c.
 Uso de un índice de matriz mayor que la longitud de De esta manera es como manejamos los tipos de variable que
la matriz (en C, los índices de matriz ejecutar desde son auxiliares en el programa principal y lucen de la siguiente
cero a < longitud > -1.). manera
 Si se omite un punto y coma o una llave de cierre.
 Utilizando un puntero sin inicializar.
 Utilizar una barra diagonal cuando se necesita una
barra diagonal inversa (por ejemplo, sustituir "/ n"
para "\n".).
 Utilizar "=" en una comparación donde se desea la
"==".
 Sobrescribiendo el terminador nulo de una cadena.
 Terminar prematuramente una declaración de función
con un punto y coma (el compilador marca a menudo
el bloque "huérfanas" de código como un error de
sintaxis).
 Especificar los valores de variables en una
instrucción de scanf() en lugar de sus direcciones.
 No se puede declarar el tipo de valor devuelto de una
función.
 Suponiendo que el orden de evaluación de una
expresión cuando se utiliza una expresión con efectos
secundarios (por ejemplo, [i] = i ++; es ambiguo y
peligroso.).
Para esta parte se creó una variable con el nombre de cadena
 Errores para tener en cuenta una variable estática en la cual contiene 100 espacios para renglones y 100 espacios
una función se inicializan sólo una vez. para columnas, de esta manera solo elegimos el número de
 Si se omite un "salto" desde un caso en una renglón el cual contiene el nombre a elegir.
instrucción switch (ejecución "cae a través de" casos Se creó una variable con el nombre de ganador inicializado
en 0 para todos los valores en la cual se va a guardar cada valor
subsiguientes). ingresado en la variable caracter1.
La cadena fallos se inicializa con 7 espacios con el carácter
UNIVERSIDAD DE GUANAJUATO 4
CAMPUS IRAUATO-SALAMANCA

”_”porque solo son 6 intentos los que el jugador tiene para y entrar a la función reconocimiento la cual se explicara a
adivinar la palabra escogida al azar por la computadora. continuación.
La computadora será el jugador que propone la palabra de
forma aleatoria para iniciar el juego. Después despliegue el
carácter “_ “cada una de las letras de la palabra a adivinar.
Capture del teclado un carácter a la vez mostrando si la letra
pertenece a la palabra o no. En caso de que la letra no pertenezca
se deberá mostrar en un apartado las letras capturadas que no
forman parte de la palabra. Además, muestre la evolución del
dibujo del ahorcado dependiendo si el usuario ha acertado o no
en sus letras propuestas.

La función llamada strchr() busca el carácter 1 en la cadena del


nombre escogido al azar y si lo encuentra entra a la función
reconocimiento, en caso de no encontrarla entra a las siguientes
funciones dibujo y fail que se explicaran más adelante en el
En esta parte empezamos introduciendo la variable necesaria código.
(palabra buscada) la cual será la palabra introducida por teclado
y mostrando la pantalla, también se muestra el ingreso de las
funciones que permiten introducir color de pantalla, color de
letra y presentación del juego.

La función reconocimiento recibe tanto los valores inicializados


como el carácter 1 la impresión y la cadena ganaste.
Con la sentencia if busca el carácter 1 en la cadena y sustituye
el carácter”_”de impresión por el caracter1 imprimiendo de la
siguiente manera:

El programa crea aleatoriamente un número el cual va a referir


al renglón que está en la variable cadena se guarda en la variable
impresión y los mismos valores de cadena se guardan en string
por motivos de compatibilidad con la función de esta misma
forma se crean los espacios de la palabra sin mostrar la palabra.

En caso de que no esté el carácter entra en las funciones fail y


dibujo las cuales contienen lo siguiente:

En el siguiente paso por medio de un ciclo while se inicializa


el proceso de adivinar la palabra pidiendo al usuario un carácter
UNIVERSIDAD DE GUANAJUATO 5
CAMPUS IRAUATO-SALAMANCA

Las funciones reciben los valores inicializados en ahorcado .c y


la variable intentos a es la que elige el dibujo y en fail recibe
tanto el carácter 1 como intentos y nos apunta a la cadena fallos
para reemplazar los valores y en pantalla sucede lo siguiente

Y de esta manera el juego concluye.

VI. CONCLUSIÓN
Después de realizar este proyecto, hemos comprendido cómo y
por qué es posible interactuar con las computadoras usando
como intermediario el lenguaje C, capaz de establecer
comunicación entre nosotros y entre ellas mismas para resolver
distintos problemas; desde su aparición hasta su solución, el
hombre ha creado una serie de pasos finitos que pueden ser
traducidos a la máquina para procesar los datos que le
introducimos. Podemos definir un lenguaje de programación
como una simple herramienta de comunicación entre el hombre
y la máquina, sin embargo, no podría definir de una forma tan
simple la manera en que las computadoras funcionan, porque,
como hemos visto, la combinación de estas "herramientas"
. constituyen una compleja "herramienta", así vamos viendo
La cadena fallos remplaza un carácter “_” por el caaracter1 no cómo se desarrollan estos medios a través de la inteligencia
encontrado en el nombre de la cadena y muestra el dibujo del humana, y la rapidez que tiene las computadoras.
ahocado en esta misma unción dibujo esta el dibujo perdedor en
caso de agotar los 6 intentos que tienes. VII. REFERENCIAS
1. Como Programar en C++. Deitel 9na Edición.
2. Lenguaje C++.By Brice-Arnaud Guérin
3. Apuntes de clase de Fundamentos de los Sistemas de
Informacion.

VIII. BIOGRAFÍAS
No se incluye ninguna al respecto por que no se menciona un
personaje importante.

En caso de ganar entra a la función dibujo ganaste la cual solo


e entra un valor a para inicializarla y muestra lo siguiente