INGENIERÍA DE SISTEMAS
IBAGUÉ - TOLIMA
2018
INTRODUCCIÓN
Para adentrar al conocimiento de las nuevas tecnologías, que ya no se basan en crear objetos que
realizan una actividad en particular mediante el uso de un listado ordenado de opciones, sino que
puedan ser capaces de aprender el comportamiento de la persona que lo utiliza y ser autónomos
para cumplir ciertas funciones. Esas características son contemporáneas, que deben ser estudiadas
y comprendidas para entender su verdadero potencial, por ello, los conceptos expuestos a
continuación, brindan una explicación concisa. Con el propósito de mejorar la percepción del
alcance de los temas relacionados con los sistemas inteligentes y su beneficio en la utilización
cotidiana.
OBJETIVOS
General
Específicos
Para Olmos Pineda, I. (2018). Otra definición bien puede ser: es un programa de
computación que cuenta con características y comportamientos parecidos a los de un humano o
animal, es decir, que cuenta con la capacidad de decidir por sí mismo qué acciones realizará para
alcanzar sus objetivos basándose en sus percepciones, conocimientos y experiencias acumuladas.
Existe un método que es muy efectivo a la hora de aplicar un sistema inteligente el cual es
método constructivo (nuevos productos y nuevos procedimientos constructivos) el objetivo
primordial de este es; mejorar la eficiencia del negocio o proceso, la calidad, una muy importante
que es la satisfacción del cliente, el desempeño medioambiental, la sostenibilidad y cumplimiento
de las reglas y plazos para dicho sistema.
Asimila al ser humano respecto a las decisiones cotidianas que se afrontan y necesitan una
respuesta lógica, entonces es aquí donde se aplica la computación inteligente ya que toma
decisiones sensatas en un entorno impreciso e incierto como lo haría un humano.
¿Qué es Python?
Para efectos de entender las características y conceptos básicos de Python, nos remontamos
a las ideas planteadas por Severance, C. (2015). Aprender a escribir programas no es una tarea
fácil, pero “es una actividad gratificante y creativa” a la hora de resolver problemas difíciles de
análisis. En nuestra vida diaria nos encontramos rodeados de máquinas o (computadores) hasta
teléfonos móviles que son utilizados como “asistentes personales” capaces de ocuparse de muchas
labores por nosotros. Un programador se encarga de operar un sistema y un conjunto de
aplicaciones en el hardware para así al final tener un asistente personal digital bastante útil y capaz
de ayudarnos a hacer distintas labores diferentes.
La gran cantidad de memoria y rapidez de los equipos hoy en día serían más que útiles si
todos aprendiéramos su lenguaje, comunicarnos con la máquina, así como nos comunicamos con
otras personas. Podríamos pedirle al equipo que realizase un montón de tareas que por lo general
suelen ser repetitivas y aburridas para nosotros.
>>> pi = 3.1415926535897931
Los programadores generalmente elijen nombres claves para las variables que tengan
sentido y documenten para qué se usa esa variable. Estos nombres pueden ser largos, pueden tener
tanto letras como números, pero no comenzar con un número. Se pueden utilizar letras mayúsculas,
pero lo ideal es comenzar los nombres de las variables con letra minúscula.
Sentencias. Una sentencia es una unidad de código que el intérprete de en este caso “Python”
puede ejecutar. Cuando se escriben sentencias en un modo interactivo, el intérprete la ejecuta y
muestra el resultado. Un script normalmente contiene una secuencia de sentencias. Si hay más de
una sentencia, los resultados aparecen de uno en uno según se van ejecutando las sentencias. Por
ejemplo, el siguiente script:
print 1
x=2
print x
produce la salida
Expresiones. Una expresión es una combinación de valores, variables y operadores. Un valor por
sí mismo se considera una expresión, y también lo es una variable, así que las siguientes
expresiones son todas validas (asumiendo que la variable x tenga un valor asignado) por ejemplo:
17
x + 17
Operador Modulo. El operador módulo trabaja con enteros y obtiene el resto de la operación
consistente en dividir el primer operando por el segundo. En Python, el operador módulo es un
signo de porcentaje (%). La sintaxis es la misma que se usa para los demás operadores.
Comentarios. Los comentarios son más útiles cuando documentan características del código que
no resultan obvias. Es razonable asumir que el lector puede descifrar qué es lo que el código hace;
es mucho más útil explicarle por qué.
Expresiones booleanas. Las expresiones booleanas son aquellas que puede ser verdadera (True)
o falsa (False). True y False son valores especiales que pertenecen al tipo bol (booleano); no son
cadenas.
Un ejemplo usando el operador ==, que compara dos operandos y devuelve True si son
iguales y False en caso contrario:
>>> 8 == 8
True
>>> 12 == 20
False
x != y # x es distinto de y
x is y # x es lo mismo que y
x >7 and x <15 es verdadero solo cuando x es mayor que 7 y menor que 10.
Finalmente, el operador not niega una expresión booleana, de modo que not (x >y) es
verdadero si x >y es falso; es decir, si x es menor o igual que y.
if x > 0:
if x%4 == 0:
else:
Si al dividir x por 4 obtenemos como resto 0, entonces sabemos que x es par, y el programa
muestra un mensaje a tal efecto. Si esa condición es falsa, se ejecuta el segundo conjunto de
sentencias.
Captura de excepciones usando try y except. Existen estructuras de ejecución condicional dentro
de Python para manejar este tipo de errores esperados e inesperados, llamadas “try / except”. La
idea de try y except es que, si se sabe que cierta secuencia de instrucciones puede generar un
problema, sea posible añadir ciertas sentencias para que sean ejecutadas en caso de error. Estas
sentencias extras (el bloque except) serán ignoradas si no se produce ningún error.
Depuración. Los “trace back” muestra cuando se produce un error contienen un montón de
información, pero pueden resultar abrumadores. Las partes más útiles normalmente son: Qué tipo
de error se ha producido, y donde ha ocurrido. En general, los mensajes de error te dicen donde se
ha descubierto el problema, pero a menudo no es ahí exactamente donde se ha producido.
Llamadas a funciones. Es cuando se hace una llamada a una función específica la relación entre
los parámetros reales y los formales y ejecuta la función. Los parámetros se asocian normalmente
por posición, aunque, opcionalmente, también se pueden asociar por nombre. Si la función tiene
parámetros formales por omisión, no es necesario asociarles un parámetro real. La llamada a una
función devuelve un resultado que ha de ser recogido, bien asignándolo a una variable del tipo
adecuado, bien integrándolo en una expresión.
Funciones internas. Pueden ser usadas sin necesidad de tener que definirlas previamente. Los
creadores de Python han escrito un conjunto de funciones para resolver problemas comunes y las
han incluido en Python para que las podamos utilizar. Se deben tratar los nombres de las funciones
internas como si fueran palabras reservadas (es decir, evita usar “Max” como nombre para una
variable), además estas funciones no se limitan a buscar en cadenas. Pueden operar con cualquier
conjunto de valores
Funciones de conversión de tipos. Lo que hacen las funciones de conversión de tipos es que
convierten valores de un tipo a otro.
La función int toma cualquier valor y lo convierte en un entero, si puede, o se queja si no
puede:
int puede convertir valores en punto flotante a enteros, pero no los redondea; simplemente
corta y descarta la parte decimal:
-5
Añadiendo funciones nuevas. Es una función específica el nombre de una función nueva y la
secuencia de sentencias que se ejecutan cuando esa función es llamada. Una vez definida una
función, se puede reutilizar una y otra vez a lo largo de todo el programa.
Definición y usos. Las definiciones de funciones son ejecutadas exactamente igual que cualquier
otra sentencia, pero su resultado consiste en crear objetos del tipo función. Las sentencias dentro
de cada función son ejecutadas solamente cuando se llama a esa función, y la definición de una
función no genera ninguna salida.
def muestra_dos_veces(bruce):
print bruce
print bruce
Funciones productivas y funciones estériles. Las funciones estériles pueden mostrar algo en la
pantalla o tener cualquier otro efecto, pero no devuelven un valor. Si intentas asignar el resultado
a una variable, obtendrás un valor especial llamado None (nada).
Las funciones bien diseñadas a menudo resultan útiles para otros muchos programas. Una
vez que has escrito y depurado una, puedes reutilizarla. Dividir un programa largo en funciones te
permite depurar las partes de una en una y luego ensamblarlas juntas en una sola pieza, al crear
una función nueva te da oportunidad de dar nombre a un grupo de sentencias, lo cual hace a tu
programa más fácil de leer, entender, y depurar.
La sentencia (while). A las personas en general se les dificulta automatizar tareas repetitivas o
realizarlas varias veces sin errores ya que el agotamiento u otras variables pueden afectar el
proceso mientras que las maquinas no, ellas pueden automatizar procesos repetitivos sin ningún
problema y sin errores.
Bucles. Un ejemplo muy claro para los programadores es la constatación de que las instrucciones
del champú: “Enjabone, aclare, repita”, son un bucle infinito, ya que no existe una variable que
diga cuantas veces deba ejecutarse el proceso por ende este estará trabajando sin fin alguno.
Finalizar iteraciones con (continue). Cuando se está en un bucle es necesario terminar con la
iteración actual y pasar a la siguiente de forma rápida. En un problema como este se puede utilizar
la sentencia (continue) para saltar a la siguiente iteración sin terminar la ejecución del bucle.
Bucles definidos usando (for). Es sin duda también un ciclo sin fin, pero este para terminar debe
cumplir una condición, por ejemplo; seguir el ciclo hasta que se digite la palabra fin, esa condición
ya nos da una salida del bucle que fue definido.
Diseños de bucles. Es muy usual usar un bucle for o while para buscar atreves de una lista de
elementos y ubicarnos en los datos como el valor más grande o el más pequeño de los datos que
estamos revisando.
Cadenas. Es una secuencia de caracteres. En los cuales se puede acceder de uno en uno con el
operador corchete.
Len. Es utilizado para obtener la longitud de una cadena, es una función interna que devuelve el
número de caracteres de una cadena.
El operador in. Es un operador booleano el cual realiza la función de tomar dos cadenas y
devolver true (verdadero) si la primera aparece como subcadena dentro de la segunda.
Métodos de cadenas. Las cadenas son un claro ejemplo de objetos en Python. Es decir que
contiene tanto datos (la misma cadena) como métodos, son funciones las cuales se construyen
dentro de los propios objetos. Python tiene una función muy útil la cual es (dir) que lista os métodos
disponibles para un objeto. Otra función es (type) la cual muestra el tipo de cualquier objeto y (dir)
muestra los métodos disponibles.
1. Desde el sitio oficial, descargar el instalador Python 3.6 de 32 o 64 bit para Windows.
2. Se inicia la instalación ejecutando el archivo. Si es necesario, confirmar permisos de
administrador.
3. Una vez iniciado el instalador, en la ventana activar las casillas de las opciones: Install
launcher for all users (recommended) y Add Python 3.6 to PATH. Después, seleccionar
la opción Install Now.
6. Para probar Python acceder a la línea de comandos ejecutando símbolo del sistema
“CMD”. Después, escribir "Python" y dar “Enter” para iniciar el entorno interactivo de
Python, siendo posible la introducción de comandos Python.
Primero que todo se sabe que es la recopilación de código abierto que abarca una cadena
de conceptos, librerías y aplicaciones delineados para el desarrollo con Python y así mismo es una
distribución de Python que trabaja como un administrador de ambientes, un delegado de paquetes
y que tiene una colección en aumento de paquetes de código abierto.
Libre, de código abierto, con una documentación bastante detallada y una gran
comunidad.
Ayuda a desarrollar proyectos de ciencia de datos utilizando diversos IDE como Jupyter,
JupyterLab, Spyder y RStudio.
Cuenta con herramientas como Dask, numpy, pandas y Numba para analizar Datos.
Anaconda Navigator es una interfaz gráfica de usuario GUI bastante sencilla, pero con
un potencial enorme.
Está equipado de herramientas que permiten crear y compartir documentos que contienen
código con compilación en vivo, ecuaciones, descripciones y anotaciones.
Los proyectos son portables, lo que permite compartir proyectos con otros y ejecutar
proyectos en diferentes plataformas.
3. Marcar si la instalación solo será para el usuario actual o para los demás que existan en
el PC.
4. Indicar la carpeta de destino de la instalación y presionar “next”.
El material de estudio es de fácil acceso y con una cantidad amplia de resultados, tanto
documentación escaneada de libros físicos como blogs, páginas web y repositorios.
Anaconda Distribution: La Suite más completa para la Ciencia de datos con Python. (2018).
Recuperado de https://blog.desdelinux.net/ciencia-de-datos-con-python/
Solis, J., & perfil, V. (2018). Como instalar Anaconda en Windows 10 para programar en
Python. Recuperado de http://cicutp.blogspot.com/2017/12/como-instalar-anaconda-en-
windows-10.html