Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTELIGENCIA ARTIFICIAL
PYTHON
1
Que es programar
• Herramientas para manipular datos de forma automática
• Datos = información que se puede presentar de muchas formas
• Números, símbolos, textos, imágenes, videos
• Todo lo que se puede percibir es información.
• La información es almacenable en medios digitales, con la
programación se puede manipular el acceso de dicha información.
• Que se puede hacer:
• Búsqueda de información en registros, complejas operaciones matemáticas,
• Creación de formularios y guardar las respuestas, dibujar gráficos en función a
los datos.
• Dotar de vida a los personajes de un videojuego.
• Sin datos la programación no tiene sentido.
2
Modelo para programar eficientemente
Dependiendo de la
dificultad se
Elabora los construyen
procedimientos Felicidad
programas para Completa:
Estudia el necesarios para definir el ingreso y
cumplir con el tu programa
problema de organización de los
análisis resuelve un
forma detallada datos. problema.
Conocerlo y
entenderlo
Después de la instrumentación
vienen las continuas pruebas o
feedback para ajustar el
programa al diseño y al análisis
previo.
3
Que es un algoritmo
4
Simbología a tener en cuenta
• Instrucción de asignación
• Asigna dentro del bloque el valor de r a la variable v V <- R
• Instrucción de entrada
• Asigna un valor desde afuera del bloque para la variable v V
• Instrucción de salida
• Muestra fuera del bloque el valor que contiene la variable v V
5
Ejercicio1:
• Realice el programa que calcule el área de un triangulo cuyos
lados son: 5,6 y 8
• Algoritmo : Área del triangulo en función a sus lados
• Variables:
• Lados : a,b,c
• s= área del triangulo
• t= semiperimetro
• s= 𝑡 𝑡 − 𝑎 𝑡 − 𝑏 𝑡 − 𝑐 𝑓𝑜𝑟𝑚𝑢𝑙𝑎 𝑑𝑒𝑙 𝑎𝑟𝑒𝑎 𝑑𝑒𝑙 𝑡𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑜
• Siendo t= (a+b+c)/2
6
Solucion ejercicio1
• #Repaso_python
• from math import *
• a=5; b=6; c=8;
• t=(a+b+c)/2
• s= sqrt(t*(t-a)*(t-b)*(t-c))
• print("el resultado es: ", s)
• print("el resultado es:{:^12,.2f}".format(s))
7
Ejercicio2: el área del cuadrado es 40 𝑚2 , encuentre el valor de la
diagonal.
• Algoritmo
• Lado del cuadrado =a ; diagonal del cuadrado es d
• Por Pitágoras decimos: 𝑑2 = 𝑎2 + 𝑎2 -> d =a 2
8
Ejercicio3
• Escribe un programa que pregunte al usuario por el número de horas
trabajadas y el coste por hora. Después debe mostrar por pantalla la paga
que le corresponde.
9
Ejercicio4
• Escribir un programa que pregunte el nombre del usuario en la consola y un
número entero e imprima por pantalla en líneas distintas el nombre del
usuario tantas veces como el número introducido.
• #nombre se repite segun segunda variable
• nombre = input("¿Cómo te llamas? ")
• n = input("Introduce un número entero: ")
• print((nombre + "\n") * int(n))
10
Ejercicio5
• Escribir un programa que pida al usuario su peso (en kg) y estatura (en
metros), calcule el índice de masa corporal y lo almacene en una variable, e
imprima por pantalla la frase Tu índice de masa corporal es <imc> donde
<imc> es el índice de masa corporal calculado redondeado con dos
decimales.
• #calculo del indice de masa corporal
• peso = input("¿Cuál es tu peso en kg? ")
• talla = input("¿Cuál es tu estatura en metros?")
• imc = round(float(peso)/float(talla)**2,2)
• print("Tu índice de masa corporal es " + str(imc))
11
ejercicio6
• Una juguetería tiene mucho éxito en dos de sus productos:
payasos y muñecas. Suele hacer venta por correo y la empresa
de logística les cobra por peso de cada paquete así que deben
calcular el peso de los payasos y muñecas que saldrán en cada
paquete a demanda. Cada payaso pesa 112 g y cada muñeca
75 g. Escribir un programa que lea el número de payasos y
muñecas vendidos en el último pedido y calcule el peso total
del paquete que será enviado.
12
Solución
• #ejercicio peso total del paquete
• peso_payaso = 112
• peso_muñeca = 75
• payasos = int(input("Introduce el número de payasos a enviar: "))
• muñecas = int(input("Introduce el número de muñecas a enviar: "))
• peso_total = peso_payaso * payasos + peso_muñeca * muñecas
• print("El peso total del paquete es " + str(peso_total))
13
Ejercicios Propuestos
14
Asignaciones en Python
• Asigna valores a las variables.
• Notación Python a=10 (se asigna valor de 10 a la variable a)
• Asignaciones especiales
• Asignaciones en la misma línea y deben separarse por ;
• Se realizan de izquierda a derecha
• X=3; y=8; z=5.2
• Asignaciones múltiples
• Deben separarse por comas, la asignación se realiza de forma
correspondiente a cada variable, se asigna a cada valor de izquierda a
derecha.
• a,b,c =“saludo”, 5, 7.52
15
Asignaciones en Python – Parte ll
• Asignaciones a varias variables el mismo valor
• a=b=c=10
• Intercambio de contenidos de dos variables
• a=3
• b=5
• a,b= b,a # a contiene a 5 y b contiene a 3
• Notación abreviada para operar y asignar
• a=a+b
• a+=b
• Se aplica a otra operaciones aritmeticas
16
Instrucción para el ingreso de datos en python
• Ingresar un valor a una variable desde el teclado.
• V= input(“Ingrese valor: ”) # instrucción permite pedir que el valor se
lea por teclado.
• Para convertir el texto a valor entero
• v=int(input(‘mensaje’))
• Para convertir el texto a valor decimal
• v=float(input(‘mensaje’))
17
Ejemplos
• Ingresar un dato tipo texto
• s=input('Ingrese su nombre: ')
• Ingrese un dato (número entero) y conviértalo a tipo numérico
entero
• n=int(input('Ingrese la cantidad de hijos: '))
• Ingrese un dato (número entero o real) y conviértalo al tipo
numérico real
• p=float(input('Ingrese su peso en kg.: ‘))
• Si la conversión no se puede dar, el programa emitirá un mensaje de
error de conversión de datos
18
Instrucción para salida de datos en Python
• Se usa para mostrar mensajes o el contenido de los resultados de las variables, para mostrar el
contenido de una variable se debe escribir el nombre de la referida variable.
• Ejemplos:
• print(x)
• print('El resultado es: ', x )
• print('El area es: ', s, ' El volumen es: ', t )
• Si aplicamos un salto de línea(\n) quedaría así:
• print('El area es: ', s, ' \nEl volumen es: ', t )
• Se puede imprimir con ‘’ o “” de la siguiente manera
• print(“en el ejercicio anterior dije ‘Hola Mundo’ y funciono”)
• Print(‘en el ejercicio anterior dije “Hola Mundo” y funciono’)
19
Especificaciones de formato para salida
• Opcionalmente print tiene especificaciones de formato que
mejoran la apariencia de los resultados que se muestran en la
pantalla, las cuales están precedidas con el símbolo %
• Ejemplos
• n=23 Especificaciones de formato: %cd, %c.pf, %cs, %c.pg
En donde c, p son el número de columnas y número de decimales o
• x=7.78925 dígitos respectivamente, mientras que d, f, s, g se refieren en ese orden a
datos de tipo entero(decimal), real(flotante), cadena(string) y en notación
• e='ESPOL' de potencias de 10.
• u=4.5**12
• print('Prueba %5d%8.2f%10s%12.5g'%(n,x,e,u))
• #Prueba 23 7.79 ESPOL 6.8953e+07
20
Datos adicionales acerca del formateo
• Las especificaciones de formato se pueden almacenar con un nombre
• f='Prueba %5d%8.2f%10s%12.5g'
• print(f%(n,x,e,u)) #------
> almacenando la salida e imprimiendo la variable final.
21
Ejercicios diversos
• Desarrolle un programa en Python que calcule el área de un triangulo,
pidiendo sus lados.
• Algoritmo: Área de un triángulo pidiendo sus lados
• Variables
• a, b, c: Lados del triángulo (Datos desconocidos)
• s: Área del triángulo (Es el resultado esperado)
• t: Semiperímetro (Valor usado para la fórmula del área
• s t(t a)(t b)(t c) = − − − , (Fórmula del área del triángulo)
• siendo t = (a + b + c)
22
Solucion1
• from math import sqrt
• a=float(input('Primer lado: '))
• b=float(input ('Segundo lado: '))
• c=float(input ('Tercer lado: '))
• t=(a+b+c)/2
• s=sqrt(t*(t-a)*(t-b)*(t-c))
• print('Respuesta: ',s)
• # mejorar la salida --- menos de 1 minuto
23
propuestos
• 1. Dados el radio y altura de un cilindro calcule el área total y el
volumen
• 2. Se tiene un recipiente cilíndrico con capacidad en litros. Su altura
es un dato en metros. Determine el diámetro de la base
• 3. Dadas las tres dimensiones de un bloque rectangular calcule y
muestre su área total y su volumen.
• 4. La siguiente fórmula proporciona el enésimo término u de una
progresión aritmética: u = a + (n − 1) r
• en donde a es el primer término, n es el la cantidad de términos y r
es la razón entre dos términos consecutivos. Calcular el valor de r
dados u, a, n
• 5. En el ejercicio anterior, calcular el valor de: n dados u, a, r
24
Operadores de aritmética entera
25
ejemplo
• Dado un numero entero de
dos cifras, escriba un
programa en Python para
sumar las cifras. #ejercicio -aritmetica entera
#Suma de dos cifras
• Solución: n=int(input("Ingrese un entero:"))
• Variables: d=n//10
u=n%10
• n: dato entero de dos cifras s=d+u
• d: digito de las decenas print('Respuesta: ',s)
26
La función divmod
• Sean x, y dos números
• Divmod(x,y) entrega el par (x//y, x%y)
• [a,b]=divmod(20,6)
• print(a,b)
27
Propuestos.
1. Dado un número entero (dias), determine y muestre el equivalente en años, meses y
días sobrantes. Por simplicidad suponga que un año tiene 365 días y que cada mes tiene
30 días. Use los operadores // y % para obtener cociente y resíduo.
Ejemplo. 1372 días equivalen a 3 años, 9 meses y 7 días.
3. Lea dos números de tres cifras cada uno. Sume la cifra central del primer número con la
cifra central del segundo número y muestre el resultado.
4. Dado un número entero de tres cifras. Muestre el mismo número pero con las cifras en
orden opuesto.
28
Ejercicios de listas
• Escribir un programa que almacene las asignaturas de un curso (por
ejemplo Matemáticas, Física, Química, Historia y Lengua) en una lista y
la muestre por pantalla.
• #ejercicios de listas
• #cursos que estudio
• cursos = ["Matemáticas", "Física", "Química", "Historia", "Lengua"]
• for curso in cursos:
• print("Yo estudio " + curso)
29
• Escribir un programa que almacene en una lista los números del 1 al
10 y los muestre por pantalla en orden inverso separados por comas.
• #lista invertida
• lista_numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
• for i in range(1, 11):
• print(lista_numeros[-i], end=", ")
30
• Escribir un programa que pregunte al usuario los números ganadores
de la lotería primitiva, los almacene en una lista y los muestre por
pantalla ordenados de menor a mayor.
• #lista de numeros de loteria ganadores ordenados
• lista_ganadores = []
• for i in range(6):
• lista_ganadores.append(int(input("Introduce un número ganador: ")))
• lista_ganadores.sort()
• print("Los números ganadores son " + str(lista_ganadores))
31
• Escribir un programa que almacene las asignaturas de un curso (por
ejemplo Matemáticas, Física, Química, Historia y Lengua) en una lista y
la muestre por pantalla.
• #asignatura de cursos y las notas
• cursos = ["Matemáticas", "Física", "Química", "Historia", "Lengua"]
• notas = []
• for curso in cursos:
• nota = input("¿Qué nota has sacado en: " + curso + "?")
• notas.append(nota)
• for i in range(len(cursos)):
• print("En " + cursos[i] + " has sacado " + notas[i])
32
33