Programar :Palabras

Los siguientes reporteros extraen caracteres de las palabras:

Primitiva

definición

ejemplo

reporta

primero Reporta el primer carácter de una palabra. primero "arte a
último Reporta el último carácter de una palabra último "arte e
menosprimero Reporta la palabra sin el primer carácter. menosprimero "arte rte
menosúltimo Reporta la palabra sin el último carácter. menosúltimo "arte art
ítem Reporta el carácter especificado de una palabra. ítem 2 "arte r

Pruebe las primitivas anteriores en combinación con escribe o muestra.

muestra último "arte
e
muestra menosúltimo de arte
art
muestra primero menoprimero "arte
r

En el último ejemplo, la entrada de primero es el reportero menosprimero que, a su vez, tiene como entrada "arte. Menosprimero hace su trabajo, que consiste en reportar a primero la palabra arte sin su primer elemento: rte. La entrada de primero es rte, así que realiza su trabajo que consiste en reportar a muestra el carácter r. Así muestra hace aparecer en el Centro de Mando el carácter r.

Las palabras pueden ser combinadas para transformarse en una sola palabra mediante el reportero palabra:

muestra palabra "con "secuencia
consecuencia

Nota: Se puede transformar una lista en una palabra por medio de la siguiente instrucción:

muestra (palabra [Esto es una lista])

Los paréntesis se necesitan cuando palabra toma una entrada o más de dos entradas. Ver hazlista y lo explicado en Palabras Largas y Cajas de Texto acerca de cómo convertir una palabra larga en una lista.

Estos mismos reporteros se utilizan para manipular los números, ya que en Logo los números son considerados palabras.

muestra último 1998
8
muestra palabra "Nagano 98
Nagano98

Los números no deben estar precedidos de comillas.

Una cosa importante acerca de las palabras es recordar que una palabra puede no tener caracteres. En Logo, esto se llama una palabra vacía.

muestra "

escribe una línea en blanco. Observe que se deben usar las comillas para indicar a Logo que se trata de una palabra. Los reporteron que extraen partes de una palabra no aceptan como entrada una palabra vacía.

muestra primero "
a primero no le gusta como entrada

La palabra vacía es un concepto muy útil para las reglas de detención de los programas de texto recursivos.

El siguiente es un programa divertido que saca letras de una palabra:

para triángulo :palabra
si :palabra = " [alto]
muestra :palabra
triángulo menosprimero :palabra
fin

triángulo "MICROMUNDOS
MICROMUNDOS
ICROMUNDOS
CROMUNDOS
ROMUNDOS
OMUNDOS
MUNDOS
UNDOS
NDOS
DOS
OS
S

En triángulo, la palabra se reduce letra por letra hasta que no queda ningún carácter. La regla de detención dice:
Si el contenido de la palabra (:palabra) está vacío, para.

Este procedimiento ilustra dos conceptos:

  • cómo un reportero (en este caso, menosprimero) puede pasar una entrada a un procedimiento.

  • cómo la palabra de entrada pasa por un procedimiento recursivo mediante la iteración.

  • En efecto, cada triángulo que se llama recibe una entrada diferente: la palabra anterior con un carácter menos.

    El siguiente procedimiento escribe la palabra hacia atrás:

    para escriberevés :palabra
    si :palabra = " [es " alto]
    inserta último :palabra
    escriberevés menosúltimo :palabra
    fin

    Vamos a crear una caja de texto para probar escriberevés.

    escriberevés "María
    aíraM

    El procedimiento escriberevés es un poquito más complicado que el procedimiento triángulo anterior. Cada escriberevés toma una entrada diferente de menosprimero :palabra. Inserta inserta el último carácter de su entrada.