0% encontró este documento útil (0 votos)
81 vistas52 páginas

Libro Python

Este documento presenta una guía de fundamentos de programación en Python. Explica conceptos básicos como variables, tipos de datos, operadores matemáticos y lógicos. También describe la metodología de programación que incluye análisis, codificación y pruebas. Finalmente, introduce estructuras de control como condicionales y repetitivas, así como listas, arreglos y matrices.

Cargado por

Samuel Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
81 vistas52 páginas

Libro Python

Este documento presenta una guía de fundamentos de programación en Python. Explica conceptos básicos como variables, tipos de datos, operadores matemáticos y lógicos. También describe la metodología de programación que incluye análisis, codificación y pruebas. Finalmente, introduce estructuras de control como condicionales y repetitivas, así como listas, arreglos y matrices.

Cargado por

Samuel Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

GUIA DE FUNDAMENTOS DE PROGRAMACIÓN EN PYTHON

PROFESORA: MARISOL GÒMEZ RAMIREZ

INSTITUCIÒN UNIVERSITARIA ANTONIO JOSE CAMACHO

1
Tabla de contenido
1. Elementos matemáticos básicos de programación
Operadores
a. Variables
b. Tipos de datos
2. Metodología
a. Análisis
b. Codificación
c. Verificación o prueba de escritorio
3. Programas básicos
4. Programas con estructuras de decisión
5. Funciones
6. Programas con estructuras repetitivas
a. While
b. For
7. Listas
8. Arreglos
9. Matrices
10. Archivos

2
1. Elementos básicos de programación

Un programa de computador es una secuencia de instrucciones específicas para realizar una


tarea.
Algunos ejemplos de programas son los editores de texto como Word, hojas de cálculo como
Excel, navegadores de Internet como Firefox y Chrome, videojuegos y sistemas operativos
como Windows y Linux.

Los programas están escritos en un lenguaje de programación. Un lenguaje de programación


es un conjunto de palabras básicas, operadores, reglas sintácticas y semánticas.

Nota: Existen diferentes estilos o paradigmas de programación, por ejemplo: lenguajes


orientados a objetos, lenguajes lógicos, lenguajes funcionales, lenguajes imperativos,
lenguajes concurrentes, paralelos y distribuidos.

Otro concepto importante en programación son los datos, estos son el punto de partida y son
ellos quienes sufren las transformaciones que darán los resultados deseados. Cuando un
programa necesita almacenar un dato, necesita a través de una variable.

Una variable es una localización o casillero en la memoria principal que almacena un valor
que puede cambiar en el transcurso de la ejecución del programa.
Toda variable tiene un nombre, un tipo de dato y un valor

El tipo de dato es la naturaleza del valor que puede tomar la variable, y puede ser:
Entero: si la variable almacenará un número entero
Real: si la variable almacenará un número decimal
Carácter: si la variable almacenará un carácter
Cadena: si la variable almacenará un conjunto de caracteres
Lógico: si la variable almacenará el valor verdadero o el valor falso

El operador de asignación

Una instrucción de asignación en programación consiste en asignar el valor o resultado de la


evaluación de una expresión (que se encuentra a la derecha) a una variable (que se ubica a la
izquierda).

Por ejemplo:

a←0
b←5
c ← -3

Lo anterior significa que la variable a se le asigna el valor de 0, la variable b toma o se le


asigna el valor de 5, y la variable c toma el valor de 3.

3
Para tener en cuenta

= Este es el operador de asignación en Java


== Este es el operador de igualdad en Java y se utiliza para hacer comparaciones.

Operadores

Los operadores son elementos que relacionan de forma diferente dos valores de una o más
variables y/o constantes. Estos pueden ser aritméticos, relacionales o lógicos.

Operadores aritméticos

+ Suma los operandos


- Resta el operando de la derecha al de la izquierda
* Multiplica los operandos
/ Divide el operando de la izquierda entre el de la derecha
% Residuo o módulo

Las expresiones que tienen dos o más operandos requieren unas reglas matemáticas que
permiten determinar el orden de las operaciones.

▪ Todas las expresiones encerradas entre paréntesis se evalúan primero.


▪ Las expresiones con paréntesis anidados se evalúan de adentro hacia afuera, y los
paréntesis más internos se evalúan primero.
▪ Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1) () []
2) - + (unarios, de signo)
3) * / %
4) + -
5) < > <= >= = = !=
6) ! (negación)
7) || (O), && (Y)

Los operadores en una misma expresión o con igual nivel de prioridad se evalúan de izquierda
a derecha.

Ejemplos:

a)

7+5–6
12 – 6
6

4
b)

9 + 7 * 8 – 36 / 5
9 + 56 – 36 / 5
9 + 56 – 7.2
65 – 7.2
57.8

Operadores Relacionales

Los operadores relacionales establecen una relación entre dos valores. Esta comparación
produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales
tienen menor prioridad que los operadores aritméticos.

== Igual que
!= Diferente a
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que

Ejemplo:

Dados os siguientes valores

a = 10
b = 20
c = 30

Evalúe la expresión: a + b > c

a + b>c
10+20>30
30 >30
Falso

5
Operadores Lógicos

Conjunción (Y): proporciona un valor verdadero (V), si los dos operandos son verdaderos;
en caso contrario da un resultado falso (F).

Tabla 1. Tabla lógica del operador Y (&&)


Operando 1 && Operando 2 Resultado
V && V V
V && F F
F && V F
F && F F

Disyunción (O): proporciona un valor verdadero (V), si uno de los dos operandos es
verdadero; en caso contrario da un resultado falso (F).

Tabla 2. Tabla lógica del operador O (||)


Operando 1 || Operando 2 Resultado
V || V V
V || F V
F || V V
F || F F

Negación (No): este operador relaciona sólo un operando booleano y da como resultado un
valor opuesto al que tenga el operando.

Tabla 3. Tabla lógica del operador No (!)


Operador Operando Resultado
! V F
! F V
Los operandos y el resultado de estos operadores son siempre booleanos.
Los operadores && y || evalúan la expresión del lado derecho, sólo si es necesario.

6
2. Metodología

La metodología que se utilizara para resolver cada uno de los problemas planteados,
incluye los pasos de análisis, código en Python y prueba de escritorio.
Adicional a esto se mostrará como se ve la ejecución del programa, dentro del entorno
de desarrollo.

En el primer paso, el análisis se analiza que se va a resolver, lo que se pide en el


enunciado del problema que se calcule. Y para llegar a obtener esta salida se debe
preguntar que datos se necesitan conocer, es decir que datos se requieren conocer para
calcular esta salida. Por ejemplo, si se pide hacer un programa que calcule el área
del tablero del salón de clase, se dice entonces que la salida es el área. Y para saber
el área del tablero se requiere conocer cuando mide de ancho y cuanto, de largo, ya
que todos los tableros son diferentes.

¿Cuanto
mide de
largo?

¿Cuanto mide de
ancho?

Este análisis lo representaremos en una tabla, donde se indicará, el nombre o


identificador con el que se representaran los datos de entrada y los datos de salida,
además de eso se dirá lo que representa o la descripción y de que tipo es esta
información.

Una vez identificados los datos de entrada y salida, se escriben los pasos aplicados
para a encontrar lo que se pide calcular, es decir el proceso a seguir, incluyendo las
formulas aplicada y la lógica que se llevara a cabo. De tal forma que para el ejemplo
del cálculo del área del tablero su análisis queda:

7
Datos de Entrada
Identificador Descripción Tipo
ancho Ancho del tablero Real

largo Largo del tablero


Real
Proceso
Calcular el área con la formula: area= ancho x largo
Datos de Salida
Identificador Descripción Tipo
area Área del tablero Real

En el paso dos, una vez analizado y entendido lo que se pide resolver y cómo se va a
resolver, se procede a escribir las instrucciones en el lenguaje código Python.

Para escribir un programa los datos de entrada se piden con la instrucción input y se
guardan en las variables de entrada, luego se realiza el proceso, usando la sintaxis de
Python que se ira viendo poco a poco, a lo largo del texto. Y los datos de salida una
vez calculados se muestran por pantalla con la instrucción print.

A continuación, se muestra el código del programa realizado en Python usando Colab.

Vamos a numerar las líneas del código

8
Para hacer la prueba de escritorio se va a numerar las líneas del código, esto se hace
automáticamente en Colab

En el tercer paso se va a realizar la prueba de escritorio, esto a pesar de que el


programa ya se ejecuta bien se debe realizar porque garantiza que el estudiante
comprende la lógica de la ejecución del programa y en caso de haber algún error
lógico ayudara a detectarlo y corregirlo.

Para la prueba de escritorio se usará una tabla y en cada columna de la tabla irán los
mensajes que deben aparecer por pantalla al ejecutar el programa, el nombre o
identificador de cada una de las variables utilizadas dentro del programa y algunas
veces escribiremos algún condicional para que sea más claro entender línea por
línea como se lleva a cabo la evaluación de las instrucciones del programa.

Para el ejemplo que se está desarrollando la prueba de escritorio seria la siguiente:

Línea en el Mensajes por ancho largo area


código pantalla
1 ¿Cuánto mide 3
el ancho del
tablero?
2 ¿Cuánto mide 2
el largo del
tablero?
3 3*2
6
4 El área del
tablero es 6

En la prueba de escritorio se hace seguimiento línea por línea del código y esto se
va viendo reflejado en la tabla.

A continuación, se muestra la ejecución del programa:

9
En la siguiente sección se van a realizar ejercicios de programas básicos en Python,
para cada ejercicio se aplicarán los pasos de la metodología explicados anteriormente.

Para efectos prácticos no se enumerarán más las líneas del código del programa, pero
se tratara de evaluar línea por linae y asimismo se ira llenando la tabla.

1. Desarrollar un programa que permita calcular el área de un triángulo a partir de su


base y su altura.

Análisis

Datos de Entradas
Identificador Descripción Tipo
base base del Real
triángulo

altura altura del Real


triángulo
Proceso
Calcular el área con la formula:
area= (basexaltura)/2
Salida
Identificador Descripción Tipo
area Área del real
triangulo

Código en Python

Recuerde que los datos entrada son aquellos que se piden al usuario

10
Prueba de escritorio

Mensaje por base altura area


pantalla
Digite la base 10
Digite la 20 (10*20)/2
altura 100
El área del
triángulo es
100

2. Realizar un programa que permita calcular las soluciones de una ecuación


−𝑏±√𝑏 2 −4𝑎𝑐
cuadrática : −
2𝑎

Análisis

Entradas
Identificador Descripción Tipo
a Primer coeficiente Entero

Segundo coeficiente
b Entero
Tercer coeficiente

c entero
Proceso
Aplicar las ecuaciones

11
−𝑏 + √𝑏 2 − 4𝑎𝑐
𝑥1 = −
2𝑎

−𝑏 − √𝑏 2 − 4𝑎𝑐
𝑥2 = −
2𝑎
Identificador Descripción Tipo
X1 Solución 1 Real

X2 Solución 2 Real

Código en Python

Prueba de escritorio
Mensajes a b c X1 X2
por pantalla
Digite el 1
coeficiente a:
Digite el 2
coeficiente b:
Digite el 1 -1.0
termino
independiente
c:

12
-1.0
Solución 1: -
1.0

Solución 2: -
1.0

Ejemplo de ejecución

3. Se quiere convertir una temperatura de grados centígrados a grados fahrenheit


La fórmula está dada por:

gradosF=gradosCx1,88+3,2

Análisis

Datos de Entrada
Identificador Descripción Tipo
gradosC Temperatura en grados centígrados Real
Proceso
Aplicar la formula
gradosF=gradosC*1.8+32

Datos de salida
Identificador Descripción Tipo
gradosF Temperatura en grados fahrenheit Real

Código en Python

13
Prueba paso a paso
Mensaje por pantalla gradosC gradosF
Ingrese los grados 28
centígrados
28*1.8+32
82.4
La temperatura en grados
fahrenheit es igual a 82.4

Ejecución del programa

Ejercicios Propuestos

Resolver los siguientes problemas, aplicando la metodología del curso (análisis, codigo
en Python y prueba de escritorio

1. Dada la masa M de un cuerpo y su aceleración A, calcule la Fuerza F sobre el


cuerpo aplicando la fórmula F = M · A

2. Dado una cantidad de plata en pesos colombianos, obtener el valor equivalente en


dólares americanos.

3. Dada la velocidad inicial vo de un objeto en movimiento durante un periodo de t


segundos y una aceleración constante a, Calcule la longitud desplazada y la
velocidad alcanzada en el tiempo t.

4. Conversiones de temperatura.
a) Dada la temperatura en grados Kelvin obtener la temperatura equivalente en Celsius.
b) Dada la temperatura en grados Fahrenheit obtener la temperatura equivalente en Kelvin.

14
Programa con condicionales

Se requiere un programa para determinar si una persona es mayor o menor de edad

Análisis

Entradas
Identificad Descripción Tipo
or
edad Edad de la entero
persona
Proceso
Si edad>=18 muestra un mensaje
diciendo que es mayor de edad
En caso contrario muestra un mensaje
diciendo que es menor de edad
Salida
Identificad Descripción Tipo
or
No se crea Muestra
ninguna mensaje
variable diciendo si es
mayor o menor
de edad

Código Python

15
Prueba de escritorio
Salida por pantalla edad edad>25
Digite su edad 25
verdadero
Usted es mayor de edad

Como se observa en la prueba de escritorio, se incluyó una columna para evaluar el


condicional y así reflejar mejor el curso del programa

La ejecución se vería así:

Desarrollar un programa que reciba un entero correspondiente a una categoría y el total de


ventas de un vendedor y retorne el valor de la comisión que recibe el vendedor. Tome en
cuenta la siguiente tabla.

Categoría Comisión
1 15%
2 10%
3 5%

Análisis

Entradas
Identificador Descripción Tipo
Categoría Categoría del Entero
empleado

16
Valor de las ventas
Real
ventas
Proceso
Dependiendo del valor de la categoría, se calcula la comisión
según el porcentaje que le corresponde: si la categoría es 1, la
comisión se calcula multiplicando 0.15 por el valor de las
ventas realizadas, si la categoría es 2, la comisión se calcula
multiplicando las ventas por 0.10, si la categoría es 3, la
comisión se calcula multiplicando las ventas por 0.05 y si la
categoría es cualquier otro valor se imprime un mensaje de
“Categoría no existente”.

Salidas
Identificador Descripción Tipo
comision Comisión a ganar real

Código Python

Tener en cuenta que la variable comisión se debe inicializar antes de los condicionales,
porque en caso de que la categoría no exista, la variable comisión no tomaría ninguno de
los valores asignados dentro de los condicionales. Y podría imprimir un valor basura que
tenga almacenado.

Prueba de escritorio

17
Mensaje por pantalla ventas categoria comision
Digite el valor de la 500000
ventas
Digite la categoría 1
del vendedor
75000
La comisión ganada
es de 75000

Ejecución del programa

La empresa de energía requiere recalcular la factura de energía de los consumidores. Para


ello, se necesita de un programa que lea el estrato social y el valor de consumo del cliente
(en Kw), y determine el valor básico a adicionar para establecer el nuevo valor de la
factura. Para saber los valores base y el precio del Kw, que corresponde a cada estrato, use
la siguiente tabla:

Estrato Valor base Precio kw


1 5000 1000
2 10000 1800
3 12000 3500
4 15000 5000

Si se digita un estrato que no esté en la tabla se debe mostrar un mensaje indicando que el
estrato no es válido

Análisis

Entradas
Identificador Descripción Tipo
Estrato Estrato económico Real
del consumidor

Consumo Cantidad de energía real


en kilowatios
consumida

18
Proceso
Si el estrato es 1 el valor de la
energía se calcula multiplicando el consumo por 1000 y
se le suma 5000. Si el estrato es 2 el valor de la energía
se calcula multiplicando el consumo por 1800 y se le
suma 10000 y si es estrato3, se calcula multiplicando
por 12000 y se le suma 3500 y si es estrato 4 se
multiplica por 150000 y se le suma 5000

Salidas
Identificador Descripción Tipo
valorEnergia El valor a pagar Real
por consumo de
energía

Código en Python

Prueba de escritorio

Mensaje por estrato consumo valorEnergia


pantalla
Ingrese el 2
estrato de la
residencia

19
Ingrese el 200
consumo de
energia
361000
Valor consumo
de energía
361000

Ejecución del programa

Funciones

Una función en computación, (también llamadas una subrutina, subprograma,


procedimiento o rutina), es un conjunto de líneas de código (subalgoritmo) que forma parte
del algoritmo principal, el cual permite resolver una tarea específica.

Las funciones empaquetan y “aíslan” del resto del programa, una parte de código que
realiza alguna tarea específica.
Las funciones atienden a la estrategia “divide y vencerás” estrategia para resolver
problemas grandes, dividiéndolo en problemas más pequeños.
Las funciones reciben datos del programa principal, realizan operaciones y le devuelven los
resultados.

Ventajas de usar funciones


➢ Reducción del tiempo de codificación: Al utilizar funciones el tiempo de
codificación se reduce. Sólo se debe escribir una rutina una vez y las sentencias de
código que la llaman, no se codifica la misma rutina varias veces. Esto reduce el
tiempo de entrega del proyecto.
➢ Reducción del tiempo de depuración: Reduciendo el tiempo de programación,
también se reduce el tiempo de depuración. Si el mismo código esta en varios
lugares, es más difícil hacer cambios de depuración en todos esos lugares. Esto
dificulta encontrar el problema y eliminarlo.
➢ Efectos de mantenimiento: Los efectos sobre el mantenimiento del programa, que es
la más costosa de las etapas de desarrollo, puede ser tanto buenos como malos. Al

20
igual que con la depuración, si el problema se encuentra en un procedimiento
llamado, entonces puedes encontrarlo una vez y eliminarlo rápidamente.
➢ Sin embargo, si se usan procedimientos y funciones en exceso, el programa puede
ser más difícil de entender. Entre más difícil sea de entender, más tiempo se
necesita para arreglar un programa.
Para menor complejidad se va a escribir en funciones los ejercicios del capitulo anterior

Se revisara de nuevo el ejercicio uno, peroe sta vez haceindo el codigo dentro de una
función.

Se requiere un programa para determinar si una persona es mayor o menor de edad

Análisis

Entradas
Identificad Descripción Tipo
or
edad Edad de la entero
persona
Proceso
Si edad>=18 muestra un mensaje
diciendo que es mayor de edad
En caso contrario muestra un mensaje
diciendo que es menor de edad
Salida
Identificad Descripción Tipo
or
No se crea Muestra
ninguna mensaje
variable diciendo si es
mayor o menor
de edad

Código Python

21
Este procedimiento se va a realizar dentro de una función llamada mayorEdad

La funciones instrucciones que se agrupan para resolver una tarea especifica, en este caso
calcular seterminar si la persona es mayor o menor de edad.

Una función se define con la palabra def y luego viene el nombre que se le da a la función,
seguido de unos parentesis que abren y cierran. Luego identado más a la la derecha de la
palabra def, se escriben las instrucciones que hace parte de la función.

Para que una función se ejecute debe ser llamada desde el programa principal. Siendo el
programa principal el codigo que esta escrito identado totalmente a la izquierda de la
ventana del entorno de desarrollo.

El llamdo de la función se hace por su nombre, seguido de los parentesis.

Prueba de escritorio

Mensaje por pantalla edad edad>=18


Digite la edad de la persona 23
Verdadero
Es mayor de edad

22
Hasta ahora con una sola tarea o un programa tan simple no se ve el aprovechamiento de
usar funciones, pero si nos pidieran determinar si dos personas o más son mayores de edad,
dentro del mismo programa en vez de escribir el código dos veces, se escribe una sola
función y se llama dos veces, optimizando así el desarrollo del programa, quedando el
código así:

En el siguiente ejemplo se muestran funciones para resolver las operaciones básicas de


suma, resta, multiplicación y división entre dos números. Con la finalidad de ir mostrando
las diferentes formas en que se pueden definir las funciones y así mismo ser llamadas o
ejecutadas, desde el programa principal.

La función puede recibir parámetros, dentro del cuerpo de la función se trabaja con los
valores que fueron recibidos para las variables x,y.
En este ejemplo la función retorna el resultado de la suma de x y y. Este valor sera tomado
en el lugar donde la función sea llamada. Desde el programa principal la función se debe
llamar así:

Una variable recibe el valor que retornara la función y luego se imprime.

23
En la función resta no se reciben parámetros, por lo tanto los datos que necesita para hacer
la resta, debe pedirlos desde el cuerpo de la función.
La función no retorna ningún valor, por lo tanto, el resultado de la resta se imprime desde la
función.

La función debe ser llamada desde el programa principal así:

En esta función también se reciben dos parámetros, se guarda el resultado de su


multiplicación en la variable m y se muestra este resultado desde la misma función.
Desde el programa principal se debe llamar así:

Y por último la función división

24
Que está definida igual que la función multiplicación. Por lo tanto, se llama si desde el
programa principal.:

Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cuál de los 2 catetos
es mayor y muestre su hipotenusa.

Entradas
identificador Descripción Tipo
a Primer cateto del real
triangulo

Segundo cateto del real


b triangulo
Proceso
Determinar el mayor de los dos números.
Aplicar el teorema de Pitágoras para calcular la hipotenusa.
Cada una de estas tareas es independiente una de otra, por lo que cada una la
puede realizar una función

Salida
Nombre Descripción Tipo
hipotenusa Hipotenusa del real
triangulo
lado mayor del real
mayor triangulo

25
Código Python

La función que determina el mayor de dos números recibe los dos números, realiza una
comparación entre ellos para determinar el mayor y retorna el mayor.
La función que determinar la hipotenusa recibe los dos números, aplica la fórmula del
teorema de Pitágoras para obtener la hipotenusa y la retorna.
El programa principal usa estas dos funciones para resolver el problema.

Prueba de escritorio

Programa principal
Mensaje por a b m h
pantalla
Digite el valor 4
del cateto a

26
Digite el valor 3
del cateto b
calcularMayor(4,3)
4
calculaHipotenusa(4,3)
5
El valor
mayor es 4
El valor de la
hipotenusa es
5

Calcularmayor(4,3)
a b mayor
4 3 4

calculaHipotenusa(4,3)
a b h
4 3 5

La función calcularmayor recibe como parámetros dos variables a y b que, aunque se


llaman igual que las variables que están en el programa principal, al colocarse como
parámetros de la función ya van a representar otras variables diferentes, porque las
variables que se definan dentro de la función o estén como parámetros será reconocidas
localmente, es decir dentro del cuerpo de la función.

Dentro de la función calculaMayor se revisan los condicionales cumpliéndose el de a>b


por lo tanto la variable mayor toma el valor de la variable a

Ejecución del programa

Para el siguiente vagón, usando funciones, haga un programa que calcule el área del vagón

27
Análisis

Entradas
Nombre Descripción Tipo
b Ancho del vagón Real

a Largo del vagón Real

r Radio de las llantas real


proceso
se realizan dos funciones una para calcular el
área del rectángulo y otra para calcular el área
del círculo y el área vagón es la suma de área
rectángulo, más el área del círculo
multiplicado por 2 ,dado que son 2 llantas con
el mismo radio
Salida
Nombre Descripción Tipo
areaVagon Área del vagón Real

Código Python

28
Prueba de escritorio

Programa principal
mensaje por b a r aV
pantalla
Ingrese el valor 5
de b
Ingrese el valor 10
de a
Ingrese el valor 4
del r
areaVagon(5,10,4)
150.52
El valor del
área del vagón
es
150.52

areaVagon(5,10,4)

29
a b radio AR AC area
5 10 4
areaRectangulo(5,10)
50
areaCirculo(4)
50.26
50+50.26+50.26
150.52

areaRectangulo(5,10)
a b area
5 10 5*10
50

areaCirculo(4)
radio area
4 3.1416*4*4
50.26

Ejecución del programa

AMBITO DE LAS VARIABLES


El ámbito de una variable es el contexto (espacio) dentro del programa en donde ella puede
ser utilizada y reconocida.
Variables Locales: Son aquellas variables que se crean dentro de una función. Estas
variables exclusivamente son reconocidas dentro de esa función donde fueron creadas, y su
valor se pierde al finalizar la ejecución de la misma.

Variables Globales: Son aquellas variables que se crean en el programa principal, por
fuera de cualquier función. Éstas son reconocidas en todo lugar del programa (incluso
dentro de las funciones)

30
Ejercicios propuestos

Un comerciante se dedica a la venta de sillas. Vende tres tipos de sillas:

Tipo Precio($)
1 75000
2 97000
3 110000

Por cada cinco sillas compradas se obtiene un descuento, de acuerdo con la tabla

Tipo descuento
1 5%
2 7,5%
3 10%

El resto de las sillas se cobran a precio normal. Diseñe un programa que lea el tipo de silla
y la cantidad a comprar e imprima la cantidad, el precio unitario, el descuento y el precio
total, de lo que debe cancelar el cliente por la compra.
Nota: El almacén sólo vende un tipo de silla a cada cliente.

Estructuras de repetición
Son un grupo de instrucciones que permite la ejecución repetitiva de otro grupo de
instrucciones. Hay una variable asociada al ciclo o estructura de repetición que controla
el número de veces que se repetirán las instrucciones.
Existen 2 estructuras de repetición:

While
For

Estructura while

31
while( condicion):
instrucción 1
instrucción 2
……

Mientras que se cumpla una condición, permite realizar un conjunto de instrucciones. En el


ejemplo siguiente mientras que la variable a sea menor o igual que la variable limite, se
realizan las instrucciones que están dentro del while, que son: imprimir la variable a y
después incrementarla en 1. Este ciclo permite imprimir los números de 1 a 5.

Prueba de escritorio

a limite a<=limite Mensaje por pantalla


1 1
5
1<=5 verdadero
1
2
2<=5 verdadero
2
3 3<=5 verdadero

32
3
4 4<=5
4
5
5<=5 verdero
5
6
6<=5 falso, rompe ciclo

El ultimo valor de a es 6, para cuyo valor ya no entra la ciclo, por lo tanto el ultimo valor de
a que se imprime es el 5..
Ejecución del programa

Otros ejemplos:

Para evitar que la tabla de la prueba de escritorio quede demasiado larga, se van a ir
colocando los valores que vayan tomando la variable al revisar cada línea de código, de

33
derecha a izquierda en la tabla, siempre y cuando las variables en las columnas de la tabla
este en ese orden, si al revisar una instrucción se afecta una variable que está ubicada en la
tabla a la izquierda, de la variable anterior modificada, entonces el nuevo valor se coloca en
la línea inferior siguiente de la tabla.

Prueba de escritorio

a b c a<b Mensaje por pantalla


5 7 3 5<7 Verdadero
6
6
6<7 Verdadero
12
7
7<7 falso 12
7

Mientras que la variable a sea menor que la variable b se hacen las instrucciones que están
dentro del ciclo. Note que la impresión de las variables c y a se hace cuando termina el
ciclo.

Para el siguiente ejemplo

a b c a<b
9 7 3 9<7 Falso

Vemos que las instrucciones dentro del ciclo no se ejecutan, dado que la condición la
primera vez que se evalúa es falsa

34
El curso de Algebra se califica con dos parciales , el primero tiene un peso de 30% y el
segundo 35% también se saca una nota de laboratorios con un valor del 25% y una nota
del trabajo final del curso con un valor del 10%

Calcular la nota definitiva para un grupo de n estudiantes

Análisis

Entradas
Nombre Descripción Tipo
n Cantidad de estudiantes en el Entero
curso

nombre Nombre del estudiante Cadena

Real
P1 Nota del parcial 1

P2 Nota del parcial 2 Real

P3 Nota del parcial 3 Real

Trab Real
Nota de los trabajos

lab Nota de los laboratorios real


Proceso
Se pide la cantidad de estudiantes en el curso y se crea
un ciclo que vaya desde 1 hasta esa cantidad de
estudiantes y para cada estudiante se calcula la nota
definitiva, aplicando la formula:

35
definitiva = p1*0.30 + p2*0.35 + lab*0.25 + trab*0.1

Se creará una función para calcular la nota definitiva que


será llamada desde el programa principal
Nombre Descripción Tipo
definitiva Nota definitiva de un real
estudiante

Codigo Python

36
Mensaje por n j j<=n nombre definitiva
pantalla
Ingrese el 2 1 1<=2
número de Verdadero
estudiantes
Ingrese el Laura calcularDefinitiva()
nombre Pérez 3.55

La nota
definitiva de
Laura Pérez
es 3.55
2 2<=2
Verdadero
Ingrese el Juana calcularDefinitiva()
nombre Gómez 2.55

La nota 3 3<=2 falso


definitiva de rompe ciclo
Juana
Gómez es
Pepe es 2.55

calcularDefinitiva()
p1 p2 lab trab definitiva
3 4 3 5 3*0.3+4*0.35+3*0.25+5*0.1
3.55

calculraDefinitiva()

p1 p2 lab tra definitiva


2 2 3 5 2*0.3+2*0.35+3*0.25+5*0.1
2.55

37
round es una función prestablecida de Python que se utiliza para redondear un número y así
se imprime con los decimales deseados.

Ejecución del programa

Diseñe un programa que permita ingresar números hasta que el usuario no desee continuar
más, en cuyo caso ingresa “n”. El programa debe mostrar la suma de todos los números
pares ingresados y la cantidad de números pares que se ingresaron.

Análisis
Entradas
Identificador Descripción Tipo
salir Es la opción ingresada para texto
indicar si desea continuar
“s” o desea salir “n”

i Representa cada número que Entero


se ingresa

38
Proceso
Se pide ingresar números hasta que el usuario no quiera
continuar más. Cada número que se ingresa debe ser
evaluado si es para, calculando su residuo, si este es o,
entonces el número es par y la variable cp se incrementa en
1. Cada número que se ingresa se debe acumular su suma en
la variable suma. Por lo tanto, la suma se hace fuera del
condicional.
Salida
Identificador Descripción Tipo
cp Contiene la cantidad de entero
números pares que se van
ingresando

Suma Suma de los números pares entero

Código Python

Prueba de escritorio

39
salir i cp suma While(salir==”S”) Mensaje por i%2==0
or salir==”S” pantalla
“S” 1 0 0 Verdadero Ingrese un
número
3 ¿Desea 3%2==0 falso
continuar?
“S” 6 1 6 Verdadero ¿Desea
continuar?
“S” 7 ¿Desea
continuar?
“S” 8 2 14 ¿Desea
continuar?
“n” La cantidad de
números pares es
2
El resultado de
la suma es 14

Ejecución del programa

Variables contadoras: Son variables usadas para realizar, como su nombre lo indica,
conteos de la cantidad de veces que se cumple una situación específica.
Como su objetivo principal es contar, deben ser de tipo entero y normalmente se inicializan
en cero.

40
Variables acumuladoras: son variables usadas para ir acumulando el resultado de una
operación.
Pueden ser de tipo numérico (entero o real) en las cuales acumula el resultado de
operaciones matemáticas, o de tipo cadena en las cuales se concatenan frases o palabras.

Ejercicios Propuestos

1. Diseñe un algoritmo que reciba números digitados por el usuario y los imprima en
pantalla, el programa debe terminar cuando el usuario digite un número negativo.

2. Diseñe un algoritmo que reciba números digitados por el usuario y al final imprima
la suma de los números digitados, el programa debe terminar cuando el usuario
digite 0 (cero).

3. Suponga que el administrador de una tienda desea calcular el total de ventas del día,
para ello debe registrar el nombre del producto, el valor del producto y la cantidad
de unidades vendidas. Al final el sistema debe mostrar la lista de productos
digitados, el total de ventas por cada producto, el total de ventas del día

4. El administrador puede registrar productos hasta que él decida que ha terminado


para lo cual digita un número negativo.

Estructura for
Para iterar sobre los elementos de una colección de elementos. Esta estructura es
usualmente utilizada cuando se conocen los valores inicial y final de la variable que
es utilizada en la condición de parada.

Un ciclo para (for) puede ser usado (y en Python es su único uso) para obtener uno a
uno los elementos de una colección de elementos y poder realizar con cada uno de
ellos el mismo bloque de operaciones.

Un esquema textual que en Python representa dicho ciclo para (for) es el que se da
en el siguiente fragmento de código.

41
El fragmento es el bloque de instrucciones previas que han sido ejecutadas antes del
ciclo. El fragmento es la variable que se usa para ir recorriendo (iterando) sobre los
elementos de la colección (tomar como valor cada uno de ellos en cada iteración).
El fragmento es la colección de elementos que será recorrida (iterada) con el ciclo.

El fragmento es el bloque de instrucciones principal del ciclo que se ejecuta con


cada uno de los elementos de la colección. El fragmento es el bloque de
instrucciones que se ejecutan después de terminar de ejecutar el ciclo.

Ejemplos

Una colección Rango (range) es una colección de números en un intervalo (rango)


semi-abierto, definido por valor inicial (el lado cerrado del intervalo), un valor final
(que no se incluye en el rango, es decir el lado abierto del intervalo), y un valor de
incremento/decremento usado a partir del valor inicial para determinar que valores
quedan en el rango. Si no se da el valor de inicio, este se fija en cero (0) y si no se
da valor de incremento/decremento, ´este se fija en uno (1).

Ejemplos de range:

El comando range(6) genera la secuencia [0, 1, 2, 3, 4, 5].


El comando range(10, 21) genera la secuencia [10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20].

42
El comando range(-7, 8) genera la secuencia [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,
6, 7].
El comando range(2,11,2) genera la secuencia [2, 4, 6, 8, 10].
El comando range(11,20,2) genera la secuencia [11, 13, 15, 17, 19].
El comando range(5,-1,-1) genera la secuencia [5, 4, 3, 2, 1, 0].
El comando range(-2) genera la secuencia [ ]

Los rangos se combinan perfectamente con la instrucción para (for): Se define una variable
que se utilizara para recorrer cada número en el rango. En castellano se podrá pensar como:
“Para cada número i en el rango dado”. Esto se puede observar en los siguientes ejemplos:

Prueba de escritorio

i Mensaje por pantalla


11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19

El rango de números de la función range seria 1.. 19, recordemos que llega hasta un valor
antes que lo que aparece en el segundo parámetro. El ultimo valor de i es 19

Ejecución del Código

43
El código

Prueba de escritorio

i Mensaje por pantalla


-5 -5
-4 -4
-3 -3
-2 -2
-1 -1
0 0
1 1
2 2
3 3
4 4
5 5

El ultimo valor que toma i es 5

La ejecución del código es:

44
El siguiente código

Prueba de escritorio

i Mensaje por pantalla


10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1

Ejecución del código

45
El siguiente código

n s i Mensaje por
pantalla
6 0 1
1 1
2
3 2
3
5 3
4
9 4
5
14 5
6
20 6
La suma es igual a
20

46
Ejecución

Escriba las instrucciones para calcular las siguientes sumatorias

a)
100

∑ 4𝑟
𝑟=1

Prueba de escritorio

sumatoria r termino Mensaje por


pantalla
0 1 4
4 2 8
12 3 12
24 La sumatoria es
igual a 24

47
Ejecución

b)

3
5−𝑖

𝑖2 + 1
𝑖=1

Instrucciones en Python

Aquí se ha utilizado la función round de Python para redondear el valor de la variable


sumatoria a dos cifras decimales.

Prueba de escritorio

sumatoria i numerador denominador termino Mensaje


por
pantalla
0 1 4 2 4/2
2
2 2 3 5 3/5
0.6
2.6 3 2 10 2/10
0.2

48
2.8 La
sumatoria
es igual a
2.8

Ejecución

Ejercicios Resuelvos

Desarrollar un programa Python que pregunte al usuario el número de estudiantes de un


curso, luego pregunte el nombre de cada uno de ellos. Finalmente, se debe mostrar un
listado con todos los estudiantes

Análisis

Entradas
Nombre Descripción Tipo
Cantidad: Cantidad de estudiantes Entero
Proceso
Desde 1 hasta la cantidad de estudiantes, se pide al usuario que
ingrese el nombre del estudiante y cada nombre ingresado se
concatena en una variable tipo texto.
Salida
listadoEstudiantes Listado de todos los Texto
estudiantes

Código Python

49
Prueba de escritorio

Mensaje por cantidad i nombreEstudiante listadoEstudiantes


pantalla
Ingrese ola 3 1
cantidad de
estudiantes
Ingrese el “Carlos” “Carlos”
nombre del
estudiante 1
2
Ingrese el Pedro “Carlos Pedro”
nombre del
estudiante 2
3
Ingrese el “Ana” “Carlos Pedro
nombre del Ana”
estudiante 3
Los estudiantes
son Carlos
Pedro Ana

Factorial de un número
Se desea crear un programa en Python que permita imprimir en pantalla el factorial de un
número el cual es digitado por un usuario.
El factorial de un número n es la multiplicación de todos los números de la serie 1 a n, por
ejemplo el factorial de 5 es 1 x 2 x 3 x 4 x 5 = 120, el factorial de 3 es 1 x 2 x 3 = 6.

Análisis

Entradas
Identificador Descripción Tipo
n Número al que se le va a Entero
calcular el factorial
Proceso
Se realiza el acumulado de las multiplicaciones de los números
desde 1 hasta n.
Salida
factorial Listado de todos los entero
estudiantes

50
Código Python

Prueba de escritorio

Programa principal

Mensaje por n
pantalla
Ingrese un 4
número

El factorial de 4
es factorial(4)

El factorial de 4
es 4

Factorial(4)
n factorial i
4 1 1
1 2
2 3
6 4
24

Ejecución

51
Ciclos Anidados

52

También podría gustarte