 
{"id":86,"date":"2014-05-31T12:54:16","date_gmt":"2014-05-31T12:54:16","guid":{"rendered":"http:\/\/demo.themegrill.com\/accelerate\/?page_id=86"},"modified":"2023-05-04T21:39:38","modified_gmt":"2023-05-04T21:39:38","slug":"expresiones-matematicas","status":"publish","type":"page","link":"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/expresiones-matematicas\/","title":{"rendered":"Expresiones matem\u00e1ticas"},"content":{"rendered":"<p>En este apartado aprender\u00e1s a codificar operaciones matem\u00e1ticas para realizar los c\u00e1lculos que necesites hacer en tus programas de Arduino.<\/p>\n<p><\/p>\n<h2><span style=\"color: #002b7a;\">Operadores matem\u00e1ticos<\/span><\/h2>\n<p>Los operadores matem\u00e1ticos de Arduino que utilizaremos en este manual se presentan en la Tabla 1:<\/p>\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Operador<\/strong><\/td><td><strong>Operaci\u00f3n<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Ejemplo<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">+<\/td><td>suma<\/td><td class=\"has-text-align-center\" data-align=\"center\">2 + 3<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><td>resta<\/td><td class=\"has-text-align-center\" data-align=\"center\">2 &#8211; 3<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">*<\/td><td>multiplicaci\u00f3n<\/td><td class=\"has-text-align-center\" data-align=\"center\">2 * 3<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">\/<\/td><td>divisi\u00f3n<\/td><td class=\"has-text-align-center\" data-align=\"center\">2 \/ 3<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">%<\/td><td>m\u00f3dulo o residuo<\/td><td class=\"has-text-align-center\" data-align=\"center\">2 % 3<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla 1 Operadores matem\u00e1ticos de Arduino<\/figcaption><\/figure>\n\n\n<p><\/p>\n<h2><span style=\"color: #002b7a;\">Expresiones matem\u00e1ticas<\/span><\/h2>\n<p>Los operadores pueden ser usados para crear expresiones que contengan uno o m\u00e1s operadores, valores fijos o tambi\u00e9n pueden incluir variables. Algunos ejemplos de expresiones matem\u00e1ticas son:<\/p>\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>2 + 3 * 2<\/td><td>2 * 3 \/ (1 + 5)<\/td><td>(2 + 3) \/ 1 + 5<\/td><\/tr><tr><td>(2 + 3) * 2<\/td><td>(2 * 3) \/ (1 + 5)<\/td><td>(2 + 3) \/ (1 + 5)<\/td><\/tr><tr><td>2 * 3 \/ 1 + 5<\/td><td>2 + 3 \/ 1 + 5<\/td><td>(x + 3) \/ (1 + y)<\/td><\/tr><tr><td>6 % 3 + 2<\/td><td>4 % 3 + x * 4<\/td><td>a % b &#8211; c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<p><\/p>\n<h2><span style=\"color: #002b7a;\">Evaluaci\u00f3n de expresiones matem\u00e1ticas<\/span><\/h2>\n<p>La evaluaci\u00f3n de una expresi\u00f3n matem\u00e1tica se hace siguiendo las reglas de precedencia y asociatividad de operadores que ya conoces de matem\u00e1ticas. La primera prioridad la tienen las operaciones de divisi\u00f3n, multiplicaci\u00f3n y m\u00f3dulo. Si existe m\u00e1s de una de estas operaciones en la misma expresi\u00f3n, \u00e9stas se ejecutan de izquierda a derecha.<\/p>\n<p>Una vez que se realizan todas las multiplicaciones, divisiones y m\u00f3dulos de la expresi\u00f3n matem\u00e1tica, entonces se procede con el c\u00e1lculo de todas las sumas y restas. Al igual que el caso anterior, si existe m\u00e1s de una operaci\u00f3n de suma o resta, se ejecutan de izquierda a derecha.<\/p>\n<p>Tambi\u00e9n es conveniente recordar que cuando una operaci\u00f3n matem\u00e1tica se coloca entre par\u00e9ntesis, la operaci\u00f3n se realizar\u00e1 primero. La Tabla 2 resume estas reglas:<\/p>\n<p><\/p>\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Operador matem\u00e1tico<\/td><td><strong>Operaci\u00f3n<\/strong><\/td><td><strong>Evaluaci\u00f3n de la expresi\u00f3n<\/strong><\/td><\/tr><tr><td>( )<\/td><td>Expresi\u00f3n matem\u00e1tica<\/td><td>De izquierda a derecha<\/td><\/tr><tr><td>\/, *, %<\/td><td>Divisi\u00f3n, multiplicaci\u00f3n, m\u00f3dulo<\/td><td>De izquierda a derecha<\/td><\/tr><tr><td>+, &#8211;<\/td><td>Suma y resta<\/td><td>De izquierda a derecha<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla 2 Precedencia y asociatividad de operadores<\/figcaption><\/figure>\n\n\n<p><\/p>\n<p>Analiza los siguientes ejemplos donde se desglosan los pasos que se realizan para calcular las expresiones matem\u00e1ticas:<\/p>\n<p><\/p>\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>2 + 3 * 2 =<br>2 * 6 =<br>12<\/td><td>(2 + 3) * 2 =<br>5 * 2 =<br>10<\/td><td>2 * 3 \/ 1 + 5 =<br>6 \/ 1 + 5 =<br>6 + 5 =<br>11<\/td><\/tr><tr><td>2 * 3 \/ (1 + 5) =<br>&nbsp;2 * 3 \/ 6 =<br>6 \/ 6 =<br>1<\/td><td>(2 * 3) \/ ( 1 + 5) =<br>6 \/ (1 + 5 ) =<br>6 \/ 6 =<br>1<\/td><td>2 + 3 \/ 1 + 5 =<br>2 + 3 + 5 =<br>5 + 5 =<br>10&nbsp;<\/td><\/tr><tr><td>2 + 3 \/ (1 + 5) =<br>2 + 3 \/ 6 =<br>2 + 0.5 =<br>2.5<\/td><td>(2 + 3) \/ 1 + 5&nbsp;=<br>5 \/ 1 + 5 =<br>5 + 5 =<br>10<\/td><td>(2 + 3) \/ (1 + 5) =<br>5 \/ (1+ 5) =<br>5 \/ 6 =<br>0.833333&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<p><\/p>\n<h2><span style=\"color: #002b7a;\">Almacenar el resultado de una expresi\u00f3n matem\u00e1tica<\/span><\/h2>\n<p>Recuerda que si necesitas almacenar el resultado de una expresi\u00f3n matem\u00e1tica en una variable debes utilizar el operador de asignaci\u00f3n =. El valor de la expresi\u00f3n del lado derecho del signo de igualdad (=) es almacenado en la variable del lado izquierdo. No olvides que antes de utilizar una variable en el programa debe ser previamente declarada con su tipo de dato correspondiente.<\/p>\n<p>Ejemplo:&nbsp;<\/p>\n<pre>int x = 0;  \/\/ Se declara la variable x de tipo int y se inicializa con 0<br><br>x = (2 + 3) * 2;  \/\/ Se modifica el valor de la variable x con el valor 10<\/pre>\n<p><\/p>\n<h2><span style=\"color: #002b7a;\">El tipo de dato de una expresi\u00f3n matem\u00e1tica<\/span><\/h2>\n<p>El resultado de una expresi\u00f3n matem\u00e1tica en Arduino puede ser un n\u00famero entero o un n\u00famero real. Una operaci\u00f3n matem\u00e1tica donde todos sus operandos son de tipo entero (int), dar\u00e1 como resultado un valor entero (int). Una operaci\u00f3n matem\u00e1tica que use al menos un operador de tipo real (float o double), dar\u00e1 como resultado un n\u00famero real (float o double).<\/p>\n<p>Ejemplos:<\/p>\n<figure class=\"wp-block-table is-style-stripes\">\n<table>\n<tbody>\n<tr>\n<td>Una expresi\u00f3n matem\u00e1tica con todos los operadores tipo int da como resultado un valor tipo int<\/td>\n<\/tr>\n<tr>\n<td>int x;<br>x = 2 + 3 \/ (1 + 5);<p><\/p>\n<p>La evaluaci\u00f3n de la expresi\u00f3n ser\u00e1:<br>x = 2 + 3 \/ 6<br>x = 2 + 0<br>x = 2<\/p>\n<p>Observa que aunque el resultado de la operaci\u00f3n 3\/6 da como resultado 0.5, Arduino determina que el resultado es 0 (n\u00famero entero) debido a que los operadores 3 y 6 son de tipo int. En este tipo de casos, Arduino trunca los decimales.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>Una expresi\u00f3n matem\u00e1tica con al menos un operador de un n\u00famero real da como resultado un valor tipo real (float o double)<\/td>\n<\/tr>\n<tr>\n<td>double x;<br>x = 2 + 3 \/ (1.0 + 5);<p><\/p>\n<p>La evaluaci\u00f3n de la expresi\u00f3n ser\u00e1:<br>x = 2 + 3 \/ 6.0<br>x = 2 + 0.5<br>x = 2.5<\/p>\n<p>En este caso, observa que la expresi\u00f3n matem\u00e1tica tiene un valor tipo doble (6.0), por lo tanto, el resultado de la operaci\u00f3n ser\u00e1 de tipo double (n\u00famero real).<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n\n\n<div style=\"height:49px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/02\/Autoecaluacio\u0301nArmandoCircuitos.gif\" alt=\"logo-autoevaluaci\u00f3n\" width=\"150\" height=\"150\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2><span style=\"color: #002b7a;\">Autoevaluaci\u00f3n<\/span><\/h2>\n<\/div>\n<\/div>\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-17\" class=\"h5p-iframe\" data-content-id=\"17\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Ejercicio 12 Expresiones matem\u00e1ticas\"><\/iframe><\/div>\n\n\n<div style=\"height:49px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/ledAprende.gif\" alt=\"para aprender m\u00e1s\" width=\"150\" height=\"150\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h2><span style=\"color: #002b7a;\">Para aprender m\u00e1s<\/span><\/h2>\n<\/div>\n<\/div>\n\n\n<p>Braga, N. (s\/f). <em>Pr\u00e1cticas y c\u00f3digo ejemplo para instrucciones matem\u00e1ticas con Arduino<\/em>. <a href=\"http:\/\/www.incb.com.mx\/index.php\/articulos\/78-microcontroladores-y-dsps\/3371-practicas-y-codigo-ejemplo-para-instrucciones-matematicas-con-arduino-uno-mic040s\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.incb.com.mx\/index.php\/articulos\/78-microcontroladores-y-dsps\/3371-practicas-y-codigo-ejemplo-para-instrucciones-matematicas-con-arduino-uno-mic040s<\/a><\/p>\n<p>Spark Electr\u00f3nica. (2017). <em>Arduino Basics: Operadores Aritm\u00e9ticos<\/em>. <a href=\"https:\/\/sparkelectronica.wordpress.com\/2017\/07\/26\/arduino-basics-operadores-aritmeticos\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/sparkelectronica.wordpress.com\/2017\/07\/26\/arduino-basics-operadores-aritmeticos\/<\/a><\/p>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/monitor-serial-de-arduino\/\">&lt; El monitor serial de Arduino<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-right\"><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/manual-de-programacion-con-arduino\/lectura-de-senales-analogicas\/\" data-type=\"URL\">Manejo de se\u00f1ales anal\u00f3gicas  <\/a><a href=\"http:\/\/132.248.251.218\/wpArduino\/index.php\/manual-de-programacion-con-arduino\/lectura-y-escritura-de-senales-digitales\/\">><\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este apartado aprender\u00e1s a codificar operaciones matem\u00e1ticas para realizar los c\u00e1lculos que necesites hacer en tus programas de Arduino. Operadores matem\u00e1ticos Los operadores matem\u00e1ticos de Arduino que utilizaremos en este manual se presentan en la Tabla 1: Operador Operaci\u00f3n<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":18,"menu_order":15,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-86","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/86","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/comments?post=86"}],"version-history":[{"count":48,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/86\/revisions"}],"predecessor-version":[{"id":6705,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/86\/revisions\/6705"}],"up":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/18"}],"wp:attachment":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/media?parent=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}