Curso completo de Lógica Aritmética Ejecutable

Perfil activo: arithmetic

ARITHarithmeticGuía dedicada

Curso completo de Lógica Aritmética Ejecutable

El perfil arithmetic convierte ST en un pequeño laboratorio ejecutable para expresiones numéricas, comparaciones, control de flujo y ejemplos pedagógicos paso a paso. Es una puerta excelente para enseñar que ST ya no solo verifica fórmulas: también puede guionar procesos lógicos y computacionales simples.

Por qué importa

Aritmética es el perfil más claro para mostrar que ST creció hacia un lenguaje explicativo completo. Aquí puedes usar números, operadores aritméticos, comparaciones, let, set, if, for, while, funciones y explain con resultados concretos. Es ideal para talleres, onboarding y cursos introductorios donde conviene mezclar lógica con ejecución visible.

Objetivos de aprendizaje

  • Leer expresiones numéricas con la precedencia correcta.
  • Distinguir entre resultado numérico y comparación booleana.
  • Usar check valid y check satisfiable sobre desigualdades y expresiones aritméticas.
  • Usar let, set, if, for y while para construir pequeños scripts ejecutables.
  • Escribir funciones con fn y return para encapsular pasos repetibles.
  • Aprovechar explain para convertir cálculos en ejemplos pedagógicos claros.

Panorama del curso

Esta guía reúne la cobertura completa del perfil: conceptos, operadores, comandos, ejemplos largos, límites reales del motor y un script integral descargable para seguir probando fuera de la página. Los bloques de código se pueden ejecutar inline y abrir en el editor desplegable para probar variaciones sin salir de la documentación.

Capacidades nuevas de este perfil

  • explain descompone operaciones aritméticas y comparaciones con salida pedagógica concreta.
  • Arithmetic sigue siendo la capa de scripting explicativo del runtime y convive con let, set, if, for, while y fn.
  • typeof ayuda a distinguir Number, String y Formula dentro del mismo lenguaje.

Aritmética explicativa

El perfil puede mostrar cálculo paso a paso y seguir usándose como pequeño laboratorio programable.

stejecutable
logic arithmetic
explain 2 + 3 * 4
check valid 10 % 3 > 0
let base = 2 + 3
print typeof(base)

Cobertura exacta del perfil

Arithmetic ya no es un extra mínimo: soporta enteros, decimales, menos unario, cinco operadores numéricos, seis comparadores textuales o Unicode, simplificación, warnings y scripting completo.

Operadores numéricos, comparadores y formato

La cobertura real del perfil aritmético es más amplia de lo que mostraban los ejemplos viejos.

  • Literales enteros y decimales
  • Menos unario como `-5` y `-(3 + 2)`
  • `+`, `-`, `*`, `/`, `%`
  • `<`, `>`, `<=`, `>=`, `≤`, `≥`
  • Render Unicode con `×`, `÷`, `≤`, `≥` y LaTeX con `\times`, `\frac`, `\leq`
  • Warnings por división o módulo por cero literal

Cobertura operativa completa del perfil

Este bloque referencia todos los operadores y varias combinaciones mixtas con lógica.

stejecutable
logic arithmetic
check valid 3 < 5
check valid 5 > 3
check valid 1 <= 2
check valid 5 >= 5
check valid 3 ≤ 5
check valid 5 ≥ 3
check satisfiable 2 + 2 > 3
explain 2 + 3
explain 10 - 4
explain 3 * 5
explain 10 / 2
explain 10 % 3
explain 2 + 3 * 4
explain -(3 + 2)
let X = 2 + 3
print X
set X = 2 * 5
print X
axiom mezcla = (1 < 2) & (3 > 1)
print mezcla
countermodel 5 < 3

Conceptos fundamentales

1. Aritmética como perfil ejecutable

En arithmetic, ST interpreta expresiones como 2 + 3, 8 / 2 o 10 % 3 y comparaciones como 5 > 2 o 4 <= 4. Ya no estás trabajando solo con tablas de verdad clásicas, sino con evaluación numérica y condiciones verdaderas o falsas a partir de operaciones aritméticas.

2. Comparaciones como fórmulas verificables

Expresiones como 2 + 3 < 10 o 8 / 2 >= 4 producen fórmulas que el motor puede tratar como válidas o satisfacibles dentro del perfil arithmetic. Esto permite reutilizar comandos como check valid, countermodel o explain sobre expresiones numéricas.

3. ST como lenguaje guiado

Arithmetic es también el mejor lugar para enseñar let, set, print, if, for, while y fn porque los resultados son inmediatos y concretos. El estudiante ve cómo cambia el estado y cómo una condición deja de cumplirse al reasignar una variable.

4. Explain con resultados concretos

Mientras otros perfiles explican estructura lógica, arithmetic además devuelve el resultado evaluado. Así puedes mostrar no solo la forma de una expresión, sino también el valor que produce y el porqué de una comparación verdadera o falsa.

Operadores y formas expresivas

A + B

Suma

Agrega dos expresiones numéricas y devuelve un nuevo valor.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
explain 2 + 3
check valid 2 + 3 < 10
A - B

Resta

Resta una cantidad a otra. También soporta menos unario mediante reescritura interna.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
explain 10 - 4
explain -(3 + 2)
A * B

Multiplicación

Multiplica dos expresiones; tiene mayor precedencia que + y -.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
explain 2 + 3 * 4
explain (2 + 3) * 4
A / B

División

Divide una expresión por otra; sirve para construir comparaciones evaluables.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
check valid 8 / 2 >= 4
explain 10 / 2
A % B

Módulo

Devuelve el residuo de una división entera.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
explain 10 % 3
check valid 10 % 3 > 0
A < B, A > B, A <= B, A >= B

Comparaciones

Producen fórmulas verdaderas o falsas que pueden usarse en check, if o while.

Práctica ST
stejecutable
logic arithmetic
logic arithmetic
check valid 2 + 3 < 10
check satisfiable 5 > 3

Comandos que debes dominar

Validez aritmética

Comprueba que una desigualdad o comparación sale verdadera en el cálculo planteado.

stejecutable
logic arithmetic
check valid 2 + 3 < 10
check valid (2 * 3) >= 6

Explicación numérica

Usa explain para obtener lectura y resultado de una expresión.

stejecutable
logic arithmetic
explain 2 + 3 * 4
explain 10 > 5

Variables y reasignación

Usa let y set para construir pequeños scripts con estado legible.

stejecutable
logic arithmetic
let X = 2 + 3
print X
set X = 2 * 5
print X

Condicionales y loops

Combina arithmetic con if, for y while para mostrar procesos paso a paso.

stejecutable
logic arithmetic
if valid 8 / 2 >= 4 {
  print "division ok"
}

for N in { 1, 2, 3 } {
  print N
}

set LOOP = 1
while satisfiable LOOP {
  print "loop arithmetic"
  set LOOP = 0
}

Funciones

Encapsula secuencias reutilizables con fn y return.

stejecutable
logic arithmetic
fn calcular(A, B) {
  print A
  print B
  explain A + B
  return A + B
}

calcular(4, 5)

ST como herramienta pedagógica en esta lógica

Esta sección no solo enseña la lógica, sino también cómo usar `ST` para explicarla mejor: con aliases semánticos, funciones reutilizables, condicionales, recorridos guiados y salidas legibles para clase, taller o autoestudio.

Script docente con estado visible

Muestra la versión más clara de ST como lenguaje pedagógico: variables, mutación, función y control de flujo en una sola escena.

stejecutable
logic arithmetic
let base = 2 + 3
print base

fn revisar(X) {
  explain X
  return X
}

revisar(base * 4)

if valid base < 10 {
  print "la base es pequeña"
}

for N in { 1, 2, 3 } {
  explain N + base
}

Mini simulación de aula

Enseña cómo una condición cambia al reasignar el estado con set.

stejecutable
logic arithmetic
let contador = 3

while satisfiable contador > 0 {
  print contador
  set contador = contador - 1
}

if valid contador < 1 {
  print "el contador terminó"
}

Lecciones prácticas largas

Ejemplo 1 · Cálculo y comparación

Empieza por expresiones cortas y comparaciones directas.

stejecutable
logic arithmetic
check valid 2 + 3 < 10
check valid (2 * 3) >= 6
check satisfiable 10 % 3 > 0
explain 2 + 3 * 4
explain 10 > 5

Ejemplo 2 · Variables y mutación

Muestra cómo el estado puede cambiar de manera controlada.

stejecutable
logic arithmetic
let X = 2 + 3
print X
set X = 2 * 5
print X

Ejemplo 3 · Flujo de control

Convierte una verificación en un flujo legible para una clase o demo.

stejecutable
logic arithmetic
if valid 8 / 2 >= 4 {
  print "division ok"
} else {
  print "division fail"
}

for N in { 1, 2, 3 } {
  print N
}

set LOOP = 1
while satisfiable LOOP {
  print "loop arithmetic"
  set LOOP = 0
}

Ejemplo 4 · Función reutilizable

Agrupa pasos repetibles y explica resultados en un solo bloque.

stejecutable
logic arithmetic
fn calcular(A, B) {
  print A
  print B
  explain A + B
  return A + B
}

calcular(4, 5)

Ejemplo 5 · Script completo de aula

Una mini lección ejecutable que mezcla cálculo, control de flujo y explicación.

stejecutable
logic arithmetic
print "=== arithmetic-course ==="
let base = 2 + 3
print base

if valid base < 10 {
  print "base pequeña"
}

for Caso in { 1, 2, 3 } {
  print Caso
}

fn revisar(X) {
  explain X
  check satisfiable X > 0
}

revisar(4 + 5)
countermodel 5 < 3

Errores frecuentes al estudiar esta lógica

  • Confundir explain con check valid: uno explica y evalúa; el otro verifica un estatus lógico.
  • Olvidar que la precedencia hace que 2 + 3 * 4 no sea lo mismo que (2 + 3) * 4.
  • Usar while sin cambiar el estado con set y provocar iteraciones innecesarias.
  • Esperar que print suma(2, 3) muestre 5 de inmediato: el runtime suele conservar la fórmula retornada y otros comandos la evalúan sobre el perfil.
  • Tratar una comparación como si fuera un número cuando ya produce un resultado booleano del perfil.

Límites del motor y advertencias

  • La división por cero puede producir resultados no útiles para docencia rigurosa; conviene evitarla en materiales introductorios.
  • while tiene un límite de seguridad de 1000 iteraciones.
  • Las funciones retornan fórmulas reutilizables, pero print suele mostrar la expresión resultante y no siempre su reducción aritmética final.
  • Arithmetic está orientado a ejemplos pedagógicos y scripting ligero, no a álgebra simbólica avanzada.

Cómo conecta con otras lógicas

  • Es el mejor perfil para enseñar el nuevo ST como lenguaje ejecutable, no solo lógico.
  • Sirve como puente entre estudiantes que vienen de programación y estudiantes que vienen de lógica formal.
  • Prepara muy bien la entrada a ejemplos con Text Layer, analyze y explain dentro de materiales educativos.
  • Ayuda a prototipar mini simulaciones y laboratorios visibles antes de pasar a perfiles más abstractos.