edu.alceres.com

Matemáticas con Python -Clase II-

Programa Hola Mundo!

Ya puede realizar el clásico programa Hola Mundo!, dé clic sobre una celda de código y escriba en las variables Nombre y Edad sus propios datos:

Nombre = 'Juan Felipe Castro'
Edad = 17
print('Hola mundo!! les saluda ',\
      Nombre,', un joven estudiante de ',Edad,'años')
      

Se observa la salida:

Observe algunos elementos en este sencillo programa:

- Se declaran variables de Nombre y Edad
- En el print se usa un blackslash (\) para continuar escribiendo en la siguiente línea. Esto es importante si la línea de código se hace muy extensa, pero no es necesario.

Ahora pruebe con los otros formatos de salida, sus resultados deben ser como se muestra a continuación:

Observe que en el tercer formato, se enumeran las variables de salida, iniciando con 0 como es habitual en Python.

Comentarios

En cualquier lenguaje son importantes los comentarios, esto permite al mismo creador de un programa o a otra persona que revisa el código, entender mejor lo que se desarrollado en una determinada línea de este código

Hay comentarios de:

  - En cualquier línea: con el símbolo numeral (#), todo lo que sigue al numeral en esa línea es un comentario y no se ejecuta.
  - En varias líneas con triple comilla (''') tanto para abrir como en el momento de cerrar.
  - Al declarar una variable con dos puntos, como ejemplo Edad :int = 20. Solo comenta que la variable Edad es de tipo entero.

Observe el siguiente código y los comentarios en este programa para calcular aproximadamente los minutos vividos

En este programa se observan algunos elementos como:
- Se tiene la variable Edad y se comenta (con :int) que es de tipo entero.
- Se hace con triple comilla un comentario de múltiples líneas.
- Se calculan los dias bisiestos con el comando int antes de dividir la Edad entre 4, de tal manera que el resultado.
siempre sea un número entero. Se muestra el resultado.
- Se realiza el cálculo de los minutos vividos y se muestran los resultados, observe que también se comenta aquí.

Variables y constantes

Ya hemos creado algunas variables, ahora precisaremos más el concepto. Entenderemos por estructuras de datos a los espacios asignados en memoria para almacenar datos. Las estructuras de datos pueden almacenar valores variables y constantes. Los datos constantes son objetos que contienen valores que no cambian durante la ejecución de un programa, son valores fijos.

Ejemplo: Los meses del año = 12 meses, Estaciones del año = 4, valor pi = 3.1416

Los datos variables son objetos que contienen valores que pueden cambiar a medida que se ejecuta un programa; la forma de escribirlos en el pseudocódigo es asignando un identificador o nombre al tipo de dato variable, indicando que va a almacenar datos cuyos valores sean de una naturaleza determinada.

Creación de variables

Python no tiene ningún comando para declarar una variable.
Una variable se crea en el momento en que se le asigna un valor por primera vez.

En el siguiente diagrama se observa el concepto:

Tipos de datos

Python define las variables como:

  Texto:	str
Numéricos:	int, float, complex
De secuencia:	list, tuple, range
De Mapeo:	dict
Conjunto:	set, frozenset
Booleano:	bool
Binario:	bytes, bytearray, memoryview
None:	NoneType

Ejercicio.

Ahora con el comando input, permita que se ingresen las variables desde teclado en tiempo de ejecución. Nombre es un dato de tipo texto y en el input no es necesario especificarlo, mientras Edad es numérico, luego hay que indicar con int que es el tipo de dato más adecuado.

Observe una posible solución:

Intercambio de variables

En algunas aplicaciones o desarrollos se requiere intercambiar los valores de dos variables.
Un procedimiento típico es ayudarse de una variable temporal como se muestra a continuación:

Ahora bien, con Python se puede hacer el intercambio (Swapping) de forma directa, aprovechando que en una misma línea de código se pueden ingresar varias variables como se muestra en el siguente codigo:

Algoritmos

Es una sucesión finita de pasos no ambiguos que se pueden ejecutar en un tiempo finito, Cuya razón de ser es la de resolver problemas.

Problema serán aquellas cuestiones, conceptuales o prácticas, cuya solución es expresable mediante un algoritmo.

Resolución de problemas

Es el proceso de determinar qué se debe hacer para resolver un problema. Comienza con la descripción del problema y termina con la búsqueda de la mejor manera de solucionarlo. Antes de poder encontrar una solución, el problema debe identificarse correctamente (análisis del problema) y luego convertirse en pasos claros y ejecutables que todos comprendan (diseño del algoritmo). En estos pasos se utilizan diferentes operadores para obtener la solución requerida. Luego se puede codificar o llevar a algún programa como python (programación del algoritmo). Luego se observa que se tienen básicamente las tres etapas para resolver un problema como programador.

1. Análisis del problema
2. Diseño del algoritmo
3. Programación del algoritmo

Pasos para la solución lógica y numérica de problemas

Más en detalle, se tienen los siguientes pasos principales para resolver cualquier problema:

  1. Analizar el problema: es el proceso de comprender el problema. Para comprender mejor el problema, debe saber cuáles son las entradas y cuáles serán sus posibles salidas. Simplemente significa conocer los requisitos para resolver un problema y su posible solución. Si el problema es extenso o complejo, se puede dividir en varias tareas pequeñas y simple.
  2. Diseñe un plan para resolver el problema. Incluye escribir el problema en pseudocódigo, diagrama de flujo o en forma de algoritmo. El pseudocódigo, los diagramas de flujo y el algoritmo representan su estrategia paso a paso para resolver el problema. Este paso proporciona la lógica para resolver el problema.
  3. Ejecutar el plan: Convierte el algoritmo o pseudocódigo en un programa (código real) mediante el uso de un lenguaje de programación adecuado, como Python o Java. Introduce el programa en la computadora. La computadora genera el resultado como salida en función del programa y los datos.

Una vez se realicen los tres pasos básicos, se puede depurar o mejorar la solución de todo el problema: una vez que obtiene el resultado como salida y si este tiene mucho erroro o no es satisfactorio, se puede volver atrás y realizar algunos cambios en el programa o el plan para mejorar aún más el resultado. Puede pensar en resolver el problema de otra manera para generar un mejor resultado. Este paso a veces también se conoce como fase de prueba y depuración.

Ejemplo

Ejercicio cuadrado. Calcular el perímetro y la superficie de un cuadrado dada la longitud de su lado.

Para solucionar el problema, observamos las entradas, cálculos y salidas:

- Entrada: $L$ longitud del lado
- Calculos: $$A=L^2$$ $$P=4*L$$ -Salida: Entregar A, P

Escriba las fórmulas en TexEquation y agréguelas en su cuaderno en una pestaña de texto¿

Ahora abra una pestaña de código e ingrese el código (por ejemplo):

Como puede observar, en la salida se usa \n para abrir otra línea.

PSeInt: Aplicación para creación de algoritmos

El programa PSeInt es una aplicación gratuita que nos permite:

  - Escribir pseudocodigo, es decir, lenguaje previo a escoger el definitivo.
- Interfaz sencilla con herramientas que facilitan el desarrollo.
- Permite crear el diagrama de flujo, o sea, un esquema de los pasos detallados para 
la solución del algoritmo o problema.

Descargue PSeInt, no requiere mayores requisitos y es gratuito. Ábralo y debe tener algo así:

Primero se configura el perfil, el cual nos da desde estricto a flexible las condiciones de escritura del código. Vamos a iniciar con flexible:

Ahora escriba el código del programa recién elaborado:

  1. Dé doble click en la palabra Programa1 y cambie por Cuadrado, con esto se da el nombre del algoritmo.
  2. En PSeInt los comentarios son con doble barra inclinada (//), luego escriba en la 
  siguiente línea: //Datos de entrada. Luego dé Enter.
  3. Escriba: DEFINIR L,A,P Como Real. Aquí se definen todas las variables del programa.
  4. Dé click en la herramienta Escribir, y digite: Ingrese el lado del cuadrado en metros [m]:
De esta forma se orienta al usuario del programa a ingresar el dato de entrada.
5. Dé click sobre la herramienta Leer, luego escriba después de Leer el código ENTERO L,A,P 
6. Escriba el comentario Calculos, dé Enter.
7. Escriba: 
  A=L^2
  P = 4*L
  Observe que al escribir el símbolo hat (^) con Alt 94 se puede formar una flecha arriba. 
8. POr último dé click en Escribir y digite la forma de la salida como se muestra en la figura:

Para ejecutar, presione sobre el botón verde esmeralda, ingrese un valor y dé Enter. Observe la salida.

Ahora veamos el diagrama de flujo, presione el botón que indica Dibujar Diagrama de flujo.... Debe obtener un resultado como el mostrado en la siguiente figura:

Observe como aparecen flechas de salida (en este caso impresión en pantalla) y de entrada (para ingresar los datos). Se debe familiarizar con las formas geométricas que tienen usos específicos.

Ejemplo

Calcule el área y perímetro de un triángulo rectángulo dados los catetos. Construya el Diagrama de flujo.

Siguiendo un procedimiento similar, primero escriba el problema en una celda de texto como se iluestra:

Luego en la celda de código escriba su programa, por ejemplo una solución es:

Python cuenta con varias librerías que son paquetes con varias funciones, por ahora observe cómo se importa la función sqrt que permite sacar la raíz cuadrado de la librería math, y se da solución al mismo problema:

En PSeInt se muestran a continuación los resultados:

El diagrama de flujo:

Ejercicios (Soluciones Aquí