Unidad 1 - Introducción A La Programación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 59

CCPG1001

Fundamentos de Programación

Unidad 1 – Introducción a la Programación


Contenido
1.1 Conceptos Básicos de Lenguajes de Programación.
1.2 Interpretadores y Compiladores.
1.3 Ambientes de Programación.
1.4 Conceptos y Propiedades de Algoritmos.
Objetivos
• Distinguir las actividades de edición y compilación para la resolución
de problemas.
• Conocer los conceptos y propiedades de los algoritmos de
programación para la resolución de problemas.
Sociedad impulsada por los datos
• Cada día 2.5 trillones de bytes de data son creados.
Sociedad impulsada por los datos

42.6 K 452 K tweets


instagram
post

156 M 3.5 M
Emails búsquedas

16 M
mensajes de
texto
Sociedad impulsada por los datos
Sociedad impulsada por los datos
Sociedad impulsada por los datos
Machine Learning
• hHps://youtu.be/HKcO3-6TYr0
Ejemplos
• Amazon checkout-free store -
https://www.youtube.com/watch?v=S96KiMAylS8

• Almacenes robotizados
https://www.youtube.com/watch?v=wgBi1XDzI30

• Taxis autónomos
https://youtu.be/__EoOvVkEMo
The not company

• https://www.youtube.com/watch?v=OyIp8FCUEiE
1.1 Conceptos Básicos de Lenguajes de
Progamación
Que es un programa
• Es una serie de instrucciones para realizar una tarea y que es llevado a
cabo por un computador
¿Qué es programar?

PROGRAMA
Programar es..
• Es el proceso de crear un conjunto de instrucciones en un lenguaje
de programación que le indican a la computadora como realizar una
tarea
Conceptos Básicos
Computador: dispositivo capaz de realizar cálculos y
tomar decisiones lógicas mucho más rápido que los
humanos.

Programa: conjunto de instrucciones individuales que


son creadas por el programador.
Conceptos Básicos

El computador solo comprende ceros y unos.


Lenguaje de programación
• Lenguaje de Programación: lenguaje formal diseñado para realizar
procesos que pueden ser ejecutados por las computadoras (sintaxis,
gramática, y semántica).
Conceptos Básicos
Lenguaje de Programación: Para comunicarnos con los
computadores existen varias alternativas:
• Lenguaje de Máquina (Bits)
• Lenguaje de Bajo Nivel (Ensamblador)
• Lenguaje de Alto Nivel (Python, Scilab, C)
Lenguaje Bajo Nivel
• Códigos hexadecimales que representan las instrucciones, registros
de la CPU, direcciones de memoria o datos
Lenguaje Alto Nivel
• Diseñados para ser más parecido al lenguaje natural.
• Por lo tanto son más fáciles de escribir y leer
• Un programa escrito en un lenguaje de alto nivel debe ser trasladado a un
lenguaje que pueda ser entendido por la máquina antes de que este pueda
ser corrido.
Interpretadores y Compiladores
Interpretadores y Compiladores
• El paso de traducción de lenguaje natural a lenguaje de
máquina debe ocurrir en algún momento.
• Dependiendo de cuando, se llama:
• Interpretación: Cada vez que se ejecuta el programa,
durante la ejecución.
• Compilación: Una sola vez, al terminar de escribir el
programa.
• Ambas estrategias tienen ventajas y desventajas.
Interpretadores y Compiladores
Interpretador Compilador
1 vez
• Puede ejecutarse en el momento a • Se ejecuta mucho más rápido.
compilador
pesar de que existan errores. • Verifica la sintáxis de todo el
• Permite depurar el programa más programa desde el principio.
eficientemente.
• Comienza a ejecutarse con mayor
rapidez.
• Por qué?
Compilación vs Interpretación
¿Por qué debería aprender a programar?
• Computadores están en todas partes
• Agricultura
• Entretenimiento
• Manufactura, etc

• Habilidad de entender y comprender cómo funciona el mundo digital


a tu alrededor.
¿Por qué debería aprender a programar?
• Cuarta revolución industrial
https://www.youtube.com/watch?v=EeR2yTMW7Xg

• Robótica
• Análisis de Datos
• Internet de las cosas
• Impresoras 3D
• Realidad aumentada
¿Por qué debería aprender a programar?
• Te enseña una nueva forma de pensar y resolver problemas.
¿Por qué debería aprender a programar?
• La programación te permite crear algo totalmente nuevo de la nada y
llevar a cabo tus ideas.

h8ps://www.hackster.io/raspberry-pi/projects?sort=popular
¿Por qué debería aprender a programar?
• Es como tener superpoderes

“Programar es lo más cercano que


tenemos a un superpoder ”

- Drew Houston, creador de Dropbox.


¿Por qué debería aprender a programar?
• https://www.youtube.com/watch?v=Dv7gLpW91DM
1.2 Interpretadores y Compiladores
Python
• Un lenguaje de programación de alto nivel
• Interpretado
• Está basado en C
• De propósito general
Python - Historia
• Python fue creado por Guido van Rossum.
• En 1999, Guido van Rossum definió sus objetivos para Python:
• Un lenguaje fácil e intuitivo tan poderoso como los de los principales
competidores.
• De código abierto, para que cualquiera pueda contribuir a su desarrollo.
• El código que es tan comprensible como el inglés simple.
• Adecuado para tareas cotidianas, permitiendo tiempos de desarrollo cortos.
• La evolución del lenguaje se debe a la comunidad alrededor que
continúan desarrollando módulos para la Plataforma.
Python - Historia
Python – Origen del nombre

• El nombre del lenguaje de


programación Python proviene
de una vieja serie de comedia
de la BBC llamada Monty
Python's Flying Circus.
PopularitY of Programming Language
• hHps://pypl.github.io/PYPL.html
1.3 Ambientes de Programación
Ambientes de Programación
• Modo Interactivo
• Modo Scripting
• Usando IDE
Modo Interactivo
• Cuando los comandos son leídos desde una terminal.
• Usar este modo para pequeños tests.
• Para ingresar modo interaclvo solo escriba python (python3.6) en la
consola.
Integrated Development Environment (IDE)
• Un entorno de desarrollo integrado (IDE) es una suite de software
que consolida las herramientas básicas desarrolladores necesitan
para escribir y testear software
• Un IDE contiene un editor de código, un compilador o intérprete y un
depurador que el desarrollador tiene acceso a través de una única
interfaz gráfica de usuario (GUI).
Instalación PyCharm

IDE: PyCharm Edu


(Community Edition)

https://www.jetbrains.com/pycharm-edu/download/#section=windows
Ambientes de programación (IDE)
• Entorno en el que un programador desarrolla sus
aplicaciones.
• PyCharm
Interprete Online

Code typing area


Console area
https://repl.it/languages/python3
1.4 Conceptos y Propiedades de Algoritmos
Programar
• Es el proceso de crear un conjunto de instrucciones en un lenguaje
de programción que le indican a la computadora como realizar una
tarea
Problemas que nos enfrentamos diariamente
• Tomar el bus para ir a la Universidad
• Comer
• Jugar al fútbol
• Poner un foco
• Subir y bajar escaleras
Algoritmo
• Un algoritmo es una lista bien definida, ordenada y finita de
operaciones que permite llegar a la solución de un problema.
• Dado un estado inicial y una entrada, a través de pasos sucesivos y
bien definidos se llega a un estado final, obteniendo una solución.
Formalizar el proceso
• Hay que decirle exactamente al computador que hacer.
• Dividir la solución en pasos formales que el computador pueda seguir
hasta llegar a la solución.
• El programador no solo debe resolver el problema, debe tener la
habilidad de decirle al computador cómo resolverlo paso a paso.
Formalizar el proceso
• Se pueden usar estructuras formales que permitan
representar la solución.
• La formalización nos ayuda a escribir una algoritmo
que pueda ser analizado e interpretado por otras
personas a través de la formalización de la solución.
Características de los algoritmos
(Bien escrito?)

Claro

Algoritmo
Efec.vo Finito
¿Por qué 'ene que ser
claro, efec'vo y finito?
Hija en la cocina hay una bolsa
con papas, pelas la mitad y las
pones a hervir
Resultado…
Conceptos y Propiedades de Algoritmos

• Secuencia de instrucciones.
Algoritmo
• Resuelven un problema.

• Algoritmo codificado.
Programa
• Corre en una máquina.
Metodología para la resolución de un problema usando un
computador
•Cómo va a resolver el •Implementar la solución
•Qué debe hacer el programa
•Definir y entender el problema problema el programa en un lenguaje formal que
•Conocer las variables de entrada, •Divide y vencerás el computador entienda
los procesos y las salidas •Algoritmo que lo resuelve
•Iden<ficar las áreas de •Técnicas de representación
conocimiento de la solución

ANÁLISIS DEL DISEÑO DE LA


PROBLEMA IMPLEMENTACIÓN RESULTADO
PROBLEMA SOLUCIÓN

REVISIÓN

•La solución es correcta?


•Hay una manera más
sencilla de obtenerla?
Tarea
Trabajo Autónomo – aula virtual y control de lectura
en base del trabajo autónomo

TIP:
Revisa periódicamante el Sidweb, la sección de Plan de Clase y Trabajos
Bibliografía
• Rodríguez, Luis. Python Programación Luis Rodríguez, Python
Programación.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy