"### 1.Realizar un programa que reciba un número, luego identifique si este número es natural o no. Si es natural entonces el programa mostrará los coeficientes del triángulo de Pascal asociados a la fila correspondiente al número ingresado"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Primero importamos la librería math que contiene la función factorial la cual se va a utilizar en el desarrollo del problema"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Por el teorema del binomio de Newton, sabemos que los coeficientes del triángulo de Pascal corresponden a los mismos del polinomio $$ (x+y)^n $$. Los cuales vienen dados por $a_i=\\begin{pmatrix}n\\\\i\\end{pmatrix}=\\frac{n!}{i!(n-i)!}$. Por lo tanto es útil definir la función combinación entre dos enteros para este problema"
"Ahora que tenemos la función combinación definida, creamos una función que nos muestre en una lista la combinación entre n e i, donde i va de 0 hasta n. Esta lista tendrá justamente los coeficientes de la n-ésima fila del triángulo de Pascal."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def filapascal(n):\n",
" i=0\n",
" a=[]\n",
" while i<=n:\n",
" a.append(combinado(n,i))\n",
" i+=1\n",
" return a"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Necesitamos también que nuestro programa identifique si el número ingresado es o no natural para poder ejecutarse. Con la función de .is_integer() sabemos si el número es un entero y si además es positivo, entonces es natural y sirve para calcular la fila del triángulo de Pascal."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def printfila(n):\n",
" if (float(n).is_integer())==True and n>=0:\n",
" print(\"La fila\", n, \"del triángulo de Pascal es:\",filapascal(n))\n",
" else:\n",
" print(\"El número que ingresó no pertenece a los naturales, ingrese otro número\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ejemplo1 Calcular los números de la sexta fila del triángulo de Pascal."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"introduzca un número natural: 6\n"
]
}
],
"source": [
"x = float(input(\"introduzca un número natural: \"))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"La fila 6.0 del triángulo de Pascal es: [1.0, 6.0, 15.0, 20.0, 15.0, 6.0, 1.0]\n"
]
}
],
"source": [
"printfila(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ejemplo 2 Cuando el número es un racional negativo"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"El número que ingresó no pertenece a los naturales, ingrese otro número\n"
]
}
],
"source": [
"printfila(-8.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.Ahora queremos que se pueda introducir un número variable de filas a calcular y que los coeficientes queden dentro de una lista."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Para esto definimos una función, con la misma estructura del caso anterior, pero, cuyo argumento esté precedido por un *. Además esta función va añadiendo los coeficientes de cada fila en una nueva lista."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def printfilas(*numeros):\n",
" filas=[]\n",
" for n in numeros:\n",
" if (float(n).is_integer())==True and n>=0:\n",
" filas.append(filapascal(n))\n",
" else:\n",
" print(\"El número\",n, \"no pertenece a los naturales, ingrese otro número\")\n",
" print (filas)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ejemplo: Calcular los coeficientes de las filas (-1,8,3.5,4,5)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"El número -1 no pertenece a los naturales, ingrese otro número\n",
"El número 3.5 no pertenece a los naturales, ingrese otro número\n",
### 1.Realizar un programa que reciba un número, luego identifique si este número es natural o no. Si es natural entonces el programa mostrará los coeficientes del triángulo de Pascal asociados a la fila correspondiente al número ingresado
%% Cell type:markdown id: tags:
Primero importamos la librería math que contiene la función factorial la cual se va a utilizar en el desarrollo del problema
%% Cell type:code id: tags:
``` python
importmath
```
%% Cell type:markdown id: tags:
Por el teorema del binomio de Newton, sabemos que los coeficientes del triángulo de Pascal corresponden a los mismos del polinomio $$ (x+y)^n $$. Los cuales vienen dados por $a_i=\begin{pmatrix}n\\i\end{pmatrix}=\frac{n!}{i!(n-i)!}$. Por lo tanto es útil definir la función combinación entre dos enteros para este problema
Ahora que tenemos la función combinación definida, creamos una función que nos muestre en una lista la combinación entre n e i, donde i va de 0 hasta n. Esta lista tendrá justamente los coeficientes de la n-ésima fila del triángulo de Pascal.
%% Cell type:code id: tags:
``` python
deffilapascal(n):
i=0
a=[]
whilei<=n:
a.append(combinado(n,i))
i+=1
returna
```
%% Cell type:markdown id: tags:
Necesitamos también que nuestro programa identifique si el número ingresado es o no natural para poder ejecutarse. Con la función de .is_integer() sabemos si el número es un entero y si además es positivo, entonces es natural y sirve para calcular la fila del triángulo de Pascal.
%% Cell type:code id: tags:
``` python
defprintfila(n):
if (float(n).is_integer())==Trueandn>=0:
print("La fila",n,"del triángulo de Pascal es:",filapascal(n))
else:
print("El número que ingresó no pertenece a los naturales, ingrese otro número")
```
%% Cell type:markdown id: tags:
### Ejemplo1 Calcular los números de la sexta fila del triángulo de Pascal.
%% Cell type:code id: tags:
``` python
x=float(input("introduzca un número natural: "))
```
%% Output
introduzca un número natural: 6
%% Cell type:code id: tags:
``` python
printfila(x)
```
%% Output
La fila 6.0 del triángulo de Pascal es: [1.0, 6.0, 15.0, 20.0, 15.0, 6.0, 1.0]
%% Cell type:markdown id: tags:
### Ejemplo 2 Cuando el número es un racional negativo
%% Cell type:code id: tags:
``` python
printfila(-8.5)
```
%% Output
El número que ingresó no pertenece a los naturales, ingrese otro número
%% Cell type:markdown id: tags:
## 2.Ahora queremos que se pueda introducir un número variable de filas a calcular y que los coeficientes queden dentro de una lista.
%% Cell type:markdown id: tags:
Para esto definimos una función, con la misma estructura del caso anterior, pero, cuyo argumento esté precedido por un *. Además esta función va añadiendo los coeficientes de cada fila en una nueva lista.
%% Cell type:code id: tags:
``` python
defprintfilas(*numeros):
filas=[]
forninnumeros:
if (float(n).is_integer())==Trueandn>=0:
filas.append(filapascal(n))
else:
print("El número",n,"no pertenece a los naturales, ingrese otro número")
print (filas)
```
%% Cell type:markdown id: tags:
### Ejemplo: Calcular los coeficientes de las filas (-1,8,3.5,4,5)
%% Cell type:code id: tags:
``` python
printfilas(-1,8,3.5,4,5)
```
%% Output
El número -1 no pertenece a los naturales, ingrese otro número
El número 3.5 no pertenece a los naturales, ingrese otro número