0% encontró este documento útil (0 votos)
20 vistas17 páginas

AyP Avanzada

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 17

 

Algoritmos y programación avanzada


Docente: Manuel Cartes Henríquez

Fecha actualización: 5 junio 2023

Algoritmos y programación avanzada


Recordando Python
La función de salida en Python
Variables
Tipos de datos para las variables
Ejemplo de variables
Concatenar
Entrada de datos
Ejercicio
Ejercicio
Ejercicio
Condición IF
Ejercicio
Ejercicio
Ejercicio
Ciclo while
Ejemplo
Ejercicio
Ejercicio
Ejercicio
Ejercicio
Ejercicio
Ciclo For
Ejercicio
Listas
Añadiendo un elemento a la lista
Eliminando un elemento de la lista
Ciclo for recorriendo listas
Contando todos los elementos mayores a 5 en una lista
Programación orientada a objetos
Ejemplo clase Vehiculo
Ejemplo clase calculadora
 

Recordando Python
La función de salida en Python

Para mostrar datos a través de la pantalla utilizamos el comando print()

Ejemplo

1 print("Hola!")

Variables

Palabra o frases (sin espacios) que permiten guardar datos en su interior.

Tipos de datos para las variables

Variables tipo Int que guardan numeros enteros. Ejemplo : 5, 9, 10, etc.

Variables tipo float que guardan numeros decimales: Ejemplo: 5.3 , 3.9, 4.1, etc

Variables tipo string que guardan letras, palabras o frases.

Ejemplo de variables

1 nombre = "manu" #Variable tipo string


2
3 edad = 25 #Variable tipo int
4
5 peso = 70.1 #Variable tipo float
6
7 print(nombre)
8 print(edad)
9 print(peso)

 
Concatenar
Unir variables con texto o viceversa.

El operador es la "coma".

1 nombre = "manu" #Variable tipo string


2
3 edad = 25 #Variable tipo int
4
5 mi_peso = 70.1 #Variable tipo float
6
7 print("Mi nombre es", nombre, "y tengo", edad, "años")
8 print("Mi edad es", edad, "años")
9 print("Mi peso es de",peso, "[kg]")

Entrada de datos
Para que el usuario ingrese valores dentro de las variables, se utiliza el comando input() .

IMPORTANTE

La función input() procesa todos los datos como si fueran TEXTO.

Si queremos trabajar con numeros debemos realizar casting.

int() = Convierte a numeros enteros.

float() = Convierte a numeros decimales.

Ejemplos
1 num1 = 0
2 num2 = 0
3 suma = 0
4
5 num1 = float(input("Ingrese numero 1:"))
6
7 num2 = float(input("Ingrese numero 2:"))
8
9 suma = num1 + num2
10
11 print("La suma es", suma)

Actividad : Saca las funciones float del código y revisa lo que sucede.

Ejercicio
Crear algoritmo que permita calcular la potencia disipada en una resistencia , si el voltaje que
cae en el dispositivo es de .

Ingrese resistencia: 15

Ingrese voltaje: 100

La potencia es de ___ W

Solución

1 voltaje = 0
2 resistencia = 0
3 potencia = 0
4
5 voltaje = float(input("Ingrese voltaje:"))
6 resistencia = float(input("Ingrese resistencia:"))
7
8 potencia = (voltaje * voltaje) / resistencia
9
10 print("La potencia disipada en la resistencia es de", potencia, "W")
Ejercicio
Crear un algoritmo que solicite el diametro de un círculo y calcule su área.

Ingrese diametro: 10

El área del circulo es 78.54

Solución

1 diametro = 0
2 area = 0
3 radio = 0
4
5 #Pedimos el valor del diametro
6 diametro = float(input("Ingrese diametro:"))
7 #Calculamos el radio dividiendo al diametro entre 2
8 radio = diametro / 2
9 #Calculamos el area
10 area = 3.14159 * (radio * radio)
11 #Mostramos el valor calculado
12 print("El area es", area)

Ejercicio
Crear algoritmo que calcule la presión ejercida sobre una determinada área.

P: Presión

F: Fuerza

A: Área ²

Ingrese fuerza en Newtons: 30

Ingrese area en metros^ 2: 8

La presion es de ___ [Pa]

Solución
1 fuerza = 0
2 presion = 0
3 area = 0
4
5 fuerza = float(input("Ingrese fuerza en [N]:"))
6 area = float(input("Ingrese area en [m^2]:"))
7
8 presion = fuerza / area
9
10 print("La presion es de", presion, "[Pa]")

Condición IF
Permite tomar una decisión.

Sintaxis

1 if comparacion:
2  #CODIGO 1
3 else:
4  #CODIGO 2

Comparaciones

Comparacion Simbolo

Igual a ==

Mayor que >

Mayor o igual que >=

Menor que <

Menor o igual que <=

Distinto !=

Ejemplo
1 edad = 0
2
3 edad = int(input("Ingrese su edad:"))
4
5 if edad >= 18:
6    print("Mayor de edad")
7 else:
8    print("Menor de edad")

Ejercicio
Crear algoritmo que cuando la temperatura ingresada por el usuario sea mayor a º ,
aparezca un mensaje diciendo AC activado, de lo contrario AC desactivado.

Ingrese temperatura: 23

AC activado

Solución

1 temp = 0
2 temp = float(input("Ingrese temperatura:"))
3
4 if temp > 20:
5  print("AC activado.")
6 else:
7  print("AC desactivado.")

Ejercicio
Crear algoritmo que solicite dos numero e indique cual de los dos es el mayor.

Ingrese primer numero 1: 5

Ingrese segundo numero 2: 7

El segundo numero es mayor.


Ejercicio
Crear algoritmo que solicite notas finales de estudiantes.

SI la nota es 7.0 -> Aprobado con excelencia

SI la nota es 4.0 -> Aprobado

SI la nota es 5.0 -> Aprobado con distinción

Solución

1 nota = 0
2
3 nota = float(input("Ingrese nota:"))
4
5 if nota == 7:
6    print("Aprobado con excelencia")
7 elif nota == 5:
8    print("Aprobado con distincion")
9 elif nota == 4:
10    print("Aprobado")

Ciclo while
Permite repetir código mientras se cumpla una condición.

Sintaxis

1 while CONDICION:
2  #CODIGO QUE QUEREMOS REPETIR

Ejemplo

1 repetir = 1
2
3 while repetir == 1:
4    print("Hola")
5    repetir = int(input("Ingrese nuevo valor:"))
Ejercicio

Crear algoritmo que cuente desde 0 hasta numero ingresado por el usuario.

Limite: 5

Solución

1 cnt = 0
2 superior = int(input("Limite:"))
3
4 while cnt <= superior:
5    print(cnt)
6    cnt = cnt + 1

Ejercicio

Crear algoritmo que muestre la tabla de multiplicar de un numero ingresado por el usuario:

Ingrese numero: 2

2x1=2

2x2=4

2x 3 = 6

2x4= 8

2 x 10 = 20
Solución

1 num = 0
2 cnt = 1
3
4 num = int(input("Ingrese numero:"))
5
6 while cnt <=10:
7    print(num,"x",cnt, "=", num*cnt)
8    cnt = cnt + 1

Ejercicio
Crear algoritmo que solicite repetidamente que se ingrese un valor hasta que el usuario ingresa
el 0, en ese momento el programa terminará.

Ingrese valor: 5

Ingrese valor: 8

Ingrese valor: 10

Ingrese valor: 3

Ingrese valor: 0

Programa finalizado

Ejercicio
Crear algoritmo ,que solicite numeros hasta que se ingrese el 0. Cuando el programa finalice se
mostrara la suma de todos los valores ingresados.

Ingrese numero: 3

Ingrese numero: 2

Ingrese numero: 5

Ingrese numero: 0

La suma es 10

Solución
1 suma = 0
2 num = 1
3
4 while num != 0:
5    num = int(input("Ingrese valor:"))
6    suma = suma + num
7
8 print("La suma es",suma)

Ejercicio
Crear algoritmo que calcule y muestre el factorial de un numero.

Ingrese numero: 3

3! = 6

Ciclo For
Permite generar numeros dentro de un rango y ademas recorrer listas.

Sintaxis ciclo for dentro de rango

1 for z in range(7):
2  #AQUI VA CODIGO

Ejemplos range()

range(8) : La variable tomará valores entre 0 y 7.

range(2,8) : La variable tomará valores entre 2 y 7.

range(2,8,2) : La variable tomará valores entre 2 y 7, con incrementos de 2 en 2.

Ejercicio

Crear algoritmo que solicite al usuario un minimo y un máximo, para en seguida mostrar todos
los numeros entre esos límites.

Ingrese minimo: 5

Ingrese maximo: 9
5

Solución

1 min = 0
2 max = 0
3
4 min = int(input("Ingrese minimo:"))
5 max = int(input("Ingrese maximo:"))
6 max += 1
7
8 for i in range(min, max):
9    print(i)

Listas
Son variables que pueden almacenar muchos valores, tales como:

Numeros enteros

Numeros décimales

Texto

Sintáxis

1 mi_lista = [10,8, "hola", 2.5, 20]

Para mostrar un elemento en especifico de la lista debemos hacerlo a través de su índice.

Elemento 10 8 "hola" 2.5 20

Índice 0 1 2 3 4

Así, si queremos trabajar con la palabra hola podemos acceder a esa posición en el índice 2.
Añadiendo un elemento a la lista

1 mi_lista = [10,8, "hola", 2.5, 20]


2
3 print(mi_lista)
4
5 mi_lista.append(100)
6
7 print(mi_lista)

Eliminando un elemento de la lista

Método remove: Elimina el valor indicado

1 mi_lista = [10,8, "hola", 2.5, 20]


2
3 print(mi_lista)
4
5 mi_lista.remove("hola")
6
7 print(mi_lista)

Método pop: Elimina un valor en el índice indicado

1 mi_lista = [10,8, "hola", 2.5, 20]


2
3 print(mi_lista)
4
5 mi_lista.pop(2)
6
7 print(mi_lista)

Ordenando valores de las listas


1 mi_lista = [10,8, 2.5, 20]
2
3 print(mi_lista)
4
5 #Se ordena de mayor a menor
6 mi_lista.sort(reverse = True)
7 print(mi_lista)
8
9 #Se ordena de menor a mayor
10 mi_lista.sort()
11 print(mi_lista)

Ciclo for recorriendo listas

1 mi_lista = [10,8, 2.5, 20,2 ,80, 1, 0 ,8, 9]


2
3 for x in mi_lista:
4    print(x)

Contando todos los elementos mayores a 5 en una lista

1 mi_lista = [10,8, 2.5, 20,2 ,80, 1, 0 ,8, 9]


2
3 cuenta = 0
4 for x in mi_lista:
5    if x > 5:
6        cuenta += 1
7
8 print("Existen",cuenta, "elementos mayores que 5.")

Programación orientada a objetos


Paradigma de programación que sirve para llevar objetos tangibles a una abstraccion en código.

En programación existen "plantillas" o "moldes" que debemos programar para generar objetos.
Estas plantillas reciben el nombre de Clases .

¿Como creamos una clase?


1 class Personaje:
2
3    def __init__(self, nombre, life, force):
4        self.nombre_personaje = nombre
5        self.vida = life
6        self.fuerza = force
7
8    def correr(self):
9        print(self.nombre_personaje, "está corriendo.")
10
11    def atacar(self):
12        print("El personaje está atacando")
13
14    def saltar(self):
15        print("El personaje saltó.")

Aqui estamos creando una plantilla (clase) que crea personajes a partir de la clase Personaje .

El metodo def __init__(self, nombre, life, force): inicializa los objetos con 3
argumentos, nombre, life y force.

Creando personajes

1 miNombre = input("Ingrese nombre:")


2 personaje1 = Personaje(miNombre,20, 300)
3 personaje2 = Personaje("Link",25,100)
4
5 personaje1.correr()
6 personaje2.correr()

 
Ejemplo clase Vehiculo

1 class Vehiculo:
2    def __init__(self, _cilindrada, _ruedas,_modelo,_color, _matricula):
3        self.cilindrada = _cilindrada
4        self.ruedas = _ruedas
5        self.modelo = _modelo
6        self.color = _color
7        self.matricula = _matricula
8
9    def acelerar(self):
10        print("El vehiculo", self.modelo, "está acelerando.")
11
12    def frenar(self):
13        print("El vehiculo", self.modelo, "está frenando.")
14
15    def cambiodemarcha(self,cambio):
16        print("El vehiculo", self.modelo,"pasará a marcha", cambio)
17
18 #------------------------------------------------
19
20 auto1 = Vehiculo(1500,4,"Ford Fiesta","Blanco","BXJT89")
21
22
23 auto1.cambiodemarcha(5)

Ejemplo clase calculadora

1 class Calculadora:
2    def __init__(self):
3        self.version = 1.0
4
5    def sumar(self, a, b):
6        suma = 0
7        suma = a + b
8        return suma
9
10    def factorial(self, num):
11        fact = 1
12        for i in range(1, num + 1):
13            fact = fact * i
14
15        return fact
16
17    def sumatoria(self,num):
18        suma = 0
19        for i in range(num+1):
20            suma += i
21
22        return suma
23
24
25 #--------------
26 miCalculadora = Calculadora()
27
28 valor = int(input("Ingrese numero:"))
29
30 resultado = miCalculadora.factorial(valor)
31 print("El resultado del factorial es", resultado)
32
33 resultado2 = miCalculadora.sumatoria(resultado)
34 print("El resultado es", resultado2)

También podría gustarte