{"id":7877,"date":"2015-05-13T09:10:43","date_gmt":"2015-05-13T14:10:43","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7877"},"modified":"2026-04-18T15:28:00","modified_gmt":"2026-04-18T20:28:00","slug":"contadores-y-acumuladores","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-u02\/contadores-y-acumuladores\/","title":{"rendered":"2.3 Contadores y Acumuladores en programaci\u00f3n"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#contador\">contador<\/a><\/p>\n\n\n\n<p><a href=\"#acumulador\">acumulador<\/a><\/p>\n\n\n\n<p>||<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u02\/operaciones-basicas\/\" data-type=\"post\" data-id=\"7875\">Operaciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Rodr\u00edguez 3.3.1 p24, Van Rossum 9.3.3 p73,&nbsp; Downey 22.9<\/p>\n\n\n\n<p>\u00bfQu\u00e9 es un contador&nbsp; en programaci\u00f3n? \u00bfQu\u00e9 es un acumulador en programaci\u00f3n? Son conceptos de uso cotidiano que son el resultado de la suma de una serie de n\u00fameros. Los conceptos se puede explicar con los siguientes ejemplos:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#contador\">contador<\/a><\/p>\n\n\n\n<p><a href=\"#acumulador\">acumulador<\/a><\/p>\n\n\n\n<p>||<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u02\/operaciones-basicas\/\" data-type=\"post\" data-id=\"7875\">Operaciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"contador\">\u00bfQu\u00e9 es un contador en programaci\u00f3n?<\/h2>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"189\" height=\"401\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/ContadorBasico_TurnosTicket.png\" alt=\"variable contador: ticket para turnos de un servicio o local\" class=\"wp-image-21284\" \/><\/figure>\n\n\n\n<p>Al visitar el departamento de servicio al cliente en una empresa, los clientes para obtener un turno deben tomar un ticket. Un letrero electr\u00f3nico indica el n\u00famero del cliente que se est\u00e1 atendiendo, luego \u00e9ste n\u00famero cambia increment\u00e1ndose en 1 para anunciar el siguiente turno a ser atendido.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"178\" height=\"180\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/ContadorBasico_TurnosLetrero.png\" alt=\"variable contador: letrero para turnos\" class=\"wp-image-21286\" \/><\/figure>\n\n\n\n<p>El ejemplo de uso pr\u00e1ctico de un contador permite observar dos caracter\u00edsticas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Siempre tienen un valor <strong>inicial<\/strong><\/li>\n\n\n\n<li>El valor <strong>nuevo<\/strong> del contador es el resultado del valor <strong>anterior<\/strong> m\u00e1s una <strong>constante<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Al <strong>inicio<\/strong> del d\u00eda, el contador de tickets debe ser inicializado, de preferencia con <strong>0<\/strong>. Cuando un puesto de atenci\u00f3n est\u00e1 listo para atenci\u00f3n, el contador se <strong>incrementa en uno<\/strong>, se escucha una alerta y el cliente se puede acercar con el ticket del primer turno.<\/p>\n\n\n\n<p>Las caracter\u00edsticas descritas en forma algor\u00edtmica se escriben como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>contador \u2190 0\ncontador \u2190 contador + 1<\/code><\/pre>\n\n\n\n<p>La expresi\u00f3n de la segunda l\u00ednea se puede leer como: \"valor <strong>nuevo<\/strong>\u201d de contador es el resultado del \"valor <strong>anterior<\/strong>\" incrementando en <strong>1<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"192\" height=\"120\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/MicroondasContador01.png\" alt=\"variable contador en microondas\" class=\"wp-image-15934\" \/><\/figure>\n\n\n\n<p>Desde luego que los contadores&nbsp; puede sumarse un valor diferente a 1, pero siempre ser\u00e1 un valor constante, como cuando se cuenta de dos en dos. <\/p>\n\n\n\n<p>La variable contador tambi\u00e9n pueden tener cambios de forma ascendente, o disminuir desde un valor inicial (decreciente).<\/p>\n\n\n\n<p>Un ejemplo de <strong>contador decreciente <\/strong>se observa en cronometro del microondas para calentar alimentos. El valor inicial son los segundos que permanecer\u00e1 encendido. El contador de tiempo disminuye en uno cada segundo y al llegar a 0 se apaga el microondas.<\/p>\n\n\n\n<p>Ejemplo de contador con instrucciones en Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> contador = 0\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> contador = contador + 1\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> contador\n<span style=\"color: #0000ff\">1<\/span><a name=\"acumulador\"><\/a><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#contador\">contador<\/a><\/p>\n\n\n\n<p><a href=\"#acumulador\">acumulador<\/a><\/p>\n\n\n\n<p>||<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u02\/operaciones-basicas\/\" data-type=\"post\" data-id=\"7875\">Operaciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"acumulador\">\u00bfQu\u00e9 es un acumulador en programaci\u00f3n?<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"186\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/alcancia_moneda01.png\" alt=\"variable acumulador: alcanc\u00eda de monedas\" class=\"wp-image-21288\" \/><\/figure>\n\n\n\n<p>Un <strong>acumulador<\/strong> en programaci\u00f3n es una versi\u00f3n ampliada de un <strong>contador<\/strong>. El acumulador&nbsp; tiene las mismas caracter\u00edsticas que un contador excepto el valor de <strong>incremento<\/strong> que es un valor <em><strong>variable<\/strong><\/em>. <\/p>\n\n\n\n<p>Por ejemplo, una cuenta de ahorros puede representarse en un algoritmo mediante un acumulador, pues quien ahorra no siempre lo har\u00e1 con una cantidad fija en la cuenta: un d\u00eda deposita 10, otro d\u00eda deposita 30, otro deposita 5.<\/p>\n\n\n\n<p>Con el ejemplo de ahorro, se puede determinar que en el acumulador no siempre se a\u00f1ade un valor positivo, pues cuando se hace un retiro, se puede interpretar como que el valor a\u00f1adido es negativo.<\/p>\n\n\n\n<p>Las caracter\u00edsticas descritas para forma algor\u00edtmica se escriben como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acumulador \u2190 0\nacumulador \u2190 acumulador + X<\/code><\/pre>\n\n\n\n<p>La expresi\u00f3n del literal b se para una cuenta puede leer como: \"saldo nuevo\u201d de acumulador es el \"saldo anterior\" de acumulador considerando el deposito (+x) o retiro (-x).<\/p>\n\n\n\n<p>Recuerde que:<\/p>\n\n\n\n<p>El concepto de asignar es usado en algoritmos \u201c=\u201d carece de sentido matem\u00e1tico.<\/p>\n\n\n\n<p>Si tomamos como ejemplo el acumulador, si se expresa como una igualdad, se interpretar\u00eda como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acumulador = acumulador + X\nacumulador - acumulador = X\n0 = X<\/code><\/pre>\n\n\n\n<p>Cuando en el algoritmo se quiere expresar en realidad es una <strong>asignaci\u00f3n<\/strong>, por lo que se utiliza el s\u00edmbolo \u201c\u2190\u201d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>acumulador \u2190 acumulador + X<\/code><\/pre>\n\n\n\n<p>Esta aclaraci\u00f3n permite formalizar la diferencia de comparaci\u00f3n de igualdad \u201c=\u201d usada dentro de los condicionales.<\/p>\n\n\n\n<p>Ejemplo de acumulador en Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> acumulador = 0\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> acumulador = acumulador + 4.5\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> acumulador\n<span style=\"color: #0000ff\">4.5<\/span>\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> acumulador = acumulador - 1.3\n<span style=\"color: #d35400\">&gt;&gt;&gt;<\/span> acumulador\n<span style=\"color: #0000ff\">3.2<\/span><\/code><\/pre>\n\n\n\n<p>En la siguiente p\u00e1gina se presentan algunos ejemplos y ejercicios resueltos sobre contadores y acumuladores de ex\u00e1menes anteriores.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p><a href=\"#contador\">contador<\/a><\/p>\n\n\n\n<p><a href=\"#acumulador\">acumulador<\/a><\/p>\n\n\n\n<p>||<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u02\/operaciones-basicas\/\" data-type=\"post\" data-id=\"7875\">Operaciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>contador acumulador || Operaciones Referencia: Rodr\u00edguez 3.3.1 p24, Van Rossum 9.3.3 p73,&nbsp; Downey 22.9 \u00bfQu\u00e9 es un contador&nbsp; en programaci\u00f3n? \u00bfQu\u00e9 es un acumulador en programaci\u00f3n? Son conceptos de uso cotidiano que son el resultado de la suma de una serie de n\u00fameros. Los conceptos se puede explicar con los siguientes ejemplos: contador acumulador || [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[103],"tags":[],"class_list":["post-7877","post","type-post","status-publish","format-standard","hentry","category-fp-u02"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=7877"}],"version-history":[{"count":10,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7877\/revisions"}],"predecessor-version":[{"id":23014,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7877\/revisions\/23014"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}