ALGORITMO Y ESTRUCTURA DE DATOS
PYTHON
IDENTIFICADORES
ENTRADA Y SALIDA DE DATOS
ESTRUCTURA SECUENCIAL
LAB. ESRUCTURA DE CONTROL - SECUENCIAL
PYTHON
El lenguaje Python fue diseñado e implementado en el año 1998 por el holandés
Guido van Rossum, el Python es una extensión de ABC, diseñado a principios de los
años 80 por los holandeses Leo Geurts y Lambert Meertens, como lenguaje que
sustituyera al BASIC.
El lenguaje Python, es un lenguaje de propósito general, puede programarse desde un
sistema operativo y un compilador hasta aplicaciones de base de datos, procesadores
de texto, hoja de cálculo, juego, aplicaciones a medida, etc.
PYTHON
Un programa es una secuencia de instrucciones dadas a la computadora, que realiza
una tarea concreta, el programa contiene importar módulos, sentencias y comentarios.
Una instrucción es una orden que se da al computador para realizar una acción
determinada, esta puede ser declarar una variable, inicializarla, mostrar un mensaje en
la pantalla, llamar a una función, etc. Algunos ejemplos de instrucciones:
i=1
print ("Mi primer programa en Python")
suma = nro1 + nro2
El Python no utiliza definición de variables
COMENTARIOS
Los comentarios son mensajes que se usa como ayuda para documentar un programa,
un comentario es una instrucción no ejecutable
Los comentarios son precedidos por el símbolo almohadilla (# ) cuando se pretende
comentar una sola línea, o utilizando tres comillas dobles de apertura y cierre (" " " ….
" " ") para comentar varias líneas de código. Por ejemplo:
# comentario de una sola línea
"""
Comentario en Python con
múltiples líneas
"""
PALABRAS RESERVADAS
Es un conjunto de palabras claves, que son de uso exclusivo del lenguaje Python.
Muchas de ellas forman parte de las instrucciones de Python, por lo cual no deben ser
utilizados como identificadores.
VARIABLES
Las variables nos permitirán almacenar datos en nuestro programa de manera temporal, de tipo
texto, entero, real , booleano.
por ejemplo podemos guardar una variable de tipo numérico, por ejemplo:
Lo que hacemos es guardar un valor entero de 15 dentro de
x=15 x (x=15)
y=True
Lo que hacemos es guardar un valor booleano de true dentro
mensa=“Hola me llamo Juan” de y (y=True) , guardamos una cadena de valor Hola me
z=15.18 llamo Juan dentro de mensa y guardamos un valor real de
print (x) 15.18 dentro de z, luego hacemos las impresiones
respectivas.
print (y) Las variables no se declaran en python
print(mensa)
print(z)
REGLAS PARA DEFINIR UNA VARIABLE
• Un nombre de una variable tiene que empezar con una letra o un carácter de
subrayado (guion bajo), seguido de cualquier número de letras, números y
caracteres de subrayado.
• No puede empezar con un número
• El nombre de variables es sensible a mayúsculas y minúsculas.
NOMENCLATURAS PARA EL USO DE VARIABLES
Es un conjunto de normas (un estándar de nomenclatura) para un lenguaje de
programación que se recomienda usar como buenas practicas para facilitar la lectura
del código y este sea fácilmente mas entendible. Se aconseja elegir nombres de
identificadores que describan la información que ellos representen. Esto facilita la
lectura, comprensión y escritura del programa. No es conveniente utilizar nombres
cortos ni excesivamente largos.
1) Notación camello: el nombre proviene porque se asemeja a las dos jorobas de un
camello y se divide en dos tipos:
Upper Camel case: cuando la primera letra de cada una de las palabras es
mayúscula. Ejemplo: HaberBasico, SueldoTrabajador
Lower Camel Case: igual que el anterior con la excepción que la primera letra es
minúscula: haberBasico, sueldoTrabajador
En el curso usaremos Lower Camel Case
NOMENCLATURAS PARA EL USO DE VARIABLES
2.- Snake Case: Cuando cada una de las palabras se separa por un guion
bajo(_). Es común en los nombres de variables y funciones como lenguaje C,
aunque también Ruby y Python lo han adoptado. Ejemplos:
haber_basico, sueldo_trabajador, etc.
REGLAS PARA DEFINIR UNA
VARIABLE
Los identificadores
son nombres usados para identificar
Variables
Constantes
Métodos
Clases
etc
REGLAS PARA DEFINIR UNA VARIABLE
Identificador Validez Explicación
calculo1 √ Contiene un número.
2edad x Comienza con un número.
salario Bruto x Tiene un espacio en blanco
intermedio.
nroFlotante √ Utiliza la notación camello
sueldo_trabajador √ Puede incluir el símbolo de
subrayado.
Tabla 1. Identificadores válidos (√) y no válidos(x)
REGLAS PARA DEFINIR UNA VARIABLE
Por último mencionaremos que no es posible utilizar como identificador ninguna de las palabras
reservadas de Java.
VARIABLES
Para asignar el mismo valor a varias variables al mismo tiempo:
x=y=z=0
Para asignar valor múltiples a variables
a=15 Se puede hacer lo mismo realizando asignaciones
b=5.9 múltiples en una sola línea
a, b, c=15,5.9, " Mensaje"
c="Mensaje“
a,b,c=15,5.9, "mensaje"
Las asignaciones son de acuerdo al mismo orden que fueron asignadas, es decir a se corresponde con 15, b se
corresponde con 5.9 y c se corresponde con “Mensaje”
Vamos a utilizar la instrucción print para mostrar los valores que tiene:
código fuente: Salida del programa
a,b,c=15,5.9, "mensaje" 5 5.9 mensaje
print(a,b, "mensaje")
TIPO DE DATOS
En programación un tipo de datos, es un atributo de los datos que indica a la computadora y al programador,
sobre la clase de datos que se va a manejar.
En Python existen los siguientes tipos de datos:
Enteros y largos
Flotantes
Números complejos
Cadenas
booleanos
Enteros y largos: son aquellos que no tienen decimales, tanto positivos como negativos . En
Python se puede representar mediante el tipo (entero) o el tipo long (largo).
Flotantes o reales: son aquellos que contienen decimales, se representan mediante el tipo float.
Números complejos: son aquellos que tiene una parte real y una parte imaginaria. La mayor
parte de los lenguajes de programación carecen de este tipo.
En Python se expresa mediante el tipo complex.
TIPO DE DATOS
Las cadenas también conocidas como strings, es un texto encerrado entre comillas simples
(‘cadena’) o dobles (“cadena”).
También es posible encerrar una cadena entre comillas triples (simples o dobles).
De esta forma podemos escribir el texto en varias líneas, e imprimir la cadena, se respetan los
saltos de línea que introdujimos sin tener que recurrir al carácter \n (carácter salto de línea).
Booleano: sólo puede tener dos valores: True (verdadero) y False (falso). Estos valores son
importantes para las expresiones condicionales y los bucles.
En Python se expresa mediante el tipo bool.
TIPO DE DATOS
Complejos: complex
Los números complejos son aquellos que tienen una parte real y una parte imaginaria, y cada uno se
representa por un float. Los numero complejos en Python son de tipo complex
z =(Parte real) + (Parte imaginaria j)
z=4+5j
a=z.real
b=z.imag
type(z) Al ejecutar
print("Parte real: ",a) Parte real: 4.0
print("Parte imaginaria: ",b) Parte imaginaria: 5.
TIPO DE DATOS
Cuando queremos imprimir variables de diferente tipo en la misma línea podemos utilizar:
La coma (,) para imprimir variables de distinto tipo. La coma va a separar un espacio en blanco entre las
variables de forma automática.
nro=15
print(nro, type(nro)) Al ejecutar
15 <class 'int'>
TIPO DE DATOS
Python es un lenguaje de programación de tipado dinamico, es decir cuando creamos o nosotros
declaramos una nueva variable, no es necesario indicarle cual es el tipo de dato al cual va
permanecer, únicamente tenemos que colocar el valor que queremos guardar dentro de una
variable y de manera automática Python gracias al tipado dinamico podrá determinar durante el
tiempo de ejecución que tipo de dato es, sin embargo es importante que aprendamos a manejar
los tipos de datos, es decir que tipo de dato tiene una variable.
VARIABLES
Para saber de qué tipo es una variable, usamos type
type (nombre de la variable)
CONVERSION DE TIPOS
Para transformar el tipo de dato de una variable en otra diferente, es necesario colocar entre
paréntesis el nuevo tipo que se desea convertir, de la siguiente forma:
tipo de dato (expresión)
Por ejemplo:
hora=15.25
int (hora)
El valor obtenido será:
hora=15
Por ejemplo:
a=9
float(a)
El valor obtenido será:
Out: 9.0
CONCATENAR CADENAS
Para concatenar cadenas utilizaremos el símbolo +. Al unir (concatenar) no deja espacio entre las
palabras, tenemos que agregarle un espacio en blanco para poder separar las palabras.
Código fuente:
nombre="Juan" Al ejecutar:
apellido="Rodríguez" JuanRodríguez
print(nombre+apellido)
Agregando un espacio en blanco obtenemos:
Código fuente:
nombre="Juan" Al ejecutar:
apellido="Rodríguez" Juan Rodríguez
print(nombre+" "+apellido)
CARACTERES DE ESCAPE AL UTILIZAR CADENAS
Los caracteres de escape que son utilizados al momento de desplegar mensajes en la
salida estándar.
Secuencia de Descripción
escape
\’ Inserta una comilla simple
\” Inserta una comilla doble
\\ Inserta una barra invertida
\r Inserta un retorno del carro
\n Inserta una nueva línea(o salto de línea)
\f Se mueve a la siguiente pagina, se usa en impresora,
no en consola
\t Inserta un tabulador
\b Inserta un retroceso (backspace)
EXPRESIÓN
Es una combinación de operadores, operandos, funciones especiales, paréntesis, entre otros, que se forman
para representar las operaciones aritméticas, relacionales y lógicas que se utilizara en un programa.
Ejemplo:
x + 5 - ( y * 9)
Operandos y Operadores
Los operandos se refieren a las variables, constantes, llamadas a métodos sobre los cuales
actúan los operadores.
Los operadores son los símbolos que se utilizan para representar una operación determinada
que se va a realizar en un programa.
Los operadores se clasifican:
• Aritméticos
• Relaciónales
• Lógicos
EXPRESIÓN ARITMÉTICA
Operadores Aritméticos y expresión aritmética
Operadores aritméticos
Permite la realización de operaciones matemáticas con los valores de las variables y constantes. Se representa por los símbolos
de: +, -, *, /, %, los cuales se usan para efectuar operaciones de suma, resta, multiplicación, división y residuo de una división
respectivamente.
Expresión aritmética
Es una combinación de operadores aritméticos y operandos numéricos que producen un resultado numérico.
Operador Significado Expresión Aritmética Resultado
Aritmético (a=8, b=3)
+ Suma a+b 11
- Resta a-b 5
* Multiplicación a*b 24
/ División real a/b 2.5
// División entera a//b 2
% Resto de una división a%b 2
** exponenciación a**b 512
EXPRESIÓN ARITMÉTICA
Código fuente Resultado
a, b=8,3 # asignaciones múltiples
print ("La suma es =",a+b) La suma es = 11
La resta es = 5
print ("La resta es =",a-b)
La multiplicacion es = 24
print ("La multiplicacion es =",a*b) La division real es = 2.6666666666666665
print ("La division real es =",a/b) La division entera es = 2
print ("La division entera es =",a//b) El residuo es = 2
print ("El residuo es =",a % b) La exponenciacion es = 2
print ("La exponenciacion es =",a%b)
Cuando en una operación aritmética los operandos son de tipos diferentes, ambos son convertidos al tipo de
operando de precisión más alta. Por ejemplo:
x, y= 2,3.5
suma = x + y
print(suma)
El valor obtenido al ejecutar el programa:
suma = 5.5
EXPRESIÓN ARITMÉTICA
Los operadores +, -, *, / son obvios como operan, pero el operador % necesita una explicación adicional. El
operador % devuelve el resto de una operación de división, los dos operandos deben de ser enteros.
Por ejemplo:
x, y= 13,4
p = x % 13
q = y % 13
print(p)
print(q)
Los valores obtenidos:
p=0
q=4
JERARQUÍA DE OPERADORES
La jerarquía de los operadores determina el orden en el que se resuelven las expresiones cuando se
involucran operaciones aritméticas como la suma, resta, multiplicación, división , potencia, módulo de la
división.
Jerarquía Operador Comentario
1 () Se ejecuta primero
2 ** Después del ()
3 *,/ Después de los dos anteriores
4 +,- Después de los tres anteriores
5 %,// Después de todos los anteriores
OPERADORES DE ASIGNACIÓN
Operador de asignación
Se representa por el símbolo =. Se utiliza para:
• Asignar un valor
• Asignar el resultado de una expresión
• Asignar una variable a otra variable
• Efectuar asignaciones múltiples.
Ejemplos:
i=4 # asigna el valor constante 4 a la variable i.
k=a+b # asigna la suma de a+b a la variable k.
b=c # asigna el valor de la variable c a la variable b.
x = y = z = 10 # asigna 10 a las variables x, y, z.
OPERADORES DE ASIGNACIÓN
Se tiene que tener en cuenta que debe existir compatibilidad con el tipo de datos entre ambos operandos ya que en caso
contrario ocurrirá un error de compilación.
La expresión aritmética x= x op y
Es lógicamente equivalente: x op=y
Donde:
op es el operador (+,-,*,/, //, *)
Por ejemplo:
La expresión aritmética x = x + 3, se puede reescribir de la siguiente manera x+=3. Esta expresión tiene la ventaja de generar
menos instrucción de máquina.
En la siguiente tabla se muestra las equivalencias de las asignaciones de expresiones aritméticas.
Expresión
Operador Equivalencia Efecto
aritmética
+ i = i+3 i += 3 Suma y asigna
- f =f–1 f -=1 Resta y asigna
* x=x*9 x*= 9 Multiplica y asigna
/ x=x / 4 x /= 4 Divide y asigna
% x=x %2 x %=2 Toma el resto y
asigna
PROGRAMA DE VARIOS TIPO DE DATOS
a, b =5,8
a +=3
b /=4
print(a)
print(b)
El Python no tiene el operador condicional (?:)
Los valores obtenidos:
8
2.0
EXPRESIÓN
RELACIONAL
Operadores relacionales y expresión relacional
• Operadores relacionales
Se representa por los símbolos de >, >=, <, >=, = =, != los cuales se utilizan para comparar valores que
determinan su igualdad o ordenación entre dos operandos
• Expresión relacional
Es una combinación de operadores y operandos relacionales que producen un resultado booleano.
EXPRESIÓN RELACIONAL
Codigo fuente:
expresion= "Roberto"=="roberto"
Al ejecutar obtenemos:
print(expresion) False
Sale falso porque la r esta escrito uno con mayúscula y el otro con minúscula.
Codigo fuente:
Al ejecutar obtenemos:
expresion= “roberto"=="roberto"
print(expresion)
True
EXPRESIÓN LÓGICA
Operadores lógicos o booleanos y expresión lógica
• Operadores lógicos
Los operadores lógicos conjunción, disyunción y negación se representa por los operadores and, or y not. Se
utiliza para hacer operaciones de tipo lógico.
Así se observa en la tabla que el resultado de una operación lógica and será cierto solo si los dos operandos
son ciertos, mientras que el resultado de una operación lógica or será cierto si alguno de los dos operandos
es cierto o ambos a la vez, el operador lógico not niega el operando, obteniéndose True si el operando es
falso.
EXPRESIÓN LÓGICA
• Expresión lógica
Una expresión lógica es una combinación de variables y/o constantes unidas mediante operadores lógicos y
operadores relacionales, que producen un resultado booleano. Las expresiones lógicas son ampliamente
utilizadas en las estructuras selectivas y las estructuras repetitivas.
Por ejemplo, si tenemos: a = 1, b = 2, c = 3, d = 3 se obtendrá los siguientes valores
Por ejemplo:
a, b, c, d = 1,2,3,3
Los valores obtenidos:
p = (a<b) and (b<c) True
q = (a>b) or (b==c) False
EXPRESIÓN LÓGICA
Operador Lógico.-
Se utiliza para evaluar mas de una condición al mismo tiempo y para establecer
relaciones entre valores lógicos.
Los operadores lógicos son: and, or, not
and / y or/ o not / no
La expresión es verdadera La expresión es verdadera Cambia el estado lógico de la
cuando ambos operandos son cuando al menos uno de sus expresión . Si es verdadero lo
verdaderos operando es verdadero transforma en falso, y si es falso
en verdadero
OPERADORES LÓGICOS
Se usa para almacenar variables que presenten dos estados, que serán representados
por los valores true y false
Operador lógico Python
conjunción and
Disyunción or
negación not o !
PRECEDENCIA DE OPERADORES
Precedencia de operadores
Precedencia de operadores es la prioridad que tiene un operador de ser usado antes que otro cuando es
evaluada una sentencia en un programa por el compilador.
Por ejemplo: 2 + 3 * 10
El operador de multiplicación tiene mayor prioridad que la suma, por lo cual el compilador evaluará primero
la multiplicación 3 * 10 y a continuación la suma obteniendo como resultado 32.
Los operadores con la misma prioridad se evalúan de izquierda a derecha.
Por ejemplo: 2 * 3 – 8 / 4
El operador de multiplicación tiene igual prioridad que la división, por lo cual el compilador evaluará primero
la multiplicación 2 * 3, y a continuación la división obteniéndose 6 – 2 dando como resultado 4. El orden de
prioridad de los operadores se muestra en la siguiente tabla de la más alta hasta la más baja.
PRIORIDAD DE LOS OPERADORES
Paréntesis, se ejecuta primero
Exponenciación
Productos, divisiones
Sumas y restas
Resto, división entera
Relacionales
Lógicos.
EL USO DE PARÉNTESIS
El uso de paréntesis
Los paréntesis se utilizan para cambiar el orden de precedencia, ya que las operaciones encerradas entre paréntesis se evalúan
primero.
Por ejemplo:
x=a+b/2
x = (a + b) / 2
En la primera expresión, debido a la prioridad en primer lugar se divide b entre 2, y después se suma el valor de a, esta
expresión es distinta cuando se utilizan paréntesis, primero se suma (a + b) y luego se divide entre dos.
Cuando en una expresión contiene subexpresiones que se encuentran anidadas por paréntesis, primero se evalúan las
subexpresiones anidadas en el nivel más interno luego el siguiente nivel más interno y así sucesivamente.
Por ejemplo:
8 + (6 – (8 – 3) + 2)
Primero efectuamos el paréntesis más interno (8 – 3) obteniendo 5 como resultado, reemplazamos obtenemos 8 + (6 – 5 + 2)
Efectuamos el paréntesis ya que tiene mayor prioridad que la suma obteniendo 3, reemplazando tenemos 8 + (3), luego
efectuamos la suma obteniendo como resultado 11.
SE
ACABO!!!!!