Autor:
Rafael Fuentealba
Competencia:
Aplicar ciencias de la ingeniería (Nivel 1)
Asignatura:
Programación I
Palabras Claves:
Python, IDE, Spyder, Modelos Matemáticos, Programación, Funciones.
Descripción de la Actividad:
Desarrollar algunos ejercicios orientados a la aplicación de algunos modelos matemáticos en la programación y el desarrollo de software. Dichos ejercicios serán solucionados tomando en cuenta las necesidades que requeridas en la vida real, utilizando para ello la creación y uso de programas en python.
Solución:
Problema #1:
Se pide diseñar un programa que sea capaz de calcular la distancia entre dos puntos dados, mediante el uso del teorema del pitágoras. Un ejemplo de esto sería:
Explicación del código:
Línea 1: usamos la codificación "utf-8" que entre otras cosas, acepta el uso de caracteres como la "ñ" o las tildes.
Línea 2: consiste principalmente en la importación de la librería "math" la cual almacena una serie de funciones y módulos matemáticos que nos permitirán calcular la distancia entre ambos puntos; como si fuese hecho en papel.
Línea 3 - 6: se define una función en python que recibe como parámetro cuatro valores y los cuales corresponden a las coordenadas (x,y) de ambos puntos. Luego de haber sido recibidos se les aplica la fórmula matemática para calcular la distancia entre ambos puntos, esto mediante el uso de una función llamada "sqrt" de la librería "math" que nos ayuda a determinar la raíz cuadrada. Y finalmente se muestra por pantalla el valor que nos devuelve la función.
Línea 8 - 14: se pide ingresar los valores coordenados de ambos puntos para posteriormente entregarlos a la función "distancia" que nos determinará la distancia entre ellos.
Problema #2:
Crear un programa que al entregarle un arreglo "b"(cantidad) de enteros, retorne el mayor valor entre los contenidos en este (retornaría un entero), probando además su funcionamiento consultando al usuario los valores por teclado.
Explicación del código:
Línea 1: usamos la codificación "utf-8" que entre otras cosas, acepta el uso de caracteres como la "ñ" o las tildes.
Línea 2: se importa "string" de los módulos de python y que nos servirá para manejar el contenido del arreglo como caracteres.
Línea 3 - 10: se define una función llamada "max" la cual recibe un parámetro que será el arreglo con los valores ingresados por teclado. Esta misma función es la que determinará cuál de todos los elementos de dicho arreglo es el mayor, es decir, el número mayor.
Línea 12 - 20: se comienza por inicializar un arreglo que contendrá los números que se ingresen posteriormente por teclado. Luego se pide al usuario señalar cuantos elementos tendrá este arreglo (su dimensión) y los valores que se almacenarán en él. Seguidamente se traspasan todos estos valores al arreglo "b" para luego entregárselo a la función "max", la cual determinará cuál es la cantidad mayor entre las que fueron ingresadas por el usuario.
Problema #3:
Crear un programa que al entregarle un número entero "n", devuelva una matriz de dimensión "n" por "n" con números enteros ordenados. Probar su funcionamiento preguntando por teclado el parámetro a ingresar. Note que si se ingresa un 0 como valor para "n" debería mostrar un mensaje de error, y si se designa 1 como valor para este mismo dato debería crear una matriz con un solo elemento.
Ejemplo para una matriz de 4 por 4 sería:
Ejemplo para una matriz de 10 por 10 sería:
Explicación del código:
Línea 1: usamos la codificación "utf-8" que entre otras cosas, acepta el uso de caracteres como la "ñ" o las tildes.
Línea 2 - 18: se crea una función de python llamada "matriz" que recibe como parámetro el valor que determinará su dimensión, siendo además la que contiene la parte densa del programa puesto que genera los números ordenados de acuerdo al valor que sea ingresado por el usuario.
Lo primero que se pregunta es si el valor recibido es distinto de 0, puesto que de ser así la matriz no se creará y se mostrará un mensaje de error. En caso de que dicho valor sea 1, se creará la matriz corresponde con un único elemento que será "1". Si no se cumple lo anterior y el valor recibido es cualquier otro, se diseñará la matriz correspondiente con los elementos partiendo desde el 1 hasta el valor por valor.
Línea 20 - 24: se pide al usuario que señale la dimensión de la matriz que se quiere crear, para luego entregar dicho valor a la función "matriz".
Reflexión:
La actividad me ha permitido implementar algunos modelos matemáticos y darles una solución simple mediante el uso de la programación. Esta herramienta es muy potente puesto que permite encontrar una salida a problemáticas bastante comunes y de distinta índole.
Durante el proceso en que he estado trabajando con el tema de la programación me he dado cuenta que es demasiado útil para desarrollar distintas tareas. Hace poco, por ejemplo, me han instruido en cómo manejar distintos tipos de elementos ya sea imágenes, vídeos, documentos, etcétera, e insertarlos dentro del conocido archivo excel. En lo particular esta actividad ha sentado algunas bases tanto matemáticas como tecnológicas para poder continuar entregando soluciones firmes y concretas a los variados problemas del día a día, con exigencias cada vez mayores. En fin, la programación es un método de desarrollo enormemente grande e interactivo puesto que cualquier persona puede aprenderlo, y al igual que yo, puede contribuir entregando sus propias ideas y conocimiento al extenso mundo del desarrollo de la informática.
Durante el proceso en que he estado trabajando con el tema de la programación me he dado cuenta que es demasiado útil para desarrollar distintas tareas. Hace poco, por ejemplo, me han instruido en cómo manejar distintos tipos de elementos ya sea imágenes, vídeos, documentos, etcétera, e insertarlos dentro del conocido archivo excel. En lo particular esta actividad ha sentado algunas bases tanto matemáticas como tecnológicas para poder continuar entregando soluciones firmes y concretas a los variados problemas del día a día, con exigencias cada vez mayores. En fin, la programación es un método de desarrollo enormemente grande e interactivo puesto que cualquier persona puede aprenderlo, y al igual que yo, puede contribuir entregando sus propias ideas y conocimiento al extenso mundo del desarrollo de la informática.










