You are on page 1of 25

Unidad 1 Introduccin a la Programacin

Contenido
1.1 Conceptos Bsicos de Lenguajes de Programacin.
1.2 Interpretadores y Compiladores.
1.3 Ambientes de Programacin.
1.4 Conceptos y Propiedades de Algoritmos.
Objetivos
Distinguir las actividades de edicin y compilacin para la resolucin
de problemas.
Conocer los conceptos y propiedades de los algoritmos de
programacin para la resolucin de problemas
1.1 Conceptos Bsicos de Lenguajes de
Progamacin
Conceptos Bsicos
Computador: dispositivo capaz de realizar clculos y
tomar decisiones lgicas mucho ms rpido que los
humanos.
Programa: conjunto de instrucciones individuales que
son creadas por el programador.
Conceptos Bsicos
Lenguaje de Programacin: lenguaje formal diseado
para realizar procesos que pueden ser ejecutados por
las computadoras (sintaxis, gramtica, y semntica).

El computador solo comprende ceros y unos.


Conceptos Bsicos
Lenguaje de Programacin: Para comunicarnos con los
computadores existen varias alternativas:
Lenguaje de Mquina (Bits)
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel (Python, Scilab, C)
1.2 Interpretadores y Compiladores
Interpretadores y Compiladores
El paso de traduccin de lenguaje natural a lenguaje de
mquina debe ocurrir en algn momento.
Dependiendo de cuando, se llama:
Interpretacin: Cada vez que se ejecuta el programa,
durante la ejecucin.
Compilacin: Una sola vez, al terminar de escribir el
programa.
Ambas estrategias tienen ventajas y desventajas.
Interpretadores y Compiladores
Interpretador Compilador

Puede ejecutarse en el momento a Se ejecuta mucho ms rpido.


pesar de que existan errores. Verifica la sintxis de todo el
Permite depurar el programa ms programa desde el principio.
eficientemente.
Comienza a ejecutarse con mayor
rapidez.
Por qu?
1.3 Ambientes de Programacin
Ambientes de Programacin

Code typing area


Console area
https://repl.it/languages/python3
Ambientes de Programacin

https://www.python.org/downloads/
Ambientes de Programacin

IDE: PyCharm
(Community Edition)

https://www.jetbrains.com/pycharm/download/#section=windows
Ambientes de programacin
Entorno en el que un programador desarrolla sus
aplicaciones.
PyCharm
1.4 Conceptos y Propiedades de Algoritmos
Problemas que nos enfrentamos diariamente
Tomar el bus para ir a la Universidad
Comer
Jugar al ftbol
Poner un foco
Subir y bajar escaleras
Metodologa para la resolucin de un
problema usando un computador
La solucin es correcta?
Hay una manera ms REVISIN
sencilla de obtenerla?

ANLISIS DEL DISEO DE LA


IMPLEMENTACIN
PROBLEMA SOLUCIN

Qu debe hacer el programa


Definir y entender el
Cmo va a resolver el Implementar la solucin
problema problema el programa en un lenguaje formal que
Conocer las variables de Divide y vencers el computador entienda
entrada, los procesos y las Algoritmo que lo resuelve
salidas Tcnicas de
Identificar las reas de representacin de la
conocimiento
solucin
Algoritmo
Un algoritmo es una lista bien definida, ordenada y finita de
operaciones que permite llegar a la solucin de un problema.
Dado un estado inicial y una entrada, a travs de pasos sucesivos y
bien definidos se llega a un estado final, obteniendo una solucin.
Formalizar el proceso
Hay que decirle exactamente al computador que hacer.
Dividir la solucin en pasos formales que el computador pueda seguir
hasta llegar a la solucin.
El programador no solo debe resolver el problema, debe tener la
habilidad de decirle al computador cmo resolverlo paso a paso.
Formalizar el proceso
Se pueden usar estructuras formales que permitan
representar la solucin.
La formalizacin nos ayuda a escribir una algoritmo
que pueda ser analizado e interpretado por otras
personas a travs de la formalizacin de la solucin.
Caractersticas de los algoritmos
(Bien escrito?)
Claro

Algoritmo
Efectivo Finito
Conceptos y Propiedades de Algoritmos

Secuencia de instrucciones.
Algoritmo
Resuelven un problema.

Algoritmo codificado.
Programa
Corre en una mquina.
Tarea
Ingresar al Sidweb y revisar la seccin de Trabajos

TIP:
Revisa periodicamante el Sidweb, la seccin de Plan de Clase y Trabajos
Bibliografa
Rodrguez, Luis. Python Programacin Luis Rodrguez, Python
Programacin.
Downey, A., Elkner, J., & Meyers, C. (2012). How to think like a
computer scientist: learning with python. Green Tea Press, Wellesley,
Massachusetts.