Fundamentos de Programacion - SESION 3
Fundamentos de Programacion - SESION 3
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
Indicadores
de
de Logro
de Logro
Logro Al terminar esta sesión, el estudiante estará en capacidad de:
Conceptos
Conceptos
1) Comprender el ciclo básico de programación de la
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
computadora
Python
Python
TEMA
TEMA 3:
3: IDLE
IDLE
3) Saber utilizar un ambiente de desarrollo integrado
(IDE)
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro 1) Python: lenguaje de programación interpretado de
propósito general multiparadigma, ya que soporta
Conceptos
Conceptos
Conceptos orientación a objetos, programación imperativa y,
en menor medida, programación funcional
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python 2) Compilador: Un compilador es un programa de
computadora que traduce un programa escrito en
EMA
EMA 2:
2: Proceso
Proceso de
de un lenguaje de programación al lenguaje de
la
la Programación
Programación máquina
TEMA
TEMA 3:
3: IDLE
IDLE 3) Lenguaje Interpretado: Lenguaje de
programación que sólo realiza la traducción al
lenguaje de máquina a medida que sea necesario,
Ejercicios
Ejercicios típicamente, instrucción por instrucción
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de 3) Orientación a Objetos: paradigma de
de Logro
Logro
programación que usa objetos en el diseño de las
aplicaciones y programas informáticos
Conceptos
Conceptos
Conceptos
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores 6) Programación Funcional: Es un paradigma de
de
de Logro
Logro programación declarativa basado en el uso de
funciones matemáticas, en contraste con la
Conceptos
Conceptos
Conceptos programación imperativa, que enfatiza los cambios
de estado mediante el cambio del valor de las
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
variables
Python
Python
7) IDE: Sigla de Integrated Development
EMA
EMA 2:
2: Proceso
Proceso de
de Environment (Entorno de Desarrollo integrado) es
la
la Programación
Programación
una aplicación de software, que proporciona
servicios integrales para facilitarle al programador
TEMA
TEMA 3:
3: IDLE
IDLE de computadora el desarrollo de software
Ejercicios
8) Python IDLE: Es un entorno de desarrollo
Ejercicios
integrado libre, hecho para el lenguaje de
programación Python que permite tanto la edición
como el seguimiento y ejecución de los programas
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
¿Qué es Python?
de Logro
Logro
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje • Propósito general: Se puede destinar para acceso a
Python
Python datos, comunicación entre equipos, captura de datos,
cálculos matemáticos, entre otras múltiples funciones
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
• Concurrente: Permite ejecutar múltiples tareas a la
vez
TEMA
TEMA 3:
3: IDLE
IDLE
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Conceptos
Conceptos
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro Python fue diseñado para ser leído con facilidad.
Conceptos
El contenido de los bloques de código (condicionales,
Conceptos
ciclos, funciones, clases, etc.) es delimitado mediante
espacios o tabuladores, conocidos como indentación.
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje
Python
Se diferencia de otros lenguajes de programación que
Python
mantienen como costumbre declarar los bloques
EMA mediante un conjunto de caracteres (por ejemplo llaves
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación {}).
TEMA
TEMA 3:
3: IDLE
IDLE
La intención con el lenguaje Python es permitir que los
desarrolladores de aplicaciones puedan escribir el
programa una vez y luego poder ejecutarlo en cualquier
Ejercicios
Ejercicios plataforma.
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
El siguiente esquema ilustra como se logra este
propósito
Conceptos
Conceptos
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
TEMA
TEMA 3:
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Conceptos
Conceptos
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Conceptos
Conceptos Para poder realizar la codificación de un programa en
Python, es necesario comprender los siguientes
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje
conceptos:
Python
Python
• Instrucción: Son las unidades ejecutables más
EMA
EMA 2:
la
2: Proceso
Proceso de
de pequeñas de un programa. Generalmente se escriben
la Programación
Programación
en una línea. Constan de palabras clave o reservadas
como (import, def, if, for, while, if ... else, etc.),
TEMA
TEMA 3:
3: IDLE
IDLE expresiones, declaraciones, o llamadas a funciones
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores • Tipos de Datos: Toda variable que se utilice en un
de
de Logro
Logro programa en Python debe tener un tipo de dato, pero
a diferencia de muchos lenguajes, no requiere
Conceptos
Conceptos declararse. Los siguientes son los tipos que más se
utilizarán:
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje
Python
Python Tipo Descripción Ejemplo
int Corresponde a números enteros edad = 35;
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación float Corresponde a números reales tasa = 0.025;
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
• Instrucción de Asignación: El lenguaje Python
Indicadores
Indicadores permite asignar el resultado de una expresión a una
de
de Logro
Logro
variable compatible. Para ello se utiliza el símbolo
igual (=). Para las expresiones están disponibles los
Conceptos
Conceptos siguientes operadores
TEMA 1:
1: Lenguaje
Operación Operador Ejemplo
lTEMA
Lenguaje Python
Lenguaje
Python
Python
Suma + suma = a + b;
Resta - diferencia = c – d;
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
Multiplicación * multiplicación = x * y;
TEMA
TEMA 3:
3: IDLE
IDLE División / division = m / n;
División Entera // de = s / t
Ejercicios Potenciación ** potencia = x ** y
Ejercicios
Módulo (residuo % residuo = m % n;
de la división)
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
• Instrucciones Básicas: Las siguientes son las
de
de Logro
Logro instrucciones fundamentales para programar en el
lenguaje Python
Conceptos
Conceptos
Instrucciones Básicas
Instrucción Descripción Sintaxis
TEMA 1:
1: Lenguaje
El Lenguaje
TEMA Java
Lenguaje
Python
Python Asignación Permite llevar a una Variable = Expresión;
variable el resultado de
una expresión
EMA
EMA 2:
2: Proceso
Proceso de
de
la Condicional Ejecuta una secuencia de if Condición :
la Programación
Programación
instrucciones Instrucciones
dependiendo del valor de [else :
TEMA
verdad de una condición Instrucciones]
TEMA 3:
3: IDLE
IDLE
Multicondicional Evalúa cada uno de los if Condición :
casos de una variable Instrucciones
Ejercicios
Ejercicios
para ejecutar en cada elif Condición :
caso un bloque de Instrucciones
instrucciones [else :
Instrucciones]
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Instrucciones Básicas
Conceptos
Conceptos Instrucción Descripción Sintaxis
Ciclo PARA Repite una secuencia de for i in range(0,n+1):
instrucciones un número Instrucciones
TEMA
lTEMA 1:
1: Lenguaje
Lenguaje Python
Lenguaje conocido de veces
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de Ciclo Repite una secuencia de while x > 0
la
la Programación
Programación
MIENTRAS instrucciones un número Instrucciones
desconocido de veces
dependiendo del valor de
TEMA
TEMA 3:
3: IDLE
IDLE verdad de una condición
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
La programación de la computadora es un proceso
de Logro
Logro
que puede llegar a ser tan complejo dependiendo
del tipo de requerimiento y las interfaces
Conceptos
Conceptos involucradas. En su forma más simple sería:
TEMA
TEMA 1:
1: Lenguaje
Lenguaje Problema
Python
Python
Programa que
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
la Análisis
de resuelve el
laProgramación
la Programación
Programación
problema
Datos de Entrada
TEMA
TEMA 3:
3: IDLE
IDLE Datos salida Ejecución
Proceso (Cálculos) Programa
Ejercicios
Ejercicios Edición Edición Programa
Algoritmo
Algoritmo Programa Fuente
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Conceptos
Conceptos El desarrollo de toda aplicación inicia con un
requerimiento para lo cual debe haber mínimo un
TEMA
enunciado:
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
“Elaborar una aplicación que permita calcular el
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
de
la valor una cuota para pagar una deuda, conocidos el
laProgramación
la Programación
Programación monto, la tasa de interés y el número de períodos
(plazo)”
TEMA
TEMA 3:
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Comprender el problema
Conceptos
Conceptos Para solucionar el problema se deben consultar algunos
conceptos de análisis financiero.
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python En este caso se trata de la fórmula que permita calcular
el valor de una cuota fija dado el monto del préstamo,
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
de
la la tasa de interés y el plazo.
laProgramación
la Programación
Programación La fórmula sería:
Donde: A p
1 i i
n
TEMA
TEMA 3:
3: IDLE
IDLE
• A es el valor de la cuota 1 i n
1
• p es el valor prestado
Ejercicios
Ejercicios • i es la tasa de interés
• n es el plazo
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
Pasos iniciales en el Proceso de Programación
de
de Logro
Logro
Comprender el problema
Por ejemplo, una entidad bancaria le presta $ 1’000.000 a 1 año
Conceptos
Conceptos (12 meses) con una tasa del 1.9% mensual.
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
• p = 1000000
• i = 1.9% = 0.019 A 1000000
1 0.019 0.019
12
Proceso de la
• n = 12 1 0.019 12 1
EMA
EMA 2:
2: Proceso
Proceso de
de
laProgramación
la Programación
Programación
A 1000000
1.019 0.019
12
1000000
1.253401 0.019
1.01912 1 1.253401 1
TEMA
TEMA 3:
3: IDLE
IDLE
0.023814
A 1000000 1000000 0.093980 93980
Ejercicios
Ejercicios 0. 253401
Quiere decir que el valor de la cuota sería de $ 93.980 durante 12
meses
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Datos de Entrada
Conceptos
Conceptos
Para poder calcular el valor de la cuota de una deuda, se debe
suministrar:
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
• El monto de la deuda. Identificado mediante la variable p.
Python
• La tasa de interés. Identificado mediante la variable i. Se
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
de
la debe tener en cuenta que se suministra un porcentaje,
laProgramación
la Programación
Programación cuyo valor verdadero es dividir el porcentaje por 100.
• El plazo o número de períodos. Identificado mediante la
TEMA
TEMA 3:
3: IDLE
IDLE
variable n.
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Datos de Salida
Conceptos
Conceptos
El aplicativo como resultado debe entregar:
• El valor de la cuota. Identificado mediante la
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python variable A.
Python
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
de
la
laProgramación
la Programación
Programación
TEMA
TEMA 3:
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Proceso
Conceptos
Conceptos Inicialmente la tasa de interés debe ser dividida por 100:
i = i / 100
TEMA
TEMA 1:
1: Lenguaje
Lenguaje Luego se debe calcular el valor de la cuota utilizando la
Python
Python fórmula:
A p
1 i i
n
Proceso de la
EMA
EMA 2:
la
2: Proceso
Proceso de
de
laProgramación
Programación
Programación
1 i n 1
Cuya linealización sería:
TEMA
TEMA 3:
3: IDLE
IDLE
A = p*(1+i)^n*i/((1+i)^n-1)
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Pasos iniciales en el Proceso de Programación
Indicadores
de
de Logro
Logro
En consecuencia, el algoritmo luciría así:
Conceptos
Conceptos Proceso CalculoCuota
Escribir "Calculo del valor de una cuota de un prestamo"
TEMA
TEMA 1: 1: Lenguaje
Lenguaje //Datos de entrada
Python
Python Escribir "Monto?"
Leer Monto
EMA
EMA 2:
Proceso
2: Proceso
de
Proceso de
la
la Programación
Programación
la Programación
de Escribir "Tasa de interes?"
Leer Tasa
Escribir "Plazo?"
TEMA 3: IDLE
TEMA 3: IDLE
Leer Plazo
//Proceso
Ejercicios
Ejercicios
Tasa = Tasa / 100
Cuota = Monto * (1 + Tasa) ^ Plazo * Tasa / ((1 + Tasa) ^ Plazo - 1)
//Datos de salida
Escribir "La cuota es " , Cuota
FinProceso
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Pasos iniciales en el Proceso de Programación
de Logro
Logro
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
EMA Proceso
EMA 2:
2: Proceso
de
Proceso de
de
la
laProgramación
la Programación
Programación
TEMA
TEMA 3:
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Conceptos
Conceptos
¿Cómo editar un programa en Python?
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python La Python IDLE (Siglas en inglés de Integrated
DeveLopment Environment) es el software que
EMA
EMA 2:
2: Proceso
Proceso de
de permite las operaciones de edición y ejecución de
la
la Programación
Programación programas en el lenguaje Python. Basta con
cargar el ejecutable de dicho programa desde el
Python
TEMA
TEMA 3: IDLE
3: IDLE
IDLE sistema operativo en que se esté trabajando.
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
Se carga el aplicativo conocido como el Shell de Python, el
de Logro
Logro
cual permite a su vez llamar al editor de los programas:
Conceptos
Conceptos
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
Python
TEMA
TEMA 3: IDLE
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
El editor de programas es similar a un editor de texto básico
de Logro
Logro
como el bloc de notas:
Conceptos
Conceptos
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
Python
TEMA
TEMA 3: IDLE
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
La diferencia radica en que se resaltan en colores los
de
de Logro
Logro diferentes elementos del programa, como se puede apreciar
en la siguiente ilustración que corresponde a la edición del
Conceptos
Conceptos anterior algoritmo en el lenguaje Python:
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
Python
TEMA
TEMA 3: IDLE
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro En el anterior código del programa, es importante
comprender las siguientes instrucciones:
Conceptos
Conceptos
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
La ejecución de este programa se realizaría a través de
de Logro
Logro
ventana Shell o consola de comandos y se vería así:
Conceptos
Conceptos
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Python
Python
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
Python
TEMA
TEMA 3: IDLE
3: IDLE
IDLE
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil
Indicadores
Indicadores
de
de Logro
Logro
Conceptos
Conceptos
1) El cálculo del valor devengado por un empleado en
una compañía se realiza de la siguiente manera:
TEMA
TEMA 1:
1: Lenguaje
Lenguaje
Se multiplica el número de horas laboradas en el
Python
Python período de pago por el valor hora básico.
El valor hora básico se calcula dividiendo el
EMA
EMA 2:
2: Proceso
Proceso de
de
la
la Programación
Programación
salario básico mensual por 240 (30 días por 8
horas)
TEMA
TEMA 3:
3: IDLE
IDLE
Se multiplica el número de horas extras
laboradas en el período de pago por el valor hora
básico incrementado en un porcentaje
Ejercicios
Ejercicios
Ejercicios
FUNDAMENTOS DE PROGRAMACIÓN
Ingeniería Civil