Está en la página 1de 24

UNIVERSIDAD CENTRAL DEL

ECUADOR

FACULTAD DE INGENIERA, CIENCIAS FSICAS Y MATEMTICA


INGENIERA EN DISEO INDUSTRIAL
PROGRAMACIN I
ING. WAGNER LUCERO
TRABAJO DE PROGRAMACIN
ESTUDIANTES:
ALEXANDER MUZO
FRANCISCO RUBERTO
FRANCISCO ERAZO
LUIS CURIPOMA
ROBERTO URQUIZO
CARLOS LOGROO
CURSO: PRIMERO
PARALELO: PRIMERO

SEMESTRE ABRIL 2015-SEPTIEMBRE 2015

Tabla de contenido

Introduccin ........................................................................................................................................ 4
Objetivo General ................................................................................................................................. 5
Objetivos Especficos ........................................................................................................................... 5
Marco Terico ..................................................................................................................................... 6
Historia De La Programacin ............................................................................................................... 6
Definicin ............................................................................................................................................ 7
Caractersticas ..................................................................................................................................... 7
Paradigmas En Lenguajes De Programacin ....................................................................................... 7
Tendencias Actuales ............................................................................................................................ 8
Clasificacin De Los Lenguajes De Programacin ............................................................................... 8
Clasificacin Segn Nivel De Abstraccin........................................................................................ 8
Clasificacin Segn Paradigma ........................................................................................................ 9
Clasificacin Segn La Forma De Ejecucin .................................................................................. 10
Lenguajes de Programacin Visual Basic .......................................................................................... 10
Definicin: ..................................................................................................................................... 10
C++..................................................................................................................................................... 11
Definicin ...................................................................................................................................... 11
Java .................................................................................................................................................... 12
Definicin ...................................................................................................................................... 12
Entorno de Desarrollo Integrado ...................................................................................................... 12
Ejemplos de IDES: .............................................................................................................................. 12
Anexos ............................................................................................................................................... 13
Visual Basic ........................................................................................................................................ 13
Desarrollo Del Juego De Ahorcado En Visual Basic ...................................................................... 13
Cdigo ........................................................................................................................................... 13
C++..................................................................................................................................................... 16
Desarrollo Del Juego De Ahorcado En C++ ................................................................................... 16
Cdigo ........................................................................................................................................... 17
Java .................................................................................................................................................... 21
Desarrollo Del Juego De Ahorcado En Java .................................................................................. 21

Cdigo ........................................................................................................................................... 21
Conclusiones ..................................................................................................................................... 23
Recomendaciones ............................................................................................................................. 23
Bibliografa ........................................................................................................................................ 24

Introduccin
En la actualidad, el conocimiento de programacin se encuentra fuertemente
influenciado en la creacin de aplicaciones informticas y videojuegos; este es el proceso en
el cual una persona desarrolla y crea un programa utilizando alguna herramienta que le
permita escribir el cdigo (el cual puede estar en uno o varios lenguajes, tales como C++,
Java y Visual Basic) y de otra que sea capaz de traducir todo ese cdigo, esto es lo que se
conoce como compilacin y es necesario para que el cdigo pueda ser ejecutado por la
plataforma para la cual haya sido creado.
El ahorcado es uno de los juegos ms conocidos a nivel mundial, consiste en un juego
de adivinanzas de lpiz y papel para dos o ms jugadores. Un jugador piensa en una palabra,
frase u oracin y el otro trata de adivinarla por medio de letras, teniendo un nmero limitado
de oportunidades.
El objetivo del trabajo es desarrollar un algoritmo para poder jugar El ahorcado en
diferentes plataformas, para ello utilizamos 3 de los cdigos ms conocidos en la
programacin, que son C++, Visual Basic y Java.
Para crear estos programa comenzamos realizando el cdigo en Dev-C++ para luego
poder transferirlo a los dems programas y lenguajes. Despus de tener una base slida del
algoritmo en dicho programa, vamos a transferir dicho cdigo creado hacia Java y Visual
Basic, utilizando herramientas aprendidas en clase, aadiendo facilidades de programacin,
a lo que se sum otros dos paradigmas que ya estaba admitidos (programacin estructurada
y la programacin orientada a objetos).

Objetivo General
Desarrollar los algoritmos necesarios para la creacin del juego del ahorcado en los
distintos lenguajes de programacin utilizados en clase, que son C++, Visual Basic y Java.

Objetivos Especficos

Explicar de forma detallada el programa a realizarse.


Conocer dar un uso correcto a las libreras en los programas.
Ejecutar de manera ptima los cdigos en los distintos programas.
Adaptar el juego a los tres lenguajes de programacin.

Marco Terico
Historia De La Programacin
Los primeros lenguajes de programacin surgieron de la idea de Charles Babagge, la
cual se le ocurri a este hombre a mediados del siglo XIX. Era un profesor matemtico de la
universidad de Cambridge e inventor ingls, que al principio del siglo XIX predijo muchas
de las teoras en que se basan los actuales ordenadores. Consista en lo que l denominaba la
maquina analtica, pero que por motivos tcnicos no pudo construirse hasta mediados del
siglo XX. Con l colaboro Ada Lovedby, la cual es considerada como la primera
programadora de la historia, pues realizo programas para aqulla supuesta mquina de
Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los
programas de Ada, lgicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de
partida de la programacin, sobre todo si observamos que en cuanto se empez a programar,
los programadores utilizaron las tcnicas diseadas por Charles Babagge, y Ada, que
consistan entre otras, en la programacin mediante tarjetas perforadas. A pesar de ello, Ada
ha permanecido como la primera programadora de la historia. Se dice por tanto que estos
dos genios de antao, se adelantaron un siglo a su poca, lo cual describe la inteligencia de
la que se hallaban dotados.
En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de
diferencias, un dispositivo mecnico para efectuar sumas repetidas. Pero Babagge se dedic
al proyecto de la mquina analtica, abandonando la mquina de diferencias, que se pudiera
programar con tarjetas perforadas, gracias a la creacin de Charles Jacquard (francs). Este
hombre era un fabricante de tejidos y haba creado un telar que poda reproducir
automticamente patrones de tejidos, leyendo la informacin codificada en patrones de
agujeros perforados en tarjetas de papel rgido. Entonces Babagge intento crear la mquina
que se pudiera programar con tarjetas perforadas para efectuar cualquier clculo con una
precisin de 20 dgitos. Pero la tecnologa de la poca no bastaba para hacer realidad sus
ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su
contribucin es decisiva, ya que los ordenadores actuales responden a un esquema anlogo
al de la mquina analtica. En su diseo, la mquina constaba de cinco unidades bsicas:

Unidad de entrada, para introducir datos e instrucciones.


Memoria, donde se almacenaban datos y resultados intermedios.
Unidad de control, para regular la secuencia de ejecucin de las operaciones.
Unidad Aritmtico-Lgica, que efecta las operaciones.
Unidad de salida, encargada de comunicar al exterior los resultados.

Charles Babbage, conocido como el "padre de la informtica" no pudo completar en


aquella poca la construccin del computador que haba soado, dado que faltaba algo
fundamental: la electrnica. El camino sealado de Babbage, no fue nunca abandonado y
siguindolo, se construyeron los primeros computadores.
Cuando surgi el primer ordenador, el famoso ENIAC (Electronic Numerical
Integrator And Calculator), su programacin se basaba en componentes fsicos, o sea, que se
programaba, cambiando directamente el Hardware de la mquina, exactamente lo que s
hacia era cambiar cables de sitio para conseguir as la programacin de la mquina. La
entrada y salida de datos se realizaba mediante tarjetas perforadas.

Definicin
Un Lenguaje de Programacin es un conjunto de reglas, notaciones, smbolos y/o
caracteres que permiten a un programador poder expresar el procesamiento de datos y sus
estructuras en la computadora. Cada lenguaje posee sus propias sintaxis. Tambin se puede
decir que un programa es un conjunto de rdenes o instrucciones que resuelven un problema
especfico basado en un Lenguaje de Programacin.
Se llama Programacin a la implementacin de un algoritmo en un determinado
lenguaje de programacin, para realizar un programa. Algoritmo es una secuencia no
ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema.
El proceso de creacin de software es materia de la ingeniera del software, una de
las ramas propias de la Ingeniera Informtica. Segn Niklaus Wirth un programa est
formado por algoritmos y estructura de datos.
Se han propuesto diversas tcnicas de programacin, cuyo objetivo es mejorar tanto
el proceso de creacin de software como su mantenimiento. Entre ellas se pueden mencionar
las programaciones lineales, estructurada, modular y orientada a objetos.
Caractersticas
Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla, fciles de leer y
fciles de compilar
Ortogonalidad: permite combinar en una sola instruccin diversas caractersticas del
lenguaje, de esta manera se consiguen programas ms cortos y ms compactos.
Naturalidad para la aplicacin: consiste en el lenguaje proporcione herramientas
adecuadas para el fin para el que est pensado.
Soporte a la abstraccin: Solucionar tipos de problemas y no problemas concretos.
Debe permitir que el programador pueda crear funciones y procedimientos.
Entorno de programacin: Los lenguajes han de ir acompaados de un entorno donde
programar.
Portabilidad de los programas: Es un lenguaje que permite crear programas que
funcionen en cualquier maquina pertenezca a la plataforma que quiera, distinto
fabricante, etc.
Paradigmas En Lenguajes De Programacin
Existen diversos lenguajes y paradigmas de programacin para facilitar la tarea de
programacin en diferentes mbitos. Por ejemplo, la programacin orientada a objetos es un
paradigma dirigido al mejoramiento en la calidad del software por medio de la observacin
de aspectos tales como la correccin, robustez, extensibilidad, compatibilidad y sobre todo
la reusabilidad del software.
La programacin lgica, por su parte, es un paradigma orientado a la expresin de los
problemas en trminos lgicos para su posterior solucin por mtodos de inferencia y
tcnicas lgicas.
En la prctica, cada paradigma de programacin es implementado a travs de diversos
lenguajes. Solo como un ejemplo, la programacin orientada a objetos encuentra recipientes
en lenguajes JAVA, C++, Eiffel, Objetive c, etc.

Tendencias Actuales
La evolucin de los lenguajes de programacin contina, tanto en la industria como
en investigacin. Algunas de las tendencias actuales incluyen:

Aumentar el soporte para la programacin funcional en lenguajes importantes


utilizados comercialmente, incluida la programacin funcional pura para hacer el
cdigo ms fcil de razonar y de paralelizar (tanto en macro como en microniveles).
Construir lenguajes para apoyar la programacin concurrente y distribuida.
Mecanismos para aadir al lenguaje verificacin en cuanto a seguridad y
confiabilidad: chequeo sintctico extendido, control de flujo de informacin,
seguridad de hilos.
Mecanismos alternativos de modularidad: mixins, delegados, aspectos.
Desarrollo de software orientado a componentes.
Mayor nfasis en cuanto a distribucin y movilidad.
Integracin con bases de datos, incluyendo XML y bases de datos relacionales.

Clasificacin De Los Lenguajes De Programacin


Los lenguajes de programacin son clasificados de muchas formas, dentro de estas
encuentran:

se

Clasificacin Segn Nivel De Abstraccin

Los lenguajes de bajo nivel:


o

Los lenguajes de medio nivel:


o

Son lenguajes de programacin que se acercan al funcionamiento de una


computadora. El lenguaje de ms bajo nivel es, por excelencia, el cdigo
mquina. A ste le sigue el lenguaje ensamblador, ya que al programar en
ensamblador se trabajan con los registros de memoria de la computadora de
forma directa.

Hay lenguajes de programacin que son considerados por algunos expertos


como lenguajes de medio nivel (como es el caso del lenguaje C) al tener
ciertas caractersticas que los acercan a los lenguajes de bajo nivel pero
teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje ms
cercano al humano y, por tanto, de alto nivel.

Los lenguajes de alto nivel:


o

Los lenguajes de alto nivel son normalmente fciles de aprender porque estn
formados por elementos de lenguajes naturales, como el ingls.
o En BASIC, el lenguaje de alto nivel ms conocido, los comandos como "IF
CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a 10. Por desgracia para
muchas personas esta forma de trabajar es un poco frustrante, dado que a
pesar de que las computadoras parecen comprender un lenguaje natural, lo
hacen en realidad de una forma rgida y sistemtica.

Clasificacin Segn Paradigma

Paradigma imperativo:
o

Paradigma declarativo:
o

La programacin orientada a objetos, intenta simular el mundo real a travs


del significado de objetos que contiene caractersticas y funciones. Los
lenguajes orientados a objetos se clasifican como lenguajes de quinta
generacin.

Paradigma funcional:
o

La programacin estructurada se basa en una metodologa de desarrollo de


programas llamada refinamientos sucesivos: Se plantea una operacin como
un todo y se divide en segmentos ms sencillos o de menor complejidad. Una
vez terminado todos los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el pool de programadores.

Paradigma orientado a objetos:


o

No se basa en el cmo se hace algo (cmo se logra un objetivo paso a paso),


sino que describe (declara) cmo es algo. En otras palabras, se enfoca en
describir las propiedades de la solucin buscada, dejando indeterminado el
algoritmo (conjunto de instrucciones) usado para encontrar esa solucin. Es
ms complicado de implementar que el paradigma imperativo, tiene
desventajas en la eficiencia, pero ventajas en la solucin de determinados
problemas.

Paradigma estructurado:
o

Describe la programacin como una secuencia instrucciones o comandos que


cambian el estado de un programa. El cdigo mquina en general est basado
en el paradigma imperativo. Su contrario es el paradigma declarativo. En este
paradigma se incluye el paradigma procedimental (procedural) entre otros.

Este paradigma concibe a la computacin como la evaluacin de funciones


matemticas y evita declarar y cambiar datos. En otras palabras, hace
hincapi en la aplicacin de las funciones y composicin entre ellas, ms que
en los cambios de estados y la ejecucin secuencial de comandos (como lo
hace el paradigma procedimental). Permite resolver ciertos problemas de
forma elegante y los lenguajes puramente funcionales evitan los efectos
secundarios comunes en otro tipo de programaciones.

Paradigma lgico:
o

Se basa en la definicin de reglas lgicas para luego, a travs de un motor de


inferencias lgicas, responder preguntas planteadas al sistema y as resolver
los problemas.

Clasificacin Segn La Forma De Ejecucin

Lenguajes compilados:
o

Los compiladores son aquellos cuya funcin es traducir un programa escrito


en un determinado lenguaje a un idioma que la computadora entienda
(lenguaje mquina con cdigo binario).
o Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual
Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras
haya errores, sino hasta que luego de haber compilado el programa, ya no
aparecen errores en el cdigo.

Lenguajes interpretados:
o

Se puede tambin utilizar una alternativa diferente de los compiladores para


traducir lenguajes de alto nivel. En vez de traducir el programa fuente y
grabar en forma permanente el cdigo objeto que se produce durante la
corrida de compilacin para utilizarlo en una corrida de produccin futura, el
programador slo carga el programa fuente en la computadora junto con los
datos que se van a procesar. A continuacin, un programa intrprete,
almacenado en el sistema operativo del disco, o incluido de manera
permanente dentro de la mquina, convierte cada proposicin del programa
fuente en lenguaje de mquina conforme vaya siendo necesario durante el
proceso de los datos. No se graba el cdigo objeto para utilizarlo
posteriormente.

Lenguajes de Programacin Visual


Basic
Definicin:
El lenguaje de programacin Visual Basic es uno de los lenguajes de programacin
que utiliza una interfaz visual es decir que nos permite programar en un entorno grfico, nos
permite realizar un gran nmero de tareas sin escribir cdigo, simplemente realizando
operaciones con el ratn sobre la pantalla de la computadora.
Este lenguaje de programacin es uno de los que ms inters despiertan entre los
programadores. Porque este lenguaje de programacin, el Visual Basic, le facilita la
realizacin de tareas complejas en poco tiempo y a los que estn comenzado a programar
con Visual Basic ven como son capaces de realizar pequeos programas al poco tiempo de
haber comenzado a estudiar este lenguaje de programacin.
El Visual Basic es un lenguaje de programacin que proviene del BASIC. La primera
versin de este lenguaje de programacin Visual Basic fue presentada en el ao 1991. La
intencin de este primer programa era simplificar la programacin utilizando un entorno de
trabajo claro que permitiera crear interfaces grficas facilitando as la programacin.

10

Las sintaxis que utiliza este lenguaje de programacin proviene del conocido
BASIC, pero completada con comandos y cdigos de otros lenguajes ms modernos. Este
lenguaje de programacin Visual Basic tiene un apartado dedicado a la Programacin
Orientada a Objetos.
Es un lenguaje muy apropiado para el manejo de bases de datos. Muchas empresas lo
utilizan para la gestin de sus bases de datos porque su utilizacin es sencilla y abundan los
programadores de este lenguaje.
De este lenguaje de programacin han surgidos algunos derivados como: El VBScript
es un lenguaje predeterminado para el Active Server Pages (ASP) que es un lenguaje de
programacin web. O el Visual Basic.NET que es un lenguaje de similares caractersticas a
las del C#.

C++
Definicin
C es un lenguaje de programacin de propsito general que ofrece economa
sintctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es
un lenguaje de muy alto nivel y ms bien un lenguaje pequeo, sencillo y no est
especializado en ningn tipo de aplicacin. Esto lo hace un lenguaje potente, con un campo
de aplicacin ilimitado y sobre todo, se aprende rpidamente. En poco tiempo, un
programador puede utilizar la totalidad del lenguaje.
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que
fueron desarrollados conjuntamente. Sin embargo, este lenguaje no est ligado a ningn
sistema operativo ni a ninguna mquina concreta. Se le suele llamar lenguaje de
programacin de sistemas debido a su utilidad para escribir compiladores y sistemas
operativos, aunque de igual forma se puede desarrollar cualquier tipo de aplicacin.
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por
Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos son lenguajes
sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que ofrece
son caracteres, nmeros enteros y en coma flotante, de varios tamaos. Adems se pueden
crear tipos derivados mediante la utilizacin de punteros, vectores, registros y uniones. El
primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP-11 y escribi el
propio sistema operativo en Introduccin al lenguaje C.
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por
Ken Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos son lenguajes
sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que ofrece
son caracteres, nmeros enteros y en coma flotante, de varios tamaos. Adems se pueden
crear tipos derivados mediante la utilizacin de punteros, vectores, registros y uniones. El
primer compilador de C fue escrito por Dennis Ritchie para un DEC PDP-11 y escribi el
propio sistema operativo en C.

11

Java
Definicin
Es un lenguaje de programacin de propsito general, concurrente, orientado a
objetos que fue diseado especficamente para tener tan pocas dependencias de
implementacin como fuera posible. Su intencin es permitir que los desarrolladores de
aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido
en ingls como WORA, o "write once, run anywhere"), lo que quiere decir que el cdigo que
es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a
partir de 2012, uno de los lenguajes de programacin ms populares en uso, particularmente
para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.12
El lenguaje de programacin Java fue originalmente desarrollado por James Gosling
de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y publicado en 1995
como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis
deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera
de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que
puede ejecutarse en cualquier mquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.
La compaa Sun desarroll la implementacin de referencia original para los
compiladores de Java, mquinas virtuales, y libreras de clases en 1991 y las public por
primera vez en 1995. A partir de mayo de 2007, en cumplimiento con las especificaciones
del Proceso de la Comunidad Java, Sun volvi a licenciar la mayora de sus tecnologas de
Java bajo la Licencia Pblica General de GNU. Otros tambin han desarrollado
implementaciones alternas a estas tecnologas de Sun, tales como el Compilador de Java de
GNU y el GNU Classpath.
Entorno de Desarrollo Integrado
Entorno de Desarrollo Integrado (en ingls Integrated Development Environment
'IDE'): Es un programa compuesto por un conjunto de herramientas para un programador.
Estos IDE son programas que sirven para programar, ya sea en un lenguaje de programacin
o en varios lenguajes. Los IDE que permiten crear programas en muchos lenguajes de
programacin permiten usar un solo programa para trabajar en varios lenguajes de
programacin, es decir no limitan al programador.

Ejemplos de IDES:

Gambas (lenguaje derivado de BASIC),


Eclipse (lenguaje Java),
Kdevelop (varios lenguajes),
Netbeans (varios lenguajes: java, php , C/C++),
Visual Studio (varios lenguajes: C, C++, C#, Visual Basic, ASP, Javascript)

12

Anexos
Visual Basic
Desarrollo Del Juego De Ahorcado En Visual Basic
Al momento de correr el programa nos sale un men de opciones donde se puede
jugar contra la maquina o contra otro jugador, las instrucciones del juego y la salida. Ya
escogida una opcin del juego en este caso la opcin uno el computador nos enva un mensaje
de bienvenida al juego e inicializacin del juego, una vez desarrollado esto el computador
elige una palabra aleatoriamente, ingresamos una letra y el computador nos va diciendo el
nmero de aciertos y el nmero de oportunidades restantes para jugar , si acertamos todas
las letras nos enva un mensaje que dice felicidades has ganado , si e caso nos que damos sin
oportunidades en la pantalla de Excel se podr observar la figura del mueco ahorcado ,la
opcin 2 nos permite jugar contra otro oponente Si te quedas sin oportunidades restantes nos
sale un mensaje en el cual dice has perdido y con la palabra correcta que debamos adivinar
Elegida la opcin 3 nos sale un mensaje con todas las instrucciones del juego si elegimos la
opcin cuatro nos permite salir del juego.
Cdigo
Sub Macro1()
'
' Macro1 Macro
'
Dim opciob As Integer
opcionb = 0
MsgBox ("Juego del Ahorcado de Palabras")
MsgBox ("
Menu principal" & vbCrLf & "Seleccione una opcin:")
While (opcionb < 4)
Dim acierto, repeticionletra, letra(300) As String
Dim i, j, k, correcto, opcion, ultimo, error, jugador As Integer
jugador = InputBox("(1) Jugador 1 vs. Computador" & vbCrLf & "(2) Jugador 1 vs. Jugador 2" & vbCrLf & "(3) Instrucciones de
juego" & vbCrLf & "(4) Salir")
While (jugador < 2)
If (jugador = 1 Or jugador = 2) Then
If (jugador = 1) Then
MsgBox ("Jugador 1 vs.Computador")
opcion = CInt(Int((11 * Rnd()) + 0))
Select Case (opcion)
Case 0:
letra(0) = "e"
letra(1) = "l"
letra(2) = "e"
letra(3) = "c"
letra(4) = "t"
letra(5) = "r"
letra(6) = "o"
letra(7) = "d"
letra(8) = "o"
letra(9) = "m"
letra(10) = "e"
letra(11) = "s"
letra(12) = "t"
letra(13) = "i"
letra(14) = "c"
letra(15) = "o"
ultimo = 16
Case 1:
letra(0) = "j"
letra(1) = "u"
letra(2) = "g"
letra(3) = "a"
letra(4) = "r"
ultimo = 5
Case 2:

13

letra(0) = "Z"
letra(1) = "o"
letra(2) = "r"
letra(3) = "r"
letra(4) = "o"
ultimo = 5
Case 3:
letra(0) = "p"
letra(1) = "r"
letra(2) = "o"
letra(3) = "g"
letra(4) = "r"
letra(5) = "a"
letra(6) = "m"
letra(7) = "a"
letra(8) = "c"
letra(9) = "i"
letra(10) = "o"
letra(11) = "n"
ultimo = 12
Case 4:
letra(0) = "a"
letra(1) = "s"
letra(2) = "t"
letra(3) = "r"
letra(4) = "o"
letra(5) = "n"
letra(6) = "a"
letra(7) = "u"
letra(8) = "t"
letra(9) = "a"
ultimo = 10
Case 5:
letra(0) = "c"
letra(1) = "o"
letra(2) = "l"
letra(3) = "e"
letra(4) = "g"
letra(5) = "i"
letra(6) = "a"
letra(7) = "l"
ultimo = 8
Case 6:
letra(0) = "c"
letra(1) = "o"
letra(2) = "m"
letra(3) = "p"
letra(4) = "u"
letra(5) = "t"
letra(6) = "a"
letra(7) = "d"
letra(8) = "o"
letra(9) = "r"
letra(10) = "a"
ultimo = 11
Case 7:
letra(0) = "a"
letra(1) = "r"
letra(2) = "t"
letra(3) = "e"
letra(4) = "f"
letra(5) = "a"
letra(6) = "c"
letra(7) = "t"
letra(8) = "o"
ultimo = 9
Case 8:
letra(0) = "c"
letra(1) = "a"
letra(2) = "n"
letra(3) = "d"
letra(4) = "e"
letra(5) = "l"
letra(6) = "a"
letra(7) = "b"
letra(8) = "r"
letra(9) = "o"
ultimo = 10

14

Case 9:
letra(0) = "e"
letra(1) = "s"
letra(2) = "t"
letra(3) = "u"
letra(4) = "d"
letra(5) = "i"
letra(6) = "a"
letra(7) = "n"
letra(8) = "t"
letra(9) = "e"
ultimo = 10
Case 10:
letra(0) = "p"
letra(1) = "r"
letra(2) = "e"
letra(3) = "f"
letra(4) = "e"
letra(5) = "c"
letra(6) = "t"
letra(7) = "u"
letra(8) = "r"
letra(9) = "a"
ultimo = 10
Case 11:
letra(0) = "b"
letra(1) = "i"
letra(2) = "b"
letra(3) = "l"
letra(4) = "i"
letra(5) = "o"
letra(6) = "t"
letra(7) = "e"
letra(8) = "c"
letra(9) = "a"
ultimo = 10
End Select
opcionb = -1
jugador = 5
Else
If (jugador = 2) Then
ultimo = InputBox("ingrese cuantas letras tiene la palabra")
For k = 0 To ultimo - 1
letra(i) = InputBox("ingrese la " & (k + 1) & " letra con comillas")
k=k+1
Next k
ultimo = ultimo + 1
End If
End If
End If
acierto = ultimo
correcto = ultimo
i=0
Worksheets("Hoja1").Cells(19, 2).Value = ("")
Worksheets("Hoja1").Cells(18, 2).Value = ("")
Worksheets("Hoja1").Cells(17, 2).Value = ("")
Worksheets("Hoja1").Cells(16, 2).Value = ("")
Worksheets("Hoja1").Cells(15, 2).Value = ("")
Worksheets("Hoja1").Cells(14, 2).Value = ("")
Worksheets("Hoja1").Cells(14, 3).Value = ("=")
Worksheets("Hoja1").Cells(14, 4).Value = ("=")
Worksheets("Hoja1").Cells(14, 5).Value = ("=")
Worksheets("Hoja1").Cells(15, 5).Value = (" ")
While (i < ultimo)
Worksheets("Hoja1").Cells(3, i + 1).Value = ("-")
i=i+1
Wend
j=0
While (j < 7)
acierto = InputBox("Ingrese una letra")
i=0
While (i < ultimo)
If (letra(i) = acierto) Then
Worksheets("Hoja1").Cells(3, i + 1).Value = (letra(i))
correcto = correcto - 1
repeticionletra = acierto
End If
i=i+1

15

Wend
If (repeticionletra = acierto) Then
j=j-1
error = error - 1
End If
If (correcto = 0) Then
MsgBox ("usted a ganado")
j=6
End If
error = error + 1
j=j+1
Select Case (error)
Case 1:
Worksheets("Hoja1").Cells(16, 5).Value = (" ")
Case 2:
Worksheets("Hoja1").Cells(17, 5).Value = (" ")
Worksheets("Hoja1").Cells(18, 5).Value = ("---+----")
Worksheets("Hoja1").Cells(18, 4).Value = ("
//")
Case 3:
Worksheets("Hoja1").Cells(18, 6).Value = ("\\")
Case 4:
Worksheets("Hoja1").Cells(19, 5).Value = (" ")
Worksheets("Hoja1").Cells(20, 4).Value = ("
/")
Case 5:
Worksheets("Hoja1").Cells(20, 6).Value = ("\")
Case 6:
MsgBox ("Perdio")
j=7
End Select
Wend
Wend
If (jugador = 3) Then
MsgBox ("Instrucciones de juego:")
MsgBox ("- Se dibuja en la pantalla una linea por cada letra de la palabra o frase incognita." & vbCrLf & "- Al inicio el jugador
pide una letra. Si la letra se encuentra en la palabra, se anota en la pantalla y en todas las casillas de la misma letra.Si no esta, sera
sumado un error, tienes hasta 6 intentos de error." & vbCrLf & "- El personaje se consta en 6 partes (cabeza, tronco y extremidades),
por este motivo el adivinador tiene 6 posibilidades de fallar." & vbCrLf & "- Gana el adivinador si descubre la palabra o frase
incognita y pierde si comete 6 errores.")
opcionb = -1
Else
If (jugador = 4) Then
opcionb = 4
MsgBox ("Saliendo del juego")
opcionb = 4
End If
End If
Wend
'
End Sub

C++
Desarrollo Del Juego De Ahorcado En C++
Al momento de correr el programa nos sale un men de opciones donde se puede
jugar contra la maquina o contra otro jugador, las instrucciones del juego y la salida. Ya
escogida una opcin del juego en este caso la opcin uno el computador nos enva un mensaje
de bienvenida al juego e inicializacin del juego, una vez desarrollado esto el computador
elige una palabra aleatoriamente, ingresamos una letra y el computador nos va diciendo el
nmero de aciertos y el nmero de oportunidades restantes para jugar , si acertamos todas
las letras nos enva un mensaje que dice felicidades has ganado , si e caso perdemos nos sale
un mensaje que dice Perdiste ,la opcin 2 nos permite jugar contra otro oponente Si te
quedas sin oportunidades restantes nos sale un mensaje en el cual dice has perdido y con la
palabra correcta que debamos adivinar Elegida la opcin 3 nos sale un mensaje con todas
las instrucciones del juego si elegimos la opcin cuatro nos permite salir del juego.

16

Cdigo
//Libreras
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
//Inicio del Main
int main(int argc, char *argv[])
{
int opcionb=0;
do
{
//Declaracin de variables
char palabraadivinar[60], letrarep[100], lineas[100];
char letra;
int longitud = 0, repetido = 0, gano = 0, i = 0, j = 0, inicial = 0, acertado = 0, temp = 0, oportunidades = 7, diccionario=12;
int aleatoria, opcion=0, random;
//Comienzo del juego
cout << "\tJuego del Ahorcado de Palabras\n\n";
system("cls");
//Men de opciones
cout << "\t\tMenu principal\n\nSeleccione una opcion\n\n";
cout << "\n\n(1) Jugador 1 vs. Computador\n\n(2) Jugador 1 vs. Jugador 2\n\n(3) Instrucciones de juego\n\n(4) Salir\n\n";
cin >> opcion;
if(opcion==1||opcion==2)
{
switch (opcion)
{
case 1:
//Generacion de palabra aleatoria para jugar contra el computador
system("cls");
printf("Jugador 1 vs.Computador\n\n");
srand(time(NULL));
random = rand();
aleatoria = 3 + rand() % (diccionario - 2);
switch (aleatoria)
{
case 1:
strcpy(palabraadivinar, "electrodomestico");
break;
case 2:
strcpy(palabraadivinar, "jugar");
break;
case 3:
strcpy(palabraadivinar, "zorro");
break;
case 4:
strcpy(palabraadivinar, "programacion");
break;
case 5:
strcpy(palabraadivinar, "astronauta");
break;
case 6:
strcpy(palabraadivinar, "colegial");
break;
case 7:
strcpy(palabraadivinar, "computadora");
break;
case 8:
strcpy(palabraadivinar, "artefacto");

17

break;
case 9:
strcpy(palabraadivinar, "candelabro");
break;
case 10:
strcpy(palabraadivinar, "estudiante");
break;
case 11:
strcpy(palabraadivinar, "prefectura");
break;
case 12:
strcpy(palabraadivinar, "biblioteca");
break;
}
system("PAUSE");
opcionb=-1;
break;
case 2:
//Escribir palabra (jugador1) para jugar contra el jugador2
system("cls");
printf("Jugador 1 vs. Jugador 2\n\n");
cout << "Introduzca la palabra a adivinar: \n\n";
cin >> palabraadivinar;
system("cls");
system("PAUSE");
opcionb=-1;
break;
}
do
{
//Recorrido para mostrar en pantalla las lineas de las letras que se deben adivinar
system("cls");
temp = 0;
if (inicial == 0)
{
for (i = 0; i<strlen(palabraadivinar); i++)
{
if (palabraadivinar[i] == ' ')
{
lineas[i] = ' ';
longitud++;
}
else
{
lineas[i] = '-';
longitud++;
}
}
}
//Recorrido para comprobrar letras repetidas
for (i = 0; i<strlen(letrarep); i++)
{
if (letrarep[i] == letra)
{
repetido = 1;
break;
}
else
{
repetido = 0;
}
}
//Recorrido si las letras no estan repetidas y sumar numero de letras acertadas
if (repetido == 0)
{

18

for (i = 0; i<strlen(palabraadivinar); i++)


{
if (palabraadivinar[i] == letra)
{
lineas[i] = letra;
acertado++;
temp = 1;
}
}
}
cout << "\n";
//condicion para restar oportunidades
if (repetido == 0)
{
if (temp == 0)
{
oportunidades = oportunidades - 1;
}
}
cout << "\n";
//recorrido para imprimir letras y lineas de la palabra a adivinar
for (i = 0; i<strlen(lineas); i++)
{
cout << lineas[i];
}
cout << "\n";
//condicion de comparacin para ganar
if (strcmp(palabraadivinar, lineas) == 0)
{
gano = 1;
break;
}
//Impresion de informacion de palabras acertadas y oportunidaes restantes
cout << "\nLetras Acertadas: " << acertado;
cout << "\nOportunidades Restantes: " << oportunidades << "\n";
letra = ' ';
letrarep[j] = letra;
j++;
//condicion para perder
if (oportunidades == 0)
{
gano = 0;
break;
}
//solicitud de digitar una letra para jugar
cout << "Introduzca una letra:\n\n";
cin >> letra;
}while (oportunidades > 0);
//condicion para imprimir si ganaste o perdiste
if (gano==1)
{
cout << "\n\n";
cout << "Enhorabuena, has ganado.\n\n";
system("PAUSE");
}
else
{
if (gano==0)
{
cout << "\n\n";
cout << "Has perdido.";
cout << "\nLa palabra era: " << palabraadivinar << "\n\n";
system("PAUSE");
}
}
}

19

if(opcion==3)
{
//Instrucciones
system("cls");
printf("Instrucciones de juego:\n");
printf("\n\n- Se dibuja en la pantalla una linea por cada letra de la palabra o frase incognita.");
printf("\n\n- Al inicio el jugador pide una letra. Si la letra se encuentra en la palabra, se anota en la pantalla y en
todas las casillas de la misma letra.Si no esta, sera sumado un error, tienes hasta 6 intentos de error.");
printf("\n\n- El personaje se consta en 6 partes (cabeza, tronco y extremidades), por este motivo el adivinador tiene
6 posibilidades de fallar.");
printf("\n\n- Gana el adivinador si descubre la palabra o frase incognita y pierde si comete 6 errores.\n\n");
system("PAUSE");
opcionb=-1;
}
else
{
if(opcion==4)
{
//Salir del juego
opcionb=4;
cout << "Saliendo del juego";
cout << "\n\n";
system("PAUSE");
}
}
system("cls");
} while(opcionb<4);
return 0;
}

20

Java
Desarrollo Del Juego De Ahorcado En Java
Al momento de correr el programa nos sale un men de opciones donde se puede
jugar contra la maquina o contra otro jugador, las instrucciones del juego y la salida. Ya
escogida una opcin del juego en este caso la opcin uno el computador nos enva un mensaje
de bienvenida al juego e inicializacin del juego, una vez desarrollado esto el computador
elige una palabra aleatoriamente, ingresamos una letra y el computador nos va diciendo el
nmero de aciertos y el nmero de oportunidades restantes para jugar , si acertamos todas
las letras nos enva un mensaje que dice felicidades has ganado , si e caso nos que damos sin
oportunidades en la pantalla de Excel se podr observar la figura del mueco ahorcado ,la
opcin 2 nos permite jugar contra otro oponente Si te quedas sin oportunidades restantes nos
sale un mensaje en el cual dice has perdido y con la palabra correcta que debamos adivinar
Elegida la opcin 3 nos sale un mensaje con todas las instrucciones del juego si elegimos la
opcin cuatro nos permite salir del juego.
Cdigo

package juegoahorcado;
import java.io.PrintStream;
import java.util.Scanner;
public class JuegoAhorcado
{
public static void main(String[] args)
{
String[] palabras=
{
"electrodomestico",
"jugar",
"zorro",
"programacion",
"astronauta",
"colegial",
"computadora",
"artefacto",
"candelabro",
"estudiante",
"prefectura",
"biblioteca",
};
String linea, palabra=palabras[(int) (Math.random()*palabras.length)];
int i, n = palabra.length(), turnos =0, aciertos = 0, oportunidades=6;
char letra, caracter, cabeza=' ', cuerpo = ' ', manoIzquierda = ' ', manoDerecha = ' ', pieIzquierdo= ' ', pieDerecho = ' ';
char[] casillas = new char[n];
boolean encontrado;
for (i=0; i<n; i++)
{
casillas[i]= '_';
}
Scanner teclado;
PrintStream out;
if (System.getProperties().get("os.name").equals("Linux") || System.console()==null)
{
teclado=new Scanner(System.in);
out=new PrintStream(System.out);
}
else
{
teclado=new Scanner(System.in,"CP850");
out=new PrintStream(System.out, true, "CP850");
}
do
{
out.println("Oportunidades restantes: " + (oportunidades-turnos));
for (i=0; i<n; i++)

21

{
out.print(" " + casillas[i]);
}
out.println("\nEscriba una letra: ");
do
{
linea = teclado.nextLine();
} while(linea.isEmpty());
letra=linea.charAt(0);
encontrado= false;
for (i=0; i<n; i++)
{
caracter=palabra.charAt(i);
if(Character.toUpperCase(letra)==Character.toUpperCase(caracter))
{
encontrado=true;
if (casillas[i]=='_')
{
casillas[i] = caracter;
aciertos++;
}
}
}
if(!encontrado)
{
turnos++;
out.println("letra no encontrada.");
switch(turnos)
{
case 1 : cabeza = '0'; break;
case 2 : cuerpo = '|'; break;
case 3 : manoDerecha = '/'; break;
case 4 : manoIzquierda = '\\'; break;
case 5 : pieDerecho = '/'; break;
case 6 : pieIzquierdo = '\\'; break;
}
}
out.println(" " + cabeza + " ");
out.println(" " + manoDerecha + "" + cuerpo + "" + manoIzquierda);
out.println(" " + pieDerecho + " " + pieIzquierdo + "\n");
}while(turnos<oportunidades && aciertos<n);
if (aciertos == n)
{
out.println("Felicidades, has ganado");
}
else
{
out.println("Has perdido.");
}
out.println("La palabra secreta es: " + palabra + "\n\n");
}
}

22

Conclusiones

El cdigo desarrollado, a pesar de tener dificultades en los distintos lenguajes de


programacin, funcion correctamente en los distintos lenguajes utilizados.
Dicho programa sirve como medio de ocio y de entretenimiento de una manera
interactiva y puede ser mejorable.
Durante el proceso de estructuracin e investigacin, se obtuvo el conocimiento de
ms tipos de funciones, libreras y modos de alcanzar los objetivos al finalizar el
programa.
El propsito de este trabajo fue emplear todas las herramientas proporcionadas por
el profesor, para desarrollar un programa que contenga todo lo aprendido,
funcionando as de forma exitosa.

Recomendaciones

Se recomienda el uso de libreras que permitan la utilizacin correcta de las


funciones.
Si no entiende algn paso puede mirar el video o las diapositivas que fueron
elaboradas.
Este documento es para aquellas personas que les guste la programacin y deseen
aprender un poco mas de programacin con conceptos fundamentales.

23

Bibliografa

lvarez, C. (25 de 10 de 2014). Desarrollo y Software. Recuperado el 13 de Julio de 2015, de


Genbetadev: http://www.genbetadev.com/actualidad/los-lenguajes-de-programacionmas-utilizados
Daz, N. (2005). UniCauca. Recuperado el 03 de Julio de 2015, de
http://artemisa.unicauca.edu.co/~nediaz/LabII/practica07.htm
Kernighan, B. W., & Ritchie, D. M. (s.f.). Lenguaje de Programacin. Recuperado el 13 de Julio de
2015, de liquidtelecom:
http://mirror.liquidtelecom.com/sourceforge/c/cb/cbookpdf/main.pdf
Niemeyer, P. (2013). Learning Java (Vol. 4). O'Reilly. Recuperado el 14 de Julio de 2015, de
http://chimera.labs.oreilly.com/books/1234000001805
Programacin. (s.f.). Recuperado el 14 de Julio de 2015, de Definicin.de:
http://definicion.de/programacion/

24

También podría gustarte