Download - Karel (1).pdf
-
7/24/2019 Karel (1).pdf
1/24
OLIMPIADA MEXICANA DE INFORMTICA
EN QUINTANA ROO
COMPENDIO DE EJERCICIOS
PARA LOS ENTRENAM IENTOS
Tulum Quintana Roo Julio 2015
-
7/24/2019 Karel (1).pdf
2/24
Fase 2: Programando a Karel el Robot 2
CONTENIDO
FASE 21. PROGRAMANDO A KAREL EL ROBOT2. INTRODUCCIN
2.1.QU ES?2.2.EL MUNDO DE KAREL2.2.1.CALLES2.2.2.AVENIDAS2.2.3.ESQUINAS2.2.4.ZUMBADORES2.2.5.MUROS2.2.6.ORIENTACIN2.2.7.MOCHILA (BOLSA) DE ZUMBADORES
3. VENTANAS DEL SIMULADOR
3.1.MUNDO3.2.PROGRAMA3.3.EJECUTAR
4. PROGRAMACIN EN KAREL4.1.ESTRUCTURA DEL PROGRAMA4.2.COMANDOS BSICOS4.3.VARIABLE DE KAREL4.4.CONDICIONES DE KAREL4.5.OPERADORES LGICOS
4.6.SENTENCIAS DE CONTROL4.6.1.SI / ENTONCES4.6.2.SI / ENTONCES / SINO4.6.3.REPETIR / VECES4.6.4.MIENTRAS / HACER
4.7.FUNCIONES4.7.1.DEFINE-NUEVA-INSTRUCCIN / COMO4.7.2.RECURSIVIDAD
5. PROGRAMAS EJEMPLO
-
7/24/2019 Karel (1).pdf
3/24
Fase 2: Programando a Karel el Robot 3
KAREL EL ROBOT
QU ES KAREL EL ROBOT?
Karel es una herramienta de aprendizaje que presenta los conceptos de una forma visual, lo
cual es menos abstracto que programar en un lenguaje como Pascal o C, es un Robot simpleque vive en un mundo simple y debido a que Karel y su mundo son simulados, nosotrospodemos realmente ver los resultados de un programa en accin.
EL MUNDO DE KAREL
El mundo de karel est formado por Calles y Avenidas, en las cuales tiene que desplazarsey hacer las tareas que le indiques.
Karel puede orientarse en una de las cuatro direcciones: este, oeste, norte y sur. Slo gira90 cada vez, por tanto no puede orientarse hacia el nordeste. En el mundo de Karel, lascalles van de este a oeste, y son numeradas comenzando por 1. No hay nmeros de calleigual a 0 o negativos. Las avenidas van de norte a sur, y tambin estn numeradasempezando por 1. Tampoco hay nmeros de avenida igual a 0 o negativos. Se le llamaesquina a la interseccin de una calle con una avenida. Karel va de una esquina a lasiguiente en un solo movimiento.
Figura 01: Elementos del Mundo de Karel
Las calles y avenidas se pueden limitar utilizando muros, que se pueden colocar al norte,sur, este y oeste y evitan que Karel se salga de su mundo.
Otro elemento de inters en el mundo de Karel son los zumbadores. Un zumbador es unaforma de marca que Karel puede escuchar slo cuando se encuentra en la misma esquina
CALLES
AVENIDAS
ZUMBADORES
MUROS
DESPLAZADORESNo. DE ZUMBADORES
-
7/24/2019 Karel (1).pdf
4/24
Fase 2: Programando a Karel el Robot 4
que el zumbador. Karel tiene una bolsa que puede utilizar para poner los zumbadores quevaya cogiendo. Tambin puede hacer lo contrario, es decir, sacar los zumbadores de subolsa y depositarlos en las esquinas por las que va pasando. Puedes ajustar el nmero inicialde zumbadores en cada esquina con el control Zumbadores.
-
7/24/2019 Karel (1).pdf
5/24
Fase 2: Programando a Karel el Robot 5
VENTANAS DEL SIMULADOR KAREL
El ambiente de trabajo de Karen esta formado por tres ventanas con las cuales sedesarrollan diferentes ejercicios de variadas complejidades.
VENTANA MUNDO
Karel vive en mundo simple el cual podemos crear utilizando la ventana Mundo, en estaventana definimos el espacio en el cual puede transitar Karel agregando muros yzumbadores.La definicin del mundo de Karel nos permitir hacer mas fcil o complejas las diferentesactividades que le encarguemos al robot Karel.
A continuacin definiremos las partes de la ventana de karel
Figura 02: Ventana Mundo del Simulador Karel el Robot
Funciones de los botones
Haga clic en este botn para crear un nuevo mundo en blanco en el cual seagregaran los muros y zumbadores
-
7/24/2019 Karel (1).pdf
6/24
Fase 2: Programando a Karel el Robot 6
Al hacer clic en este botn se muestra el cuadro de dialogo guardar comode Windows que nos permite guarda el mundo de Karel.
Figura 03: Cuadro de dialogo Guardar como
El archivo generado tiene la extensin .mdo
Permite guardar un mundo que ya existe con otro nombre. Al hacer clic eneste botn se abre el cuadro de dialogo de la figura 03.
Con este botn abrimos los mundos que tenemos creados previamente. Alhacer clic en este botn se abre el cuadro de dialogo Abrir de Windows en el cualseleccionaremos la ubicacin y el nombre del mundo que se desee abrir
-
7/24/2019 Karel (1).pdf
7/24
Fase 2: Programando a Karel el Robot 7
Figura 04: Cuadro de dialogo Abrir.
En esta opcin se escribe la cantidad de zumbadoresque tendr inicialmente Karel en la mochila al ejecutar el programa.
Estos botones de navegacin permiten desplazarnos en el mundo de
Karel para visualizar las calles y avenidas que no se alcancen a mostrar en la ventana delmundo de Karel.
Agregar y quitar muros
Para agregar un muro hacemos clic en la calle o avenida que deba existir un muro, y paraeliminarlo hacemos clic en el muro.
Figura 05: Muros del mundo de Karel.
-
7/24/2019 Karel (1).pdf
8/24
Fase 2: Programando a Karel el Robot 8
Agregar y quitar zumbadores
Los zumbadores estn representados con un nmero el cual indica la cantidad exacta dezumbadores que existe en una esquina (interseccin de una avenida y una calle).
Para agregar zumbadores hacemos clic con el botn derecho del ratn en la esquina en lacual requerimos uno o ms zumbadores, del men emergente (figura 06) hacemos clic en laopcin que nos convenga.
Figura 06: Men emergente
La opcin N zumbadores despliega un cuadro en el cual podemos escribir el numero dezumbadores. (mximo 99)
Para Borrarlos zumbadores hacemos clic en los zumbadores con el botn derecho y en laopcin 0 zumbadoresdel men emergente. (Ver figura 06)
Como situar a Karel
Karel se representa con una flecha gruesa y se le puede situar en cualquier esquina en unade las cuatro siguientes orientaciones al Norte, Este, Sur o al Oeste. La punta de la flechaindica la orientacin y direccin en la cual se desplazara Karel.
Para situar y orientar a Karel haga clic en una de las esquinas con el botn derecho y en elmen emergente apunte en la opcin Situar a Karely clic en una de las cuatro opciones deorientacin, vea la figura 07.
-
7/24/2019 Karel (1).pdf
9/24
Fase 2: Programando a Karel el Robot 9
Figura 07: Opciones de orientacin de Karel
Orientado al Norte Orientado al Este Orientado al Sur Orientado al Oeste
Figura 08: Ejemplos de orientacin de Karel
VENTANA PROGRAMA
El objetivo es el de ensear a Karel a realizar diferentes actividades en su mundointeractuando con sus diferentes elementos como son los muros, zumbadores, calles yavenidas.
Para ensear a Karel a realizar una actividad se debe codificar un programa el cual puedetener la estructura de Pascal o Java, para lo cual nos servir esta ventana.
La venta esta formada por dos partes: una barra de botones y un rea de codificacin en lacual se escribe el cdigo programa, la cual esta representada por un recuadro blanco el cualen la parte izquierda se numeran las lneas de cdigo.
-
7/24/2019 Karel (1).pdf
10/24
Fase 2: Programando a Karel el Robot 10
Figura 09: Ventana Programa
Funciones de los Botones
Elimina lo que exista el rea de codificacin y genera un nuevo espacio de
codificacin con la estructura principal programa el cual depender del lenguajeseleccionado. (Ver figura 09)
Al hacer clic en este botn se abre el cuadro de dialogo Abrir de Windowsmediante el se recupera recuperar un programa previamente guardado
-
7/24/2019 Karel (1).pdf
11/24
Fase 2: Programando a Karel el Robot 11
Figura 10: Cuadro de dialogo Abrir de Windows
Permite guardar en disco un programa, utilizando el cuadro de dialogoGuardar como de Windows.
Figura 11: Cuadro de dialogo Guardar como de Windows.
Los programas se guardan con la extensin .txt indistintamente del lenguaje en que se hayacodificado
-
7/24/2019 Karel (1).pdf
12/24
Fase 2: Programando a Karel el Robot 12
Guarda un programa con otro nombre
Compila el programa que se haya escrito preparndolo para su ejecucin. Siel cdigo del programa tiene algn error de sintaxis, el compilador nos muestra el error y laposible lnea en la que se encuentra el error, en caso de no existir ningn error de sintaxismuestra el mensaje programa compilado.
Nota: Siempre que se realice una modificacin al cdigo del programa se debe compilarantes de ejecutarlo.
Opcin para indicar en que lenguaje se codificara y compilara elprograma.
VENTANA EJECUAR
Esta ventana es una de las caractersticas que podemos resaltar de Karel debido a que nospermite ver la forma en que se ejecuta el cdigo del programa y las acciones que realizaKarel por cada lnea de cdigo.
La ventana esta formada por tres partes:
En la parte superior una barra de botones que nos permite controlar la ejecucin, un panelizquierdo en el cual se muestra la ejecucin del cdigo del programa y un panel derecho enel que se muestra las acciones que realiza Karel en su mundo.
-
7/24/2019 Karel (1).pdf
13/24
Fase 2: Programando a Karel el Robot 13
Figura 12; Ventana Ejecutar
Funciones de los Botones
Sita a Karel en la posicin y orientacin inicial para el mundo abierto en laventana mundo, y agrega a la mochila la cantidad de zumbadores indicada en la ventana
mundo.
Ejecuta una lnea de cdigo cada vez que hacemos clic en este botn.
Ejecuta todo el programa.
Detiene la ejecucin del programa.
Muestra la cantidad de zumbadores que tiene Karel enla mochila.
En este recuadro se establece la velocidad en que seejecutara el programa. A menor cantidad mayor rapidez y a mayor cantidad la ejecucinser ms lenta. La velocidad esta dada en milisegundos.
-
7/24/2019 Karel (1).pdf
14/24
Fase 2: Programando a Karel el Robot 14
PROGRAMACIN EN KAREL
La programacin de Karel se puede realizar en los lenguajes Pascal o Java, en el caso de este manual severa la forma de programar en Pascal el cual es un lenguaje estructurado.
Kerel cuenta con pocas condiciones y comandos. Las actividades que puede realizar son avanzar,recoger y dejar zumbadores, al combinar esta simples actividades se pueden realizar innumerablesactividades desde las ms simples como es el avanzar por una avenida o calle hasta las ms complejascomo son operaciones matemticas, ordenamientos entre otras.
ESTRUCTURA DEL PROGRAMA
El lenguaje que utilizaremos es Pascal, el cual pertenece a la clasificacin de los lenguajesestructurados.
El programa se divide principal mente en dos bloques:Uno para definir nuevas instrucciones (funciones) comprendido entre las palabras reservadas iniciar-programae inicia-ejecucion.Y el principal donde se escriben las instrucciones que debe realizar el programa, este bloque estadelimitado por las palabras reservadasInicia-ejecuciony termina ejecucion
El programa esta delimitado por las palabras reservadas iniciar-programayfinalizar-programa.
Bloque general del programa:
Iniciar-programa
(* Definicin de nuevas instrucciones*)
Inicia-ejecucin
(* Bloque principal de programa*)
Termina-ejecucionFinalizar-programa
Sintaxis general:- Todas las instrucciones deben terminar con un punto y coma (;).- No distingue entre minsculas y maysculas.- Los identificadores (nombre de las instrucciones, comandos y funciones) no deben llevar:
espacios en blanco acentos, - Las instrucciones que se pongan despus de la palabra Finalizar-programa no se consideran
parte del programa.- Los comentarios se empiezan con los caracteres (* y finaliza con *), ejemplo (* Esta es una
lnea de comentario *) y no se consideran parte del cdigo del programa.
-
7/24/2019 Karel (1).pdf
15/24
Fase 2: Programando a Karel el Robot 15
COMANDOS BSICO.
Karel solo puede realizar cinco acciones bsicas.
Comando Descripcin de la accinavanza Avanza una esquina en la direccin en la que se encuentregira-izquierda Gira 90 grados a la izquierdacoge-zumbador Toma un zumbador y lo agrega a su mochiladeja-zumbador Saca un zumbador de su mochila y lo deja en la esquina
sobre la que esta ubicadoapagate Desconecta a Karel
Consideraciones:- Si intentamos avanzar atreves de una pared karel marca un error y se desconecta- Karel solo puede girar a la izquierda, por lo cual si queremos que gira a la derecha debemos
hacer que Karel gire 3 veces.- Si intentamos dejar un zumbador cuando la mochila esta vaca Karel marca un error y se detiene
el programa.
VARIABLE DE KAREL
Karel solo cuenta con una variable que es su mochila en la cual podemos agregar o dejar zumbadores.
No se puede agregar otra variable.
CONDICIONES DE KAREL
La condicin es una funcin de la situacin actual de Karel, a medida que se ejecuta el programa.
Estas funciones retornan dos posibles valores, Falso o Verdadero los cuales indican si Karel seencuentra o no en la situacin indicada por la condicin.
Listado de las condiciones de Karel
Detecta si existe o no unmuro
Detecta si hay o no un zumbador en la esquinao en su mochila
Detecta la orientacinactual
frente-libre junto-a-zumbador orientado-al-este
frente-bloqueado no-junto-a-zumbador orientado-al-oeste
izquierda-libre algun-zumbador-en-la-mochila no-orientado-al-norte
-
7/24/2019 Karel (1).pdf
16/24
Fase 2: Programando a Karel el Robot 16
izquierda-bloqueada ningun-zumbador-en-la-mochila no-orientado-al-sur
derecha-libre orientado-al-norte no-orientado-al-este
derecha-bloqueada orientado-al-sur no-orientado-al-oeste
Las condiciones se deben utilizar con las estructura de control.
OPERADORES LGICOS
Las condiciones de Karel se pueden combinar utilizando los operadores lgicos siguiente
Operador lgico Y (and en otros lenguajes)Operador lgico O (or en otros lenguajes)
Para agrupar comparaciones se utilizan los parntesis.
Sintaxis:Condicin operador-lgicocondicin
Ejemplo:mientras frente-libre Y derecha-bloqueada Y izquierda-bloqueada hacer inicio
deja-zumbador;avanza;
fin;
SENTENCIAS DE CONTROL
Las sentencias de control se usan para elegir qu hacer, y/o cuantas veces hacerlo. Sin embargo, por sisolos no causan que ocurra algo. Simplemente controlan la ejecucin de otras sentencias o fragmentosde cdigo. A continuacin se lista una serie de sentencias de control de Karel:
- Si / Entonces- Si / Entonces / Sino- Repetir / Veces- Mientras / Hacer
Siempre a continuacin de las sentencias de control entonces, veces, sino, y hacervan seguidas de lapalabra iniciopara iniciar el grupo de sentencias a ser realizado. El grupo de sentencias va seguido de
la palabra fin.Utilizamos el par inicio/fin para un slo parmetro o para varios, no importa el nmero de ellos. Elcompilador devolver una advertencia en caso de que no se siga este estilo.
Nota: Un punto y coma no debe estar a continuacin de un inicio, pero s es necesario a continuacinde un fin(excepto cuando precede una sentencia sino).
-
7/24/2019 Karel (1).pdf
17/24
Fase 2: Programando a Karel el Robot 17
Sentencia Si / Entonces
Utilizamos esta sentencia cuando queremos que Karel realice algo solo en ciertas condiciones
La forma general de la sentencia si es:
Si xxx entonces inicioyyy;
fin;
Donde xxx es una condicin, yyy son sentencias a realizar si xxx es verdadero.
indica que puede haber ms sentencias antes o despus
Ejemplo:...Si orientado-al-sur entonces inicio
gira-izquierda;gira-izquierda;gira-izquierda;
fin ;...
En este ejemplo si Karel se encuentra orientado al sur girara tres veces y quedara orientado al este.
Sentencia de control Si / Entoces / sino
Utilizamos esta sentencia cuando requerimos que Karel realiza una u otra accin dependiendo de lacondicin en la que se encuentre.
Forma general:
Si xxx entonces inicioyyy;
finsino inicio
zzz;fin ;
Donde xxx es una condicin, yyy son sentencias a realizar si xxx es verdadero, y zzz son las sentenciasa ejecutar si xxx es falso.
Ejemplo:
-
7/24/2019 Karel (1).pdf
18/24
Fase 2: Programando a Karel el Robot 18
Si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada entonces iniciomedia-vuelta;alfombra-cuarto;
finsino inicio
media-vuelta;avanza-por-el-cuarto;
fin;
En este ejemplo si las condiciones son verdaderas Karel ejecuta las funciones media-vuelta y alfombra-cuarto (previamente definidas por el programador) y si son falsas se ejecutan las funciones media-vuelta y avanza-por-el-cuarto.
Sentencia de control Repetir / Veces
Es til cuando se sabe exactamente cuantas veces se debe de realizar una cosa.
Forma general:
Repetir xxx veces inicioyyy;
fin;
Donde xxx debe ser un nmero entero positivo, y yyy representa cualquier nmero de sentencias deKarel.
Ejemplo:...repetir 14 veces inicio
avanza ;fin ;...
En este ejemplo Karel avanza 14 esquinas a partir de su ubicacin actual en la direccin en la que esteorientado.
Sentencia de control Mientras / Hacer
Extremadamente valiosa cuando no se sabe de antemano exactamente cuantas veces se necesita realizaruna tarea.
-
7/24/2019 Karel (1).pdf
19/24
Fase 2: Programando a Karel el Robot 19
La sentencia mientras/hacer nos permite repetir pasos mientras se cumple una condicin, y esto nos vaa permitir programar a Karel para que no sea un chico tan rgido!.
Forma general:
Mientras xxx hacer inicioyyy;
fin;
Donde xxx debe ser una condicin (una de las funciones booleanas listadas anteriormente), y yyyrepresenta cualquier nmero de sentencias de Karel.
Ejemplo:Mientras frente-libre hacer inicio
avanza;fin;
En este ejemplo Karel avanzara desde su posicin actual hasta que se encuentre con una pared, siencuentra una pared deja de avanzar.
FUNCIONES
Hasta ahora, le hemos dicho a Karel exactamente lo que tena que hacer tal como necesitbamos que lohiciese. Esto funciona bien, pero se podrn haber dado cuenta de que siempre se utilizan secuencias desentencias similares. Un ejemplo es cuando Karel tiene que girar a la derecha, y nosotros le decimos"gira-izquierda; gira-izquierda; gira-izquierda;". No sera ms fcil si le pudiramos decirsimplemente "gira-derecha"?.En otras palabras, diciendo " gira-derecha; " Karel girara tres veces hacia la izquierda para alcanzarnuestro objetivo. Es posible.
Una de las razones de crear nuevas instrucciones, es por evitar escribir tanto. Otra es para documentarmejor cual es nuestro objetivo, cuando nosotros mismos u otra persona leen el programa. Como seestarn dando cuenta, programar es una tarea muy sencilla, y necesitamos toda la ayuda necesaria parahacer las cosas correctamente!
En si una funcin es un segmento de programa que podemos utilizar tanta veces como sea necesario ycon tan solo hacer una llamada al nombre de la funcin desde cualquier parte del programa.
Sentencia Define-nueva-instruccion
Las sentencias define-nueva-instrucion estn situadas en un sitio especial dentro de un programa deKarel, justo despus de la sentencia iniciar-programa.
-
7/24/2019 Karel (1).pdf
20/24
Fase 2: Programando a Karel el Robot 20
Forma gerenal:
Define-nueva-instruccion nnn como inicioyyy;
fin;
Donde nnn es el nombre de la funcin, y yyy representa cualquier numero de sentencias.
Nombre de la funcin:- Debe empezar con una letra.- El nombre de la funcin se pude formara con las letras del abecedario (acepcin de la ),
nmeros y los caracteres guin alto (-) y guin bajo ( _ ) para separa las palabras.- No debe tener espacios en blanco o cualquier carcter no valido para identificadores como
pueden ser: acentos, , /, ?, *, entre otros
Las sentencias se pueden anidar, es decir pueden existir una o ms funciones dentro de otra funcin.
Define-nueva-instruccion nnn1 como inicioDefine-nueva-instruccion nnn2 como inicio
yyy;fin;
yyy;
fin;
Ejecutar una funcin
Para ejecutar una funcin basta con escribir el nombre de la funcin seguida de punto y coma, en ellugar que desee ejecutar dicha funcin, puede ser dentro de otra funcin o el bloque principal delprograma.
Ejemplo:
Programa que hace que Karel avance desde la esquina calle 1 avenida 1 hasta un muro y regrese y sedetenga hasta que encuentre un muro.
Nombre del programa: Funcion_manual.txt
iniciar-programa
(* se crea una funcin que da media vuelta *)define-nueva-instruccion media-vuelta como iniciogira-izquierda;gira-izquierda;
-
7/24/2019 Karel (1).pdf
21/24
Fase 2: Programando a Karel el Robot 21
fin;
(* se crea una funcin que avanza mientras no exista un muro*)define-nueva-instruccion Avanza-hasta-muro como inicio
mientras frente-libre hacer inicioavanza;
fin;
fin;inicia-ejecucion
(* se realiza una llamada a la funcin avanza muro *)Avanza-hasta-muro;
(* Se realiza una llamada funcion media-vuelta *)media-vuelta;
(* Se realiza una segunda llamada a la funcin Avanza-hasta-muro *)Avanza-hasta-muro;
apagate;termina-ejecucion
finalizar-programaEl siguiente es un programa vlido para Karel:
Figura 13: Mundo del ejemplo funcion_manual.txt
Recursividad
La recursividad es la propiedad que tienen las funciones de realizar llamadas as misma.
Una definicin podra ser la siguiente:
-
7/24/2019 Karel (1).pdf
22/24
Fase 2: Programando a Karel el Robot 22
Recursividad:Vea Recursividad.
Es decir es una funcin que se ejecuta a si misma un numero indeterminado de veces.
Cuado se realiza una llamada a una funcin (llammosla hija) la funcin que realiza la llamada(llammosla padre) queda inconclusa y requiere que la funcin que fue llamada (funcin hija) terminepara que termine la funcin padre.
Con la siguiente grafica intentaremos mostrar el proceso de recursividad, inicio y finalizacin de lasllamadas de a la misma funcin.
Funcin original IniciaPrimera llamada inicia copia 1
Segunda llamada inicia copia 2Tercera llamada inicia copia 3
No se cumple la condicin de llamadaTermina copia 3
Termina copia 2Termina copia 1
Termina funcin original
Debemos tener cuidado al utilizar la recursividad y definir claramente cuando termina la funcin, si nopodemos crear un ciclo infinito y nunca terminara el programa.
Le sugerimos que la llamada a la funcin debe estar dentro de una sentencia de control si / entonces o si/ entonces / sino mediante la cual controle si se realiza o no la llamada.
Debemos utilizar la recursividad cuando la solucin del problema as lo requiera y no exista otra formade dar solucin ya que utiliza una gran cantidad de recursos (memoria y procesamiento) y hace mslenta la ejecucin del programa.
Ejemplo de recursividad:
Este programa le indica a Karel que avance hasta que encuentre un muro y regrese a la ubicacinexacta en la que inicio.
Nombre del programa recursividad_ejemplo.txt
iniciar-programa
(* Crea la funcin media-vuelta *)define-nueva-instruccion media-vuelta como inicio
gira-izquierda;gira-izquierda;
-
7/24/2019 Karel (1).pdf
23/24
Fase 2: Programando a Karel el Robot 23
fin;
(* Crea la funcin avanza-y-regresa *)define-nueva-instruccion avanza-y-regresa como inicio
si frente-libre entonces inicioavanza;
(* Realiza una llamada as misma *)avanza-y-regresa;
finsino inicio
(* Realiza una llamada a la funcion media-vuelta *)media-vuelta;
fin;avanza;
fin;
inicia-ejecucionsi frente-libre entonces inicioavanza;
fin;
(* Se realiza la primera llamada a la funcin avansa-y-regresa *)avanza-y-regresa;
media-vuelta;apagate;
termina-ejecucionfinalizar-programa
Figura 14: Mundo del programa recursividad_ejemplo.txt
-
7/24/2019 Karel (1).pdf
24/24
11 Olimpiada Mexicana de Informtica 2006.
3.- FASE RESOLVIENDO PROBLEMAS CON UN LENGUAJE DE
PROGRAMACIN
En esta seccin se busca que los alumnos comprendan los conceptos de un lenguaje de
programacin especfico, como puede ser Pascal, C y C++, que son los lenguajes deprogramacin oficiales en la Olimpiada Mexicana de Informtica.
Se pretende tambin introducir a los alumnos en las metodologas utilizadas en para resolverproblemas con un lenguaje de programacin especfico, como son, bsquedas,ordenamientos, recursividad, entre otros.
Los temas que aqu se presentan pueden ser aplicables a cualquier lenguaje deprogramacin oficial de la Olimpiada Mexicana de Informtica. Adems presenta ejemplospara res implementados en los lenguajes oficiales y algunos temas de reflexin sobre lasmetodologas de programacin
Presenta tambin algunos temas sobre estructuras de datos, que son utilizados para resolverproblemas de la Olimpiada, como los arreglos unidimensionales y multidimencionales, laspilas, las colas y los archivos, donde todos los datos de entrada para los programas se hacena travs de archivos de texto, as como las salidas, tomando en cuenta que tanto lasentradas como las salidas de los programas tienen un formato especial que tienen quecumplir, ya que sino lo hacen el programa es descartado y tiene un resultado de cero.
Un dato curioso que hay que tomar en cuenta es el nombre que tiene el programa, ya quetambin debe de ser el que se indica en el examen, as como el nombre de lo archivos desalida, por que sino lo hacen as tambin son descartados.