Sei sulla pagina 1di 27

Fundamentos de Programación

Miguel Realpe
mrealpe@fiec.espol.edu.ec
Contenido General

1. Introducción a la programación
2. Variables y tipos de datos
3. Estructuras de Control
4. Listas
5. Arreglos N-dimensionales
6. Funciones
7. Colecciones
8. Archivos: Entrada/Salida
9. Procesamiento de datos
1. Introducción a la programación

Fundamentos de programación
CCPG1001
Introducción a la programación

En este capítulo se introducirán conceptos relacionados a:


Conceptos básicos de lenguajes de programación.
Interpretadores y compiladores.
Conceptos y propiedades de algoritmos.
Ambientes de programación.

Objetivos de Aprendizaje
Distinguir entre las actividades de edición y compilación para
ejecutar un programa en un lenguaje de programación.
¿Por qué aprender a programar?

Entre otras cosas me permite:


Automatizar tareas repetitivas y ser más productivo
Manejar alta densidad de datos
Comprender con facilidad código de libre acceso creado por otras
personas

Otras razones:
Fomenta la creatividad
Crear cosas de interés personal
Resolver problemas
¿Por qué aprender a programar?
¿Por qué aprender a programar?
Algunos conceptos básicos

La informática es la rama del conocimiento que nos ayuda


a resolver problemas por medio del uso del computador
Los problemas que se pueden resolver con el computador
están íntimamente ligados al proceso de automatizar
actividades realizadas por los seres humanos

Ejemplos:

Llevar las cuentas


Organizar las reuniones
Enviar y recibir mensajes
Buscar información
Algunos conceptos básicos

La informática es la rama del conocimiento que nos ayuda


a resolver problemas por medio del uso del computador
Los problemas que se pueden resolver con el computador
están íntimamente ligados al proceso de automatizar
actividades realizadas por los seres humanos

Cuántas palabras tiene el texto anterior? len(texto.split())


Que palabra se repite más veces?

dic={}
for letra in texto.split():
dic[letra] = dic.get(letra,0)+1
v = list(dic.values())
k = list(dic.keys())
k[v.index(max(v))]
Algunos conceptos básicos
Debería ser más sencillo entender que es un programa si pensásemos en un problema que pudiera
resolverse mediante programación y a continuación estudiásemos como sería el programa que
resolviera ese problema
Imaginemos que estás haciendo una investigación sobre estadística social en los mensajes de
Facebook y estas interesado en saber cuál es la palabra que se usa con mayor frecuencia en una
serie de mensajes Podrías imprimir la cadena de mensajes de Facebook y estudiar detenidamente el
texto buscando la palabra mas común pero eso te llevaría mucho tiempo y probablemente
cometerías errores
Sería más inteligente escribir un programa en Python para realizar la tarea rápidamente y con
precisión y así poder pasar el fin de semana haciendo algo divertido

Cuántas palabras tiene el texto anterior? len(texto.split())


Que palabra se repite más veces?

dic={}
for letra in texto.split():
dic[letra] = dic.get(letra,0)+1
v = list(dic.values())
k = list(dic.keys())
k[v.index(max(v))]`
Algunos conceptos básicos

El computador es un dispositivo capaz de realizar cálculos


y tomar decisiones lógicas mucho más rápido que los
humanos.

El computador procesa datos bajo el control de


instrucciones secuenciales a los que llamamos programas.

Estos programas se escriben en lenguajes de


programación.
Lenguajes de Programación

El computador solo comprende unos y ceros.

a  01100001

¿En que lenguaje nos comunicamos?


Binario/Hexadecimal
Inglés, Español, Francés
Lenguajes de Programación

Para comunicarnos con los computadores El ensamblador no es mucho


existen varias
El lenguaje de máquinaalternativas:
práctico.
es poco
mejor. Se escriben muchas
líneas para programas
Lenguaje de Máquina (Bits) relativamente sencillos.
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel (Python, Java, C…)
Parecidos al inglés con notación matemática. Se programa mucho más
rápido.
Lenguaje Alto nivel
Natural
Bajo Nivel

Máquina Lenguaje del


Computador
Compilación / Interpretación

El paso de traducción de lenguaje natural a lenguaje de


máquina debe ocurrir en algún momento.

Dependiendo de cuando, se llama:

Compilación: Una sola vez, al terminar de escribir el


programa.

Interpretación: Cada vez que se ejecuta el programa,


durante la ejecución.
Ejemplos
C
Compilado Python
Interpretado
Compiladores vs. Interpretadores

Compilador Interpretador

1. Compilador toma como 1. Interpretador toma como


entrada todo el código fuente entrada una simple instrucción
2. Genera un código intermedio 2. No se genera código
de objeto independiente del intermedio
compilador 3. Es más lento de ejecutar
3. Es más rápido de ejecutar 4. Los programas necesitan ser
4. Los programas no necesitan interpretados cada vez que se
ser compilados cada vez que ejecutan
se ejecutan 5. Los errores son mostrados por
5. Los errores son mostrados cada instrucción interpretada
después que se verifica todo
el programa
Metodología para la resolución de un
problema usando un computador

• La solución es
correcta?
• Evaluar valores críticos REVISIÓN
• Hay una manera más
sencilla de obtenerla?

ANÁLISIS DEL DISEÑO DE LA


IMPLEMENTACIÓN
PROBLEMA SOLUCIÓN

• Qué debe hacer el


• Cómo va a • Implementar la
programa
resolver el solución en un
• Definir y entender el
problema el lenguaje formal
problema
programa que el
• Conocer las
• Divide y vencerás computador
variables de
entienda
entrada, los
procesos y las
salidas
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.
Algoritmo (una receta de cocina)

•Podemos considerarlo como una receta de cocina, donde los


ingredientes son la entradas al algoritmo.

•La receta nos indica una serie de pasos finitos que se deben
realizar para obtener el resultado, que en este caso es el plato
final preparado.

•Puede existir más de una solución al mismo problema (varias


maneras de cocinar el mismo plato), sin embargo el resultado
final es el mismo, con sus pequeñas variantes propias de la
forma de resolverlo (el mismo plato puede tener mejor sabor si
se lo prepara de una forma que de otra).
Características de los algoritmos

Los algoritmos deben ser:

• Fáciles de construir y entender: instrucciones simples,


claras y precisas

• Exactos: con suficientes instrucciones para resolver el


problema

• Finitos: tener principio y fin

• Reproducibles: deben entregar los mismos resultados si


se utilizan los mismos datos de entrada
Ambientes de programación
Lenguaje a utilizar: Python 3.6.3

• https://www.python.org/downloads/
Instalación:
https://youtu.be/9fNKy9zOPkg

Python Consola
(Modo Interactivo)

cmd  python
Ambientes de programación.

Archivos de texto plano

Los archivos de texto plano (plain text), son aquellos


formados exclusivamente por texto (sólo caracteres), sin
ningún formato. También son llamados archivos de texto
llano, simple o sin formato.

Son archivos que contienen solo texto, no hay información


sobre el tipo de letra, ni formas (negrita, subrayados...), ni
tamaños.
Ambientes de programación.

Modo script
Ambientes de programación.

IDE

El Entorno de Desarrollo Integrado (IDE), es un software


que permite programar de manera fácil al proveer una
interfaz visual para detectar errores, depurar y ejecutar los
programas

Se programa en el lenguaje de programación (Python),


NO en el IDE

Se puede hacer programas sin IDE. Hay que efectuar todo


el proceso: compilar, detectar errores, etc. sin ayuda de un
entorno de desarrollo.
Ambientes de programación.

IDE a utilizar: PyCharm (community)

•https://www.jetbrains.com/pycharm/download
Ambientes de programación.

IDE
Actividades Autónomas
Tarea Autónoma (jueves):
Instalar Pycharm
Ver videos:
https://youtu.be/vDa5Vt002IY
https://youtu.be/9YaC2_GdmJ8
Escribir un programa que realiza operaciones aritméticas básicas

Lectura (lunes):
[1] Usando el intérprete de Python (Pág 5-14).
[2] Cap 5.6 Algunos elementos básicos para escribir programas
Principalmente (5.6.1 - 5.6.4)

Práctica Autónoma (lunes):


Unidad2 leer y comprender

Potrebbero piacerti anche