Programación

“Primero resuelve el problema. Entonces, escribe el código.” — John Johnson

jueves, 14 de diciembre de 2017

Mejor promedio semestre Agosto-Diciembre 2017

Felicidades por la constancia e interés, el futuro premia a las personas trabajadoras.

MORALES ESCALANTE CARLOS ESTEBAN


martes, 28 de noviembre de 2017

lunes, 13 de noviembre de 2017

Trabajando con archivos y directorios

http://www.posteet.com/view/2105

Triangulos

http://www.universoformulas.com/matematicas/geometria/area-triangulo/

Archivo

1. Sobre el objeto File
Al igual que sucede con otras variables, manipular una de ellas como un objeto File, es posible, cuando a ésta, se le asigna como valor un archivo.
Para asignar a una variable un valor de tipo file, solo es necesario recurrir a la función integrada open(), la cual está destinada a la apertura de un archivo.
La función integrada open(), recibe dos parámetros:
El primero de ellos, es la ruta hacia el archivo que se desea abrir
Y el segundo, el modo en el cual abrirlo
1.1. Modos de Apertura
El modo de apertura de un archivo, está relacionado con el objetivo final que responde a la pregunta ¿para qué estamos abriendo este archivo?. Las respuestas a esta pregunta pueden ser varias. Por ejemplo, podemos querer abrir un archivo para leerlo, para escribirlo, para leerlo y escribirlo, para crearlo si no existe y luego escribir en él, etc.
Es necesario saber, que cada vez que abrimos un archivo estamos creando un puntero, el cuál se posicionará dentro del archivo en un lugar determinado (al comienzo o al final) y este puntero podrá moverse dentro de ese archivo, eligiendo su nueva posición, mediante el número de bytecorrespondiente.
Este puntero, se creará -en inicio- dependiendo del modo de apertura indicado, el cuál será indicado a la función open() como una string en su segundo parámetro. Entre los *modos de apertura posibles, podemos encontrar los siguientes:




Indicador Modo de apertura Ubicación del puntero
r Solo lectura Al inicio del archivo
rb Solo lectura en modo binario Al inicio del archivo
r+ Lectura y escritura Al inicio del archivo
rb+ Lectura y escritura en modo binario Al inicio del archivo
w Solo escritura. Sobreescribe el archivo si existe. Crea el archivo si no existe Al inicio del archivo
wb Solo escritura en modo binario. Sobreescribe el archivo si existe. Crea el archivo si no existe Al inicio del archivo
w+ Escritura y lectura. Sobreescribe el archivo si existe. Crea el archivo si no existe Al inicio del archivo
wb+ Escritura y lectura en modo binario. Sobreescribe el archivo si existe. Crea el archivo si no existe Al inicio del archivo
a Añadido (agregar contenido). Crea el archivo si éste no existe Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo
ab Añadido en modo binario (agregar contenido). Crea el archivo si éste no existe Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo
a+ Añadido (agregar contenido) y lectura. Crea el archivo si éste no existe. Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo
ab+ Añadido (agregar contenido) y lectura en modo binario. Crea el archivo si éste no existe Si el archivo existe, al final de éste. Si el archivo no existe, al comienzo

2. Métodos del Objeto File
El objeto File, entre sus métodos más frecuentes, dispone de los siguientes:
Método: seek(byte) Mueve el puntero hacia el byte indicado.
archivo = open("prueba.txt", "r")
contenido = archivo.read()
# el puntero queda
# al final del documento
archivo.seek(0)

Método: read([bytes]) Lee todo el contenido de un archivo. Si se le pasa la longitud de bytes, leerá solo el contenido hasta la longitud indicada.
archivo = open("prueba.txt", "r")
contenido = archivo.read()
print (contenido)

Método: readline([bytes]) Lee una línea del archivo.
archivo = open("prueba.txt", "r")
linea1 = archivo.readline()
print (linea1)

Método: readlines() Lee todas las líneas de un archivo.
archivo = open("prueba.txt", "r")
for linea in archivo.readlines():
    print (línea)

Método: tell() Retorna la posición actual del puntero.
archivo = open("prueba.txt", "r")
linea1 = archivo.readline()
mas = archivo.read(archivo.tell() * 2)

if archivo.tell() > 50:
    archivo.seek(50)

Método: write(cadena) Escribe cadena dentro del archivo.
archivo = open("prueba.txt", "r+")
contenido = archivo.read()
final_de_archivo = archivo.tell()

archivo.write('Nueva linea')
archivo.seek(final_de_archivo)
nuevo_contenido = archivo.read()

print (nuevo_contenido)
# Nueva linea
Método: writelines(secuencia) Secuencia será cualquier iterable cuyos elementos serán escritos uno por línea.
archivo = open("prueba.txt", "r+")
contenido = archivo.read()
final_de_archivo = archivo.tell()
lista = ['Línea 1\n', 'Línea 2']

archivo.writelines(lista)
archivo.seek(final_de_archivo)

print (archivo.readline())
# Línea 1

print (archivo.readline())
# Línea 2

Método: close() Cierra un archivo.
archivo = open("prueba.txt", "r")
contenido = archivo.read()
archivo.close()
print (contenido)
3. Propiedades del objeto file
Se pueden acceder a las siguientes propiedades del objeto file:
closed: retorna True si el archivo se ha cerrado. De lo contrario, False.
mode: retorna el modo de apertura.
name: retorna el nombre del archivo
encoding: retorna la codificación de caracteres de un archivo de texto
>>> archivo = open("prueba.txt", "r+")
>>> contenido = archivo.read()
>>> nombre = archivo.name
>>> modo = archivo.mode
>>> encoding = archivo.encoding
>>> archivo.close()

>>> if archivo.closed:
...     print ("El archivo se ha cerrado correctamente" )
... else:
...     print ("El archivo permanece abierto" )
...
El archivo se ha cerrado correctamente

>>> nombre
'prueba.txt'

>>> modo
'r+'

>>> encoding
None

4. Cerrando archivos de forma automática
Desde la versión 2.5, Python incorpora una manera elegante de trabajar con archivos de forma tal, que se cierren de forma automática sin necesidad de invocar al método close(). Se trata de un bloque with:
with open("prueba.txt", "r") as archivo:
    contenido = archivo.read()

print (archivo.closed)
# True
Cuando una estructura with finaliza, Python, automáticamente invoca al método close(), como se puede ver en el valor de la propiedad closed.
Como también se deja ver en el ejemplo, la sentencia with utiliza un alias para el objeto file, lo que permite acceder al objeto file, justamente, por el alias indicado.

lunes, 6 de noviembre de 2017

pygame

https://pip.pypa.io/en/stable/installing/


pueden instalar primero pip
python -m pip install -U pip
Después:
pip install pygame
si no corre entonces
python -m pip install pygame


martes, 15 de agosto de 2017

Evaluación Diagnóstico

Copie en el URL, conteste y envie
https://docs.google.com/forms/d/e/1FAIpQLSf2juTi1SrWLK-NyYyCNiEAY2dnwuGwiOtcDKdHsgyZapHWcQ/viewform

jueves, 10 de agosto de 2017

Criterio de Evaluación

programacion Visual  %
Unidad I Conocer contenidos de la unidad,  objetivos, compendio de trabajo, criterio de evaluación.  10
Cuenta con su compendio de trabajo, busca la participación individual.  10
Socializa con sus compañeros  en  la búsqueda de herramientas de programación de mayor aplicación. 10
Repasa conjuntamente con los estudiantes los aspectos más importantes de su compendio de trabajo 10
Responde de forma individual las actividades diarias del compendio de trabajo. 30
Elabora programas y instala software necesario. 30
Unidad II Elabora un Diagrama de tallo y hoja de los temas de la unidad anterior. 10
Conoce los temas a revisar. 10
Elabora programas con objetos, texto y botones. 10
Usa herramientas de barras de desplazamiento, listas desplegables y cajas de verificación 10
Elabora ejercicios con cuadro de imágenes 10
Elabora ejercicios  de diseño de interfaz utilizando los objetos vistos en la unidad 50
Unidad III Elabora un cuadro sinóptico de los temas de la unidas anterior, explicando la aplicación con sus palabras de cada herramienta revisad. 10
Conoce las herramientas, aplicación de objetos avanzados 10
Utiliza y aplica herramientas de objetos avanzados. 40
Elabora ejercicios  de aplicación de objetos avanzados 40
Unidad IV Elabora un mapa conceptual, de los temas de la unidad anterior. 10
Introducción a  la programación de puertos. 15
Desarrolla circuitos con programación de puertos 35
Presenta proyectos pequeños con puertos 40
Unidad V Explica la utilidad de los puertos y la programación. 10
Introducción a  las interfaces graficas en puertos 10
Desarrolla interfaces graficas con circuitos y  puertos 20
Presenta proyecto final del proyecto. 60

Temario Agosto - Diciembre 2017

Temario.
Unidad 1 Interfaces gráficas de usuario.
1.1. Fundamentos de programación orientada a objetos.
1.2. Introducción a la programación de interfaces gráficas de usuario.
1.3. Lenguajes de programación para el desarrollo de interfaces gráficas de usuario.
1.4. Introducción a la programación visual orientada a eventos.

Unidad 2 Elementos básicos de las interfaces gráficas de usuario.
2.1. Introducción al desarrollo de interfaces gráficas de usuario.
2.2. Aplicación de objetos básicos:
2.2.1. Para manejo de texto.
2.2.2. Botones.
2.2.3. Barras de desplazamiento.
2.2.4. Listas desplegables.
2.2.5. Cajas de verificación.
2.2.6. Cuadro de imágenes.
2.3. Diseño de interfaces utilizando objetos básicos.

Unidad 3 Elementos avanzados de las interfaces gráficas de usuario.
3.1. Aplicación de objetos avanzados
3.1.1. Menús.
3.1.2. Cajas de diálogo.
3.1.3. Controles de rango.
3.1.4. Temporizadores.
3.1.5. Barras de progreso.
3.1.6. Cuadros de dialogo predefinidos.
3.1.7. Otros.
3.2. Diseño de interfaces gráficas de usuario utilizando objetos avanzados.
3.3. Organización y visualización de datos.
3.4. Asistentes para el desarrollo de interfaces.

Unidad 4 Desarrollo de interfaces gráficas de usuario aplicadas a puertos.
4.1. Introducción a la programación de puertos con interfaces visuales.
4.2. Desarrollo de aplicaciones con interfaces gráficas de usuario con conectividad a puertos seriales y/o paralelo.

Unidad 5 Desarrollo de aplicaciones.
5.1. Desarrollo de aplicaciones de interfaces gráficas en la adquisición de datos digitales y analógicos.
5.2. Desarrollo de interfaces gráficas aplicadas a sistemas de control.
5.3. Desarrollo de aplicaciones de interfaces gráficas de usuario aplicadas proceso locales y remotos.
5.4. Manejo básico de base de datos con aplicación a sistemas electrónicos.

jueves, 25 de mayo de 2017

Codigo para encender y apagar un led

# External module imports
import RPi.GPIO as gpio
import time
gpio.setmode(GPIO.BOARD)
# Pin Definitons:
GPIO.setup(8, gpio.OUT) #  pin set as output
GPIO.setup(10, gpio.OUT) # pin set as output

try:
    while True:
     
            gpio.output(8,gpio.HIGH)
            gpio.output(10,gpio.LOW)
            time.sleep(3)
            gpio.output(8,gpio.LOW)
            gpio.output(10,gpio.HIGH)
            time.sleep(2)
            gpio.cleanup()
except KeyboardInterrupt: # If CTRL+C is pressed, exit cleanly:
    gpio.cleanup() # cleanup all GPIO

semáforo en python



miércoles, 18 de enero de 2017

Criterio de evaluación
Enero - Junio 2017
UNIDAD II Conocimientos: 
03-mar Actividades diarias 20%
Habilidades: 
Tareas 30%
Evaluación 40%
Actitudes: 
Instalación correcta de SW 10%
UNIDAD III Conocimientos: 
28-mar Actividades diarias 20%
Habilidades: 
Ejercicios 20%
Tarea 20%
Actitudes: 
Proyecto – Evaluación 40%
UNIDAD IV Conocimientos: 
16-may Dibujos extras 20%
Habilidades: 
Resuelve problemas gráficos con programación 30%
Examen 20%
Actitudes: 
Actividades diarias 20%
UNIDAD IV Conocimientos: 
02-jun Proyecto final
Habilidades: 
Proyecto final 80%
Actitudes: 
Actividades diarias 20%

martes, 17 de enero de 2017

Nombre de la asignatura:Programación Visual
Clave de la asignatura:ETD-1025
SATCA1:2-3-5
Carrera: Ingeniería Electrónica

Caracterización de la asignatura
Esta asignatura aporta al perfil profesional la capacidad para diseñar e implementar interfaces gráficas de usuario para facilitar la interacción entre hombre, equipos y sistemas electrónicos.
Las competencias adquiridas en esta asignatura permitirán al estudiante desarrollar aplicaciones de
computadora que cuenten con interfaz gráfica de usuario, las cuales podrán facilitar la interacción entre el usuario de una aplicación y los dispositivos electrónicos.
El desarrollo de interfaces de usuario cuenta con un amplio campo de aplicación, que va desde la
obtención, almacenamiento, procesamiento y despliegue de datos, hasta el desarrollo de sistemas de
control e instrumentación.
El desarrollo de esta materia requiere contar con conocimientos previos de programación estructurada
en un lenguaje de alto nivel, así como la capacidad de búsqueda y análisis de información, así como el dominio del pensamiento lógico.
Esta asignatura se relaciona con otras en el área, entre ellas, Programación Estructurada, en la cual se
desarrollan las competencias que permiten al estudiante diseñar algoritmos e implementarlos en forma de programas para computadora. Microcontroladores, específicamente en los temas referentes a interfaces y comunicación de datos. Métodos Numéricos, en todos los temas que requieran la
realización de programas.
Intención didáctica
El programa se encuentra estructurado en cinco temas:
El primero aborda los fundamentos teóricos del desarrollo e importancia de las interfaces gráficas de
usuario y sus aplicaciones, enmarcadas en el contexto de la metodología de la programación orientada a objetos. El objetivo de este tema es concientizar al estudiante en cuanto a las ventajas de la integración de interfaces gráficas en el diseño de soluciones. También se deben presentar al estudiante las diferentes opciones que existen en cuanto a lenguajes de programación que ofrecen la capacidad de desarrollar interfaces gráficas de usuario.
El segundo tema estudia los elementos básicos para el diseño y desarrollo de interfaces gráficas de
usuario. Se deben cubrir estos temas con la profundidad necesaria, caracterizando sus propiedades,
métodos y atributos de manera práctica, enfatizando la correcta utilización de cada uno de estos
componentes. Es recomendable utilizar un enfoque integral, en el que cada tema cubierto sea integrado en las prácticas de temas posteriores. Es conveniente terminar este tema con el desarrollo de un proyecto que involucre el diseño y construcción de una aplicación que cuente con interfaz gráfica de usuario.
El tema tres se refiere a los elementos avanzados para el diseño y desarrollo de interfaces gráficas de
usuario, entre ellos, aquéllos que facilitan la organización y visualización de datos. Se recomienda
abordar este tema con un enfoque progresivo, avanzar de lo elemental a lo complejo, tanto en las
actividades de los estudiantes como en la revisión de los temas.
En el cuarto tema se aborda el estudio de los puertos de comunicación más utilizados en sistemas
digitales. Se propone el manejo de los mismos mediante el dominio de los elementos especializados
para estas tareas en el lenguaje de programación, lo que permita el manejo de interfaces de
comunicación.
En el último tema se propone desarrollar aplicaciones con interfaz gráfica que sean enfocadas a la
interacción entre el usuario, los sistemas electrónicos y dispositivos externos a la computadora,
sugiriendo áreas como la adquisición y procesamiento de datos, control de dispositivos (actuadores,
motores) y almacenamiento de información (bases de datos).
Con la finalidad de apoyar el desarrollo de competencias genéricas en el estudiante, tales como el
desarrollo de investigación, resolución de problemas, trabajo en equipo y el ser emprendedor, se
sugiere la realización de trabajos de investigación en los cuales se determinen áreas de oportunidad
para la aplicación de los contenidos de este programa. Promover el desarrollo de proyectos grupales.
Plantear problemas reales y por medio de mesas de discusión proponer soluciones.
El docente debe contar con el perfil propio de la carrera en Ingeniería Electrónica, así como contar con experiencia en el uso de lenguajes de programación de alto nivel y desarrollo de aplicaciones con
interfaz gráfica de usuario.
Queda a elección de cada academia o grupo colegiado la elección del lenguaje de programación,
sistema de base de datos, entorno de desarrollo y sistemas de adquisición de datos a utilizar en el
desarrollo del programa.

Competencia(s) a desarrollar
Competencia(s) específica(s) de la asignatura
Desarrolla programas de aplicación con interfaces gráficas de usuario a partir del conocimiento de los
elementos básicos que faciliten la interacción entre hombre, sistemas y dispositivos electrónicos.

Competencias previas
 Diseña algoritmos computacionales, así como su implementación utilizando un lenguaje de
programación de alto nivel.
 Utiliza la computadora de manera adecuada, particularmente en el uso de herramientas de
programación y búsqueda de información en medios electrónicos, así como la elaboración de
reportes de investigación.
 Maneja equipos de medición y prueba para el desarrollo de las interfaces de circuitos electrónicos.

I Interfaces gráficas de usuario. 
1.1. Fundamentos de programación orientada a objetos.
1.2. Introducción a la programación de interfaces gráficas de usuario.
1.3. Lenguajes de programación para el desarrollo de interfaces gráficas de usuario.
1.4. Introducción a la programación visual orientada a eventos.
2 Elementos básicos de las interfaces gráficas de usuario.
2.1. Introducción al desarrollo de interfaces gráficas de usuario.
2.2. Aplicación de objetos básicos:
2.2.1. Para manejo de texto.
2.2.2. Botones.
2.2.3. Barras de desplazamiento.
2.2.4. Listas desplegables.
2.2.5. Cajas de verificación.
2.2.6. Cuadro de imágenes.
2.3. Diseño de interfaces utilizando objetos básicos.
3 Elementos avanzados de las interfaces gráficas de usuario.
3.1. Aplicación de objetos avanzados
3.1.1. Menús.
3.1.2. Cajas de diálogo.
3.1.3. Controles de rango.
3.1.4. Temporizadores.
3.1.5. Barras de progreso.
3.1.6. Cuadros de dialogo predefinidos.
3.1.7. Otros.
3.2. Diseño de interfaces gráficas de usuario utilizando objetos avanzados.
3.3. Organización y visualización de datos.
3.4. Asistentes para el desarrollo de interfaces.
4 Desarrollo de interfaces gráficas de usuario aplicadas a puertos.
4.1. Introducción a la programación de puertos con interfaces visuales.
4.2. Desarrollo de aplicaciones con interfaces gráficas de usuario con conectividad a puertos seriales y/o paralelo.
5 Desarrollo de aplicaciones.
5.1. Desarrollo de aplicaciones de interfaces gráficas en la adquisición de datos digitales y analógicos.
5.2. Desarrollo de interfaces gráficas aplicadas a sistemas de control.
5.3. Desarrollo de aplicaciones de interfaces gráficas de usuario aplicadas proceso locales
y remotos.
5.4. Manejo básico de base de datos con aplicación a sistemas electrónicos.

Fuentes de información
1. Bitter, R., Mohiuddin, T., & Nawrocki, M. (2006). LabView: Advanced Programming
Techniques (2nd ed.). New York: CRC-Press.
2. Björnander,S. (2008). MicrosoftVisualC++WindowsApplicationsbyExample: Code and
explanation for real-world MFC C++ Applications. Packet Publishing.
3. Carrasco, R., Patiño, I., & Santos, M. (2006). Fundamentos De Programación 2ª ed. Ra-Ma,
Alfaomega.
4. Ceballos, F. (2010). El Lenguaje De Programación C# - 2ª ed. Alfaomega, Ra-Ma.
5. Deitel, P. J. (2008) Visual C# 2008 How to Program. 3rd Edition. Prentice Hall.
6. Horton, I. (2008) Ivor Horton's Beginning Visual C++ 2008; Wrox.
7. Kimmel, P. (2002). Advanced C# Programming. McGraw-Hill/Osborne.
8. King, R. (2012). Introduction to Data Acquisition with LabView. New York: McGraw-Hill.
9. Ferguson, J; Patterson, B; Beres, J. (2003). La biblia de C#. Ediciones Anaya.
10. Larsen, R. W. (2010). LabVIEW for Engineers. New York: Prentice-Hall.
11. Marinilli, M. (2006). Professional Java User Interfaces. 1st Edition. Wiley.
12. Robinson, S; Nagel, C; Glynn, J; Skinner, M; Watson, K; Evjen, Bill. (2004). Professional C#.
3rd Edition. Wiley.
13. Sharp, J. (2010). Microsoft Visual C# 2010 Step by Step. Microsoft Press.
14. Travis, J., & Kring, J. (2006). LabVIEW for Everyone: Graphical Programming Made Easy and
Fun. New York: Prentice Hall. Zukowski, J. (2005). The Definitive Guide to Java Swing, 3rd
Edition. Apress.