If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Referencia de pseudocódigo para el examen AP CSP

Como AP CS Principles se enseña con una variedad de lenguajes de programación, las preguntas del examen de AP CSP utilizan un pseudocódigo que representa conceptos fundamentales de programación.
Cada examen AP CSP tiene una referencia completa de pseudocódigo que los estudiantes pueden consultar durante el examen. También está disponible en la página 205 de la descripción del examen AP CSP de College Board.
Para practicar pseudocódigo AP CSP, puedes trabajar en los ejercicios de nuestras unidades Programación y Algoritmos. También puedes ver una referencia del pseudocódigo en cada pregunta si haces clic en "¿En qué lenguaje está este código?" debajo de las respuestas.
Lo siguiente es una adaptación de la referencia oficial de pseudocódigo, con enlaces a preguntas de práctica para cada concepto.

Pseudocódigo AP CSP

Asignación, despliegue y entrada

a ← expresión
DISPLAY (expresión)
INPUT ()
  • Acepta un valor del usuario y lo devuelve.

Operadores aritméticos y procedimientos numéricos

a + b a - b a * b a / b
  • Los operadores aritméticos, +, -, * y /, se utilizan para realizar aritmética con a y b.
  • 📝Práctica: expresiones matemáticas
a MOD b
RANDOM(a, b)

Operadores relacionales y booleanos

a = b a ≠ b a > b a < b a ≥ b a ≤ b
NOT condición
condición1 AND condición2
condición1 OR condición2

Selección

IF (<condiciónn>) { <bloque de instrucciones> }
  • El código en bloque de instrucciones se ejecuta si la expresión booleana condición se evalúa como true; no hay ninguna acción si condición se evalúa como false.
  • 📝Práctica: condicionales con if, else y booleanos
IF (<condiciónn>) { <primer bloque de instrucciones> } ELSE { <segundo bloque de instrucciones> }

Iteración

** REPEAT n TIMES { <block of statements> }
**
** REPEAT UNTIL (condition) { <block of statements> }
**

Operaciones con listas

Para todas las operaciones con listas, si un índice de lista es menor que 1 o mayor que la longitud de la lista, se produce un mensaje de error y el programa termina.
lista[i]
  • Hace referencia al elemento en el índice i de lista. El primer elemento de lista está en el índice 1.
  • 📝Práctica: almacenar y actualizar listas
lista[i] ← lista[j]
lista ← [valor1, valor2, valor3]
FOR EACH ítem IN lista { <bloque de instrucciones> }
  • El valor de cada elemento de lista se asigna secuencialmente a la variable ítem, en orden desde el primero hasta el último. El código en bloque de instrucciones se ejecuta una vez por cada asignación.
  • 📝Práctica: iterar sobre listas con bucles
INSERT (lista, i, valor)
  • Los valores en lista en índices mayores o iguales a i se desplazan a la derecha. La longitud de lista se incrementa en 1, y valor se coloca en el índice i de lista.
  • 📝Práctica: almacenar y actualizar listas
APPEND(lista, valor)
REMOVE(lista, i)
  • Elimina el elemento del índice i en lista y desplaza a la izquierda los valors en índices mayores que i. La longitud de lista se reduce en 1.
  • 📝Práctica: almacenar y actualizar listas
LENGTH(lista)
  • Evalúa el número de elementos en la lista.

Procedimientos

** PROCEDURE name (parameter1, parameter2, ...) { <instructions> }
**
** PROCEDURE name (parameter1, parameter2, ...) { <instructions> RETURN (expression) }
**
  • Un procedimiento, nombre, toma cero o más parámetros. El procedimiento contiene instrucciones de programación y regresa el valor de expresión. La instrucción RETURN puede aparecer en cualquier punto del procedimiento y causa un retorno inmediato del procedimiento al programa que lo llamó.
  • 📝Práctica: procedimientos con valores de retorno

Robot

Si se intenta mover el robot a un cuadrado que no está abierto o que está más allá del borde de la cuadrícula, el robot permanecerá en su ubicación actual y el programa terminará.
MOVE_FORWARD ()
  • El robot mueve un cuadrado hacia adelante en la dirección que está mirando.
ROTATE_LEFT ()
  • El robot gira en su lugar 90 grados en sentido contrario a las manecillas del reloj (es decir, hace un giro izquierdo en el lugar).
ROTATE_RIGHT ()
  • El robot gira en su lugar 90 grados en sentido de las manecillas del reloj (es decir, hace un giro derecho en el lugar).
CAN_MOVE (dirección)
  • Evalúa a true si hay un cuadrado abierto en la dirección relativa a donde está mirando el robot; de lo contrario evalúa a false. El valor de dirección puede ser left, right, forward, o backward.
📝Práctica de preguntas estilo robot están en lección de repetición.