Volver a la portadaInformática · 10.° grado de Preuniversitario · Cambiar asignatura
Empezar gratis
10° grado · Informática
Introducción a la programación orientada a objetos y conducida por eventos · El pensamiento computacional y los datos

Datos, expresiones, contadores y acumuladores

En la bodega del barrio, Daniela anota cada venta del día. Al cerrar quiere saber dos cosas: cuántas ventas hizo y cuánto dinero entró. Una computadora puede responder las dos, pero necesita saber qué guardar, de qué tipo es cada dato y cómo ir actualizando dos valores a medida que avanza. Al final de la página verás cómo se hace.

Los tipos de dato

Un dato es un valor que el programa guarda y procesa. Según lo que representa, la computadora lo trata de una forma u otra. Estos son los cuatro tipos que usamos:

Tipo Qué guarda Ejemplos
Numérico entero Números sin parte decimal $25$, $-3$, $0$
Numérico real Números con parte decimal $3{,}5$, $-0{,}25$
Texto (cadena de caracteres) Letras, cifras y símbolos entre comillas «Camila», «La Habana», «100»
Lógico Solo dos valores verdadero, falso

Una variable es un espacio con nombre donde se guarda un dato. Se le da valor con la asignación: edad <- 15 se lee «edad recibe 15».

Cuatro cajas con nombre que guardan un dato de cada tipo edad 15 precio 3,5 nombre «Camila» aprobado verdadero entero real texto lógico
Practica★☆☆Sin empezar
Clasifica cada dato como numérico entero, numérico real, texto (cadena) o lógico: $25$ «Camila» $3{,}5$ verdadero «100» Justifica el caso de «100».

Clasifica cada dato como numérico entero, numérico real, texto (cadena) o lógico:

  • $25$

  • «Camila»

  • $3{,}5$

  • verdadero

  • «100»

Justifica el caso de «100».

Resolver

Expresiones aritméticas

Una expresión combina datos, variables y operadores, y al evaluarla da un valor. Las aritméticas dan un número. Además de $+$, $-$, $\cdot$ y $/$, hay dos operadores para enteros:

  • div: cociente de la división entera.

  • mod: resto de la división entera.

Como $17 = 5 \cdot 3 + 2$, tenemos $17 \text{ div } 5 = 3$ y $17 \text{ mod } 5 = 2$.

Prioridad de las operaciones: primero los paréntesis, luego div, mod y $\cdot$ (de izquierda a derecha), y al final $+$ y $-$. Es la misma jerarquía de la Matemática, para que el resultado no dependa de quién lea la expresión.

Practica★☆☆Sin empezar
Evalúa las expresiones siguientes, respetando la prioridad de las operaciones. Recuerda que mod da el resto de la división entera y div da el cociente entero.…

Evalúa las expresiones siguientes, respetando la prioridad de las operaciones. Recuerda que mod da el resto de la división entera y div da el cociente entero.

  • $7 + 3 \cdot 2$

  • $17 \text{ mod } 5$

  • $17 \text{ div } 5$

  • $(8 - 2) \cdot 4$

Resolver

Expresiones relacionales y lógicas

Una expresión relacional compara dos valores con $>$, $<$, $=$, $\neq$, $\leq$, $\geq$. En una expresión, = significa «es igual a» (pregunta), mientras que <- es la asignación (orden). El resultado siempre es un dato lógico: verdadero o falso.

Con $x = 8$: $x > 5$ es verdadero, $x = 10$ es falso, $x \neq 8$ es falso y $x \leq 8$ es verdadero.

Las expresiones lógicas combinan resultados lógicos con y, o y no:

Operador Resultado
A y B verdadero solo si ambas son verdaderas
A o B verdadero si al menos una es verdadera
no A invierte el valor: verdadero ↔ falso
Tabla de verdad de los operadores y, o A B A y B A o B VVVV VFFV FVFV FFFF
Practica★☆☆Sin empezar
Sea $x = 8$. Indica si cada expresión relacional da verdadero o falso: $x > 5$ $x = 10$ $x \neq 8$ $x \leq 8$ Explica qué tipo de dato resulta de evaluar una expresión…

Sea $x = 8$. Indica si cada expresión relacional da verdadero o falso:

  • $x > 5$

  • $x = 10$

  • $x \neq 8$

  • $x \leq 8$

Explica qué tipo de dato resulta de evaluar una expresión relacional.

Resolver
Practica★★☆Sin empezar
Sean $x = 12$ e $y = 7$. Evalúa estas expresiones lógicas y escribe el valor de cada una: $(x > 10) \text{ y } (y > 10)$ $(x > 10) \text{ o } (y > 10)$…

Sean $x = 12$ e $y = 7$. Evalúa estas expresiones lógicas y escribe el valor de cada una:

  • $(x > 10) \text{ y } (y > 10)$

  • $(x > 10) \text{ o } (y > 10)$

  • $\text{no}\,(x = y)$

  • $(x \text{ mod } 2 = 0) \text{ y } (y < 9)$

Explica en qué se diferencian los operadores «y» y «o» en el resultado.

Resolver
Practica★★★Sin empezar
Sean $a = 22$, $b = 4$ y $c = 5$. Evalúa paso a paso, indicando el orden de las operaciones y el resultado de cada subexpresión: $$((a \text{ mod } 4) + b \cdot 2 \geq…

Sean $a = 22$, $b = 4$ y $c = 5$. Evalúa paso a paso, indicando el orden de las operaciones y el resultado de cada subexpresión:

$$((a \text{ mod } 4) + b \cdot 2 \geq 10) \text{ o } \text{no}\,(c < 3)$$

Después modifica el valor de $c$ para que el segundo operando sea falso. Indica si cambia el resultado total y por qué.

Resolver

Contadores

Un contador es una variable que aumenta (o disminuye) siempre en una cantidad fija, normalmente 1, cada vez que ocurre algo. Sirve para responder «¿cuántos?».

Tiene dos partes:

  1. Inicialización antes del ciclo: cont <- 0.

  2. Actualización dentro del ciclo, a veces bajo una condición: cont <- cont + 1.

Se lee: «toma el valor actual de cont, súmale 1 y guarda el resultado en cont».

Diagrama de flujo de un contador de notas aprobadas cont ← 0 nota ≥ 60 sí cont ← cont + 1 no: no cambia
Practica★★☆Sin empezar
Un programa cuenta cuántos educandos aprueban un examen. Usa una variable cont que empieza en 0 y aumenta en 1 cuando la nota es de 60 o más. Las notas leídas, en orden,…

Un programa cuenta cuántos educandos aprueban un examen. Usa una variable cont que empieza en 0 y aumenta en 1 cuando la nota es de 60 o más. Las notas leídas, en orden, son: 70, 55, 90, 60, 45.

Construye una tabla que muestre, nota por nota, si se cumple la condición y el valor de cont. Indica el valor final y explica por qué cont es un contador.

Resolver

Acumuladores

Un acumulador es una variable donde se van sumando valores que cambian en cada paso. Sirve para responder «¿cuánto en total?». Se inicia en 0 y se actualiza así: suma <- suma + x.

Contador Acumulador
Pregunta ¿Cuántos? ¿Cuánto en total?
Se le suma Una cantidad fija (casi siempre 1) Un valor que cambia
Ejemplo cont <- cont + 1 total <- total + precio

Una traza es una tabla que anota el valor de las variables después de cada paso. Es la mejor forma de comprobar un programa a mano.

Paso precio total
inicio — 0
1 4 4
2 3 7
3 5 12

Si además se divide el acumulador entre el contador, sale el promedio. Con 6 edades y suma 97, el promedio es $97 / 6 \approx 16{,}17$.

Practica★★☆Sin empezar
En una mipyme se compran cuatro pomos de aceite que cuestan, en dólares, 4, 3, 4 y 3. Un programa usa una variable total que empieza en 0 y en cada paso ejecuta total =…

En una mipyme se compran cuatro pomos de aceite que cuestan, en dólares, 4, 3, 4 y 3. Un programa usa una variable total que empieza en 0 y en cada paso ejecuta total = total + precio.

Haz la traza del programa y da el valor final de total. Explica en qué se diferencia un acumulador de un contador.

Resolver
Practica★★★Sin empezar
Un programa recibe las edades de seis estudiantes de un grupo: 15, 16, 17, 15, 18, 16. Debe contar cuántos tienen más de 16 años y acumular la suma de todas las edades…

Un programa recibe las edades de seis estudiantes de un grupo: 15, 16, 17, 15, 18, 16. Debe contar cuántos tienen más de 16 años y acumular la suma de todas las edades para calcular después la edad promedio.

Yoel inicializó el contador en 1 y el acumulador en 10.

  1. Haz la traza correcta, con ambas variables iniciadas en 0, y da los valores finales.

  2. Calcula los valores finales con las inicializaciones de Yoel.

  3. Argumenta por qué esas inicializaciones producen resultados erróneos.

Resolver

Vuelve al principio: Daniela usa un contador para el número de ventas (ventas <- ventas + 1) y un acumulador para el dinero (dinero <- dinero + importe), los dos iniciados en 0.

Resumen

  • Los datos son de cuatro tipos: entero, real, texto (cadena) y lógico; lo que está entre comillas es texto.

  • En las expresiones aritméticas mandan los paréntesis, luego div, mod y $\cdot$, y al final $+$ y $-$.

  • Las expresiones relacionales comparan y dan un valor lógico; con y, o, no se combinan.

  • Un contador suma una cantidad fija (cont <- cont + 1) y responde «¿cuántos?».

  • Un acumulador suma valores variables (suma <- suma + x) y responde «¿cuánto en total?».

  • Ambos se inicializan en 0 antes del ciclo, y la traza permite comprobarlos paso a paso.

Ver todos los ejercicios de este apartado