Sei sulla pagina 1di 10

Universidad Politécnica Salesiana

Ingeniería Mecánica

Probabilidad y Estadística

Tema:

Creación de un programa en Python

Integrantes:
 Jonathan Armas
 William Vivas
 Valeria Chávez
 Favio Silva
 Victor Idrovo
 Rubén Mejía

02/05/2018
Introducción
A diferencia de otros lenguajes de programación Python nos permite ingresar en una sintaxis
que sea limpia y el código legible además nos permite separar el programa en módulos, este
lenguaje tiene una gran variedad de módulos estándar que se pueden utilizar para programar, o
incluso como una base para aprender a programar en Python. Python es un lenguaje interpretado
lo que ahorra muchísimo tiempo en la creación de programas puesto que no es preciso compilar
su código. El intérprete que usa el programa puede utilizar de modo interactivo lo que nos
permite experimentar con este lenguaje mientras programamos. Es un tipo de lenguaje de
programación de scripting. Los lenguajes scripting son aquellos lenguajes que usan un intérprete
en vez de ser compilados. Es opuesto al Perl, lenguaje con el que rivaliza amistosamente. La
mayoría de usuarios del Python le consideran como un lenguaje más limpio y elegante a la hora
de programar.

Se puede utilizar en muchos contextos y se adapta a cualquier tipo de uso gracias a las
bibliotecas en cada tratamiento llamado módulo, particularmente se utiliza como lenguaje de
script para automatizar tareas simples. Python ciertamente está diseñado para optimizar la
productividad de los programadores, proporcionando herramientas de alto nivel pero su sintaxis
simple también es ideal para el aprendizaje de programación y por lo tanto también es apreciada
por los educadores.
Tema
Creación de un programa en Python para la resolución de arreglos en base a diferentes
condiciones.
Objetivo General
Desarrollar un programa para resolución de arreglos en el software Python para la posterior
interpretación del lenguaje de programación, reconociendo los diferentes comandos o variables
utilizadas dentro del mismo.
Objetivos Específicos
 Aplicar comandos de programación básicos para la resolución del programa.
 Satisfacer las condiciones propuestas del programa para la resolución de arreglos.
 Desarrollar el programa en el software Python para ejemplos de arreglos ya revisados en
clases.

Marco Teórico
Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de
datos eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a
objetos. La elegante sintaxis de Python y su tipado dinámico, junto con su naturaleza
interpretada, hacen de éste un lenguaje ideal para scripting y desarrollo rápido de aplicaciones en
diversas áreas y sobre la mayoría de las plataformas.
El intérprete de Python y la extensa biblioteca estándar están a libre disposición en
forma binaria y de código fuente para las principales plataformas desde el sitio web de
Python, http://www.python.org/, y puede distribuirse libremente.(van Rossum, 2009)

Python permite escribir programas compactos y legibles. Los programas en Python son
típicamente más cortos que sus programas equivalentes en C, C++ o Java por varios motivos:
 Los tipos de datos de alto nivel permiten expresar operaciones complejas en una sola
instrucción.
 La agrupación de instrucciones se hace por sangría en vez de llaves de apertura y cierre.
 No es necesario declarar variables ni argumentos.
Origen de Python

El origen del lenguaje Python se remonta a principios de los noventa. Por este tiempo, un
investigador holandés llamado Guido van Rossum, que trabajaba en el centro de investigación
CWI (Centrum Wiskunde & Informatica) de Ámsterdam, es asignado a un proyecto que consistía
en el desarrollo de un sistema operativo distribuido llamado Amoeba. Por aquel tiempo, el CWI
utilizaba un lenguaje de programación llamado ABC. En lugar de emplear este lenguaje para el
proyecto Amoeba, Guido decide crear uno nuevo que pueda superar las limitaciones y problemas
con los que se había encontrado al trabajar en otros proyectos con ABC. Así pues, es esta la
principal motivación que dio lugar al nacimiento de Python.

Características del lenguaje

Lenguaje interpretado o de script

Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio


llamado intérprete, en lugar de compilar el código a lenguaje máquina que pueda comprender y
ejecutar directamente una computadora (lenguajes compilados).

La ventaja de los lenguajes compilados es que su ejecución es más rápida. Sin embargo los
lenguajes interpretados son más flexibles y más portables.

Python tiene, no obstante, muchas de las características de los lenguajes compilados, por lo que
se podría decir que es semi interpretado. En Python, como en Java y muchos otros lenguajes, el
código fuente se traduce a un pseudo código máquina intermedio llamado bytecode la primera
vez que se ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se
ejecutarán en sucesivas ocasiones.

Fuertemente tipado

No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario
convertir de forma explícita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos
una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como
un número (sumar la cadena “9” y 8). En otros lenguajes el tipo de la variable cambiaría para
adaptarse al comportamiento esperado, aunque esto es más propenso a errores.
Multiplataforma

El intérprete de Python está disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS,
Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos librerías específicas de cada
plataforma nuestro programa podrá correr en todos estos sistemas sin grandes cambios.

Orientado a objetos

La orientación a objetos es un paradigma de programación en el que los conceptos del mundo


real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La
ejecución del programa consiste en una serie de interacciones entre los objetos.

Tipado dinámico

La característica de tipado dinámico se refiere a que no es necesario declarar el tipo de dato que
va a contener una determinada variable, sino que su tipo se determinará en tiempo de ejecución
según el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un
valor de otro tipo.

Probabilidad y Estadística
Definiciones:
Probabilidad
La teoría de la probabilidad es la parte de las matemáticas que se encarga del estudio de los
fenómenos o experimentos aleatorios. Por experimento aleatorio entenderemos todo aquel
experimento que cuando se le repite bajo las mismas condiciones iniciales, el resultado que se
obtiene no siempre es el mismo.(Wilhelmi, 2004)

Permutaciones:

Genéricamente, permutar es: “variar la disposición u orden en que estaban dos o más cosas”. Es
necesario precisar si estas cosas son o no indistinguibles, para asegurar que la nueva
configuración sea en esencia distinta a la antigua.(Wilhelmi, 2004)

El número de permutaciones de n elementos que existen son:


El número de permutaciones de m elementos con repetición de es:

El número de variaciones de orden n de un conjunto con m elementos es:

Combinaciones:
Dado un conjunto con cardinal m llamaremos combinación de orden n a cualquier subconjunto
con n elementos de dicho conjunto.(Wilhelmi, 2004)

El número total de combinaciones de orden n que pueden formarse con m elementos es:

Desarrollo
Código:
import math

clases=[]
op=1
while op != 5:
print("MENU")
print("1.- Cantidad de permutaciones de n objetos distintos")
print("2.- Cantidad de permutaciones de n objetos distintos tomados r a la vez")
print("3.- Can Permutaciones de n objetos con k clases")
print("4.- Cantidad combinaciones de n objetos tomados r a la vez")
print("5.- Salir")
op =int(input("Opción:"))
if (op== 1):
n= int(input("n cantidad de objetos:"))
res = math.factorial(n)
elif (op==2):
n = int(input("n cantidad de objetos:"))
r = int(input("r cantidad de objetos tomados de los n:"))
res= math.factorial(n)/math.factorial(n-r)
elif op== 3:
n = int(input("n cantidad de objetos:"))
k = int(input("k cantidad de clases:"))
for i in range(k):
clases.append(int(input("Cantidad de objetos por clase")))
temp=1
for i in range (k):
temp= temp*math.factorial(clases[i])
res= math.factorial(n)/temp
elif op==4:
n = int(input("n cantidad de objetos:"))
r = int(input("r cantidad de objetos tomados de los n:"))
res = math.factorial(n)/(math.factorial(r)*math.factorial(n-r))
elif op== 5:
print("Saliendo del programa ...")
else:
print("Opción errada ...")

if op>=1 and op<= 4:


print("Resultado:", res)
Capturas
Conclusions
 Programming concepts already revised in the development of the program are applied in
Python, being able to interpret the scripts that were used for the calculations in the
arrangements or combinations.

 It was possible to carry out a program capable of solving permutations cases based on
different proposed conditions, serving for a better understanding of the topics seen in
classes and being able to generate a result for any proposed exercise within the
aforementioned conditions.
 Python is an accessible software that allows you to develop programs for most situations
where calculations are included, we as students understood the ease that this program
offers to solve these events in a simpler and more secuancial way.
Recomendaciones
 Revisar comandos utilizados en anteriores softwares para realizar el programa de manera
más fácil y comprensible.

 Interpretar los resultados obtenidos en los cálculos de las permutaciones o combinaciones


para comprender la materia de mejor manera.

 Utilizar tips o comandos vistos en clases para generar el código de la programación y


cumplir con los requisitos establecidos en la evaluación.

Referencias
van Rossum, G. (2009). El tutorial de Python. Python, 1, 116.
Wilhelmi, M. R. (2004). Combinatoria y probabilidad.

Potrebbero piacerti anche