Subido por MOA

Lenguaje Python

Anuncio
SERIE LENGUAJES DE
PROGRAMACIÓN
PROGRAMACIÓN EN PYTHON
Dr. Abraham Gamarra Moreno
2020
Dr. Abraham Gamarra Moreno
1
Tema n° 1: Fundamentos de Programación: Algoritmos y estructuras
secuenciales
La programación de computadoras es un área apasionante y permite que las personas
se comuniquen con el computador y obtengan soluciones a través de los programas
escritos. En este ítem se describe los fundamentos de los lenguajes de programación,
algoritmos y se escriben los primeros programas utilizando estructuras secuenciales.
1. Lenguajes de programación
“Los lenguajes de programación se utilizan para escribir programas. Los programas de
las computadoras modernas constan de secuencias de instrucciones” (Joyanes, 2008).
Los lenguajes de programación permiten escribir instrucciones que se ejecutarán en las
computadoras.
Los 10 lenguajes de programación más populares según el índice TIOBE, se muestran en
la tabla 1 (TIOBE, 2018). Además, la tabla 5 muestra el cambio de posición desde el año
2017 hasta el año 2018.
Se debe resaltar que algunos lenguajes son más rigurosos en el buen uso de los tipos de
datos.
Tabla 1
Los 10 lenguajes de programación más populares.
Apr 2018
Apr 2017
1
Change
Programming Language
Ratings
Change
1
Java
15.777%
+0.21%
2
2
C
13.589%
+6.62%
3
3
C++
7.218%
+2.66%
4
5
Python
5.803%
+2.35%
5
4
C#
5.265%
+1.69%
6
7
Visual Basic .NET
4.947%
+1.70%
7
6
PHP
4.218%
+0.84%
8
8
JavaScript
3.492%
+0.64%
9
-
SQL
2.650%
+2.65%
10
11
Ruby
2.018%
-0.29%
Tomada de: TIOBE. (10 de Abril de 2018). TIOBE Index for April 2018. Obtenido de tiobe.com:
https://www.tiobe.com/tiobe-index/.
Dr. Abraham Gamarra Moreno
2
Paradigmas de los lenguajes de programación
Hay dos paradigmas principales: imperativos y declarativos y algunos sub paradigmas
en cada uno (Dale & Lewis, 2016).
El paradigma imperativo, se caracteriza por la ejecución secuencial de instrucciones,
el uso de variables que representa localizaciones de memoria y el uso de sentencias de
asignación que cambian los valores de estas variables (Dale & Lewis, 2016).
El paradigma imperativo tiene como sub paradigmas el paradigma procedural y el
paradigma orientado a objetos. El paradigma procedural es un modelo en que las
sentencias están agrupadas dentro de subprogramas y algunos programas que están
estas categorías son: el lenguaje C o el lenguaje BASIC, entre otros. El paradigma
orientado a objetos trabaja la interacción de objetos, donde cada objeto implementa
su propio comportamiento y algunos programas que están en esta categoría son: C++,
Java, C# y Python, entre otros. Muchos lenguajes tienen el paradigma procedural y el
paradigma orientado a objetos a la vez.
El paradigma declarativo tiene los sub paradigmas funcional y lógico. El paradigma
funcional está basado en el concepto matemático de función y los lenguajes más
conocidos son: Lisp, Scheme y ML. El paradigma lógico está basado en el principio de
la lógica simbólica y el lenguaje más representativo es Prolog (Dale & Lewis, 2016).
2. Algoritmos
“Un algoritmo es un método paso a paso para resolver un problema o hacer una tarea”
(Forouzan, 2003). También se puede decir que un algoritmo es un conjunto de
instrucciones que permiten dar la solución a un problema.
“La solución de un problema con una computadora se hace escribiendo un programa
que exige al menos los siguientes pasos: 1. Definición o análisis del problema; 2. Diseño
del algoritmo; 3. Transformación del algoritmo en un programa; 4. Ejecución y validación
del programa” (Joyanes, 2013).
Según Cairó (2006) las características que tiene un algoritmo son:

Precisión: Los pasos a seguir en el algoritmo se deben precisar claramente.

Determinismo: El algoritmo con las mismas entradas debe arrojar los mismos
resultados.

Finitud: El algoritmo debe tener un fin.
Representación de un algoritmo
La representación de un algoritmo se realiza a través de un diagrama de flujo o a través
Dr. Abraham Gamarra Moreno
3
de un seudocódigo. El diagrama de flujo permite una representación gráfica del
algoritmo. Los símbolos utilizados en un diagrama de flujo se muestran en la tabla 2
(Joyanes, 2008).
Una herramienta que permite crear un diagrama de flujo es Visio. El desarrollo de los
diagramas de flujo en este manual lo realizaremos utilizando el programa Visio.
En este manual se utilizará el lenguaje de programación Python para mostrar la
transformación del algoritmo a un programa.
Tabla 2
Símbolos de diagrama de flujo.
Tomada de: Joyanes, L. (2008). Fundamentos de Programación. Madrid: McGraw-Hill, pág 72.
El lenguaje de programación Python
“Python es un lenguaje de programación que le permite trabajar más rápido e integrar
Dr. Abraham Gamarra Moreno
4
sus sistemas de manera más efectiva” ( Python Software Foundation, 2018). Con
respecto a Python Coutinho (2016) menciona lo siguiente:
El lenguaje de programación Python es muy interesante como primer lenguaje
de programación debido a su simpleza y claridad. Aunque simple, es también
un lenguaje poderoso que puede ser usado para administrar sistemas y
desarrollar grandes proyectos. Es un lenguaje claro y objetivo, pues va
directamente al punto, sin rodeos (pág. 18).
Python es software libre y el lenguaje de programación se debe descargar del sitio web
de Python, el enlace de descarga es: https://www.python.org/downloads/windows/.
Una vez instalado se puede escribir los programas utilizando el entorno de desarrollo
integrado (IDE) llamado IDLE. La figura 1 muestra como ejecutar IDLE.
Una vez cargado IDLE se visualiza la ventana del Shell de Python (figura 2). Seleccionar
la opción File y a continuación New File para abrir el editor que nos permite crear
programas en Python (ver figura 3 y figura 4).
En la ventana de edición de la figura 41 se debe escribir los programas utilizando el
código Python, luego debe grabarlos con la opción File, Save y se debe agregar un
nombre de archivo (figura 5).
La ejecución del programa se realiza con la opción Run, luego elija Run Module y se
debe obtener la ventana de la figura 6, donde se muestra el mensaje “Hola Mundo” (las
comillas dobles no se muestran).
Uso de identificadores en Python
Un identificador es el nombre que se le da a una variable, constante, función, clase, etc.
En Python los nombres deben comenzar con una letra o el símbolo del guion bajo (_) y
los siguientes carácteres deben ser letras, dígitos y el guion bajo (_).
Ejemplo de identificadores correctos: velocidad, velocidad_tangencial2, _a3.
Un nombre de identificador incorrecto es: 1abc.
Dr. Abraham Gamarra Moreno
5
Figura 1. Ambiente de ejecución de IDLE de Python. Tomada de: Elaboración propia.
Figura 2. Ventana del shell de Python. Tomada de: Elaboración propia.
Dr. Abraham Gamarra Moreno
6
Figura 3. Creación de un programa. Tomada de: Elaboración propia.
Figura 4. Editor de programas en Python. Tomada de: Elaboración propia.
Figura 5. Ventana para guardar un programa. Tomada de: Elaboración propia.
Dr. Abraham Gamarra Moreno
7
Figura 6. Ventana del Shell de Python con resultados de la ejecución de un programa.
Tomada de: Elaboración propia.
Comentarios en Python
Los comentarios se utilizan para documentar la lógica de un programa y tienen la
siguiente sintaxis:
# Comentario
”””
Comentario de más
de una línea
”””
Los textos que están dentro del comentario, no se ejecutan; simplemente, para el
programa “es como si estos textos no estuvieran ahí”.
Uso de variables en Python
Las variables son identificadores que cambian de valor durante la ejecución de un
programa.
Un ejemplo del uso de variables se puede ver en el cálculo del área de un rectángulo:
a = b* h. Las variables en la fórmula son:
1) a, que almacena el valor del área del rectángulo.
2) b, que almacena el valor de la base del rectángulo.
3) h, que almacena el valor de la altura.
Dr. Abraham Gamarra Moreno
8
Los nombres de las variables dependen del uso que se le da en una aplicación y se
recomienda que esté relacionado con la tarea que realiza en esa aplicación.
Por ejemplo, si mejoramos el nombre de las variables para el área del rectángulo estas
podrían denominarse como: área, base y altura.
Asignación de valores a las variables en Python
La sintaxis para asignar valores a las variables es:
Variable = valor
Ejemplos:
base =10 #Asigna el valor de 10 en la variable llamada base.
dirección = “Paseo de la República No 3333” #Asigna el valor de la cadena “Paseo de
la República No 3333” en la variable llamada dirección.
Tipos de datos en Python
Para programar en Python no se requiere definir el tipo de dato de una variable. La
variable toma el tipo de dato del valor asignado. Según Wikipedia (2018), los tipos de
datos que tiene Python se muestran en la tabla 3.
Ejemplos:
Mensaje = ’Hola mundo’ # La variable Mensaje tiene el tipo de dato str
Velocidad = 30.5 # La variable Velocidad tiene el tipo de dato float
Edad = 20 # La variable Edad tiene el tipo de dato int
Operadores aritméticos
Los operadores aritméticos en Python se muestran en la tabla 4 (Suárez & Suárez, 2014).
Operadores de comparación o relacionales
Los operadores de comparación o relacionales en Python se muestran en la tabla 5
(Suárez & Suárez, 2014).
Operadores lógicos
Los operadores lógicos en Python se muestran en la tabla 6 (Suárez & Suárez, 2014).
Dr. Abraham Gamarra Moreno
9
Tabla 3
Tipos de datos en Python.
Tomada de: Wikipedia. (30 de
https://es.wikipedia.org/wiki/Python.
Abril
de
2018).
Python.
Obtenido
de
es.wikipedia.org:
Tabla 4
Operadores aritméticos.
Operador
+
*
/
**
//
%
Descripción
Suma
Resta
Multiplicación
División
Potenciación
División, se obtiene la parte entera del
cociente
División, se obtiene el resto de la división
Tomada de: Suárez, A., & Suárez, A. (30 de Enero de 2014). Python 3 para impacientes. Obtenido de python-paraimpacientes.blogspot.pe: https://python-para-impacientes.blogspot.pe/2014/01/operadores.html.
Tabla 5
Operadores de comparación o relacionales.
Operador
<
>
<=
>=
==
!=
Descripción
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Igual a
Distinto de
Tomada de: Suárez, A., & Suárez, A. (30 de Enero de 2014). Python 3 para impacientes. Obtenido de python-paraimpacientes.blogspot.pe: https://python-para-impacientes.blogspot.pe/2014/01/operadores.html.
Dr. Abraham Gamarra Moreno
10
Tabla 6
Operadores lógicos.
Operador
and
or
not
Descripción
Y
O
NO
Tomada de: Suárez, A., & Suárez, A. (30 de Enero de 2014). Python 3 para impacientes. Obtenido de python-paraimpacientes.blogspot.pe: https://python-para-impacientes.blogspot.pe/2014/01/operadores.html.
Expresiones en Python
Una expresión es una combinación de constantes, variables y operadores; agrupados
por paréntesis.
Ejemplos:
area_triangulo = b * h / 2 # La expresión es b * h / 2
e = v * t # La expresión es v * t
Salida en Python
Para mostrar el resultado de la evaluación de una expresión en pantalla se usa la función
print(). El formato de print es:
print (expresión1, expresión2, … , expresiónn)
Ejemplo:
Para probar la función print() escribimos las siguientes líneas de código en la ventana de
edición IDLE y lo grabamos con el nombre ejemploprint.py (ver figura 7).
Figura 7. Código fuente en Python utilizando print(). Tomada de: Elaboración propia.
Los resultados de la ejecución del programa, se muestra en la figura 8.
Dr. Abraham Gamarra Moreno
11
Figura 8. Resultados de la ejecución del programa ejemploprint.py. Tomada de: Elaboración
propia.
En la figura 8 los resultados muestran que los textos que van entre las comillas dobles o
comillas simples, se imprimen con el mismo contenido. Los números que no tienen
operadores aritméticos que los modifiquen, también se imprimen con el mismo
contenido; en cambio sí una expresión está dentro de la función print(), primero se
evalúa y luego se imprime el resultado.
Entrada en Python
El ingreso de los datos se realiza utilizando la función input(). El formato básico de input()
es:
Variable=tipo(input(‘Texto’))
Ejemplos:
nombre=input(‘Ingrese su nombre’)
La instrucción permite mostrar el mensaje “ingrese su nombre” (sin las comillas) y queda
a la espera del ingreso por teclado del valor a asignar a la variable nombre.
edad=int(input(‘Ingrese su edad’))
La instrucción permite mostrar el mensaje “ingrese su edad” (sin las comillas) y estará a
la espera del ingreso por teclado del valor a asignar a la variable edad. El valor
ingresado se convierte a entero.
3. Estructuras secuenciales
Una estructura secuencial ejecuta las instrucciones una detrás de otra, y tiene la
siguiente sintaxis:
Instrucción 1
Instrucción 2
Instrucción 3
…
Instrucción n
Dr. Abraham Gamarra Moreno
12
El diagrama de flujo de una estructura secuencial se muestra en la figura 9.
Figura 9. Estructura secuencial. Tomada de: Elaboración propia.
Ejemplo:
Elaborar un programa que permita calcular el área de un triángulo.
Solución:
1.
Definición o análisis del problema.
El
área
de
un
triángulo
se
define
con
la
siguiente
fórmula:
area_triangulo=base*altura/2.
2.
Diseño del algoritmo.
Ver la figura 10.
Dr. Abraham Gamarra Moreno
13
Figura 10. Estructura secuencial para calcular el área de un triángulo. Tomada de: Elaboración propia.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
base=float(input('Ingrese base: '))
altura=float(input('Ingrese altura: '))
area_triangulo=base*altura/2
print('El área es: ',area_triangulo)
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese base: 4
Ingrese altura: 5
El área es: 10.0
Los valores que se ingresaron por teclado son 4 y 5.
Dr. Abraham Gamarra Moreno
14
4. Lectura seleccionada No 1
Fundamentos de Python
Complemente el conocimiento sobre el lenguaje de programación Python a través
de la lectura de los siguientes ítems:

Introducción al lenguaje – Aprende a programar en Python

Hola mundo! – primer programa en Python

Tipos de datos y variables en Python

Operadores básicos de Python
La lectura se encuentra en la siguiente URL:
http://codigoprogramacion.com/python#.WwV7D-4vzIU
Dr. Abraham Gamarra Moreno
15
Tema n° 2: Fundamentos de Programación: estructuras condicionales,
estructuras repetitivas y funciones
La potencialidad de los programas en la solución de problemas, se logra haciendo que
estos tomen sus propias decisiones y repitan instrucciones cuando se necesite. Además,
se mejora el diseño de un programa cuando se divide en subprogramas.
En este ítem se desarrolla las estructuras secuenciales, estructuras repetitivas y funciones
en Python.
1. Estructuras condicionales
La sentencia if
La sentencia if evalúa la condición y si el valor es verdadero se realiza la instrucción; sino
no realiza nada (figura 11).
Figura 11. Sentencia if. Tomada de: Elaboración propia.
La sintaxis en Python es:
If condición:
instrucción
En Python la sintaxis exige que exista un tabulador delante de la instrucción para que
sea ejecutado cuando la condición sea verdadera.
Ejemplo:
Realizar un programa que permita leer un número e imprima su valor absoluto.
Solución
Dr. Abraham Gamarra Moreno
16
1.
Definición o análisis del problema.
El valor absoluto de un número es el valor positivo de este.
Si el número es negativo se debe multiplicar por -1 para obtener su valor positivo.
2.
Diseño del algoritmo.
Ver figura 12.
F
V
Figura 12. Sentencia if para obtener el valor absoluto de un número. Tomada de: Elaboración propia.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
num=float(input('Ingrese número: '))
if num<0 :
num=num*-1
print('El valor absoluto es: ',num)
El cambio del valor negativo de la variable num se realiza con la instrucción:
num=num*-1
Dr. Abraham Gamarra Moreno
17
En la parte derecha de la instrucción se visualiza que el valor que tiene la variable
num se multiplica por -1 y este resultado se almacena como nuevo valor de num.
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese número: -5
El valor absoluto es: 5.0
Ingrese número: 10
El valor absoluto es: 10.0
La sentencia if … else
La sentencia if … else evalúa la condición y si el valor es verdadero se realiza la
instrucción1; sino realiza la instrucción2 (figura 13).
Figura 13. Sentencia if … else. Tomada de: Elaboración propia.
La sintaxis en Python es:
If condición:
Instrucción1
else:
Instrucción2
Dr. Abraham Gamarra Moreno
18
En Python la sintaxis exige que exista un tabulador delante de la instrucción1 para que
sea ejecutado cuando la condición sea verdadera y también exige que exista un
tabulador delante de la instrucción2 para que se ejecute cuando la condición sea falsa.
Ejemplo:
Realizar un programa que permita leer un número e imprima si el número es par o impar.
Solución
1.
Definición o análisis del problema.
Un número es par cuando es divisible entre 2, es decir al dividir el número entre 2 se
debe obtener un residuo igual 0. Si la división entre 2 no da un resto de 0 entonces
es impar
2.
Diseño del algoritmo.
Ver figura 14.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
num=float(input('Ingrese número: '))
if num % 2 == 0 :
print('Es par')
else :
print('Es impar')
En la expresión num%2==0, se obtiene el resto de la división entre 2 y se verifica si es
igual a 0. Si esta expresión es verdadera imprime “Es par”, sino imprime “Es impar”.
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese número: 6
Es par
Ingrese número: 9
Es impar
Dr. Abraham Gamarra Moreno
19
Figura 14. Sentencia if … else para mostrar si un número es par o impar. Tomada de: Elaboración
propia.
La sentencia elif
La sentencia elif sustituye a un par else if.
Ejemplo:
Realizar un programa que permita leer un número del 1 al 7 e imprima el nombre del día
de la semana.
Solución
1.
Definición o análisis del problema.
La equivalencia de los días de la semana es: 1 para domingo, 2 para el lunes y así
sucesivamente hasta que al 7 le corresponde sábado. Se debe leer el número del
día de la semana y mostrar su equivalente.
2.
Diseño del algoritmo.
Ver figura 15.
Dr. Abraham Gamarra Moreno
20
Figura 15. Uso de elif para mostrar el nombre del día de la semana ingresado en números. Tomada de:
Elaboración propia.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
numdia=int(input("Ingrese el día de la semana en números: "))
Dr. Abraham Gamarra Moreno
21
if numdia==1:
nom="Domingo"
elif numdia==2:
nom="Lunes"
elif numdia==3:
nom="Martes"
elif numdia==4:
nom="Miércoles"
elif numdia==5:
nom="Jueves"
elif numdia==6:
nom="Viernes"
elif numdia==7:
nom="Sábado"
print(nom)
El programa imprime el día en letras de acuerdo al número ingresado.
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese el día de la semana en números: 1
Domingo
Ingrese el día de la semana en números: 5
Jueves
2. Estructuras repetitivas
En las estructuras repetitivas es común utilizar variables que tengan un comportamiento
como un contador y también como acumulador.
Contador
Esta variable modifica su valor en una cantidad constante. Un contador tiene la
siguiente forma:
Dr. Abraham Gamarra Moreno
22
variable=variable operador constante
Ejemplos:
x=x+5
Al valor anterior de x se le suma 5 unidades y se almacena este resultado en x. El efecto
que se tiene al utilizar esta expresión es incrementar x en 5 unidades.
num=num*3
Al valor anterior de num se le multiplica por 3 unidades y se almacena este resultado en
num.
Si se desea generar los números del 1 al 4, se debe realizar las siguientes instrucciones:
n=0
n=n+1
n=n+1
n=n+1
n=n+1
El código anterior no es óptimo, debido a que la instrucción n=n+1 se escribe varias
veces. Para mejorar esta situación se debe utilizar una sentencia repetitiva que permita
ejecutar n=n+1 varias veces, escribiéndolo una sola vez.
Acumulador
Es una variable que modifica su valor en una cantidad variable. Un acumulador tiene la
siguiente forma:
variable1=variable1 operador variable2
Ejemplo
Se puede usar s = s + n
Las líneas de código que se listan a continuación permiten realizar la suma desde el 1
hasta el 4: 1+2+3+4. La variable n genera los números desde el 1 hasta al 4 y la variable
s guarda la suma acumulada de cada término.
n=1
s=0
s=s+n
# s=0+1  s=1
Dr. Abraham Gamarra Moreno
23
n=n+1
# n=1+1 n=2
s=s+n
# s=1+2  s=3
n=n+1
# n=2+1 n=3
s=s+n
# s=3+3  s=6
n=n+1
# n=3+1 n=4
s=s+n
# s=6+4  s=10
Se debe notar que el valor de s almacena al final el valor de 10 que es la suma
acumulada y en cada incremento de n, s va guardando la suma acumulado hasta el
valor de n. Otra vez tenemos que esta forma de hallar la suma no es la más adecuada,
debido a que la instrucción n = n + 1 y s = s + n se escribe varias veces. Se recomienda
otra vez ejecutar estas dos instrucciones en un ciclo repetitivo.
Sentencia repetitiva for
El diagrama de flujo de la sentencia for se muestra en la figura 16:
Figura 16. Diagrama de flujo de la sentencia for. Tomada de: Elaboración propia.
Donde:
variable, es la variable que almacenará los valores generados en cada iteración.
valini, es el valor inicial de variable.
valfin, es el valor final de variable.
Dr. Abraham Gamarra Moreno
24
inc, es el valor en el que se incrementa o disminuye variable.
La sintaxis de la sentencia for es:
for variable in secuencia :
instrucción
Una secuencia está formada por una lista, cadena, rango, etc.
La sentencia for ejecuta la instrucción tantas veces se pueda asignar un valor a variable.
Ejemplo:
Realizar un programa que permita sumar los números consecutivos siguientes:
1+2+3+4+…+num.
El valor de num es ingresado por el teclado.
1.
Definición o análisis del problema.
Para realizar la suma de la serie 1+2+3+4+…+num, se debe generar los números
desde 1 hasta num, por lo que la variable n será el que tome los valores desde 1
hasta num variando de 1 en 1. La suma se almacenará en s, utilizando la expresión
s=s+n.
2.
Diseño del algoritmo.
Ver figura 17.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
num=int(input("Ingrese número: "))
s=0
for n in range(1,num+1,1) :
s=s+n
print("La suma es: ",s)
Para generar los números desde 1 hasta num se utiliza range(), el cual tiene el
siguiente formato:
range(valor_inicial, valor_final-incremento, incremento)
Si num=4 y utilizamos range(1,num,1) se generarán los números 1,2 y 3. Se debe notar
que no se genera hasta 4 porque el último valor generado es num-1, cuyo resultado
es 3. Si se desea generar desde el 1 hasta el 4 se debe utilizar range(1, num+1,1).
Dr. Abraham Gamarra Moreno
25
Figura 17. Uso de for para calcular la suma de 1+2+3+…+num. Tomada de: Elaboración propia.
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese número: 4
La suma es: 10
Ingrese número: 6
La suma es: 21
Dr. Abraham Gamarra Moreno
26
Sentencia repetitiva while
El diagrama de flujo de la sentencia while se muestra en la figura 18.
La instrucción se ejecuta mientras la condición sea verdadera. Si la condición es falsa
no se ejecuta la instrucción.
Figura 18. Diagrama de flujo de la sentencia while. Tomada de: Elaboración propia.
La sintaxis de la sentencia while es:
while condición :
instrucción
En la instrucción se puede utilizar break que permite salir del ciclo repetitivo.
Ejemplo:
Realizar nuevamente el programa que permita sumar los números consecutivos
siguientes: 1+2+3+4+…+num; pero esta vez utilizando la sentencia while.
El valor de num es ingresado por el teclado.
1.
Definición o análisis del problema.
Para realizar la suma de la serie 1+2+3+4+…+num, se debe generar los números
desde 1 hasta num, por lo que la variable n será el que tome los valores desde 1
hasta num variando de 1 en 1 y utilizará la expresión n=n+1. Además, para generar
la suma se utiliza la expresión s=s+n.
2.
Diseño del algoritmo.
Ver figura 19.
Dr. Abraham Gamarra Moreno
27
Figura 19. Uso de while para calcular la suma de 1+2+3+…+num. Tomada de: Elaboración propia.
3.
Transformación del algoritmo en un programa.
El programa en Python es:
num=int(input("Ingrese número: "))
n=0
s=0
while n<num :
n=n+1
s=s+n
Dr. Abraham Gamarra Moreno
28
print("La suma es: ",s)
Si num=4, dentro del while n toma los valores 1, 2, 3, 4 y 5; sino que la última vez
cuando n es igual a 5, la condición 5<4 (n<num) será falsa..
4.
Ejecución y validación del programa.
La ejecución muestra la siguiente salida
Ingrese número: 4
La suma es: 10
Ingrese número: 6
La suma es: 21
3. Funciones
Uso básico de funciones
Una función es la agrupación de código que realiza una tarea específica y puede
invocarse muchas veces.
La sintaxis de la definición en Python es:
def nombre_función(lista_parámetros) :
instrucción 1
instrucción 2
return expresión
La lista de parámetros es opcional, así como también la instrucción return expresión.
El uso de return expresión, permite devolver valores a través de una función.
La sintaxis del llamado a una función es:
nombre_función(parámetros)
Si la función devuelve un valor se debe almacenar en una variable o se debe utilizar el
valor devuelto en una instrucción de impresión o en una expresión.
Ejemplo:
Realizar una función que calcule la hipotenusa de un triángulo rectángulo.
Solución:
El programa es:
Dr. Abraham Gamarra Moreno
29
def calcular_hipotenusa (c1,c2) :
h=(c1**2+c2**2)**(1/2)
return h
cateto1=float(input("Ingrese primer cateto: "))
cateto2=float(input("Ingrese segundo cateto: "))
hipotenusa=calcular_hipotenusa(cateto1,cateto2)
print(" La hipotenusa es: ", hipotenusa)
La salida del programa es:
Ingrese primer cateto: 3
Ingrese segundo cateto: 4
La hipotenusa es: 5.0
Ejemplo:
Realizar una función que calcule la hipotenusa de un triángulo rectángulo. La función
no debe utilizar return.
Solución:
El programa es:
def calcular_hipotenusa (c1,c2) :
h=(c1**2+c2**2)**(1/2)
print(" La hipotenusa es: ", h)
cateto1=float(input("Ingrese primer cateto: "))
cateto2=float(input("Ingrese segundo cateto: "))
hipotenusa=calcular_hipotenusa(cateto1,cateto2)
La salida del programa es:
Ingrese primer cateto: 3
Ingrese segundo cateto: 4
La hipotenusa es: 5.0
4. Lectura seleccionada No 2
Fundamentos de Python
Complemente el conocimiento sobre el lenguaje de programación Python a través
de la lectura de los siguientes ítems:

Condicionales if y else en Python

Ciclo For en Python

Ciclo while en Python
La lectura se encuentra en la siguiente URL:
Dr. Abraham Gamarra Moreno
30
http://codigoprogramacion.com/python#.WwV7D-4vzIU
Dr. Abraham Gamarra Moreno
31
De la teoría a la práctica
Un matemático está intentando escribir un programa que calcule el producto de dos
números naturales mediante el "algoritmo ruso del producto". El algoritmo consiste en
duplicar el primer factor y tomar la parte entera del cociente del segundo factor entre
2. Si el segundo factor es impar se acumula el primer factor donde se ha de obtener el
resultado. El proceso termina cuando el segundo factor sea cero.
PRIMER FACTOR
SEGUNDO FACTOR
ACUMULADOR
30
15
30
60
7
90
120
3
210
240
1
450
480
0
450
Se solicita que usted le ayude a encontrar el programa. ¿Cómo lo haría?
Dr. Abraham Gamarra Moreno
32
Glosario
Programa
Conjunto de instrucciones que se ejecutan en un computador u otro dispositivo.
Tipo de dato
Término utilizado en los lenguajes de programación para identificar el valor almacenado
un identificador.
Sintaxis
Regla gramatical que tiene una instrucción..
Instrucción
Orden que se entrega a un programa y su contenido depende del lenguaje de
programación. En este manual una instrucción puede tomar la forma de una sentencia.
Condición
Una condición es una expresión que una vez evaluada devuelve un valor de verdadero
o falso.
Estructura condicional
Es una estructura que permite ejecutar una instrucción u otra de acuerdo al resultado
de una condición.
Estructura repetitiva
Es una estructura que permite repetir cero, una o más veces una instrucción de acuerdo
al resultado de una condición.
Subprograma
Es la agrupación del código de un programa utilizando una función.
Dr. Abraham Gamarra Moreno
33
Bibliografía
Python Software Foundation. (01 de Abril de 2018). Python. Obtenido de python.org:
https://www.python.org/
Cairó, O. (2006). fundamentos de programación, Piensa en C. México D.F.: Prentice Hall.
Coutinho, N. (2016). Introducción a la programación con Python. Sao Paulo: Novatec Editora Ltda.
Dale, N., & Lewis, J. (2016). Computer Science Illuminated. Burlington: Jones & Bartlett Learning.
Forouzan, B. (2003). Introducción a la ciencia de la computación. México D.F.: International Thomson
Editores.
Joyanes, L. (2008). Fundamentos de Programación. Madrid: McGraw-Hill.
Joyanes, L. (2013). Fundamentos generales de programación. México D.F.: McGraw-Hill.
Suárez, A., & Suárez, A. (30 de Enero de 2014). Python 3 para impacientes. Obtenido de python-paraimpacientes.blogspot.pe: https://python-para-impacientes.blogspot.pe/2014/01/operadores.html
TIOBE. (10 de Abril de 2018). TIOBE Index for April 2018. Obtenido de tiobe.com:
https://www.tiobe.com/tiobe-index/
Wikipedia. (30 de Abril de 2018). Python. Obtenido de es.wikipedia.org:
https://es.wikipedia.org/wiki/Python
Dr. Abraham Gamarra Moreno
34
Descargar