SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Fundamentos de Programación Universidad de Santiago de Chile
1
CLASE 2
EXPRESIONES MATEMÁTICAS
Fundamentos de programación
INTRODUCCIÓN
El objetivo del curso es aprender las nociones básicas de
programación
Programar significa escribir órdenes o instrucciones para que un
computador pueda ejecutarlas
Como los computadores no son máquinas inteligentes, necesitamos
escribir estas instrucciones en un lenguaje que este pueda
comprender
Para ello usaremos….
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
2
EXPRESIONES MATEMÁTICAS
Uno de los primeros pasos para aprender un lenguaje de
programación es el uso de este para realizar aritmética básica
Para ello Python nos provee de los operadores matemáticos
binarios básicos:
Suma (+) → 2 + 2 = 4
Resta (-) → 4 – 5 = -1
Multiplicación (*) → 3 * 4 = 12
División (/) → 8 / 2 = 4
Y otros un poco más complejos…
Fundamentos de programación
EXPRESIONES MATEMÁTICAS
Como los operadores unarios (se les llama así porque requieren
sólo un argumento):
Identidad (+) → + 1 = 1
Cambio de signo (-) → - 6 = -6
Y los operadores binarios (requieren dos argumentos para
entregar el resultado) :
Exponenciación (potencia) (**) → 2 ** 4 = 16
Módulo (%) (resto de la división entera) → 6 % 4 = 2
Revisemos un ejemplo sólo con los operadores sencillos…
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
2
EXPRESIONES MATEMÁTICAS
Uno de los primeros pasos para aprender un lenguaje de
programación es el uso de este para realizar aritmética básica
Para ello Python nos provee de los operadores matemáticos
binarios básicos:
Suma (+) → 2 + 2 = 4
Resta (-) → 4 – 5 = -1
Multiplicación (*) → 3 * 4 = 12
División (/) → 8 / 2 = 4
Y otros un poco más complejos…
Fundamentos de programación
EXPRESIONES MATEMÁTICAS
Como los operadores unarios (se les llama así porque requieren
sólo un argumento):
Identidad (+) → + 1 = 1
Cambio de signo (-) → - 6 = -6
Y los operadores binarios (requieren dos argumentos para
entregar el resultado) :
Exponenciación (potencia) (**) → 2 ** 4 = 16
Módulo (%) (resto de la división entera) → 6 % 4 = 2
Revisemos un ejemplo sólo con los operadores sencillos…
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
4
PRECEDENCIA DE OPERADORES
Fundamentos de programación
PRECEDENCIA DE OPERADORES
Para alterar las reglas de precedencia, podemos utilizar
paréntesis, al igual que en matemáticas
Por ejemplo, la operación anterior:
2 + 2 / 4 * 9 – 12 * 3
Podemos escribirla de la siguiente forma para que tenga la misma
precedencia de la expresión matemática:
2 + 2 / (4 * 9) – 12 * 3
Pero seguimos sin obtener el resultado deseado
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
5
TIPOS DE DATOS
Esto ocurre porque en la expresión todos los números con los que
se opera son enteros
Para Python, si una expresión sólo tiene números enteros,
entonces se asume que el usuario quiere una respuesta del
mismo tipo
Es común en los lenguajes de programación indicar el tipo de
dato, pues no sólo se trabaja con números, sino también con
letras, booleanos (verdadero y falso) y otros tipos de datos más
complejos
Veamos ahora las distintas representaciones que Python ofrece
para los números
Fundamentos de programación
TIPOS DE DATOS
En Python existen tres clases de números:
Enteros (int): para enteros en el intervalo [-2.147.483.648,
2.147.483.647]
1000 0000 0000 0000 0000 0000 0000 0000
0111 1111 1111 1111 1111 1111 1111 1111
Enteros largos (long): para enteros fuera del rango de los enteros
de 4 bytes (ej: 50394034940032L)
Flotantes o float: para números no enteros, no son iguales a los
números reales (ej: 2,54)
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
6
Como Python prefiere mantener el tipo de dato
Si se operan dos enteros, entonces Python intentará
devolver un resultado entero
Pero si se combinan tipos numéricos en una expresión
aritmética, Python generaliza todos los valores
involucrados en la subexpresiones a evaluar antes de
operarlos
Enteros largos son más generales que los enteros
Los flotantes son más generales que los enteros
largos y los enteros
TIPOS DE DATOS
Fundamentos de programación
Si escribimos el ejemplo de esta forma:
2 + 2 / (4.0 * 9) - 12 * 3
Nos entrega el mismo resultado que la calculadora, debido a que:
Hemos modificado la precedencia para que calcule la
multiplicación previo a la división
La primera operación (4.0 * 9), resulta en un flotante, por lo
que toda la expresión se va transformando a flotante paso a paso
TIPOS DE DATOS
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
7
2 + 2 / (4.0 * 9) - 12 * 3
2 + 2 / 36.0 – 12 * 3
2 + 0.05555555555555555 – 12 * 3
2 + 0.05555555555555555 – 36
2.05555555555555555 – 36
-33.944444444444443
TIPOS DE DATOS
Fundamentos de programación
2.0 + 2 /(4 * 9) - 12 * 3
2.0 + 2 / 36 - 12 * 3
2.0 + 0 - 12 * 3
2.0 + 0 – 36
2.0 – 36
-34.0
TIPOS DE DATOS
Nótese que si ponemos el
flotante en otra parte de la
expresión el resultado sigue
siendo errado
Debido a que el cambio de
tipo no afecta a la expresión
2 / 4 * 9
Por lo que Python la evalúa
como una expresión entera y
sólo realiza la conversión a
flotante en el último paso de
la evaluaciónFundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
8
RECORDANDO VALORES
Supongamos que el resultado de la expresión anterior es parte de
una expresión más grande, por ejemplo:
Donde el resultado de la expresión anterior sólo es el exponente de π
con 16 decimales (3.1415926535897931)
Escribir la expresión completa podría significarnos un error y
tendríamos que volver a escribirla completa
Sin embargo, Python nos provee de una forma para almacenar
valores para no tener que escribirlos en repetidas ocasiones
Fundamentos de programación
ASIGNACIÓN
Para ello podemos usar la asignación, que es una sentencia con la
siguiente estructura:
Por ejemplo
resultado = 2 + 2 / (4.0 * 9) - 12 * 3
Con la asignación se definen variables y constantes para almacenar
valores
<Identificador> = <expresión>
¡Recuerden que no es una comparación ni una
equivalencia matemática!
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
9
Una asignación es una sentencia con la siguiente estructura:
• Reglas de un identificador:
– El primer carácter no puede ser
un dígito
– Puede llevar letras, dígitos y el
carácter subrayado ( _ )
– No puede coincidir con palabras
reservadas:
• and, assert, break, class,
continue, def, del, elif, else,
except, exec, finally, for, from,
global, if, import, in, is, lambda,
not, or, pass, print, raise,
return, try, while, yield
• Puede ser
– un valor constante (un
número o texto)
– una operación entre números
– una operación entre variables
y constantes previamente
declaradas
– Mezcla entre operaciones,
variables y números
<Identificador> = <expresión>
ASIGNACIÓN
Fundamentos de programación
Entonces, para la expresión anterior, podemos definir:
NUMERO_PI = 3.1415926535897931
expresion = 2 + 2 / (4.0 * 9) - 12 * 3
resultadoFinal = NUMERO_PI ** expresion
Que es equivalente a:
3.1415926535897931 ** (2 + 2 / (4.0 * 9) - 12 * 3)
Nótese que escribimos los nombres de los identificadores usando
distintas reglas, esto no es arbitrario
ASIGNACIÓN
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
10
El valor de π fue asignado al identificador NUMERO_PI, el cual está
escrito en mayúsculas, esto ocurre porque es una constante
Las constantes se escriben con mayúsculas y separando las
palabras con guiones bajos (_) y representan valores que no
cambian en el programa
En cambio tanto expresion como resultadoFinal se escriben con
minúsculas, debido a que son variables
Las variables se escriben en minúsculas y capitalizando la primera
letra de la segunda palabra si tiene más de una y representan
valores que pueden cambiar o sobreescribirse en un programa
CONSTANTES Y VARIABLES
Fundamentos de programación
Para ver el contenido de una variable o constante, definida
previamente, podemos usar el comando print
print resultadoFinal
Si queremos mostrar texto, podemos utilizar comillas para
indicar que se trata de texto
print " HOLA MUNDO “
También se pueden mezclar con más de un argumento
usando comas:
print "El resultado fue: ", resultadoFinal, ", con PI = ",
NUMERO_PI
COMANDO PRINT
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
11
EVALUANDO EXPRESIONES
Qué resulta si intentamos evaluar en Python
las siguientes expresiones:
– 2 + 4/(8 - 2**3)
– 2(4 + 5 ** 3 – 3 * 2 +5)
– 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)))
Fundamentos de programación
EVALUANDO EXPRESIONES
Qué resulta si intentamos evaluar en Python
las siguientes expresiones:
– 2 + 4/(8 - 2**3)
– 2(4 + 5 ** 3 – 3 * 2 +5)
– 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)))
Python nos entrega un error, no una solución
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
12
EVALUANDO EXPRESIONES
Qué resulta si intentamos evaluar en Python
las siguientes expresiones:
1) 2 + 4/(8 - 2**3)
2) 2(4 + 5 ** 3 – 3 * 2 +5)
3) 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)))
Python nos entrega un error, no una solución
Fundamentos de programación
ERRORES
Cuándo Python encuentra algo que no hace
sentido, nos lo notifica a través de la
indicación de un error, por ejemplo para el
primer caso:
2 + 4/(8 - 2**3)
ZeroDivisionError: integer division or
modulo by zero
Este mensaje generado por Python, nos indica
que el error se ha producido por intentar
dividir algo por cero
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
13
ERRORES
Algunos errores, no se notifican con tanto
detalle, como por ejemplo aquellos que
Python indicó como:
SyntaxError: invalid syntax
En este caso, Python no intentó ejecutar lo
solicitado, pues encontró un error antes de
ello, en la sintaxis del código
Fundamentos de programación
ERRORES
Finalmente, si evaluamos la última expresión y le
quitamos dos paréntesis al final
2 -(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3)
Python no detecta el error, pues se queda esperando
a que cerremos los paréntesis
Del mismo modo Python no detectará como error si
queremos un resultado en flotante y le entregamos
solamente número enteros o enteros largos
Fundamentos de programación
Fundamentos de Programación Universidad de Santiago de Chile
14
Operadores matemáticos
Precedencia de operadores
Variables y constantes
Errores en Python
Comando print
CONTENIDOS DE HOY
Fundamentos de programación

Más contenido relacionado

La actualidad más candente

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionCarlos Chevez
 
Estadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaEstadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaLuis Fernando Aguas Bucheli
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)Videoconferencias UTPL
 
Pia de tecnicas
Pia de tecnicasPia de tecnicas
Pia de tecnicasLuis Lopez
 
El álgebra booleana
El álgebra booleanaEl álgebra booleana
El álgebra booleanaSaulssg
 
Algoritmos y programas datos importantes
Algoritmos y programas datos importantesAlgoritmos y programas datos importantes
Algoritmos y programas datos importantesEsteban Bedoya
 
Tutorial de matrices c#
Tutorial de matrices c#Tutorial de matrices c#
Tutorial de matrices c#elidetjc
 
Elementos básicos de un lenguaje de alto nivel
Elementos básicos de un lenguaje de alto nivelElementos básicos de un lenguaje de alto nivel
Elementos básicos de un lenguaje de alto nivelRicardo Axel
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018ead1943
 

La actualidad más candente (16)

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Presentación4
Presentación4Presentación4
Presentación4
 
Maria reyes
Maria reyesMaria reyes
Maria reyes
 
Estadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaEstadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión Introductoria
 
Notaciones Relacionales
Notaciones RelacionalesNotaciones Relacionales
Notaciones Relacionales
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
 
Pia de tecnicas
Pia de tecnicasPia de tecnicas
Pia de tecnicas
 
El álgebra booleana
El álgebra booleanaEl álgebra booleana
El álgebra booleana
 
Algoritmos y programas datos importantes
Algoritmos y programas datos importantesAlgoritmos y programas datos importantes
Algoritmos y programas datos importantes
 
Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
Tutorial de matrices c#
Tutorial de matrices c#Tutorial de matrices c#
Tutorial de matrices c#
 
Elementos básicos de un lenguaje de alto nivel
Elementos básicos de un lenguaje de alto nivelElementos básicos de un lenguaje de alto nivel
Elementos básicos de un lenguaje de alto nivel
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
Software omegaup
Software omegaupSoftware omegaup
Software omegaup
 

Destacado

Comparision of is 10262 1982 &amp; 2009
Comparision of is 10262 1982 &amp; 2009 Comparision of is 10262 1982 &amp; 2009
Comparision of is 10262 1982 &amp; 2009 Selva Prakash
 
Gar 이영찬
Gar 이영찬Gar 이영찬
Gar 이영찬GlobalAR
 
K3LH: Sampah beserta keturunan
K3LH: Sampah beserta keturunanK3LH: Sampah beserta keturunan
K3LH: Sampah beserta keturunanSania M.
 
Sanitory arrangement during a temporary gathering
Sanitory arrangement during a temporary gatheringSanitory arrangement during a temporary gathering
Sanitory arrangement during a temporary gatheringsonia Daga
 
Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.Miquel Boada Artigas
 
Architecting solutions for the cloud
Architecting solutions for the cloudArchitecting solutions for the cloud
Architecting solutions for the cloudThe Open Group SA
 
5 Ways to Improve Sales Performance with Analytics
5 Ways to Improve Sales Performance with Analytics5 Ways to Improve Sales Performance with Analytics
5 Ways to Improve Sales Performance with AnalyticsQlik
 

Destacado (12)

Comparision of is 10262 1982 &amp; 2009
Comparision of is 10262 1982 &amp; 2009 Comparision of is 10262 1982 &amp; 2009
Comparision of is 10262 1982 &amp; 2009
 
Gar 이영찬
Gar 이영찬Gar 이영찬
Gar 이영찬
 
K3LH: Sampah beserta keturunan
K3LH: Sampah beserta keturunanK3LH: Sampah beserta keturunan
K3LH: Sampah beserta keturunan
 
Sanitory arrangement during a temporary gathering
Sanitory arrangement during a temporary gatheringSanitory arrangement during a temporary gathering
Sanitory arrangement during a temporary gathering
 
Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.
 
Vagas nt-e-aditamento
Vagas nt-e-aditamentoVagas nt-e-aditamento
Vagas nt-e-aditamento
 
Presentacion
PresentacionPresentacion
Presentacion
 
article review #2
article review #2article review #2
article review #2
 
References
ReferencesReferences
References
 
Architecting solutions for the cloud
Architecting solutions for the cloudArchitecting solutions for the cloud
Architecting solutions for the cloud
 
5 Ways to Improve Sales Performance with Analytics
5 Ways to Improve Sales Performance with Analytics5 Ways to Improve Sales Performance with Analytics
5 Ways to Improve Sales Performance with Analytics
 
First In Thirst
First In ThirstFirst In Thirst
First In Thirst
 

Similar a Fundamentos programación expresiones matemáticas

Similar a Fundamentos programación expresiones matemáticas (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseint
 
IC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - EjerciciosIC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - Ejercicios
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Programación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions NavisionProgramación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions Navision
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
 
9. listas y for-in
9.  listas y for-in9.  listas y for-in
9. listas y for-in
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
01 alp u3
01 alp u301 alp u3
01 alp u3
 
Unidad i
Unidad iUnidad i
Unidad i
 
01 metprogramacion
01 metprogramacion01 metprogramacion
01 metprogramacion
 
Elemento3
Elemento3Elemento3
Elemento3
 
Elemento3
Elemento3Elemento3
Elemento3
 
Elemento3
Elemento3Elemento3
Elemento3
 
Introducción a la programación en Python
Introducción a la programación en PythonIntroducción a la programación en Python
Introducción a la programación en Python
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Unidad i
Unidad iUnidad i
Unidad i
 
Algoritmo 2
Algoritmo 2Algoritmo 2
Algoritmo 2
 
Fundamentos De Algoritmia
Fundamentos De AlgoritmiaFundamentos De Algoritmia
Fundamentos De Algoritmia
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 

Último

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Último (20)

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 

Fundamentos programación expresiones matemáticas

  • 1. Fundamentos de Programación Universidad de Santiago de Chile 1 CLASE 2 EXPRESIONES MATEMÁTICAS Fundamentos de programación INTRODUCCIÓN El objetivo del curso es aprender las nociones básicas de programación Programar significa escribir órdenes o instrucciones para que un computador pueda ejecutarlas Como los computadores no son máquinas inteligentes, necesitamos escribir estas instrucciones en un lenguaje que este pueda comprender Para ello usaremos…. Fundamentos de programación
  • 2. Fundamentos de Programación Universidad de Santiago de Chile 2 EXPRESIONES MATEMÁTICAS Uno de los primeros pasos para aprender un lenguaje de programación es el uso de este para realizar aritmética básica Para ello Python nos provee de los operadores matemáticos binarios básicos: Suma (+) → 2 + 2 = 4 Resta (-) → 4 – 5 = -1 Multiplicación (*) → 3 * 4 = 12 División (/) → 8 / 2 = 4 Y otros un poco más complejos… Fundamentos de programación EXPRESIONES MATEMÁTICAS Como los operadores unarios (se les llama así porque requieren sólo un argumento): Identidad (+) → + 1 = 1 Cambio de signo (-) → - 6 = -6 Y los operadores binarios (requieren dos argumentos para entregar el resultado) : Exponenciación (potencia) (**) → 2 ** 4 = 16 Módulo (%) (resto de la división entera) → 6 % 4 = 2 Revisemos un ejemplo sólo con los operadores sencillos… Fundamentos de programación
  • 3. Fundamentos de Programación Universidad de Santiago de Chile 2 EXPRESIONES MATEMÁTICAS Uno de los primeros pasos para aprender un lenguaje de programación es el uso de este para realizar aritmética básica Para ello Python nos provee de los operadores matemáticos binarios básicos: Suma (+) → 2 + 2 = 4 Resta (-) → 4 – 5 = -1 Multiplicación (*) → 3 * 4 = 12 División (/) → 8 / 2 = 4 Y otros un poco más complejos… Fundamentos de programación EXPRESIONES MATEMÁTICAS Como los operadores unarios (se les llama así porque requieren sólo un argumento): Identidad (+) → + 1 = 1 Cambio de signo (-) → - 6 = -6 Y los operadores binarios (requieren dos argumentos para entregar el resultado) : Exponenciación (potencia) (**) → 2 ** 4 = 16 Módulo (%) (resto de la división entera) → 6 % 4 = 2 Revisemos un ejemplo sólo con los operadores sencillos… Fundamentos de programación
  • 4. Fundamentos de Programación Universidad de Santiago de Chile 4 PRECEDENCIA DE OPERADORES Fundamentos de programación PRECEDENCIA DE OPERADORES Para alterar las reglas de precedencia, podemos utilizar paréntesis, al igual que en matemáticas Por ejemplo, la operación anterior: 2 + 2 / 4 * 9 – 12 * 3 Podemos escribirla de la siguiente forma para que tenga la misma precedencia de la expresión matemática: 2 + 2 / (4 * 9) – 12 * 3 Pero seguimos sin obtener el resultado deseado Fundamentos de programación
  • 5. Fundamentos de Programación Universidad de Santiago de Chile 5 TIPOS DE DATOS Esto ocurre porque en la expresión todos los números con los que se opera son enteros Para Python, si una expresión sólo tiene números enteros, entonces se asume que el usuario quiere una respuesta del mismo tipo Es común en los lenguajes de programación indicar el tipo de dato, pues no sólo se trabaja con números, sino también con letras, booleanos (verdadero y falso) y otros tipos de datos más complejos Veamos ahora las distintas representaciones que Python ofrece para los números Fundamentos de programación TIPOS DE DATOS En Python existen tres clases de números: Enteros (int): para enteros en el intervalo [-2.147.483.648, 2.147.483.647] 1000 0000 0000 0000 0000 0000 0000 0000 0111 1111 1111 1111 1111 1111 1111 1111 Enteros largos (long): para enteros fuera del rango de los enteros de 4 bytes (ej: 50394034940032L) Flotantes o float: para números no enteros, no son iguales a los números reales (ej: 2,54) Fundamentos de programación
  • 6. Fundamentos de Programación Universidad de Santiago de Chile 6 Como Python prefiere mantener el tipo de dato Si se operan dos enteros, entonces Python intentará devolver un resultado entero Pero si se combinan tipos numéricos en una expresión aritmética, Python generaliza todos los valores involucrados en la subexpresiones a evaluar antes de operarlos Enteros largos son más generales que los enteros Los flotantes son más generales que los enteros largos y los enteros TIPOS DE DATOS Fundamentos de programación Si escribimos el ejemplo de esta forma: 2 + 2 / (4.0 * 9) - 12 * 3 Nos entrega el mismo resultado que la calculadora, debido a que: Hemos modificado la precedencia para que calcule la multiplicación previo a la división La primera operación (4.0 * 9), resulta en un flotante, por lo que toda la expresión se va transformando a flotante paso a paso TIPOS DE DATOS Fundamentos de programación
  • 7. Fundamentos de Programación Universidad de Santiago de Chile 7 2 + 2 / (4.0 * 9) - 12 * 3 2 + 2 / 36.0 – 12 * 3 2 + 0.05555555555555555 – 12 * 3 2 + 0.05555555555555555 – 36 2.05555555555555555 – 36 -33.944444444444443 TIPOS DE DATOS Fundamentos de programación 2.0 + 2 /(4 * 9) - 12 * 3 2.0 + 2 / 36 - 12 * 3 2.0 + 0 - 12 * 3 2.0 + 0 – 36 2.0 – 36 -34.0 TIPOS DE DATOS Nótese que si ponemos el flotante en otra parte de la expresión el resultado sigue siendo errado Debido a que el cambio de tipo no afecta a la expresión 2 / 4 * 9 Por lo que Python la evalúa como una expresión entera y sólo realiza la conversión a flotante en el último paso de la evaluaciónFundamentos de programación
  • 8. Fundamentos de Programación Universidad de Santiago de Chile 8 RECORDANDO VALORES Supongamos que el resultado de la expresión anterior es parte de una expresión más grande, por ejemplo: Donde el resultado de la expresión anterior sólo es el exponente de π con 16 decimales (3.1415926535897931) Escribir la expresión completa podría significarnos un error y tendríamos que volver a escribirla completa Sin embargo, Python nos provee de una forma para almacenar valores para no tener que escribirlos en repetidas ocasiones Fundamentos de programación ASIGNACIÓN Para ello podemos usar la asignación, que es una sentencia con la siguiente estructura: Por ejemplo resultado = 2 + 2 / (4.0 * 9) - 12 * 3 Con la asignación se definen variables y constantes para almacenar valores <Identificador> = <expresión> ¡Recuerden que no es una comparación ni una equivalencia matemática! Fundamentos de programación
  • 9. Fundamentos de Programación Universidad de Santiago de Chile 9 Una asignación es una sentencia con la siguiente estructura: • Reglas de un identificador: – El primer carácter no puede ser un dígito – Puede llevar letras, dígitos y el carácter subrayado ( _ ) – No puede coincidir con palabras reservadas: • and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, yield • Puede ser – un valor constante (un número o texto) – una operación entre números – una operación entre variables y constantes previamente declaradas – Mezcla entre operaciones, variables y números <Identificador> = <expresión> ASIGNACIÓN Fundamentos de programación Entonces, para la expresión anterior, podemos definir: NUMERO_PI = 3.1415926535897931 expresion = 2 + 2 / (4.0 * 9) - 12 * 3 resultadoFinal = NUMERO_PI ** expresion Que es equivalente a: 3.1415926535897931 ** (2 + 2 / (4.0 * 9) - 12 * 3) Nótese que escribimos los nombres de los identificadores usando distintas reglas, esto no es arbitrario ASIGNACIÓN Fundamentos de programación
  • 10. Fundamentos de Programación Universidad de Santiago de Chile 10 El valor de π fue asignado al identificador NUMERO_PI, el cual está escrito en mayúsculas, esto ocurre porque es una constante Las constantes se escriben con mayúsculas y separando las palabras con guiones bajos (_) y representan valores que no cambian en el programa En cambio tanto expresion como resultadoFinal se escriben con minúsculas, debido a que son variables Las variables se escriben en minúsculas y capitalizando la primera letra de la segunda palabra si tiene más de una y representan valores que pueden cambiar o sobreescribirse en un programa CONSTANTES Y VARIABLES Fundamentos de programación Para ver el contenido de una variable o constante, definida previamente, podemos usar el comando print print resultadoFinal Si queremos mostrar texto, podemos utilizar comillas para indicar que se trata de texto print " HOLA MUNDO “ También se pueden mezclar con más de un argumento usando comas: print "El resultado fue: ", resultadoFinal, ", con PI = ", NUMERO_PI COMANDO PRINT Fundamentos de programación
  • 11. Fundamentos de Programación Universidad de Santiago de Chile 11 EVALUANDO EXPRESIONES Qué resulta si intentamos evaluar en Python las siguientes expresiones: – 2 + 4/(8 - 2**3) – 2(4 + 5 ** 3 – 3 * 2 +5) – 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3))) Fundamentos de programación EVALUANDO EXPRESIONES Qué resulta si intentamos evaluar en Python las siguientes expresiones: – 2 + 4/(8 - 2**3) – 2(4 + 5 ** 3 – 3 * 2 +5) – 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3))) Python nos entrega un error, no una solución Fundamentos de programación
  • 12. Fundamentos de Programación Universidad de Santiago de Chile 12 EVALUANDO EXPRESIONES Qué resulta si intentamos evaluar en Python las siguientes expresiones: 1) 2 + 4/(8 - 2**3) 2) 2(4 + 5 ** 3 – 3 * 2 +5) 3) 2 –(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3))) Python nos entrega un error, no una solución Fundamentos de programación ERRORES Cuándo Python encuentra algo que no hace sentido, nos lo notifica a través de la indicación de un error, por ejemplo para el primer caso: 2 + 4/(8 - 2**3) ZeroDivisionError: integer division or modulo by zero Este mensaje generado por Python, nos indica que el error se ha producido por intentar dividir algo por cero Fundamentos de programación
  • 13. Fundamentos de Programación Universidad de Santiago de Chile 13 ERRORES Algunos errores, no se notifican con tanto detalle, como por ejemplo aquellos que Python indicó como: SyntaxError: invalid syntax En este caso, Python no intentó ejecutar lo solicitado, pues encontró un error antes de ello, en la sintaxis del código Fundamentos de programación ERRORES Finalmente, si evaluamos la última expresión y le quitamos dos paréntesis al final 2 -(4 *(5 / 4) + 5 + (2 ** (4 + 2) - 3) Python no detecta el error, pues se queda esperando a que cerremos los paréntesis Del mismo modo Python no detectará como error si queremos un resultado en flotante y le entregamos solamente número enteros o enteros largos Fundamentos de programación
  • 14. Fundamentos de Programación Universidad de Santiago de Chile 14 Operadores matemáticos Precedencia de operadores Variables y constantes Errores en Python Comando print CONTENIDOS DE HOY Fundamentos de programación