Você está na página 1de 24

OLIMPIADA MEXICANA DE INFORMTICA

EN QUINTANA ROO

COMPENDIO DE EJERCICIOS
PARA LOS ENTRENAMIENTOS
Tulum Quintana Roo Julio 2015

CONTENIDO
FASE 2
1. PROGRAMANDO A KAREL EL ROBOT
2. INTRODUCCIN
2.1. QU ES?
2.2. EL MUNDO DE KAREL
2.2.1. CALLES
2.2.2. AVENIDAS
2.2.3. ESQUINAS
2.2.4. ZUMBADORES
2.2.5. MUROS
2.2.6. ORIENTACIN
2.2.7. MOCHILA (BOLSA) DE ZUMBADORES
3. VENTANAS DEL SIMULADOR
3.1. MUNDO
3.2. PROGRAMA
3.3. EJECUTAR
4. PROGRAMACIN EN KAREL
4.1. ESTRUCTURA DEL PROGRAMA
4.2. COMANDOS BSICOS
4.3. VARIABLE DE KAREL
4.4. CONDICIONES DE KAREL
4.5. OPERADORES LGICOS
4.6. SENTENCIAS DE CONTROL
4.6.1. SI / ENTONCES
4.6.2. SI / ENTONCES / SINO
4.6.3. REPETIR / VECES
4.6.4. MIENTRAS / HACER
4.7. FUNCIONES
4.7.1. DEFINE-NUEVA-INSTRUCCIN / COMO
4.7.2. RECURSIVIDAD
5. PROGRAMAS EJEMPLO

Fase 2: Programando a Karel el Robot

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 simple
que vive en un mundo simple y debido a que Karel y su mundo son simulados, nosotros
podemos 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 desplazarse
y hacer las tareas que le indiques.
Karel puede orientarse en una de las cuatro direcciones: este, oeste, norte y sur. Slo gira
90 cada vez, por tanto no puede orientarse hacia el nordeste. En el mundo de Karel, las
calles van de este a oeste, y son numeradas comenzando por 1. No hay nmeros de calle
igual a 0 o negativos. Las avenidas van de norte a sur, y tambin estn numeradas
empezando por 1. Tampoco hay nmeros de avenida igual a 0 o negativos. Se le llama
esquina a la interseccin de una calle con una avenida. Karel va de una esquina a la
siguiente en un solo movimiento.

No. DE ZUMBADORES

DESPLAZADORES

C
A
L
L
E
S

MUROS

ZUMBADORES

KAREL
AVENIDAS
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 una
forma de marca que Karel puede escuchar slo cuando se encuentra en la misma esquina
Fase 2: Programando a Karel el Robot

que el zumbador. Karel tiene una bolsa que puede utilizar para poner los zumbadores que
vaya cogiendo. Tambin puede hacer lo contrario, es decir, sacar los zumbadores de su
bolsa y depositarlos en las esquinas por las que va pasando. Puedes ajustar el nmero inicial
de zumbadores en cada esquina con el control Zumbadores.

Fase 2: Programando a Karel el Robot

VENTANAS DEL SIMULADOR KAREL


El ambiente de trabajo de Karen esta formado por tres ventanas con las cuales se
desarrollan diferentes ejercicios de variadas complejidades.

VENTANA MUNDO
Karel vive en mundo simple el cual podemos crear utilizando la ventana Mundo, en esta
ventana definimos el espacio en el cual puede transitar Karel agregando muros y
zumbadores.
La definicin del mundo de Karel nos permitir hacer mas fcil o complejas las diferentes
actividades 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 se
agregaran los muros y zumbadores

Fase 2: Programando a Karel el Robot

Al hacer clic en este botn se muestra el cuadro de dialogo guardar como


de 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 en
este botn se abre el cuadro de dialogo de la figura 03.

Con este botn abrimos los mundos que tenemos creados previamente. Al
hacer clic en este botn se abre el cuadro de dialogo Abrir de Windows en el cual
seleccionaremos la ubicacin y el nombre del mundo que se desee abrir

Fase 2: Programando a Karel el Robot

Figura 04: Cuadro de dialogo Abrir.


En esta opcin se escribe la cantidad de zumbadores
que 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 del
mundo de Karel.

Agregar y quitar muros


Para agregar un muro hacemos clic en la calle o avenida que deba existir un muro, y para
eliminarlo hacemos clic en el muro.

Figura 05: Muros del mundo de Karel.

Fase 2: Programando a Karel el Robot

Agregar y quitar zumbadores


Los zumbadores estn representados con un nmero el cual indica la cantidad exacta de
zumbadores 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 la
cual requerimos uno o ms zumbadores, del men emergente (figura 06) hacemos clic en la
opcin que nos convenga.

Figura 06: Men emergente

La opcin N zumbadores despliega un cuadro en el cual podemos escribir el numero de


zumbadores. (mximo 99)
Para Borrar los zumbadores hacemos clic en los zumbadores con el botn derecho y en la
opcin 0 zumbadores del 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 una
de las cuatro siguientes orientaciones al Norte, Este, Sur o al Oeste. La punta de la flecha
indica 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 el
men emergente apunte en la opcin Situar a Karel y clic en una de las cuatro opciones de
orientacin, vea la figura 07.

Fase 2: Programando a Karel el Robot

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 mundo
interactuando con sus diferentes elementos como son los muros, zumbadores, calles y
avenidas.
Para ensear a Karel a realizar una actividad se debe codificar un programa el cual puede
tener 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 la
cual se escribe el cdigo programa, la cual esta representada por un recuadro blanco el cual
en la parte izquierda se numeran las lneas de cdigo.

Fase 2: Programando a Karel el Robot

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 lenguaje
seleccionado. (Ver figura 09)
Al hacer clic en este botn se abre el cuadro de dialogo Abrir de Windows
mediante el se recupera recuperar un programa previamente guardado

Fase 2: Programando a Karel el Robot

10

Figura 10: Cuadro de dialogo Abrir de Windows

Permite guardar en disco un programa, utilizando el cuadro de dialogo


Guardar 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 haya
codificado
Fase 2: Programando a Karel el Robot

11

Guarda un programa con otro nombre

Compila el programa que se haya escrito preparndolo para su ejecucin. Si


el cdigo del programa tiene algn error de sintaxis, el compilador nos muestra el error y la
posible lnea en la que se encuentra el error, en caso de no existir ningn error de sintaxis
muestra el mensaje programa compilado.
Nota: Siempre que se realice una modificacin al cdigo del programa se debe compilar
antes de ejecutarlo.

Opcin para indicar en que lenguaje se codificara y compilara el


programa.

VENTANA EJECUAR
Esta ventana es una de las caractersticas que podemos resaltar de Karel debido a que nos
permite ver la forma en que se ejecuta el cdigo del programa y las acciones que realiza
Karel 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 panel
izquierdo en el cual se muestra la ejecucin del cdigo del programa y un panel derecho en
el que se muestra las acciones que realiza Karel en su mundo.

Fase 2: Programando a Karel el Robot

12

Figura 12; Ventana Ejecutar


Funciones de los Botones

Sita a Karel en la posicin y orientacin inicial para el mundo abierto en la


ventana 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 en
la mochila.
En este recuadro se establece la velocidad en que se
ejecutara el programa. A menor cantidad mayor rapidez y a mayor cantidad la ejecucin
ser ms lenta. La velocidad esta dada en milisegundos.
Fase 2: Programando a Karel el Robot

13

PROGRAMACIN EN KAREL
La programacin de Karel se puede realizar en los lenguajes Pascal o Java, en el caso de este manual se
vera 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 innumerables
actividades desde las ms simples como es el avanzar por una avenida o calle hasta las ms complejas
como son operaciones matemticas, ordenamientos entre otras.

ESTRUCTURA DEL PROGRAMA


El lenguaje que utilizaremos es Pascal, el cual pertenece a la clasificacin de los lenguajes
estructurados.
El programa se divide principal mente en dos bloques:
Uno para definir nuevas instrucciones (funciones) comprendido entre las palabras reservadas iniciarprograma e inicia-ejecucion.
Y el principal donde se escriben las instrucciones que debe realizar el programa, este bloque esta
delimitado por las palabras reservadas Inicia-ejecucion y termina ejecucion
El programa esta delimitado por las palabras reservadas iniciar-programa y finalizar-programa.
Bloque general del programa:
Iniciar-programa
(* Definicin de nuevas instrucciones*)
Inicia-ejecucin
(* Bloque principal de programa*)
Termina-ejecucion
Finalizar-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.
Fase 2: Programando a Karel el Robot

14

COMANDOS BSICO.
Karel solo puede realizar cinco acciones bsicas.
Comando
avanza
gira-izquierda
coge-zumbador
deja-zumbador

Descripcin de la accin
Avanza una esquina en la direccin en la que se encuentre
Gira 90 grados a la izquierda
Toma un zumbador y lo agrega a su mochila
Saca un zumbador de su mochila y lo deja en la esquina
sobre la que esta ubicado
Desconecta a Karel

apagate

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 se
encuentra o no en la situacin indicada por la condicin.

Listado de las condiciones de Karel


Detecta si existe o no un Detecta si hay o no un zumbador en la esquina Detecta la orientacin
muro
o en su mochila
actual
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

Fase 2: Programando a Karel el Robot

15

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-lgico condicin
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 si
solos no causan que ocurra algo. Simplemente controlan la ejecucin de otras sentencias o fragmentos
de 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 hacer van seguidas de la
palabra inicio para 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. El
compilador 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 continuacin
de un fin (excepto cuando precede una sentencia sino).

Fase 2: Programando a Karel el Robot

16

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 inicio
yyy;
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 la
condicin en la que se encuentre.

Forma general:
Si xxx entonces inicio
yyy;
fin
sino inicio
zzz;
fin ;

Donde xxx es una condicin, yyy son sentencias a realizar si xxx es verdadero, y zzz son las sentencias
a ejecutar si xxx es falso.
Ejemplo:
Fase 2: Programando a Karel el Robot

17

Si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada entonces inicio


media-vuelta;
alfombra-cuarto;
fin
sino inicio
media-vuelta;
avanza-por-el-cuarto;
fin;
En este ejemplo si las condiciones son verdaderas Karel ejecuta las funciones media-vuelta y alfombracuarto (previamente definidas por el programador) y si son falsas se ejecutan las funciones mediavuelta 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 inicio
yyy;
fin;

Donde xxx debe ser un nmero entero positivo, y yyy representa cualquier nmero de sentencias de
Karel.

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 este
orientado.

Sentencia de control Mientras / Hacer


Extremadamente valiosa cuando no se sabe de antemano exactamente cuantas veces se necesita realizar
una tarea.
Fase 2: Programando a Karel el Robot

18

La sentencia mientras/hacer nos permite repetir pasos mientras se cumple una condicin, y esto nos va
a permitir programar a Karel para que no sea un chico tan rgido!.
Forma general:
Mientras xxx hacer inicio
yyy;
fin;
Donde xxx debe ser una condicin (una de las funciones booleanas listadas anteriormente), y yyy
representa 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, si
encuentra una pared deja de avanzar.

FUNCIONES
Hasta ahora, le hemos dicho a Karel exactamente lo que tena que hacer tal como necesitbamos que lo
hiciese. Esto funciona bien, pero se podrn haber dado cuenta de que siempre se utilizan secuencias de
sentencias 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 decir
simplemente "gira-derecha"?.
En otras palabras, diciendo " gira-derecha; " Karel girara tres veces hacia la izquierda para alcanzar
nuestro objetivo. Es posible.
Una de las razones de crear nuevas instrucciones, es por evitar escribir tanto. Otra es para documentar
mejor cual es nuestro objetivo, cuando nosotros mismos u otra persona leen el programa. Como se
estarn dando cuenta, programar es una tarea muy sencilla, y necesitamos toda la ayuda necesaria para
hacer las cosas correctamente!
En si una funcin es un segmento de programa que podemos utilizar tanta veces como sea necesario y
con 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 de
Karel, justo despus de la sentencia iniciar-programa.
Fase 2: Programando a Karel el Robot

19

Forma gerenal:
Define-nueva-instruccion nnn como inicio
yyy;
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 inicio

Define-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 el
lugar que desee ejecutar dicha funcin, puede ser dentro de otra funcin o el bloque principal del
programa.
Ejemplo:
Programa que hace que Karel avance desde la esquina calle 1 avenida 1 hasta un muro y regrese y se
detenga 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 inicio
gira-izquierda;
gira-izquierda;
Fase 2: Programando a Karel el Robot

20

fin;
(* se crea una funcin que avanza mientras no exista un muro*)
define-nueva-instruccion Avanza-hasta-muro como inicio
mientras frente-libre hacer inicio
avanza;
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-programa
El 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:
Fase 2: Programando a Karel el Robot

21

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) termine
para que termine la funcin padre.
Con la siguiente grafica intentaremos mostrar el proceso de recursividad, inicio y finalizacin de las
llamadas de a la misma funcin.
Funcin original Inicia
Primera llamada inicia copia 1
Segunda llamada inicia copia 2
Tercera llamada inicia copia 3
No se cumple la condicin de llamada
Termina copia 3
Termina copia 2
Termina copia 1
Termina funcin original

Debemos tener cuidado al utilizar la recursividad y definir claramente cuando termina la funcin, si no
podemos 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 forma
de dar solucin ya que utiliza una gran cantidad de recursos (memoria y procesamiento) y hace ms
lenta la ejecucin del programa.

Ejemplo de recursividad:
Este programa le indica a Karel que avance hasta que encuentre un muro y regrese a la ubicacin
exacta 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;
Fase 2: Programando a Karel el Robot

22

fin;
(* Crea la funcin avanza-y-regresa *)
define-nueva-instruccion avanza-y-regresa como inicio
si frente-libre entonces inicio
avanza;
(* Realiza una llamada as misma *)
avanza-y-regresa;
fin
sino inicio
(* Realiza una llamada a la funcion media-vuelta *)
media-vuelta;
fin;
avanza;
fin;
inicia-ejecucion
si frente-libre entonces inicio
avanza;
fin;
(* Se realiza la primera llamada a la funcin avansa-y-regresa *)
avanza-y-regresa;
media-vuelta;
apagate;
termina-ejecucion
finalizar-programa

Figura 14: Mundo del programa recursividad_ejemplo.txt

Fase 2: Programando a Karel el Robot

23

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 de
programacin oficiales en la Olimpiada Mexicana de Informtica.
Se pretende tambin introducir a los alumnos en las metodologas utilizadas en para resolver
problemas 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 de
programacin oficial de la Olimpiada Mexicana de Informtica. Adems presenta ejemplos
para res implementados en los lenguajes oficiales y algunos temas de reflexin sobre las
metodologas de programacin
Presenta tambin algunos temas sobre estructuras de datos, que son utilizados para resolver
problemas de la Olimpiada, como los arreglos unidimensionales y multidimencionales, las
pilas, las colas y los archivos, donde todos los datos de entrada para los programas se hacen
a travs de archivos de texto, as como las salidas, tomando en cuenta que tanto las
entradas como las salidas de los programas tienen un formato especial que tienen que
cumplir, 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 que
tambin debe de ser el que se indica en el examen, as como el nombre de lo archivos de
salida, por que sino lo hacen as tambin son descartados.

Fase 3: Resolviendo Problemas con un Lenguaje de Programacin

24

Você também pode gostar