Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es Naipi?
Es un lenguaje de programacin creado con el objetivo de aprender a programar ya que ayuda a desarrollar las habilidades y conocimientos de las etapas del proceso de la programacin (mas adelante se ver cmo). Esta basado en un juego con las cartas de una baraja inglesa, en dnde se plantea una tarea a resolver y entonces, se deben hacer los traslados de cartas de un lugar a otro para resolver dicha tarea.
Juego? En qu consiste?
El juego consiste en suponer una situacin a la que llamaremos tarea y resolverla manipulando las 52 cartas de una baraja. Ejemplo 1: suponiendo la tarea siguiente: Tomar una carta y dejarla volteada. El jugador puede realizar las acciones necesarias sobre las cartas para llevar a cabo la tarea como: formar pilas, mover cartas entre ellas, cambiar su sentido (derecho y reverso) y preguntar sobre sus caractersticas.
La Mano
El jugador inicia con su mano vaca y durante el juego puede tomar cartas e irlas dejando segn decida. Solo puede tener una carta en la mano.
Las pilas
Una pila es una secuencia de cartas apiladas una encima de otra. Pila 0: Es la pila original (el mazo) con las 52 cartas acomodadas (barajeadas) en orden aleatorio.
Las pilas
Pilas del usuario: Puede haber hasta 15 pilas y cada una tiene un nombre que corresponde con los nmeros naturales, es decir, pila 1, pila 2, etc. Llamaremos Pila vaca a la pila que no tiene cartas en ella.
Las Cartas
Existen las 52 cartas de un mazo de una baraja inglesa. Cada carta se identifica por un nmero y un mazo especfico.
Los nmeros pueden ser del 1 al 13 siendo el 1 el AS, 11 la Jota, 12 la Reina y 13 el Rey.
Las Cartas
Los mazos son:
corazn pica trbol diamante
Las Cartas
Inicialmente las cartas estn al derecho es decir con el mazo y nmero hacia arriba y el jugador puede poner al revs la carta que tenga en la mano, es decir, hacia abajo.
Carta al derecho
Carta al revs
FORMA DE JUGAR
Acciones primitivas
Tomar carta: El jugador toma la carta de la parte superior de una pila no vaca con su mano (debe indicarse el nombre de una pila y sta debe tener cartas). Dejar carta: El jugador deja la carta que esta en su mano en una pila determinada (debe indicarse el nombre de una pila y la mano debe tener una carta). Voltear carta: Cambia el sentido de la carta que esta en su mano, quedando en sentido contrario al que estaba inicialmente.
El jugador puede hacer preguntas sencillas (proposiciones atmicas) sobre las caractersticas de las cartas (solo sobre la que tiene en la mano) y sobre las pilas.
El jugador puede unir varias preguntas (proposiciones atmicas) para referirse a dos caractersticas distintas en una misma pregunta, (formando proposiciones compuestas), para ello se usan los operadores lgicos Y, O y NO.
FIN
Codificacin
INICIO_PROGRAMA HAY 2 PILAS INICIO TOMA(0), VOLTEA(), DEJA(1) FIN FIN_PROGRAMA
Tomar una carta y si es roja dejarla en la pila 1, pero si es negra dejarla en la pila 2.
SI
Tomar una carta de la pila 0
NO
Es ROJA?
SI
Dejarla en la pila 2
Dejarla en la pila 1
FIN
Codificacin
INICIO_PROGRAMA HAY 3 PILAS INICIO SI(PILA_CON_ELEMENTOS(0)) { TOMA(0) SI(ES_ROJA) { DEJA(1) } SINO { DEJA(2) } } FIN FIN_PROGRAMA
Tomar una carta, si es roja Y es corazn dejarla en la pila 1, sino, dejarla en la pila 2.
NO
SI
Tomar una carta de la pila 0
NO
Es Roja Y Es Corazon?
SI
Dejarla en la pila 2
Dejarla en la pila 1
FIN
Codificacin
INICIO_PROGRAMA HAY 3 PILAS INICIO SI(PILA_CON_ELEMENTOS(0)) { TOMA(0) SI(ES_ROJA AND ES_CORAZON) { DEJA(1) } SINO { DEJA(2) } } FIN FIN_PROGRAMA
Formar 2 pilas, la pila 1 con cartas rojas y la pila 2 con cartas negras.
SI
Tomar una carta de la pila 0
NO
Es ROJA?
SI
Dejarla en la pila 2 Dejarla en la pila 1
FIN
Codificacin
INICIO_PROGRAMA HAY 3 PILAS INICIO MIENTRAS(PILA_CON_ELEMENTOS(0)) { TOMA(0) SI(ES_ROJA) { DEJA(1) } SINO { DEJA(2) } } FIN FIN_PROGRAMA