Está en la página 1de 24

Universidad Nacional

Autónoma De Honduras

Catedrático: - - - - - - - - - - - - - - - - - - - - - - - - - - -Oswaldo cubas

Alumnos: Alessandro Xavier Vásquez Carranza - - - - - - - - - - - 20211022275

Darwin Fernando Hernández Pavón - - - - - - - - - -20191031557

Mabel Daryeli Pavón Herrera - - - - - - - - - - - - - - 20171002730

José David Sánchez flores - - - - - - - - - - - - - - - - -20201004544

Erick Jared Mejia Hernández - - - - - - - - - - - - - - - 20211020540

Asignatura: - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - -MM-314

Sección: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1200

Trabajo: - - - - - - - - - - - - - - - - - - - - - - - - - - - Proyecto Final

Francisco Morazán, Tegucigalpa MDC 2022


Índice
Introducción...............................................................................................................................................4

PYTHON....................................................................................................................................................5

¿Qué es Python?.......................................................................................................................................5

Creación de Python..................................................................................................................................5

¿De donde proviene el Nombre Python?.................................................................................................5

Creador de Python....................................................................................................................................6

Características de Python.........................................................................................................................7

Programación Orientada a objetos (POO):..............................................................................................7

Lenguaje interpretado:.............................................................................................................................7

Multiplataforma:......................................................................................................................................7

Tipado dinámico:.....................................................................................................................................8

Lenguaje open source:.............................................................................................................................8

Ampliamente respaldado:........................................................................................................................8

Es polivalente:..........................................................................................................................................8

Diferencias entre PYTHON y C++...........................................................................................................9

Explicación de Cada Diferencia.............................................................................................................10

Juego del Molino......................................................................................................................................15

Historia.....................................................................................................................................................15

Reglas del Juego.......................................................................................................................................15


1. Colocación las piezas......................................................................................................................16

2. Movimiento de las piezas...............................................................................................................16

3. Vuelo...............................................................................................................................................16

Variantes...................................................................................................................................................17

¿Cómo Jugar el juego del Molino?.........................................................................................................18

Código Juego del Molino en Python.......................................................................................................20

...................................................................................................................................................................20

...................................................................................................................................................................21

Conclusiones.............................................................................................................................................22

BIBLIOGRAFIA.....................................................................................................................................23
Introducción
En el presente informe se redacta el proyecto del grupo B, el cual es elaborar el código de el Juego del

Molino en el programa llamado Python el cual es un lenguaje de programación de propósito general

muy poderoso y flexible, a la vez es más sencillo y fácil de aprender, no obstante, más adelante se dará a

conocer un poco más sobre este programa como ser: su historia, sus características, funciones, ventajas,

diferencias entre c++.

También se dará a conocer sobre el Juego del Molino o como también suelen llamarlo Nueve hombres

de Morris o Morris, es un juego de estrategia abstracto de mesa para dos personas, este juego fue

originado en el imperio romano, mas adelante se dará a conocer las reglas del juego, su historia y la

variedad del juego.


PYTHON

¿Qué es Python?
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su

código. Se trata de un lenguaje de programación multiparadigma, ya que soporta parcialmente la

orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un

lenguaje interpretado, dinámico y multiplataforma.

Creación de Python
Python fue creado a finales de los años ochenta por Guido van Rossum en el Centro para las

Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un

sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema

operativo Amoeba.

¿De donde proviene el Nombre Python?


El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.

Guido Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de

Python es reconocido, refiriéndose a él como Benevolente Dictador Vitalicio (en inglés: Benevolent

Dictator for Life, BDFL)


Creador de Python

Guido van Rossum (Haarlem, Países Bajos, 31 de enero de 1956) es un informático, conocido por ser el

autor del lenguaje de programación Python. Nació y creció en los Países Bajos.

Van Rossum nació y creció en los Países Bajos, donde obtuvo su titulación universitaria en matemáticas

y computación por la Universidad de Ámsterdam en 1982. A lo largo de su vida ha trabajado tanto en la

industria, ya mencionado en la introducción, como en diversos centros de investigación como el instituto

holandés Centrum Wiskunde & Informática (CWI), el estadounidense Instituto Nacional de Estándares y

Tecnología o la Corporación para las Iniciativas Investigadoras Nacionales en Reston, Virginia.

Es la primera persona en obtener el título BDFL (Benevolent Dictator for Life), cuyo título es otorgado a

personajes importantes en el mundo del código abierto, teniendo asignada la tarea de fijar las directrices

sobre la evolución de Python, así como la de tomar decisiones finales sobre el lenguaje que todos los

desarrolladores acatan. Van Rossum tiene fama de ser bastante conservador, realizando pocos cambios

al lenguaje entre versiones sucesivas, intentando mantener siempre la compatibilidad con versiones

anteriores. El 12 de julio de 2018, con un mensaje enviado a la lista de python-committers, anunció su


retiro de los procesos de decisión.2 Desde noviembre del 2020 es parte de la División de

Desarrolladores de la empresa Microsoft.

En el año 2001 recibió el FSF Award for the Advancement of Free Software como reconocimiento por

su trabajo.3 En diciembre de 2005 fue contratado como desarrollador por la empresa estadounidense

Google. Después de siete años en Google, a principios de diciembre de 2012, anuncia su retirada de la

empresa norteamericana para incorporarse en enero de 2013 a la plantilla de la compañía Dropbox.

Características de Python
Programación Orientada a objetos (POO):

Al igual que otros lenguajes populares como Java, C++ o Javascript, Python es un lenguaje orientado a

objetos. Un lenguaje orientado a objetos es aquel en el que el código se organiza en unidades

denominadas clases y objetos. Esto permite representar conceptos cotidianos en un programa. En

definitiva, a través de Python podemos expresarnos de forma similar a como lo haríamos en la vida real.

Lenguaje interpretado:

Existen dos tipos de lenguajes: compilados o interpretados como en el caso de Python. No es necesario

compilar (transformar el lenguaje de los programas informáticos a uno equivalente) cuando se trabaja

con Python, ya que los intérpretes que se utilizan con este lenguaje se encargan de ejecutar dichos

programas a través de scripts propios.

Multiplataforma:

Python está disponible en los principales sistemas operativos como Linux, Windows, UNIX, Mac OS,

etc. Es decir, este lenguaje puede ser ejecutado en casi cualquier sistema operativo siempre que se

cuente con un intérprete adecuado para ello.


Tipado dinámico:

El tipado dinámico de Python permite que las variables no tengan que especificar su tipo. Estas adoptan

un tipo automáticamente en función del valor que se les asigne mientras el lenguaje esté funcionando.

Lenguaje open source:

Python es un lenguaje de código abierto, por lo que no se requieren licencias de pago para comenzar a

trabajar con él.

Ampliamente respaldado:

Sus características y funcionalidades hacen que este lenguaje sea muy interesante. Por ello, Python ha

generado una comunidad de usuarios muy grande a su alrededor que puede ser de utilidad cuando

queremos encontrar información o pedir ayuda para desarrollar cualquier tipo de programa o algoritmo.

Es polivalente:

Polivalente: Que tiene varias funciones o puede desempeñar varias funciones.

Python se utiliza para infinidad de proyectos y aplicaciones diferentes. Actualmente destacan los

siguientes:

Aprendizaje automático (Machine Learning)

Inteligencia Artificial (IA)

Big data y Análisis de datos

Operaciones matemáticas

Visualización de datos

Programación de apps

Desarrollo web
Desarrollo de videojuegos

Gestión financiera

Diferencias entre PYTHON y C++


Explicación de Cada Diferencia
# 1) Tipos

C ++: Los tipos de datos están vinculados a nombres y se verifican en el momento de la compilación.

Esto reduce la posibilidad de errores en tiempo de ejecución.

Python: los tipos de datos están vinculados a valores y se verifican en tiempo de ejecución. El código

puede ser más propenso a errores en tiempo de ejecución, ya que no detectamos esos errores en tiempo

de compilación.

# 2) Compilación

C ++: es un lenguaje compilado. El compilador de C ++ genera un código objeto a partir del código

fuente de C ++ y luego se ejecuta para producir la salida.

Python: es un lenguaje interpretado. No es necesario compilar el código Python con extensión py.

Podemos pasarlo directamente al intérprete de Python y generar la salida.


# 3) Uso

C ++: tiene muchas características y también tiene una sintaxis relativamente difícil. No es tan sencillo

escribir el código C ++.

Python: es fácil de escribir y tiene una sintaxis clara. Por lo tanto, escribir programas Python es mucho

más fácil en comparación con C ++.

# 3) Naturaleza del lenguaje

C ++: es un lenguaje de tipo estático, es decir, la declaración de una variable, el tipo de datos de las

variables, etc. se verifican en el momento de la compilación. Esto mantiene el código fuente libre de

errores en tiempo de ejecución.

Python: No se escribe estáticamente. No se realiza ninguna verificación de tipos en el momento de la

compilación. Por lo tanto, el código es propenso a errores.

# 4) Portabilidad

C ++: No es portátil, es decir, necesitamos recompilar el código en cada plataforma diferente. C ++ es

principalmente 'Escribir una vez, compilar en cualquier lugar'.

Python: Es portátil. También es multiplataforma y podemos ejecutar programas en cualquier

plataforma.

# 5) Recolección de basura / Gestión de memoria

C ++: La gestión de la memoria es manual. C ++ no admite la recolección automática de basura de

recursos.
Python: tiene una función de recolección automática de basura. Su gestión de memoria está controlada

por el sistema.

# 6) Instalación

C ++: se puede instalar fácilmente en Windows.

Python: es difícil de instalar.

# 7) Alcance de las variables

C ++: Tiene código demarcado por bloques que usan llaves ({}) y bucles. El alcance de las variables se

limita a estos bloques y bucles delimitados por {}.

Python: El alcance de las variables utilizadas en el programa no se limita a bloques o bucles. Las

variables son accesibles incluso fuera de las llaves.

# 8) Creación rápida de prototipos

C++: No podemos hacer prototipos rápidos.

Python: podemos hacer prototipos rápidos de código para que pueda usarse más tarde para crear

aplicaciones utilizando lenguajes de nivel superior.

# 9) Funciones

Las funciones son bloques de códigos con uno o más parámetros y un valor de retorno. Cada uno de los

parámetros y el valor de retorno tiene un tipo.


C ++: los tipos de parámetros y el tipo de retorno durante la llamada a la función deben coincidir con

los de la definición de la función.

Python: no existe tal restricción en los tipos de parámetros y devoluciones.

# 10) Eficiencia

C ++: el código del programa es difícil de mantener ya que puede resultar complicado de leer a medida

que las soluciones crecen.

Python: tiene un código limpio y una sintaxis simple. El código fuente de Python es más fácil de

mantener.

# 11) Complejidad de la sintaxis

C ++: hay una clara demarcación del código mediante el uso de bloques encerrados entre {}, punto y

coma que indican el final de la declaración, etc. Por lo tanto, en C ++, la sintaxis está bien organizada.

Python: no hay bloques ni punto y coma. En cambio, Python usa sangría.

# 12) Velocidad de ejecución

C ++: Se ejecutan más rápido, C ++ es conocido y utilizado ampliamente en aplicaciones que deben

ejecutarse más rápido, como las plataformas de juegos.

Python: Se ejecuta lentamente. Además, los programas Python se ejecutan más lentamente que los

programas Java. Por lo tanto, empleamos Python específicamente para aplicaciones que pueden

comprometer la velocidad.

# 13) Rendimiento
C ++: es un lenguaje de tipo estático, por lo que tenemos menos errores de los que ocuparnos en tiempo

de ejecución. C ++ también crea un código de tiempo de ejecución más robusto y rápido. Esto convierte

a C ++ en un lenguaje de alto rendimiento.

Python: debido a que el programa es dinámico, existe la posibilidad de que surjan algunos errores o

situaciones no deseadas en tiempo de ejecución. Por lo que se refiere al rendimiento, Python va por

detrás de C ++.

Pero cuando se trata de aprendizaje automático, Python es el que tiene la ventaja.

# 14) Popularidad

C ++: se vuelve más difícil a medida que avanzamos en sus funciones

Python: es fácil de aprender y fácil de poner en práctica, sus bibliotecas nos permiten escribir cualquier

funcionalidad especialmente el análisis de datos y el aprendizaje automático.

Por lo tanto, Python puntúa en cuanto a popularidad sobre C ++. Especialmente para el desarrollo de

aplicaciones de aprendizaje automático, es la opción número uno para los programadores.

# 15) Simplicidad y usabilidad

Python: con su simplicidad y funciones fáciles de usar, nos permite escribir código conciso y de fácil

lectura, etc. Esto es útil cuando desarrollamos aplicaciones complejas para el aprendizaje automático, ya

que no tenemos que luchar con un lenguaje de programación, es fácil de aprender y es un lenguaje

simple.
C ++: es más un lenguaje de nivel inferior que es más fácil para las computadoras que para los

humanos.

Por lo tanto, Python puntúa en estos parámetros, especialmente cuando tenemos que elegir entre C ++ y

Python para desarrollar aplicaciones de aprendizaje automático.

Juego del Molino


El juego del molino o molino es un juego de estrategia abstracto de mesa para dos jugadores originado

en el Imperio romano. El juego es mencionado como alquerque de nueve en el Libro de los juegos y

también es conocido como nueve hombres de Morris o Morris. En inglés es conocido como Nine Men's

Morris, Mill, Mills, Merels, Merelles y Merrills; en francés es conocido como jeu du moulin; y en

piamontés es conocido como grisha.

Historia
El Juego del molino es muy antiguo, ya que el tablero más antiguo (datado en el año 1400 AC) fue

descubierto en una teja del templo en Kurna, Egipto (aunque esta datación es dudosa). El origen del

juego es incierto, se ha especulado que este juego de mesa se jugó y practicó en el antiguo Egipto, en el

Imperio Romano o en la India, así como en la Europa medieval. Desde el siglo XI hasta el siglo XVIII,

el Juego del molino fue uno de los juegos de mesa más populares de Europa, sólo desde el comienzo del

siglo XIX fue reemplazado gradualmente por el Ajedrez.

En la actualidad, el Juego del molino de 9 hombres, que a veces se imprime en la parte posterior de los

tableros de Damas, ha logrado una gran popularidad en todo el mundo, con tres variantes principales: el

Juego del molino de 3 hombres, de 6 hombres y de 12 hombres.


Desde 1993 el Juego del molino es un juego resuelto, en el que cualquiera de los jugadores puede forzar

el empate si no comete ningún error.

Reglas del Juego


Cada jugador dispone de nueve piezas, u "hombres", que se mueven en el tablero entre veinticuatro

intersecciones. El objetivo del juego es dejar al oponente con menos de tres piezas o sin movimiento

posible.

1. Colocación las piezas

El juego comienza con un tablero vacío. Los jugadores se turnan para colocar sus piezas en las

intersecciones vacías. Si un jugador es capaz de formar una fila de tres piezas a lo largo de una de las

líneas del tablero, tiene un "molino" y puede eliminar una de las piezas de su oponente en el tablero; las

piezas retiradas no se pueden volver a poner en juego. Los jugadores deben retirar cualquier otra pieza

antes de retirar una pieza que forme parte de un molino. Una vez que las 18 piezas se han colocado, los

jugadores se turnan moviendo.

2. Movimiento de las piezas

Para mover, el jugador desliza una de sus piezas a lo largo de una línea en el tablero a una intersección

vacía adyacente. Si no puede hacerlo, ha perdido el juego.

Al igual que en la etapa de colocación, un jugador que coloca tres de sus piezas en línea en el tablero

tiene un molino y puede eliminar una de las piezas de su oponente, evitando las piezas que formen parte

de un molino, si es posible.
Cualquier jugador al que sólo le queden dos piezas no podrá eliminar más piezas del oponente y, por

tanto, perderá la partida.

3. Vuelo

En una variante común, una vez que un jugador es reducido a tres piezas, sus piezas pueden "volar",

"brincar" o "saltar" a cualquier intersección vacía, no solo a las adyacentes. Algunas fuentes de las

reglas dicen que esta es la forma en que se juega el juego, otras la tratan como una variante, y algunas no

la mencionan en absoluto. Un "Manual de Juegos del Siglo XIX" llama a esta la "forma verdaderamente

rústica de jugarlo".

Variantes
 Con tres piezas:

El juego del molino con tres piezas es jugado en un tablero de tres por tres

con solo tres piezas por jugador. El vuelo es permitido.

Las líneas diagonales son a veces añadidas al tablero, un reminiscente del tres

en línea. Este diseño es usado en la variante africana, Achi.

 Con seis piezas


El juego del molino con seis piezas da a cada jugador seis piezas y se juega sin el cuadrado interior del

tablero del juego normal. El vuelo no está permitido. Fue popular en España, Italia, Francia e Inglaterra

durante la Edad Media, pero se volvió obsoleto en el 1600. Este tablero se usa también para la variante

con cinco piezas. La variante con siete utiliza este tablero con una cruz en el centro.

 Con doce piezas

El juego del molino con doce piezas añade cuatro líneas diagonales y le da a

cada jugador doce piezas. Esto significa que el tablero puede ser llenado en la

etapa de colocación. Si esto ocurre, el juego termina en empate. Esta variante

del juego es muy popular entre la juventud rural en Sudáfrica, donde es

conocido como Morabaraba y ahora es reconocido como un deporte en ese país. El mismo tablero

también se utiliza para la variante con once piezas.

¿Cómo Jugar el juego del Molino?


El objetivo del juego es conseguir que el contrario acabe con sólo 2 fichas sobre el tablero o que no

pueda realizar ningún movimiento por tener todas las fichas bloqueadas. Para ello, cada jugador debe

intentar hacer molinos (3 en raya) con las fichas propias, lo que da derecho a capturar una ficha del

contrincante.

 Jugadores: El Juego del molino es un juego para 2 jugadores.


 Tablero: Se juega sobre un tablero formado por 3 cuadrados concéntricos unidos en la mitad de
sus 4 lados por líneas perpendiculares, lo que da lugar a 24 puntos, los 12 vértices de dichos
cuadrados y las 12 intersecciones que forman con las líneas perpendiculares.

 Fichas: Cada jugador dispone de 9 fichas (los 9 hombres de Morris), de un color diferente para
cada jugador.

 Inicio del juego: El juego comienza con el tablero vacío.se echa a suertes quién realiza el primer
movimiento. En sucesivas rondas los jugadores se turnarán para comenzar el juego.

 Desarrollo del juego: En la primera fase del juego, cada jugador en su turno coloca una de sus 9

fichas sobre cualquiera de los puntos del tablero que están libres. Durante esta fase no es posible

mover las fichas ya situadas en el tablero. Una vez colocadas las 18 fichas sobre el tablero

comienza la segunda fase, durante la cual cada jugador en su turno mueve una de sus fichas a un

punto adyacente libre a través de alguna de las líneas del tablero. Si no puede hacerlo, ha perdido

el juego.Cada jugador, cuando incorpora una ficha al tablero o la desplaza, debe intentar

completar un molino o 3 en raya, es decir, una secuencia de 3 fichas del mismo color situadas

sobre los 3 puntos de una misma línea. Cada vez que se completa un molino, el jugador debe

capturar una ficha adversaria, que es sacada del tablero y ya no volverá a ser jugada. Siempre

que se completa un molino se realiza una captura, incluso aunque el molino haya sido

completado previamente y se repita de nuevo al retornar una misma ficha a un punto que

ocupaba anteriormente.El jugador que realiza la captura elige libremente la ficha a capturar entre

todas las fichas del adversario que no forman parte de ningún molino. En el caso de que todas las

fichas del rival formen parte de algún molino, elige libremente entre todas ellas. Cuando un

jugador dispone únicamente de 3 fichas sobre el tablero como consecuencia de haber sufrido 6
capturas, comienza la tercera fase del juego en la que se permite el «vuelo», de tal manera que

las fichas de dicho jugador pueden saltar libremente a cualquier punto vacío del tablero, no sólo

a los adyacentes, es decir, desde cualquier punto hasta cualquier punto vacante. Tan pronto como

le quiten otra ficha, habrá perdido el juego.

 Final del juego: Un jugador vence la partida cuando el rival sólo tiene 2 fichas o cuando no

puede realizar ningún movimiento por estar todas sus fichas bloqueadas. La partida acaba en

empate cuando se repite 3 veces la misma posición de las fichas sobre el tablero, o cuando cada

jugador mueve un número de veces determinado (por ejemplo 50) sin que se realice ninguna

captura.

Código Juego del Molino en Python

Funciones para mostrar

el tablero

Eliminar Piezas
Función para saber si

hay 3 en fila
Ciclo simple que

consiste en mover

piezas del contrincante

hasta que solo queden

dos.
Conclusiones
 Python ha ido subiendo peldaños con el paso de los años lo cual ha causado una gran

popularidad entre los programadores principiantes y experimentados, haciendo temblar a

aquellos lenguajes que parecían quedarse para siempre, ya que Python es un lenguaje fácil de

aprender, tiene una gran variedad y un sinfín de usos, nos ofrece a todos los usuarios una gran

simplicidad, flexibilidad y facilidad en el aprendizaje del lenguaje, así también nos ofrece una

sintaxis directa y un buen uso en los espacios de sangría lo cual nos ayuda a que sea más

sencillo.

 Nos damos cuenta de las diferencias y similitudes entre el programa Python y C++ los cuales en

diferencias y ventajas del programa Python son mas que las de C++, no obstante, nos damos

cuenta que contiene varias desventajas las cuales serian su instalación, lentitud a la hora de

ejecutar un código etc. En cambio, C++ es todo lo contrario refiriéndose a su instalación y

ejecución.


BIBLIOGRAFIA
JUEGO DEL MOLINO:

 https://es.wikipedia.org/wiki/Juego_del_molino
 http://reglasdejuegosimples.blogspot.com/2013/05/el-juego-del-molino.html
 https://www.guiaspracticas.com/juegos-de-mesa/juego-del-molino
 https://www.ajedrezeureka.com/juego-del-molino-nueve-hombres-de-morris/

PYTHON:

 https://es.wikipedia.org/wiki/Python
 https://es.wikipedia.org/wiki/Guido_van_Rossum
 https://www.miteris.com/blog/que-es-python-caracteristicas-y-librerias/
 https://es.myservername.com/python-vs-c-top-16-differences-between-c#:~:text=Python%20es
%20f%C3%A1cil%20de%20escribir,en%20comparaci%C3%B3n%20con%20C%20%2B
%2B.&text=C%20%2B%2B%20es%20un%20lenguaje%20de%20tipo%20est%C3%A1tico%2C
%20es%20decir,el%20momento%20de%20la%20compilaci%C3%B3n.
 https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion1/introduccion.html

También podría gustarte