Enfoque SL soportado. Objetivo de primera evaluación 2027; PDF oficial devuelve 403; la brief adquirida anterior es la evaluación final 2026. Las guías, evaluaciones y requisitos prácticos restantes conservan sus retenciones registradas.
Requisitos previos: lea las cantidades y unidades indicadas, utilice aritmética y las condiciones del modelo a continuación. Cada lección desarrolla su propio método antes de la transferencia independiente.
Estos son ejemplos didácticos originales o explícitamente ficticios, no mediciones reales ni investigaciones evaluadas completas de estudiantes.
5.2
Algoritmos, trazas y evidencia de corrección
¿Qué explicaría esta observación?
Un algoritmo puede funcionar para un ejemplo y fallar en un límite. Las pruebas deben diseñarse según la especificación, no solo el camino feliz (happy path).
Comience con una predicción. Enuncie las cantidades o características que compararía, luego decida qué evidencia podría distinguir entre dos explicaciones.
Construya el modelo
Un algoritmo es un procedimiento finito y sin ambigüedades para una tarea. Un rastreo registra cambios de estado. Un invariante de bucle describe una propiedad preservada por cada iteración y ayuda a justificar la corrección.
algoritmo: Procedimiento finito que resuelve una tarea declarada; prueba de límite: Prueba en un extremo del rango de entrada permitido.
Elija evidencias que puedan probarlo
Establezca condiciones de entrada y salidas esperadas. Utilice casos límite, colecciones vacías cuando estén permitidas, duplicados y valores inválidos. Distinga un algoritmo incorrecto de una implementación errónea o un requisito incompleto.
Rastree una búsqueda en una lista ordenada ficticia pequeña. Indique la convención de indexación. Para la búsqueda binaria, actualice los límites para que el intervalo restante se reduzca y rechace la entrada no ordenada a menos que el ordenamiento sea parte de la tarea.
Trabaje desde cantidades conocidas
Indique los valores conocidos y sus unidades. Elija la relación porque sus supuestos se ajustan a este caso, luego reordénela antes de la sustitución.
Conocido: una búsqueda lineal en una lista de ocho elementos puede requerir ocho comparaciones cuando el elemento buscado está al final o no existe. Duplicar la longitud de la lista duplica el conteo máximo de comparaciones bajo este modelo. La búsqueda binaria reduce el intervalo aproximadamente a la mitad en cada paso, pero requiere una estructura ordenada adecuada.
Ejemplo:
Una búsqueda lineal examina todos los 14 elementos sin encontrar coincidencia. ¿Cuántas comparaciones de elementos ocurren? Utilice la misma secuencia: cantidades conocidas → modelo → relación → sustitución → unidad e interpretación.
Verifique la conclusión y sus límites
Una prueba de muestra exitosa no demuestra la corrección para todas las entradas válidas. No se debe importar sintaxis pseudocódigo específica de Cambridge en un curso IB sin una fuente del curso.
Vuelva a la observación original. Explique qué respalda el resultado, qué condiciones asume y una forma de probar una explicación alternativa.
Advertencia:
Una sola prueba de muestra exitosa demuestra que un algoritmo es correcto para cada entrada válida. Esta afirmación es falsa: una prueba de muestra exitosa no demuestra la corrección para todas las entradas válidas. No se debe importar sintaxis pseudocódigo específica de Cambridge en un curso IB sin una fuente del curso.
Clave:
Algoritmos, trazas y evidencia de corrección: Enuncie las condiciones de entrada y las salidas esperadas. Utilice casos límite, colecciones vacías donde se permita, duplicados y valores inválidos. Distinga entre un algoritmo incorrecto y una implementación errónea o un requisito incompleto.
Trazabilidad ejecutable y límite
def first_index(values, target):
for index, value in enumerate(values):
if value == target:
return index
return -1
print(first_index([4, 7, 4], 4))
print(first_index([4, 7, 4], 9))
print(first_index([], 4))
Salida esperada:
0
-1
-1
El bucle prueba primero el índice 0, se detiene al encontrar una coincidencia y devuelve −1 solo después de agotar la lista. Por lo tanto, los duplicados devuelven el primer índice. Una lista vacía no ejecuta ningún cuerpo de bucle.