Académique Documents
Professionnel Documents
Culture Documents
- UAMI
versin 2.1
p, A Y 1 ~ 1 1 1 muma
s ~ ~
Proyecto terminal
Contenido
Introduccin
Computadoras PC y compatibles ................................
......................................
Conceptos bsicos sobre Karel ..........................................................................
Elsistema Karel-UAMI.......................................................................................
Puesta en operacin del sistema Karel-UAMI ....................................................
Conduccin por mens ......................................................................................
1
3
5
6
7
Programas
Caractersticas del lenguaje...............................................................................
Diseo de programas.........................................................................................
La opcin pfogrema ..........................................................................................
Teclas de uso en el editor ................................................................................
Movimientos del cuTsor ....................................................................................
Manejo de instrucciones ..................................................................................
Teclas de uso general......................................................................................
Ayuda y gramtica...........................................................................................
1
6
9
12
14
16
18
19
Laberintos
La opcin Laberinto ...........................................................................................
Modos de edicin...............................................................................................
rdenes para bloques........................................................................................
Contenido
2
5
6
p6gins 1
.._I.__1.
I Captulo4 I
Compilacin de programas
&Que es compilar? ............................................................................................
La opcin Compilar............................................................................................
7
2
Ejecucin de programas
El robot como un esclavo ..................................................................................
7
La opcin Ejecuta .............................................................................................. 1
La opcin Robot ................................................................................................
4
Cancelacin de la ejecucin ............................................................................. . 5
Terminacin de un programa ............................................................................. 6
I Captulo6 I
Manejo de archivos
Uso de la opcin Archivos..................................................................................
[Apndice B
Mensajes de error
EKOreS de funcionamiento .....................................
.................. ..........................
Errores de directorio o al cargar y guardar archivos ...........................................
Errores de compilacin ......................................................................................
Errores de ejecucin ..........................................................................................
Errores de posicin del robot Karel ....................................................................
1
I
2
IApndice C I
Uso de discos flexibles
Dar formato a un disco ......................................................................................
Eluso de la orden Copy.....................................................................................
2
3
IApndice D I
Bibliografa
Contenido
pgina 3
KAREL
- UAMI
versin 2.1
Captulo 7
Introuccin
@unos Ma*
Laura
I Captulo I
1
Introduccin
El sistema Karel-UAMI pretende introducir al usuario a diversos conceptos fundamentales de la computacin como son: lenguaje de alto nivel,
programa, compilacin, depuracin, etc., y por otra parte familiarizarlo
con el manejo de herramientas disponibles en los computadores, como
editores de texto, administradores de disco, informacin de ayuda y conduccin por mens, a fin de facilitar el trabajo.
La presente gua detalla las caractersticas del sistema, ofreciendo una
breve explicacin de los conceptos presentados en cada una de las secciones. Tratndose de un manual, se evita profundizar en los temas presentados; sin embargo se menciona alguna bibliografa que sea til para
aquellos que deseen ampliar los conocimientos.
Este sistema fu desarrollado para equipos IBM-PC y compatibles, por lo
cual la primera seccin dedica una rpida introduccin a dichos equipos,
presentando los puntos principales que el usuario debe tomar en cuenta
en su desempeo con el sistema Karel- UAMI. En las otras secciones de
este captulo se d una perspectiva sobre los conceptos generales referentes a Karel y el uso de este sistema.
Computadoras PC y compatibles
Con la introduccin de los microprocesadores en el mercado, las computadoras dedicadas a la investigacin o a las grandes empresas empezaron a convertirse en una herramienta de uso comn (Microcornputadoras
o Computadoras personales).
pBgina 1
IntroducciOn
- - ,
I
-
KARELUAMI v e d a 2.1
Capitulo 1
(Extended Technology)
Tienen un procesador 8086/8088, con velocidades desde 4MHz a
12MHz y en este momento es tecnologa prxima a desaparecer.
AT
(Advanced Technology)
Introduccin
pagina 2
_ I
K A R E L U M versin 2.1
CepMul0 1
Para utilizar un disco flexible virgen, es decir sin formato, este se procesa
antes por un programa que coloca marcas al disco para localizar los datos a grabarse en l; este proceso se conoce como formafeo y para explicarlo ms ampliamente se ha includo el Apndice C: Uso de discos
flexibles.
Girar
Sobre su propio eje. Se limita a rotaciones en ngulo recto, respecto a la
posicin y orientacin actual.
Ver
Las paredes encontradas a sus cuatro costados; sin embargo su visin
es muy restringida y slo es capaz de ver una pared, si se encuentra a un
paso de lla.
KARELUAMI reisli2.1
Capitulo 1
Oir
El sonido emitido por un trompo zumbador, siempre y cuando se encuentre en la misma posicin del trompo.
Recoger
Orientarse
Lo cual significa revisar si se encuentra apuntando o no, en direccin
norte.
La situacin actual del robot se puede obtener observando la colocacin
de Karel en el laberinto y de algunos registros internos utilizados como
medio de informacin. Todo esto se presenta en el Estado del robot,
Karel depende de esta informacin para la ejecucin de un programa.
Hasta ahora se ha visto al robot Karel, su universo y como se desenvuelve en el. Enseguida se ve el manejo del sistema Karel-UAMI, para un fcil
desempeo de los dems programas.
introduccin
pesina 4
KARELUAMI r e d o 2.1
Capitulo 1
El sistema KareI-UAMI
El sistema Karel-UAMI es un ambiente integrado para programar al robot
Karel. Con ambiente integrado se quiere decir que todas las actividades
relacionadas con la creacin, compilacin, ejecucin, depuracin y almacenamiento de programas para Karel pueden realizarse sin abandonar el
sistema.
Archivos
Todos los programas creados por el usuario dentro del sistema KarelUAMl (como son programas, mediante el editor de programas y laberintos, mediante el editor de laberintos), son almacenados en archivos. Los
archivos son unidades lgicas a las que se les asocia un nombre especfico, normalmente designado por el usuario. En esta parte se pueden
utilizar dichos archivos para hacer una copia, tanto de los programas como de los laberintos, y mostrar al usuario los archivos contenidos en diversos directorios. Tambin en esta parte se encuentra la opcin para
salir del sistema.
Programas
Karel cuenta con un lenguaje propio para comprender las instrucciones
ordenadas por el usuario; este lenguaje se denomina de alto nivel por ser
ms expresivo y entendible para el ser humano; en esta parte se pueden
escribir los programas que utilizan dicho lenguaje; para ello la opcin
Programas consta de un editor de textos, similar al de otros sistemas
donde es posible crear, modificar y almacenar programas en lenguaje de
alto nivel para efectuar ciertas tareas con Karel. Dentro del editor tambin
se pueden agregar, eliminar o intercambiar caracteres, lneas y bloques,
los cuales son partes conformantes del texto de un programa.
Laberintos
En ella es posible crear, modificar o almacenar laberintos, donde Karel
ejecuta los programas escritos para l. Cuenta con rdenes que permiten
trazar y borrar paredes, copiar, mover o borrar bloques de paredes y
dejar o levantar los trompos zumbadores en sitios especficos, de
acuerdo a la meta que Karel debe alcanzar.
lntroduccidn
pesina 5
Capltulo 1
Compilacin
Para que Karel pueda entender los programas escritos en lenguaje de
alto nivel, se traducen a un lenguaje de bajo nivel, menos expresivo para
las personas pero no para Karel; a este proceso, en computacin se le
denomina Compilacin. En esta parte se compilan los programas escritos
para Karel, quedando las instrucciones traducidas en la memoria del
sistema.
Ejecucin
La ejecucin de programas corresponde a interpretar o simular los programas escritos para Karel en un laberinto. Existen 2 tipos de ejecucin:
una automtica, que interpreta totalmente un programa en un laberinto y
otra manipulada, observndose paso a paso, tanto en el laberinto corno
en el editor de programas, la interpretacin de cada instruccin ejecutada
por Karel.
Robot
En esta parte se activan 2 opciones:
a)
b)
Introduccin
PdgiM 6
__
KARELUAMI versin 2.1
Capltulo 1
C>A: [Enter]
con esta instruccin, el interrogante cambia a la unidad deseada. En este
momento se puede colocar el disco en dicha unidad y proceder a digitar:
A> KAREL [Enter]
para introducirse al sistema Karel-UAMI, presentndose el ambiente
principal del sistema.
Captulo 1
Ksrel
UAMl
21
Introduccin
@gins 8
_I__
_--
l
_
l
_
--
.I
KAREL
UAMI
versin 2.1
*
Captulo 2
Programas
I Captulo I
L
Programas
AI escribir programas para Karel, se emplea un lenguaje diseado para
l.En este captulo la primera seccin es dedicada a describir las caractersticas del lenguaje, dando algunas sugerencias para el diseo de programas; el resto se dedica a explicar la forma de uso del editor de programas, as como el manejo de las teclas utilizadas dentro ste.
Capitulo 2
Instruccion
Avanza
Vueltalzquierda
VueitaDerecha
Recogeobjeto
Dejaobjeto
Pideobjeto
DevuelveObjeto
Significado
ParedEnfrente
NadaEnfrente
Paredlzquierda
Nadalzquierda
ParedDerecha
NadaDerecha
Objetosuena
Nadasuena
AlgunObjeto
NingunObjeto
DireccionNorte
La condicin es cierta si :
Karel observa una pared al frente.
Karel no observa una pared al frente.
Karel observa una pared a su izquierda.
Karel no observa una pared a su izquierda.
Karel observa una pared a su derecha.
Karel no observa una pared a su derecha.
Karel escucha el zumbido de un trompo en la
posicin donde se encuentra.
Karel no escucha el zumbido de un trompo
en la posicin donde se encuentra.
Karel tiene al menos un trompo en su bolsa.
Karel no tiene trompos en su bolsa.
Karel se encuentra orientado hacia el norte.
Programas
peaina 2
Capitulo 2
lenguaje est constituida por reglas de produccin. Una regla de produccin tiene 2 partes: el simbolo a definir y la definicin del simbolo colocados en el siguiente orden:
simbolo a definir
(no terminal)
En cualquier gramtica existen 2 tipos de smbolos: ferminales y no ferminales. En las reglas de produccin, el smbolo a definir siempre es no
terminal y en la definicin del smbolo pueden intervenir los dos. Las expresiones del lenguaje definidas en la gramtica estn constitudas nicamente por smbolos terminales.
Las convenciones para especificar la gramtica del lenguaje Karel son:
O
0
Definidas las convenciones, se detallan las estructuras de control utilizando las reglas de produccin correspondientes. La primera estructura
de control es la Secuencia de lnsfrucciones y su regla de produccin es:
<Secuencia>
Captulo 2
<Instruccin Elementab I
<ciclo Mientras> I
<Ciclo Repite> I
<Seleccin> I
<Nombre de Tarea>
Se evala la <Condicin>.
Si se cumple, se ejecuta la <Secuencia> y se regresa al paso 1; en
otro caso va al paso 3.
El ciclo termina.
El ciclo no se interrumpe si durante la ejecucin de la <Secuencia> cambia la condicin, pero si al evaluar nuevamente la <Condicin>. La figura
2-2 muestra el diagrama de flujo de esta estructura. ste debe usarse
siempre que existan acciones que se deseen ejecutar una o ms veces, si
se cumple una condicin que se evale al entrar al ciclo.
Juy
i
i
o
KARELUAMI rw86a2.1
Capltulo 2
Repite
<Secuencia>
Hasta <Condicin>
Este ciclo se utiliza para ordenar la ejecucin repetitiva de una <Secuencia> por lo menos una vez y hasta que se cumpla la <Condicin>, entendindose de la siguiente forma:
1. Se ejecuta la <Secuencia>
2. Se evala la <Condicin>
3.
La utilidad de este ciclo se da cuando el grupo de acciones debe ejecutarse al menos una vez, independientemente de si la condicin se cumple
o no. Si no se cumple la condicin, la secuencia es repetida hasta cumplirse. El diagrama de flujo se muestra en la figura 2-3.
La ltima estructura es la Seleccin y su regla de produccin es la
siguiente:
<Seleccin>
Si <Condicin> Entonces
<Secuencia>
[Otro <Secuencia>]
Fin
KARELUAMI vemin2.1
Capltulo 2
I+-7
Secuencia
No
Programas
-6
KAELUAMI vert46112.1
Capltulo 2
<Programa>
-+
-+
-+
-+
-+
-+
+
-+
<Identificador>
<Identificador>
<Caracteres> <Letra>
<Caracteol<CaracteocCaracteres>
<Letra> I <Dgito>
A ( 6 I...I Z l a I b I...I z
011 121 ...I9
Programas
PIBina 7
KAREL-UAMl veraibii2.1
Capitulo 2
1
Figura 2 4 . Diagrama de flujo de la seleccin
Diseo de programas
El diseo de programas no es una actividad ligada al computador.
pgina 8
Programas
_
I
_
-~
" I
--
7--
KAREL-UAMl vaaih2.1
Capitulo 2
La opcin Programa
Si un programa ya fue construido, debe introducirse al sistema para hacer
posible su compilacin y ejecucin, auxilindose del editor de programas.
Para esto, se debe seleccionar del men principal la opcin Programa,
utilizando las teclas de flechas hasta llegar a la opcin u oprimiendo la
tecla bajo contraste de la palabra (P), desplegndose el submen como
se muestra en la figura 2-5.
1 Archivos
Laberinto
Chmpilar
Ejecutar
Robot
KARELUAMl r d 2 . 1
Captulo 2
UAMl
2.1
Laberinto
a m
Programas
ngidn 1
PROGRAMA <lDENT>
COMIENZA
FIN <IDENT>.
.
Figura 2-6. Creando un programa nuevo
K A R E G U M reni112.1
Capltulo 2
Karel
UAMl
2.1
UAMl
Laberinto
2.1
Cbmp
Programas
- - ~
pdgina 11
KARELUAMI renin2.1
Captulo 2
I Archivos
c
Karel
UAMl
I
Laberinto
2.1
Cbrnpilax
Ejecutar
Laberinto
~~
Robot
Archivos
2.1
Cbmpilax
Ejecutar
Robot
I
I
Laberinto
RE2.M
NOMBRE21.W
NOUBRE22.KAR
NOM
NOMBRE23.M NOMBRE24.KAR
KAREL-UAMI raidn2.1
Capltuio 2
[Fl] AI presionar esta tecla, se obtiene en todo momento la ayuda esperada, de acuerdo a la instruccin en la cual se encuentre posicionado el cursor. Por ejemplo, si el cursor se encuentra en la
palabra PROGRAMA y se presiona la tecla [Fl], aparece una
ventana, como se muestra en la figura 2-1 1, jndicando que lo nico
que puede contener el nodo de PROGRAMA son comentarios.
Karel
Columna 1
Rengldn
PROGRAMA <DENT>
COMIENZA
FIN <IDENT>.
UAMl
2.1
1
Wm-[cJ: Comentarios
Documcntscidn
[ESC] -> Salk
VAB] Esta tecla junto con la tecla [F4], permiten cambiar o modificar alguna instruccin. Como no existe ningn error de escritura en las
_..
_.I-
...
... .,. .
.-
KARELUAMJ venin2.l
Capltulo 2
ampila
Ejecutar
Robot
m O Q R A M A ElemDlO
COMIENZA
FIN Ejemplo.
Capltulo 2
Archivos
Karel
UAMl
Laberinto
21 *
ampilax
Ejecutar
Robot
1Archivos
Laberinto
(ampilar
Ejecutar
Robot
COMIENZA
FIN Ejemplo.
KARELUAMi reda2.1
Capitulo 2
Manejo de instrucciones
A diferencia de otros lenguajes, Kam/ contiene un editor guiado por sintaxis, es decir, el usuario puede indicar el flujo de control deseado tan
slo con oprimir ciertas teclas para llenar un programa con la rden correcta.
En este tipo de sistemas los errores sintcticos no existen debido a que la
estructura del lenguaje aparece en la pantalla de edicin. Por elk, al
usuario no se le olvidar teclear el punto final al concluir un programa,
como ocurra frecuentemente con la versin anterior o bien no olvidar
colocar el signo igual (=) frente al identificador de una instruccin
APRENDE, ya que el mismo sistema coloca la sintaxis correcta.
Estructuras de control
El lenguaje Karel cuenta con un conjunto de estructuras de control explicadas con anterioridad, las cuales se muestran en el editor de programas
con las siguientes teclas de uso:
[Alt+S] Coloca en la ventana de edicin de programas, la instruccin
completa de una Sdeccin, si el cursor se encuentra posicionado
en el lugar correcto. Por ejemplo si el cursor se encuentra en la
instruccin COMIENZA y se presionan estas teclas, marca un
error pues una seleccin no puede ir antes de la instruccin de
este tipo; por el contrario si se encuentra en cualquier instruccin
FIN y se presionan estas teclas, aparece inmediatamente la
funcin completa, como se mustra en la figura 2-14.
[Alt+O] Imprime la instruccin Otro cuando en la Seleccin es necesario
su uso.
[Alt+M] Coloca en la ventana de edicin de programas la instruccin
completa de un ciclo mientras. Trabaja de igual manera que las
teclas [Alt+S].
Programas
W
n
a 16
KAREL-UAMl v e d n 2.1
Capltulo 2
UAMl
21
PROGRAMA Ejemplo
Instrucciones elementales
Las instrucciones elementales de Karel pueden mostrarse en cualquier
lugar del editor, excepto cuando el cursor se encuentra posicionado en
alguna instruccin COMIENZA o APRENDE; estas se presentan con las
siguientes teclas de uso:
[Alt+A]
[Alt+DJ
[Alt+l]
[Alt+B]
[Alt+J]
[Alt+PI
[Alt+V]
Imprime la instruccinAvanza
Imprime la instruccinVueltaDerecha
Imprime la instruccinVueltalzquierda
Imprime la instruccin Recogeobjeto
Imprime la instruccin Dejaobjeto
Imprime la instruccin Pideobjeto
Imprime la instruccin DevuelveObjeto
Condiciones elementales
El grupo de condiciones elementales para Karel se utilizan como una
consulta a sus sentidos del odo, tacto y vista; stas se incluyen nicamente en las estructuras de seleccin, cid0 mientras y ciclo repite, por ser
sentecias de flujo y de iteracin; en ellas se toman decisiones para seguir
el flujo del programa en cierta direccin o repetir una secuencia de instrucciones una y otra vez, dependiendo del resultado de la condicin.
Estas condiciones se presentan en la ventana de edicin de laberintos
con las siguientes teclas de uso:
[Ctri+A]
[Ctrl+E]
[Ctrl+ I]
[Ctrl+B]
[Ctrl+Dl
[ctrI+C]
[Ctrl+S]
[Ctrl+NI
[ctrI+O]
[ctrI+T]
[Ctrl+F]
146231
Programas
plglir 18
KARELUAh4I red6112.1
Capitulo 2
[Enter]
[BkSpace]
[E=]
Ayuda y gramtica
Existen 2 teclas que ayudan al usuario a obtener informacin rpida del
manejo de las funciones ms elementales del sistema:
KAREL
- UAMl
versin 2.1
Captulo 3
Laberintos
I Captulo I
3
Laberintos
La variedad de tareas que karel puede desempear las lleva a cabo dentro de su mundo, el cual est limitado por una pared circundante, impidindole a karel atravezarla para poder salir.
Dentro del mundo de karel se pueden utilizar 2 tipos de objetos:
O
Pard
Karol
Zumbador
KARELUM d n 2 . 1
Capltulo 3
La opcin Laberinto
En el men principal del sistema Karel-UAMI se encuentra la opcin Laberinto. Si se decide seleccionar esta opcin con la tecla [Enter], se pasa
a un submen con 4 opciones mas para el manejo de los laberintos. Ver
figura 3-2.Estas opciones son:
Ksrel
UAMl 2.1
' *
Cargar
Esta opcin carga en el sistema Karel-UAMI algn laberinto para trabajar
sobre l; al elegir esta opcin aparece una ventana para introducir el
nombre del laberinto sobre el cual se desea trabajar. Ver figura 3-3.
Por omisin, en la ventana se presenta la instruccin:
A:\*.Lab
A:\ indica la unidad de disco de la cual se quiere cargar el laberinto y
*.Lab indica que se desea ver todos los archivos con extensin .AB encontrados en la unidad de disco indicada. Se pueden borrar estas instrucciones y poner el nombre de algn laberinto especfico.
KAJlELUAMI rdn2.1
Cspltulo 3
disco indicada; se puede elegir cualquiera de ellos tan slo con posicionar la linea de opcin encima del nombre del laberinto y oprimir [Enter].
Nuevo
Esta opcin crea un nuevo laberinto con el nombre auxiliar
SinNombre.Lab. y presenta un laberinto sin nada dentro de l. Ver figura
3-5. Cuando se quiera guardar el laberinto en disco se deber asignar algn nombre diferente a ste. Es importante hacer notar que si se est
trabajando con algn laberinto y deseamos cargar o crear uno nuevo, se
debe guardar el laberinto actual antes de traer uno nuevo al editor, para
no perder las modificaciones hechas en el laberinto actual.
Karel
I ,
Dire&orio
NOYBRE21.M
UAMl 2.1
NOYBRE2.W
NOYBRE6.LAR
N0YBREB.W
___
NOYBRE4.W
NOYBRE22AAB
NOMBRE23.UB
NOYBREPCLAB
II
Labarhitlm
prrah3
Captulo 3
Karel
Archivos
Pzograma
UAMl
2.1
8
Guardar
Esta opcin guarda el laberinto actual en un archivo en disco, preguntando por medio de una ventana como en la figura 3-6,si se desea o no
guardar el laberinto acutal. Si el laberinto tiene un nombre asignado, se
guarda con el mismo nombre; si el laberinto tiene asignado el nombre
auxiliar SinNombreLab, entonces se presenta una ventana para la
peticin de un nuevo nombre del laberinto y se guarda en disco. Ver
figura 3-7.
Laberintos
&na 4
-KARELUAMJ reisibnf.1
Capitulo 3
Editar
Muestra el ltimo laberinto cargado o creado en el editor de laberintos,
incluyendo sus modificaciones realizadas. Seguir editando el mismo laberinto, a menos que se desee cargar o crear uno nuevo.
Karel
UAMl 2.1
Renombrar Archivo
Modos de edicin
Dentro del editor de laberintos existen 3 modos con los cuales el cursor
se puede mover:
0
0
0
KAREL-UAMI v d 6 n 2.1
Capitulo 3
-
[Flechas]
[PgDnl
[PgUpI
W
3
1
[Home]
[Endl
tE=I
IF11
[F3]
[F4]
KAREGUAMI rdn2.1
Capltub 3
AMl
2.1
que en la posicin actual del cursor. Si al tratar de copiar un bloque este se sale de los lmites del laberinto, se truncar. Ver figura
3-9.
Archivos
Programa
Ksrel
UAMl
2.1
Campiicu
Ejecutar
Robot
Labefntos
Mueve un bloque, colocando la esquina superior izquierda del bloque en la posicin actual del cursor, actualizando las coordenadas
del bloque a la nueva posicin del cursor. Si al tratar de mover un
bloque ste se sale de los limites del laberinto, se truncar. Ver
figura 3-10.
PegiM 7
Capltulo 3
Karol
Archivos
Propama
UAMl
KAREGUAMI reis(ki2.1
2.1
Cam
UAMl
2.1
146231
ICAREL UAMI
versin 2.1
Captulo 4
Compilacin de programas
mmos Marn Laura
Santos *es Tresa
--
I Captulo 1
I
Compilacin de
programas
La compilacin de los programas escritos en lenguaje Karel es un
proceso muy simple de activar, pero de gran importancia para
posteriormente ejecutarlos.
Qu es compilar?
El compilador es un programa que transforma un programa escrito en
lenguaje de alto nivel, como Karel, a una serie de instrucciones en lenguaje bsico de mquina, es decir lenguaje binario.
KAREL-UAMI rei8n2.1
Capitulo 4
LENGUAJE DE
LENGUAJE
ALTO NIVEL
MAOUINA
=b
Como se dijo, Karel es un robot y como tal slo puede interpretar instrucciones en lenguaje de mquina, para ello recurre al compilador, quien
traduce las instrucciones definidas en su vocabulario, es decir en su
gramtica.
La opcin Compilar
La tercera opcin del men principal del sistema Karel-UAMI es precisamente la que invoca al compilador. Si se decide seleccionar esta opcin
con la tecla [Enter],se compila el programa fuente cargado por ltima vez
en el editor de textos, mostrando una pantalla como la de la figura 4-2,
dentro de la cual se observa el nombre del programa y el nmero de
lnea que se est compilando o traduciendo.
Liness Compiladse:
7
Memoria Disponible: 38450 K
Compilacinde progmmas
peaina 2
KAREL-UAMI vewi6n2.1
Capitulo 4
lo.
Karel
UAMl
2.1
Laberinto
Lineas Compiladas:
7
Memoris Disponible: 38450 K
KAREL-UAhl versi6112.1
Capitulo 4
Karel
Programe
UAMl
2.1
=
r
Laberinto
Compilando
Archivo: EJemplo.Kar
Lineas Compiladas:
7
Memoria Disponible: 38450 K
Presione una tcda
II
Captulo 5
Ejecucin de programas
1 Captulo I
Ejecucin de programas
En los captulos anteriores, se explicaron todas las partes del sistema
(editar programas, crear laberintos y compilacin de programas) necesarias para la ejecucin de un programa. Enseguida se muestra el funcionamiento de la opcin jecuta que realiza este proceso.
La opcin Ejecuta
En el men principal del sistema se encuentra la opcin Ejecuta. AI
elegirla se despliega un submen vertical donde se puede seleccionar alguna de las siguientes alternativas: Complefamenfe, Paso a paso y Hasta
cursor. Ver figura 5-1. Estas alternativas son de gran ayuda y ventaja
para comprender el verdadero significado de una ejecucin.
KARELUAMi renibn2.1
Capltub 5
UAMl
2.1
I
Figura 5-1. La opcin Ejecuta.
Completamente
UAMl
Laberinto
Laberinto
2.1
Bmpilar
Robot
I
Figura 5-2. Ejecucin total en el laberinto.
Ejecucin cb programas
pagina 2
KARELUAMI reriiion2.1
Capltulo 5
Como
Realiza el intercambio de ventanas del editor de texto y el laberinto; este es necesario para observar la ejecucin de una instruccin
dentro del laberinto.
K A R E L U M .e166112.1
Captulo 5
La opcin Robot
En el ambiente principal existe una ltima opcin denominada Robot;
dentro de ella se encuntran 2 opciones tiles en la ejecucin de un programa. Ver figura 5 4 .
Karel
UAMl
Laberinto
2.1
Cbmpilar
Ejecutar
-1
Oculta y Despliega
Oculta o despliega la ventana de informacin la cual contiene la posicin,
orientacin y algunos otros registros que Karel utiliza al ejecutar instrucciones. Ver figura 5-5. Esta ventana se coloca sobre la ventana del laberinto y tiene la finalidad de mostrar al usuario el manejo que Karel hace
de la informacin para ejecutar instrucciones. Para aceptar y salir de estas opcines es necesario oprimir la tecla [Enter].
Ejecucinde programas
-4
Kafsl
UAMl
Laberinto
2.1
a m
KW
..r
17
KD:
Arriba
KN:
KL:
Verdsdero
Posicin
Presenta en la pantalla una ventana, como se muestra en la figura 5-6,
pidiendo la direccin y coordenadas iniciales donde Karel se coloca al
comenzar la ejecucin de un programa. Si no se desea utilizar esta opcin, por omisin Karel comienza la ejecucin en la columna 1 , renglon 1 ,
orientado hacia la derecha. Estas opciones son de gran ayuda si se
quiere comenzar en una posicin especfica, pero slo se pueden utilizar
antes de la ejecucin del programa.
Cancelacin de la ejecucin
Existen varias formas por las cuales una ejecucin puede cancelarse:
Ermr encontrado
Un programa puede cancelarse por haber encontrado un error al ejecutar
un programa, ya sea de ejecucin (recoger trompos donde no hay, dejar
trompos sin que Karel los tenga en su bolsa, tratar de caminar frente a
una pared, etc.) o por un error en las condiciones iniciales del programa
(no haber compilado el programa deseado, no haber cargado el laberinto
para el programa a ejecutar, etc.). Esta ltima es una de las formas de
cancelacin ms comunes en el sistema y es aqu donde el usuario debe
poner ms atencin si desea tener xito en la ejecucin de un programa.
[CW+C]
Un programa podr cancelarse si se desea, al instante de oprimir
simultneamente las teclas [Ctrl+C].Esto generalmente se utiliza cuando
se observa al robot dentro de un ciclo infinito.
K A R E L - U M r d a 2.1
Capitulo 5
Karel
UAMl
2.1
Laberinto
Posicin de Ksiel
Terminacin de un programa
Sucede cuando se termina exitosamente la secuencia de instrucciones
del programa,sin encontrar errores al ejecutarlo.
La parte de ejecucin de programas tambin cuenta con ayuda, dando
una explicacin breve de cada una de las teclas presentadas en ste
captulo.
Ejecucin de programas
-6
UAMI
versin 2.1
KAREL
Captulo 6
Manejo de archivos
Santos
Wes Teresa
I Captulo
6
Manejo de archivos
Los archivos creados por el usuario, como programas fuentes y laberintos, pueden guardarse en algn tipo de almacenamiento secundario (como discos flexibles), utilizando la orden Guarda de los mens Programa y
Laberinfo. Los archivos almacenados se identifican con una extensin
propia. Elsistema Karel-UAMI le asocia a cada archivo una extensin especial si es que el usuario no lo hace. Las extensiones asignadas por el
sistema son de 3 tipos:
0
KAR
TXT
LAB
Por ejemplo, si se escribe un programa llamado Duplica, el nombre completo del archivo, si ste contiene instrucciones de programa se llamar
Dup/jca.KAR y automticamente se guarda un archivo en cdigo ASCII
llamado Duplica.TXT.ste archivo no debe ser eliminado, pues almacena
la estructura principal del programa. Si se decide que el laberinto para
ejecutar el programa tenga el mismo nombre y el archivo fue realizado en
el ambiente Karel-UAMI, tendr el nombre DuplicaLAB. De esta manera
los archivos tienen el mismo nombre pero se distinguen por su extensin.
Manejo de archivos
pgina 1
Capltulo 6
KAREL-UAhi r d 6 n 2 .
UAMl
2.1
CopiaProg
Esta opcin permite copiar en disco el ltimo programa fuente cargado en
el editor de programas, pero con un nombre distinto al que originalmente
tiene; esta opcin es til para hacer copias exactas de los archivos y obtener respaldos. Algunas veces es necesario ya que por alguna razn la
informacin se puede daar o perder, y provocar prdida de tiempo y
trabajo invertido.
AI seleccionar esta opcin se presenta una ventana en la cual se pide el
nuevo nombre del archivo que contendr una copia de su contenido. Ver
figura 6-2; una vez ingresado el nombre, se copia automticamente al
oprimir la tecla [Enter]. Por ejemplo, si el ltimo archivo cargado en el
editor de programas se llama Corre.KAR, se debe buscar otro nombre
para la copia del archivo, como por ejemplo AuxCorre.KAR, donde ambos
archivos contendrn la misma informacin.
CopiaLab
En ella se copian laberintos, teniendo las mismas ventajas e instrucciones
antes mencionadas para la opcin anterior de los programas fuentes.
Manejo de archivos
Peina2
KARELUAMI rerpda2.
Capltulo 6
Karal
UAMl
2.1
--
Directorio
AI elegir esta opcin aparece una ventana de peticin de datos, conteniendo por omisin, la direccin de donde se desea leer el directorio. Ver
figura 6-3. Se puede cambiar cuaquiera de las opciones para facilitar el
desplegado de informacin.
Unidad de Disco:\Directorioinformacin
Letra
Nombre del directorio I [ \Directorio]
*.*)*.extensionlnombre.*Jnombre.extension
A:\MIDIREC\*.*
Indica que requiere toda la informacin dentro del directorio M/D/RC del
disco insertado en la undidad A.
B:\.iAB
Indica que requiere todos los archivos con extensin .LAB del directorio
general del drive B. En caso de no especificarse la direccin, el sistema
siempre busca la informacin general del drive A.
-3
Manejo de a r c h m
II__
_I
--
KARELUAMi r d 6 n 2 .
Captulo 6
Karel
2.1
UAMl
Despus de haber indicado la direccion en la ventana de peticin, se observan los archivos contenidos en la direccin actual. Ver figura 64; sin
embargo, no se puede seleccionar ningn archivo, pues el directorio slo
est presente para hacer saber o recordar al usuario la informacin almacenada en cierta direccin.
Karel UAMl
Laberinto
1-'
Programa
2.1
Cbmp
7 Laberinto
Directorio
NOMBREl.LAB
NOMBRES.KAR
NOMBRES-TXT
NOYBRE2.LAB
NOMBRES-KAR
NOMBRELUB
NOYBRE7.PAS
NOMBRE4.U
NOMBREB-PA
d
Fin
Esta opcin se utiliza para salir del sistema. Hay que tener precaucin al
utilizarla, pues si no se han guardado archivos de nueva creacin o modificados, se perdern las modificaciones o creaciones al salir del sistema.
KAREL = UAMI
versin 2.1
Apndices
Q m o s Marh Lawa
Santos !&yes Teresa
IApndice
O
O
pgina 1
--
_
I _
I
-
<Definicin>
<Secuencia>
<Instruccin>
<Instruccin Elementab I
<ciclo Mientras> I
<Ciclo Repite> I
<Seleccin> I <Nombre de Tarea>
<Ciclo Mientras>
<Ciclo Repite>
Repite
<Secuencia>
Hasta <Condicin>
<Seleccin>
Si <Condicin> Entonces
<Secuencia>
[Otro <Secuencia> ]
Fin
-+
ParedEnfrente I
NadaEnfrente I
Paredlzquierda I
Nadalzquierda I
ParedDerecha I
NadaDerecha I
Objetosuena I
Nadasuena I
AlgunObjeto I
NingunObjeto I
DireccionNorte I
pgina 2
--
-_- -
_-
I -
--___.
KARELUAMi r d 6 n 2.1
Apndice A
<Caracteres>I <Letra>
<Caracteres>
<Caracteo<Caracteo<caracteres>
<Caracteo
-+
<Letra> I <Dgito>
pgina 3
P
.
.
.
- _____.
I
Apndice
B
Errores de funcionamiento
No es posible crear/desplegarla ventana
No es posible crear/desplegarla lnea de ayuda
La ventana del robot no se movi
No hubo cambio de ventanas
Directorio no encontrado
prroine 1
Mensajes de error
1
1
1
1
_.--
_
I
-
._
Las razones por las que no es posible abrir un archivo de disco son:
O
O
O
No existe el archivo
El archivo que se ha solicitado no se encuentra en la unidad y directorios actuales. Puede ser que se haya digitado mal el nombre o
puede estar en otro disco o directorio.
Errores de compilacin
Como se explic en los captulos anteriores, a diferencia de otros lenguajes, Karel contiene un editor guiado por sintxis, lo cual no permite
la existencia de errores sintcticos. Por ello el nico error de compilacin que puede existir en el sistema es:
ldentificador no declarado
Para poder invocar una tarea, sta debe definirse antes de la invocacin.
Errores de ejecucin
Identificador doblemente declarado.
Se encontr un identificador de programa o tarea que ya se haba definido previamente.
Mensajes de error
pgina 2
I__--
Apdndice B
pgina 3
Mensajes de error
_I-*
--
_-_--
I
_
Apndice
C
I
0
O
pgina 1
--
--
- _
K A R E L U M reiai2.1
Apndice C
psaina 2
_n_
KAREL-UAMl verp6n2.1
Apndice C
4.
COPY <fuente><destino>
donde <fuente> es la especificacin del archivo o conjunto de archivos
donde se quieren copiar y <destino> es la especificacin del archivo o
conjunto de archivos en donde se desea que se haga la copia. Una especificacin de archivo est copuesta por 4 elementos:
<unidad>:\<directorio>\aiombre>.<extensn>
la <unidad> puede ser A, B o C, segn el nmero de unidades de disco
que contenga el equipo. En caso de que el disco se haya dividido en directorios y estos a su vez en subdirectorios, <directorio> especifica en
cual de estos subdirectorios se encuentra el archivo deseado, aiombre>
es el nombre del archivo y <extensin> los 3 caracteres adicionales de la
extensin del nombre del archivo.
Para especificar un conjunto de archivos, pueden emplearse los metacaracteres (todos aquellos) y 3 (sustitucin de un caracter), de tal manera
que si, por ejemplo, se desea hacer referencia a todos aquellos archivos
cuyo nombre inicie con K y su extensin sea .Karl se emplea la especifi-
p6gina 3
--KARELUAMI re.nii2.1
Apndice C
copia todos los archivos cuyo nombre sea Karel, sin importar su extensin, de la unidad A a la 8. sta orden se utiliza para copiar el sistema
Karel, colocando el disco que lo contiene en la unidad A y el disco en el
que deseamos copiarlo en la unidad B..
A> COPY A:\padre\hijo\ejemplo.
kar B:
pgincl4
D
Pattis, Richard
Mxico, 1985
Sommerville, Lan
lngeniera.de Software
Ed. AWI
Mxico, 1988
Levine, Guillermo
Mxico, 1984
Jamsa, Kris
Using DOS 4
Ed. Mc Graw-Hill
U.S.A., 1989
Bibiiografa
PWM 1
Ap6ndics D
Dijkstra, E.W.
IUREJPUAMI m i d i 2 . 1