viernes, 4 de diciembre de 2015

Clases , objetos, herencia en Python

Aportes: JUAN CAMILO PEREZ ALVAREZ DANIEL SIERRA SANTOS

Clases Objetos y Herencia

Elementos sobre OOP

Aporte: JUAN CAMILO PEREZ ALVAREZ
             ANDRES MAURICIO MAZO

la programación orientada a objetos en castellano POO (siglas en ingles OOP)


Programacion Orientada a Objetos

Ejemplo Histogramas

Aporte:   JUAN CAMILO PEREZ ALVAREZ
               MAURICIO MAZO


CREACIÓN Y COLECCIÓN DE FUNCIONES

Aporte :   MICHELL ALEXANDRA RADA AGUDELO
                MARCOS DANIEL RUIZ CORREA


Ejemplo Programación de Funcion

Aporte: Daniel santos sierra
             Andrés Mauricio Mazo Torres




jueves, 26 de noviembre de 2015

lunes, 16 de noviembre de 2015

Mas sobre POO

Aporte:  LINA MARIA GETIAL TRIANA
MATEO BARRERA

Elementos básicos de la programación orientada a objetos en Python.
03 - Conceptos Básicos de la POO (POOPython)

lunes, 9 de noviembre de 2015

Introduccion PROGRAMACION ORIENTADA A OBJETOS

aporte:

LINA MARIA GETIAL TRIANA
MATEO BARRERA ESCOBAR


Esta página web es interesante ya que explica muy bien lo que se abarca en la POO. La siglas en ingles son OOP (Object-oriented programming)

Este vídeo es una introducción a La programación orientada a objetos sobre las clases y objetos

Clases y objetos, introducción a POO - Curso Python (23)


viernes, 6 de noviembre de 2015

Presentación Interfaces Gráficos (GUI)


Presentación sobre interfaces gráficos de usuario usando Qt por parte del monitor del curso, Martín Sanchez, el día 6 de noviembre de 2015 en el aula.


viernes, 23 de octubre de 2015

Aportes Funciones, Variables globales, Variables locales


Global and Local Variables - Interactive Python(5:30)

Aporte :
Juan David Quintero
Yohan Andrés Pineda

Ver archivo  ->>

Ejercicios de funciones resueltos
Por:
MATEO BARRERA ESCOBAR
Ver archivo  ->>




lunes, 19 de octubre de 2015

Ejercicios Variables Locales y Globales

LOCAL   .vs.    GLOBAL


Con el fin de aclarar el concepto de variable local y variables global, se proponen los siguientes ejercicios. Trate de responder cual es el resultados sin ejecutar el código, luego ejecute el código y compare.










martes, 6 de octubre de 2015

Representación y documentación de funciones

Presentación en aula el día 30 de septiembre.
Se define estándar de documentación de funciones y representación gráfica en diagrama de flujo.



Ejercicio de función realizado en clase.

#Objetivo: programar una funcion
#          para calcular los datos y
#          graficar un circulo
#          Realizado en la sala
# aporte: Juan D. Paniagua
# aporte: Jorge Vega
# aporte: Luis Miguel Tobon
# fecha: 2015-10-05 (Lunes)

import numpy as np
import matplotlib.pylab as pl
import math

def circulo(R=1.0,N=20, g='s'):
     """ R(numero),N(entero),g(str) -> X(lista),Y(lista)
         R: Radio del circulo que genera
         N: numero de puntos para grafico
         g: variable que define si grafica
         La funcion calcula los puntos para graficar un
         circulo, los retorna en las listas X, Y. Y grafica
         el circulo usando el modulo Matplotlib.
         fecha: 2015-octubre-05 lunes
         Autor: Juan, Jorge y Luis

         >>>circulo(1,3)
          grafica un triangulo
          
     """
                        
     X=[]
     Y=[]
     T=[0]
     t=0
     delta = (2*math.pi/N)

     while t <= 2*math.pi:
          T.append(t)
          t += delta

     for i in T:
          a= R*math.sin(i)
          Y.append(a)
          b= R*math.cos(i)
          X.append(b)

     if g == 's':
          pl.plot(X,Y)
          pl.xlabel('eje x')
          pl.ylabel('eje y')
          pl.grid('on')
          pl.show()
     

     return X,Y

#Codigo principal


lunes, 5 de octubre de 2015

Ejercicios (programación de funciones)


Ejercicios en tema de funciones


1. Hacer una función que muestre la gráfica de un circulo de radio r en el plano.

2. Hacer una función que muestre la gráfica un polígono cerrado de n  lados en el plano.

3. Hacer una función que permita graficar en circulo de radio r y con centro en un punto (x1,y1).

4. Hacer gráfico de la función exponencial.
   a. usando la función programada en el modulo math ( exp() ).
   b. calculando con la serie. VER
       sumatoria (x**n)/factorial(n)  para n = 0,.......

5. Hacer función para calcular el seno y el coseno usando series. VER
 
       sin: sumatoria (-1)**(n) (x**(2n+1))/factorial(2n+1)  para n = 0,1,2,.......
       cos: sumatoria (-1)**(n) (x**(2n))/factorial(2n)      para n = 0,1,2,....

6. Hacer función que obtenga los datos de un histograma.



7.  Hacer la función para realizar gráficas de poliedros regulares.



8. Hacer función que muestre el gráfico de una esfera.

9. Hacer función que muestre el gráfico un cilindro.

10. Hacer funciones para graficar superficies en dominios irregulares.







jueves, 1 de octubre de 2015

Gráficas 3D usando Matplotlib

Aporte:  Marcos D. Ruiz Correa y Michelle A. Rada Agudelo


Codigo en GetdataJoy


Vídeo explicativo del ejemplo.
Aclaración: Pentágono regular es una figura plana de cinco lados iguales y con los angulo interiores uguales.(ver)




viernes, 25 de septiembre de 2015

Arreglos en Numpy - Python

Aporte: Andres M. Mazo



Los arreglos (array) en el modulo numpy son objetos que amplían las funcionalidades de las listas de python.


martes, 22 de septiembre de 2015

Recursos varios de python


En en curso MOOC de la plataforma EDX se ha recopilado un lista interesante de recursos para programación en Python, desde editores hasta ambientes de desarrollo que pueden ser interesantes y para algunos mas adecuados.

Les comparto parte de esa lista y otros ya se incluyeron en los enlaces permanentes.


Editores

Geany

Sublim
Aporte de Mateo Barrera Escobar  y Lina Getial.


Atom

Vim


Python


python (Canopy)

Anaconda(python)

python (spyder)

Ipython

python (pycharm)

python (nunja)

python (pudb 2015.3)

python 3 (iep)

Python for visual

python tool for visual

python (wing)

Ambientes

eclipse

aptana




lunes, 21 de septiembre de 2015

Lectura y Escritura de archivos

Aporte: Lina Getial

Para la conexión del ambiente de programación a un archivo cualquiera que se dispone en un medio de almacenamiento, o que se va a crear, se usa el comando de python:

open(........)

El siguiente video muestra un ejercicio realizado para mostrar el uso de open() directamente desde el intérprete y aprovechando el módulo OS (puede ser SYS) para acceder a recursos del sistema operativo.




Este es el taller propuesto el semestre anterior para esta actividad.

Uso de While


Aporte:  JUAN ESTEBAN LÓPEZ CARDONA


Uso del While, if y el for simultáneamente.

Ver ejercicio en la plataforma GetDataJoy



Problemas de uso de ciclos

Taller semestre anterior.


Ejercicios Libro Guia (FOR)


Ejercicios tomados del libro Guia

Metodologia de la Programacion
Orientada a Objetos
Leobardo Lopez Roman
Alfomega

Ciclos FOR

Capitulo 6

1. Elaborar un algoritmo que sume los números pares desde un entero a hasta otro entero b (a<b).(usar FOR)


2. Elaborar un algoritmo que sume los números impares desde un entero a hasta otro entero b (a<b).(usar FOR)

3. Elaborar un algoritmo que sume los números enteros desde un valor a hasta otro entero b (a<b).(usar FOR y comparar con la  función sum() )

4. Hacer un Algoritmo que imprima la suma
1 + 1/2 + 1/3 + 1/4+ .... + 1/n
siendo n un valor que le pide al usuario.

5. Elaborar un algoritmo para calcular el promedio de un conjunto de numeros. (usar FOR)

6. Elaborar un algoritmo para graficar cualquiera de las funciones trigonométricas.(debe usar FOR y puede usar modulo math y modulo matplotlib)

7. Elaborar algoritmo para graficar funciones logaritmicas y exponenciales.(debe usar FOR y puede usar modulo math y modulo matplotlib)

8. Una escuela tiene actualmente 750 alumnos y se espera un crecimiento del 12%. Elaborar un algoritmo que muestre la gráfica del crecimiento  hasta e año 2030.

9. Hacer un algoritmo para calcular el factorial de un número cualquiera N.

10. Hacer un algoritmo para graficar un polinomio cualquiera
de la forma

y = an x**n + an-1 x**n-1 + ....+ a1 x + a0

asuma que se leen los coeficientes como una lista.


martes, 15 de septiembre de 2015

Movilidad Sostenible y Tecnologías de Almacenaiento


Invitamos cordialmente a todas las empresas del sector  energético a
 participar del evento

Movilidad Sostenible y Tecnologías de
Almacenamiento de Energía,
que se realizará el próximo 18 de septiembre del presente año desde las 8 am.

El evento es organizado por la Mesa de trabajo COCME – Universidades de Medellín,
(UPB, U de Medellín, U de Antioquia y Escuela de Ingeniería de Antioquia).

La Jornada tendrá lugar en las instalaciones Universidad Pontificia Bolivariana
Aula Magna Monseñor José Sierra, Circular 1ra No 70-01
Medellín-Colombia


Para mayor información




PATROCINA






lunes, 14 de septiembre de 2015

Ejercicio del libro GUIA

Ejercicios tomados del libro Guía

Metodología de la Programación
Orientada a Objetos
Leobardo Lopez Roman
Alfomega

Capitulo 4


1. Elaborara un algoritmo que calcula el promedio de notas de un estudiante
   que presento 4 exámenes y que imprima aprobado si el promedio es mayor que
   3.5 y reprobado si el promedio es menor o igual.

2. Elaborar un algoritmo que lea 2,3 o n números y los compare para decir cual
   es el mayor y el menor.(primero hacerlo solo con if, luego consultar la función max() y min())

3. Elaborar un algoritmo que lea un angulo y lo clasifique entre recto, agudo, obtuso o llano.

4. Elaborar un algoritmo para calcular e imprimir el precios de un terreno del cual se tienen los   siguientes datos:
   largo, ancho y precio por metro cuadrado. Si el terreno tiene mas de 400 metros cuadrados se hace un descuento   del 10%, si el terreno tiene mas 500 metros cuadrados e descuento es de 17% y si es de mas de 1000 se tendrá un descuento del 25%.

5. Elaborar un algoritmo para calcular un valor Y que depende de x, así:
   si x es mayor o igual a 0  Y es igual al cuadrado de x mas 6.
   si x es menor que cero se tendrá que Y es 3 veces el valor de x mas 6.


6. Un cliente ordena 2 artículos diferentes. El articulo A1 tiene un 20% de descuento,
   el articulo A2 tiene 15% de descuento. Si el pago se hace de contado se tendrá un
   7% de descuento adicional sobre todo el pedido. Hacer un algoritmo que calcule la
   factura total conociendo el numero de artículos y el precio unitario y la forma de pago.

7. Elaborar un algoritmo que lea una fecha en números (2015-09-14) y escriba en letras la
   fecha correspondiente (14 de septiembre del 2015)

8. Elaborar un algoritmo que cuente el numero de letras vocales y consonantes de una palabra.

9. Elaborar un algoritmo que calcule las funciones trigonométricas del seno, tangente y secante
   para el angulo dado en radianes o en grados.

10. Elaborar un algoritmo que identifique si un punto dado en coordenadas cartesionas esta
    dentro de un cuadrado dado.

Introducción a los Condicionales

Aporte: Marcos Daniel Ruiz Correa
              Michelle Rada Agudelo


Sentencia condicional:
Para programar en cualquier lenguaje es fundamental establecer condiciones, es decir, información o datos que son dependendientes de otros. Para ello, son utilizados los condicionales los cuales gestionan y controlan el flujo de ejecución dependiendo de cierto requisito o restricción.
En python, las palabras if, elif y else son utilizadas para tal propósito.
If
Evalúa básicamente una operación lógica, es decir una expresión que dé como resultado verdadero o false (true o false), y ejecuta la pieza de código siguiente siempre y cuando el resultado sea verdadero. Por ejemplo queremos comprobar si a + b = 2. Entonces decimos if a + b = 2. Nos devuelve verdadero o falso


Elif
Significa que si el If es falso, entonces compruebe otra cosa. Funciona de la siguiente forma


if a + b = 2:
(Respuesta)
elif a + b = 3:
(Respuesta)


Si a +b = 2, entonces ejecute algo donde están los 3 puntos. Si a + b no es igual a 2, entonces continúa con elif. Si a + b = 3, entonces ejecute lo que está en los 3 puntos.
Se pueden colocar tantos elif como sea necesario para el programador. Aquí tenemos un ejemplo de más de un elif:


if a + b = 2:
(Respuesta)
elif a + b = 3:
(Respuesta)
elif a + b = 4:
(Respuesta)


Else
podemos decir que el utilizar else lo que hace es que podemos tener la capacidad de ejecutar un código alternativo en caso de que el resultado lógico de la expresión evaluada sea falso, es decir, no se cumpla ni el if, ni ninguno de los elif, al final entonces solo nos queda una posibilidad, esa sería else.


Ejemplo: 

if a+b = 2:
(Respuesta)


elif a+b = 3:
(Respuesta)


elif a+b = 4:
(Respuesta)


else:
(Respuesta)


Y se ejecuta lo que está en los 3 puntos del else. Sería como un elif final, donde no se cumple ninguna de las condiciones requeridas.




En el siguiente vídeo se presenta un ejemplo en el que se aplican estos tres condicionales para programar la ejecución de una encuesta en la que se pregunta sobre información personal a padres de familia con el propósito de examinar si ellos tienen algún interés en que sus hijos hombres ingresen a una escuela militar:



miércoles, 9 de septiembre de 2015

Solución problema del triángulo

Aporte: Marcos D. Ruiz Correa y Michelle Rada Agudelo


Enunciado

Problema propuesto en la sala el dia lunes 7 de septiembre.
Dados los vértices de un triangulo como parejas ordenadas en un plano cartesiano, calcula la longitud de los lados , el área, clasificar lo entre escaleno, isósceles o equilatero y por ultimo graficar.



Ensayi01 - DataJoy - Online Python and R editor

Grafica obtenida al ejecutar el programa.
Vertices (0,0), (4,0), (2,2)


Recursos de programacion

Aporte: Esteban Velilla y Jaime Valencia

Se presentan los recursos fundamentales de programación en Python.



viernes, 4 de septiembre de 2015

Ejercicio y sugerencia

Aporte: Daniel Santos Sierra


Como propuesta para incluir al blog del curso de algoritmos y programación, como un aporte para incentivar el conocimiento de nosotros los alumnos, en los diferentes temas del curso, se propone en primer lugar un ejercicio del libro guía, sobre uso de los condicionales if-elif-else, el cual se encuentra en el capítulo 4. Seguidamente, se hace una sugerencia para sacar provecho de la herramienta de internet para obtener mayores conocimientos en temas relacionados con el curso; y finalmente, se recomienda un video motivacional.
1. El ejercicio realizado, puede visualizarse en la imagen 1. La solución del mismo se desarrolló en PYTHON; además, utilizaron los condicionales IF-ELSE-ELIF, también el comando INPUT para poder ingresar información, el comando PRINT para poder mostrar los resultados obtenidos en pantalla y el comando FLOAT para poder hacer uso de decimales.

Problema tomado de 
Metodología de la Programación
Orientada a Objetos
Leobardo Lopez Roman
Alfomega
Capitulo 4, pagina 94
El código desarrollado para dar solución al ejercicio anterior, se envía anexo a este documento en formato .txt y puede visualizarse, además en la imagen 2.


2. Se propone el curso: “introduction to computer science and programming using Python”; el cual, es dictado por el Instituto Tecnológico de Massachusetts (MIT) usando la plataforma de educación gratuita on-line llamada EDX. Este curso puede incluirse en el apartado del blog llamado Materiales de estudio Python.
El curso empezó el día 25 de agosto, pero aun están a tiempo los que se quieran matricular de forma gratuita. Al completar el curso, si este es  aprobado el estudiante recibirá un certificado de nada menos de la segunda mejor universidad del mundo, lo cual sería muy gratificante para el desarrollo de nuestra carrera.
En la Plataforma EDX puede acceder al curso y a mil más en 4 idiomas y de forma gratuita.


3. Finalmente se recomienda ver el siguiente video motivacional en YouTube, acerca de la importancia de aprender a programar, creado por personajes influyentes en la actualidad.


Ejercicio del libro GUIA

Ejercicios tomados del libro Guía

Metodología de la Programación
Orientada a Objetos
Leobardo Lopez Roman
Alfomega

Capitulo 3

1. Elaborar un algoritmo que permita leer el tamaño de un angulo
en radianes, luego que calcule e imprima el seno, el coseno y la tangente.


2. Elaborar un algoritmo para calcular el área de un triangulo. Se requiere imprimir como salida el área del triangulo. Los datos disponibles para leer como entrada son la base y la altura del triangulo.

3. Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante.Los datos disponibles para la lectura son el nombre, calificación 1, calificación 2, calificación 3 y calificación 4; de cada uno de los cuatro exámenes presentados. Se debe imprimir el nombre y el promedio de calificaciones.

4. Algoritmo para calcular la hipotenusa de un triangulo rectángulo.

5. Algoritmo para convertir grados centigrados a grados Farenheit y de Farenheit a centigrados.

6. Algoritmo para calcular el volumen y el área de un cilindro.

7. Elaborar un algoritmo que calcule e imprima el costo de un terreno cuadrado o rectangular teniendo como datos el ancho y lago del terreno en metros y el costo por metro cuadrado.

8. Elaborara un algoritmo que lea la hora en decimales y calcule en horas, minutos y segundos; o si esta en horas, minutos y segundos, calculo las horas.

9. Hacer el ejercicio del promedio de notas, pero con ponderaciones en cada nota.

10. La velocidad de la luz es de 300,000 kilómetros por segundo. Elaborar un algoritmo que lea el tiempo en segundos e imprima la distancia que recorre en dicho tiempo.

11. Hacer un algoritmo obtenga e imprima el valor de Y a partir de la ecuación
Y = 3 x ** 2 + 7 x - 15
solicitando como dato de entrada el valor de x.

12. Algoritmo para calcular el volumen y el área de una esfera.

Ejercicio de aplicacion

Aporte:  LINA MARIA GETIAL TRIANA,  SEBASTIAN GIRALDO GOMEZ

OBJETIVO:

Este trabajo fue realizado para explicar el WHILE, que nos permite hacer un conjunto de repeticiones de una tarea que se detiene en determinado momento según lo decide el programador. La forma en que se ejecutan y detienen los bucles se decide gracias a los condicionales que a continuación utilizaremos en nuestro ejercicio a realizar.

Ejercicio:
Usted está en su casa y encuentra tres pajillas. Diseñe un algoritmo en Python que le permita leer las tres longitudes de las pajillas y determine si pueden unirse para formar un triángulo o no. Si se puede formar un triángulo al unirlos, el algoritmo debe determinar qué tipo de triángulo es, ya sea equilátero (3 lados iguales), isósceles (2 lados iguales) o escaleno (si tiene los tres lados desiguales).
NOTA: Tenga en cuenta que para formar un triángulo, cada lado debe ser menor a la suma de los otros dos. 



Solución del ejercicio usando Python



Solución del problema planteado usando Python en Windows.







miércoles, 2 de septiembre de 2015

ALMACENAMIENTO DE INFORMACION

Aporte: Esteban Velilla y Jaime A. Valencia

Variables Primitivas

Un computador (ordenador) esencialmente memoriza información y realiza diferentes procesos con esa información. 
Los lenguajes de programación disponen de comando específicos para que la información ingrese al ambiente del computador y la almacena en básicamente 4 tipos de variables (u objetos) que se denominan como primitivas. Las variables primitivas son numéricas, que pueden ser de números enteros o reales; lógicas, que pueden asumir solo dos valores y las alfanuméricas que son caracteres o conjuntos de caracteres.



En el lenguaje Python la asignación a un objeto para memorizar información se realiza con el carácter del signo igual (=). Los objetos numéricos simples son de números enteros (int) y de números reales (float). Los objetos lógicos pueden asumir el valor True o False (bool) y los objetos alfanuméricos pueden contener varios caracteres y asigna un indice para numerarlos (str).

Se dispone de diferentes objetos para almacenar conjuntos de datos, entre ellos las listas (list) y las tuplas (tuples), que son dos ejemplos de objeto mutable e inmutable.

Diagramas de flujo


Aporte: Juan David Quintero, Yohan Andrés Pineda 


Tema: Diagramas de flujo en programación.


Objetivo: enseñar a los estudiantes el método para realizar diagramas de flujo en programación, pues ésta es una herramienta muy necesaria a la hora de programar y que será requerida en todo tipo de proyectos que se presenten para que cualquier persona pueda entender un código que nosotros trabajemos de manera fácil y didáctica.

¿Que es un diagrama de flujo?  ---->>>Segun Wikipedia

Pagina de Lucidchard




Vídeo para crear diagramas de flujo usando Lucidchard


Ejemplo de diagrama de flujo y abajo encuentra su respectivo código en Python.
(que cuadros normalizados?)



Código del diagrama 1:

Ejercicio: Hacer el diagrama de flujo correspondiente al siguiente código.








lunes, 31 de agosto de 2015

Python Tutorial for Beginners 1

Aporte: Jaime A. Valencia

Se presenta un video en ingles que describe como iniciarse en el uso y aplicación de python.