SIN · Sintaxis 3 · Operadores y expresiones

11.Asignación

La instrucción que guarda un valor en una variable; primero se calcula lo de la derecha y después se guarda en lo de la izquierda.

¿Qué es?

La asignación es la instrucción que guarda un valor en una variable. Es la operación más común de cualquier programa.

Funciona como la flecha de PSeInt lo indica: total <- precio * 2 significa «calcula precio * 2 y mételo en la caja llamada total». Lo que había antes en total se reemplaza.

Cómo se ejecuta

  1. Se calcula todo lo que está a la derecha.
  2. El resultado se guarda en la variable de la izquierda.

Por eso contador = contador + 1 tiene sentido en programación (aunque en matemáticas no): toma el valor actual, le suma 1 y lo guarda de nuevo.

Sintaxis (pseudocódigo / Python)

PSeInt Python
Asignación x <- 5 x = 5
Con expresión total <- precio * cantidad total = precio * cantidad
Incrementar x <- x + 1 x = x + 1 o x += 1
Asignación múltiple — a, b = 1, 2

PSeInt

Algoritmo Asignacion
	Definir puntos Como Entero
	puntos <- 10
	puntos <- puntos + 5
	puntos <- puntos * 2
	Escribir "Puntos: ", puntos
FinAlgoritmo

Python

puntos = 10
puntos += 5      # igual que puntos = puntos + 5
puntos *= 2      # igual que puntos = puntos * 2
print("Puntos:", puntos)   # 30

ancho, alto = 4, 3
print("Área:", ancho * alto)

Asignación compuesta en Python

Operador Equivale a
x += 3 x = x + 3
x -= 3 x = x - 3
x *= 3 x = x * 3
x /= 3 x = x / 3
x //= 3 x = x // 3
x %= 3 x = x % 3

Ejemplo guiado

Problema: saldo de una cuenta después de varios movimientos.

Prueba de escritorio:

Instrucción saldo
saldo = 1000 1000
saldo -= 250 (compra) 750
saldo += 500 (depósito) 1250
saldo -= saldo * 0.10 (comisión del 10 %) 1125.0
saldo = 1000
saldo -= 250
saldo += 500
saldo -= saldo * 0.10
print("Saldo final:", saldo)

Salida esperada: Saldo final: 1125.0

Errores comunes

# ✗ Incorrecto: a la izquierda debe ir una variable
5 = x
SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
# ✗ Error lógico
precio = 100
total = precio * 2
precio = 150
print(total)   # sigue siendo 200, no 300

Buenas prácticas

  • Espacios alrededor del =: total = precio * 2 (PEP 8).
  • Usa += y compañía cuando actualices una variable: es más corto y claro.
  • Una asignación por línea, salvo intercambios sencillos (a, b = b, a).
  • No reutilices variables para cosas distintas solo para «ahorrar» nombres.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias

© solutions_ · Fundamentos de programación · 11 Asignación