Skip to content
Snippets Groups Projects
Commit a69f9ed1 authored by Jennifer Lorena Ortega Aguilar's avatar Jennifer Lorena Ortega Aguilar
Browse files

Correccion codigo latex

parent a8637663
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Nombre: Jennifer Ortega ## Nombre: Jennifer Ortega
### Ejercicio No. 2 - Triángulo de Pascal ### Ejercicio No. 2 - Triángulo de Pascal
- Escriba una rutina en python que reciba como entrada un número entero, $n,$ e imprima los números en la $n$ -ésima fila del triángulo de Pascal. El programa debe verificar si el número $n$ es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario. - Escriba una rutina en python que reciba como entrada un número entero, $n,$ e imprima los números en la $n$ -ésima fila del triángulo de Pascal. El programa debe verificar si el número $n$ es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario.
- Modifique la rutina anterior para que reciba un número variable de argumentos: $\mathrm{n} 1, \mathrm{n} 2, \mathrm{n} 3, \ldots$ y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila $\mathrm{n} 1$ del triángulo de Pascal, el segundo elemento una lista con los números en la fila $\mathrm{n} 2, \mathrm{y}$ así sucesivamente. - Modifique la rutina anterior para que reciba un número variable de argumentos: $\mathrm{n} 1, \mathrm{n} 2, \mathrm{n} 3, \ldots$ y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila $\mathrm{n} 1$ del triángulo de Pascal, el segundo elemento una lista con los números en la fila $\mathrm{n} 2, \mathrm{y}$ así sucesivamente.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Resolución (1) ## Resolución (1)
Los valores para el triángulo de Pascal pueden ser encontrados mediante la siguiente fórmula: Los valores para el triángulo de Pascal pueden ser encontrados mediante la siguiente fórmula:
$$\left(\begin{array}{l} ![image.png](attachment:image.png)
n \\
r
\end{array}\right)=\frac{n !}{r !(n-r) !}
$$
Donde n representa el número de la fila, r el número de la columna. Donde n representa el número de la fila, r el número de la columna.
- Validamos si el número ingresado es un entero, con un **if().** - Validamos si el número ingresado es un entero, con un **if().**
- Utilizamos las fórmula para encontrar los valores para la fila n-esima y mediante el uso de un **for()**. - Utilizamos las fórmula para encontrar los valores para la fila n-esima y mediante el uso de un **for()**.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# triangulo de pascal # triangulo de pascal
from math import factorial from math import factorial
def triangulo_pascal(n): def triangulo_pascal(n):
'''Devuelve los valores de la n-esima fila del triangulos de pascal, y ademas valida si el numero ingresado es entero''' '''Devuelve los valores de la n-esima fila del triangulos de pascal, y ademas valida si el numero ingresado es entero'''
if type(n) == int: # valida si el numero es entero if type(n) == int: # valida si el numero es entero
print('Los valores del triangulo de pascal para la fila {} son:'.format(n)) print('Los valores del triangulo de pascal para la fila {} son:'.format(n))
for j in range(n+1): for j in range(n+1):
print(factorial(n)//(factorial(j)*factorial(n-j)), end=" ") # formula para valores del triangulo de pascal print(factorial(n)//(factorial(j)*factorial(n-j)), end=" ") # formula para valores del triangulo de pascal
print() print()
else: else:
print('Error, el numero no es entero') print('Error, el numero no es entero')
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = 'hola' n = 'hola'
triangulo_pascal(n) triangulo_pascal(n)
``` ```
%% Output %% Output
Error, el numero no es entero Error, el numero no es entero
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = 5.5 n = 5.5
triangulo_pascal(n) triangulo_pascal(n)
``` ```
%% Output %% Output
Error, el numero no es entero Error, el numero no es entero
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
n = 4 n = 4
triangulo_pascal(n) triangulo_pascal(n)
``` ```
%% Output %% Output
Los valores del triangulo de pascal para la fila 4 son: Los valores del triangulo de pascal para la fila 4 son:
1 4 6 4 1 1 4 6 4 1
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Resolución (2) ## Resolución (2)
- Modificamos la función de tal forma que no imprima los valores si no que los almacene en una lista. - Modificamos la función de tal forma que no imprima los valores si no que los almacene en una lista.
- Creamos una nueva rutina que por medio de un **for()** recorra todos los valores ingresados y retorne sus correspondiente valores en el triángulo de pascal y los guarde en una lista, por lo que el resultado será una lista de listas. - Creamos una nueva rutina que por medio de un **for()** recorra todos los valores ingresados y retorne sus correspondiente valores en el triángulo de pascal y los guarde en una lista, por lo que el resultado será una lista de listas.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
def triangulo_pascal_lista(n): def triangulo_pascal_lista(n):
'''Devuelve los valores de la n-esima fila del triangulos de pascal en una lista, '''Devuelve los valores de la n-esima fila del triangulos de pascal en una lista,
ademas valida si el numero ingresado es entero''' ademas valida si el numero ingresado es entero'''
lista = [] lista = []
if type(n) == int: # valida si el numero es entero if type(n) == int: # valida si el numero es entero
for j in range(n+1): for j in range(n+1):
x = factorial(n)//(factorial(j)*factorial(n-j)) # formula para valores del triangulo de pascal x = factorial(n)//(factorial(j)*factorial(n-j)) # formula para valores del triangulo de pascal
lista.append(x) lista.append(x)
#print(lista) #print(lista)
else: else:
print('Error, el numero no es entero') print('Error, el numero no es entero')
return lista return lista
def entrada(*numeros): def entrada(*numeros):
'''Recibe numeros y retorna los valores del triangulo de pascal para las filas correspondientes '''Recibe numeros y retorna los valores del triangulo de pascal para las filas correspondientes
a los valores ingresados ''' a los valores ingresados '''
lista_lista = [] lista_lista = []
for numero in numeros: for numero in numeros:
y = triangulo_pascal_lista(numero) y = triangulo_pascal_lista(numero)
lista_lista.append(y) lista_lista.append(y)
print(lista_lista) print(lista_lista)
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
entrada(2,3,4,5,6,7,8,9) entrada(2,3,4,5,6,7,8,9,10)
``` ```
%% Output %% Output
[[1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]] [[1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1], [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]]
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment