Introducción a la Programación
Introducción a la Programación
5 la programación
estructurada
¿Qué actividades realizas en un día normal? Desde que te levantas hasta que
llegas a la escuela realizas una serie de acciones: ¿siempre son las mismas?,
¿las haces en forma consciente? Por lo general, las acciones cotidianas se
efectúan de manera automática.
Te levantas
1.
e a se as
2. T
ladas a la e
t ras sc
Te u
7.
el
a
Te vistes
3.
as tu moc
. Tom hil
6 a
Desayunas
4.
Programar es la acción de crear procedimientos que nos lleven a efectuar una tarea o a resolver un
problema en forma sencilla y sistemática. El procedimiento lógico que facilita la solución se conoce como
algoritmo.
Las áreas donde participa activamente el personal informático son:
Usuario. Realiza cualquier actividad académica o profesional utilizando computadoras y aplicacio-
nes de propósito específico, como hojas o libros de cálculo, procesadores de palabras o progra-
mas de diseño.
Desarrollador. Es la persona que crea los programas o aplicaciones con las cuales trabajas en la
computadora.
Técnico. Es el ingeniero o técnico de mantenimiento que se encarga de reparar y mantener en
funcionamiento los equipos y las redes de computadoras.
Ya conoces muchas de las tareas que realizan los usuarios y qué programas utilizan, ahora el reto es
mayor y más interesante. Entrar al mundo de los desarrolladores te abre un horizonte de mayor realiza-
ción personal, ya que despierta tu imaginación y desarrolla tus habilidades mentales, que serán de gran
utilidad durante tu vida.
Primera generación
Se remontan a las primeras computadoras integradas por bulbos y relevadores. Los programas se
realizaban con base en instrucciones en lenguaje máquina, de bajo nivel, que utilizaban sólo los
símbolos binarios 0 y 1 (código binario).
Segunda generación
Se desarrollaron los lenguajes ensambladores, también de bajo nivel, que traducían al lenguaje má-
quina las órdenes simples como sumar, restar o almacenar.
Tercera generación
En 1957 se dio un gran paso en la programación Después aparecieron lenguajes como APL,
de computadoras. John Backus, programador de COBOL, ALGOL, LISP, Basic, Pascal, C, C++,
IBM inventa el primer lenguaje de alto nivel lla- C#, Visual Basic, LOGO, Java y muchos otros,
mado FORTRAN por las siglas en inglés, FORmula algunos de ellos conocidos y utilizados en la
TRANslator. actualidad.
5.1 Lenguajes de programación 149
Algunos de estos lenguajes producen un programa objeto que se ejecuta directamente en la compu-
tadora; otros crean sólo un programa fuente y requieren del lenguaje de programación para traducir las
instrucciones, una por una, al momento de ejecutar el programa. Para traducir las órdenes al lenguaje
máquina, utilizan intérpretes y compiladores.
Por la forma en que realizan la traducción del programa fuente a programa objeto o ejecutable, se di-
viden en:
Intérpretes: leen una orden, la traducen a lenguaje máquina y la ejecutan. Si en el proceso detec-
tan un error de sintaxis, envían un mensaje a la pantalla para que el programador corrija la orden.
Compiladores: primero traducen todo el programa fuente a lenguaje máquina y, una vez compilado,
lo ejecutan.
Esquema de un intérprete
Datos
Programa
Intérprete Resultados
fuente
Esquema de un compilador
Compilador Datos
Programa Programa
Ejecución Resultados
fuente objeto
Figura 5.1 Esquemas de los procesos que realizan los intérpretes y los compiladores.
Cuarta generación
Los lenguajes evolucionan hacia las interfaces gráficas, que permiten generar el código relacionando
objetos e instrucciones. Se conocen como lenguajes orientados a objetos y gestión de bases de
datos como Visual Basic, C++, SQL, Java y otros.
Quinta generación
Son lenguajes que se emplean para desarrollar aplicaciones de robótica e inteligencia artificial como
LISP y PROLOG.
Lee y deduce
Hay de lenguajes a lenguajes
P or el grado de madurez que has alcanzado, sabes que un lenguaje es la expresión de nuestro pensamiento
(si no la única, sí la más importante y generalizada), porque a través de él, podemos comunicar lo que
queremos, con la certidumbre de que otras personas lo comprenden.
Todos los contenidos en el lenguaje tradicional tienen tres dimensiones de referencia al mundo:
Cognitiva-expositiva: trasmite una situación registrada en cifras.
Afectiva-emocional: expresa algún sentimiento en relación con tales cifras.
Evaluativo-valorativa: califica los significados concretos de una expresión lingüística.
Relaciona esta información de los lenguajes humanos con los lenguajes informáticos, escribe y explica tres
características que compartan ambos mundos:
1.
2.
3.
¿Consideras que cualquiera de los dos lenguajes y sus diversas manifestaciones puedan ser individuales?,
¿sí o no?
Especifica por qué
De la reflexión anterior, ¿qué característica universal definirías para cualquier lenguaje, ya sea humano o de
computadora?
0
1
Actividad 21. Programación
Actividad 5.1
1. Escribe en siete pasos el algoritmo para crear un párrafo de texto en Word.
Considera todos los pasos a seguir, como encender la computadora, etcétera.
a) Encender la computadora
b)
c)
d)
e)
f)
g)
5.2 Programación estructurada 151
2. Ahora describe el procedimiento para guardar el archivo de Word, cerrar el programa y apagar la
computadora, en seis pasos.
a)
b)
c)
d)
e)
f)
¡Lo que estás haciendo es programación!
Actividad 5.2
Actividad grupal
1. Organicen equipos de cuatro alumnos en el salón y realicen lo siguiente:
a) Cada equipo debe investigar sobre el desarrollo de uno de los siguientes lenguajes de progra-
mación: FORTRAN, Basic, Pascal, Visual Basic, Visual C++, Pyhton, Perl y Java.
b) En un documento de Word, cada grupo debe escribir uno o dos párrafos con lo investigado. El
texto debe incluir un título en WordArt y un formato agradable y claro.
c) Cada grupo debe guardar el documento con el nombre del lenguaje investigado; por ejemplo,
[Link] o [Link], etcétera.
d) En una presentación de PowerPoint, incluyan cada una de las investigaciones en una diaposi-
tiva con los siguientes datos:
¦ Operadores aritméticos
La mayoría de los programas y lenguajes de programación utilizan una notación especial para ejecutar las
operaciones aritméticas, que se desarrollan de acuerdo con sus jerarquías. Si tienes dudas respecto a la
jerarquía de los operadores, repasa la sección correspondiente en el bloque relativo a Excel.
Ejemplo:
Para resolver la ecuación x = (6+4)*2+3^2–32/8 se procede de la siguiente manera:
Existe otro tipo de operadores que se utilizan para relacionar valores, llamados operadores de relación.
Símbolo Se lee
Si A = B Si A es igual que B
Si A < B Si A es menor que B
Si A > B Si A es mayor que B
Si A <= B Si A es menor o igual que B
Si A >= B Si A es mayor o igual que B
Si A <> B Si A es diferente que B
¦ Constantes y variables
Constantes
Los datos o valores constantes que se utilizan en el curso o ejecución de un programa se denominan
constantes, porque no cambian su valor. En este caso se encuentran constantes como π, que siempre
tiene el valor 3.1415926535897932384626433832795, abreviado 3.1416 por conveniencia, o el nú-
mero 3, que siempre será 3, mientras no se asigne a una variable.
Variables
Los datos para ser procesados se almacenan en una localidad en la memoria de la computadora. Estos
datos reciben el nombre de variables y pueden cambiar su valor durante la ejecución de un programa.
Existen variables para todo tipo de datos; por el momento, únicamente las dividiremos en dos:
5.2 Programación estructurada 153
1. Variables de texto. Son aquellas que se emplean para almacenar cadenas de caracteres; no se
utilizan en operaciones aritméticas, por ejemplo, nombres de personas o números de teléfono.
Nombres válidos para estas variables pueden ser NOMBRE, TEL, DIRECCIÓN, etcétera.
2. Variables numéricas. Almacenan números reales, enteros o decimales, positivos o negativos. Los
términos que integran la fórmula que soluciona el problema se sustituyen por el nombre de las
variables donde se almacenan los datos correspondientes. Por ejemplo, los valores de una fórmula
como ÁREA = BASE x ALTURA; las variables pueden ser B y AL, que al variar dan diferentes valores
de ÁREA.
¦ Algoritmos
Como se mencionó, algoritmo es un conjunto de pasos que deben seguirse para solucionar un problema.
Todo algoritmo debe ser:
Preciso. Debe ser concreto, no tener pasos de más y llevar a una solución clara.
Congruente. Al probarse varias veces, los resultados deben ser los mismos.
Finito. Al seguir los pasos deben conducir a la solución.
Ecuación. Igualdad. Expresión algebraica polinomial que oculta una o varias incógnitas.
154 Bloque 5 l Introducción a la programación estructurada
Representa un proceso. Dentro del rectángulo se escriben las fórmulas que se van
a utilizar en la solución del problema.
Seudocódigo
El seudocódigo o seudolenguaje se integra por una serie de instrucciones en lenguaje natural como
inglés, alemán o español, además de expresiones y operadores que representan cada uno de los pasos
para resolver un problema (o muchos). Quienes sigan una carrera profesional como programadores verán
la utilidad de usarlo, porque transformar un algoritmo en pseudocódigo, a un lenguaje de programación,
es muy sencillo.
Cuando elaboras programas, es conveniente no traducir las estructuras IF-THEN-ELSE, FOR o DOWHILE,
que verás más adelante; sin embargo, al escribir pseudocódigo te lo puedes permitir. Para utilizar la pro-
gramación en la solución de tus tareas escolares de física, matemáticas y de cualquier otra materia, con
el seudocódigo en español bastará.
Enseguida, observa el algoritmo para la solución de un problema de cálculo de la presión que ejerce
una fuerza sobre una superficie, realizado con un diagrama de flujo y el seudocódigo correspondiente.
5.2 Programación estructurada 155
Diagrama de flujo
Seudocódigo
INICIO
INICIO
Lee y deduce
Orígenes de las lenguas
T ú sabes que el idioma español es una lengua romance derivada del latín; también conoces que los árabes
fueron maestros de la aritmética y el álgebra, además tuvieron gran influencia sobre España debido a los
siglos de dominación que ejercieran sobre ella; es por esto que muchas palabras relativas a la matemática pro-
vienen de esa lengua. Seguramente habrás escuchado hablar de Mohammed ben Musa (780-850 d.C.), llamado
el “padre del álgebra”, tenía el seudónimo de Al Jwarizmi, término que con el tiempo degeneraría en “algorismo”
para convertirse finalmente en “algoritmo”.
Si algoritmo son los pasos para solucionar un problema, ¿desde cuándo crees que fueron utilizados?
Finalmente, ¿consideras que la formulación de algoritmos puede facilitarte la realización de alguna tarea?
Explica por qué.
a
156 Bloque 5 l Introducción a la programación estructurada
Actividad 5.3
1. Resuelve las siguientes operaciones considerando la jerarquía de los operado-
res aritméticos:
a) 2+(8–3)*2 =
b) (10+4)/7–2*4 =
c) 12–8*2 =
d) 3^2–18/2 =
e) (16–2^3)*4–64/2 =
Actividad 5.4
1. Escribe un modelo que calcule el área de cualquier círculo, dado su radio, conforme a lo siguiente:
a) ¿Qué datos se necesitan conocer?
b) ¿Qué variables se deben definir?
c) ¿Cuál es la fórmula algebraica?
d) Escribe la expresión utilizando nombres de variables.
e) Dibuja un círculo y escribe a un lado la fórmula del área.
Modelo:
Actividad 5.5
1. Elabora el algoritmo que calcule el volumen de cualquier cilindro, dados su radio y altura.
Radio
Fórmulas:
Altura Área de la base = π × Radio2
Volumen = Área de la base × Altura
¦ Estructuras de programación
Llamadas también estructuras de control, representan la manera de dirigir el flujo de acciones encami-
nadas a la solución de problemas, de manera ordenada; es decir, bien estructurada. Las estructuras
de programación tienen la función de facilitar la comprensión de un problema y evitar los errores en la
programación.
Estructuras secuenciales
Los programas, cuando están correctamente estructurados, son necesariamente secuenciales. El
flujo de procesamiento de los datos se lleva a cabo de manera ordenada y disciplinada. Se van
procesando los datos en forma secuencial, paso por paso.
Se aplican en la solución de problemas sencillos con la siguiente secuencia:
1. Captura de datos
2. Proceso de datos
3. Impresión de resultados
Las instrucciones se ejecutan linealmente en el orden en que fueron escritas, como se muestra
en el siguiente diagrama de flujo y seudocódigo.
Diagrama de flujo
INICIO
Seudocódigo
INICIO
FIN
Diagrama de flujo
INICIO
Seudocódigo
INICIO
Datos
Escribe “Explicación de la interfaz”
Escribe “Nombre de los DATOS 1 a n”
Condición Captura DATO1, DATO2…DATOn
SI NO
Rutina A Rutina B
SI (Operación de relación)
Condición ENTONCES Rutina A
SI NO Rutina B
FIN
FIN
Actividad 5.6
1. Elabora un diagrama de flujo secuencial que describa el algoritmo que desarro-
llaste en el apartado 1 de la Actividad 5.1 (crear un párrafo de texto en Word).
a) Inicia una sesión de Excel.
b) En la Hoja1 dibuja el diagrama de flujo utilizando la barra de herramientas Dibujo.
c) Incluye el título Cómo crear un párrafo de texto en Word, con la herramienta WordArt.
d) Guarda el archivo con el nombre Párrafo de texto en [Link].
Actividad 5.7
1. Elabora en seudocódigo el algoritmo secuencial que desarrollaste en el apartado 2 de la Activi-
dad 5.1 (guardar el archivo de Word).
a) Inicia una sesión de Word.
b) Dibuja el diagrama de flujo utilizando las formas de la cinta de opciones Insertar.
c) Incluye el título Cómo guardar un archivo de Word, con la herramienta WordArt.
d) Guarda el archivo con el nombre Guardar archivo de [Link].
Actividad 5.8
Elabora un diagrama de flujo que describa gráficamente el siguiente algoritmo, utilizando una estruc-
tura de decisión.
1. José consulta todos los días su horario de clases a las 10:00 A.M. para saber si entra a clase
de matemáticas o al laboratorio de física.
2. Los lunes, miércoles y viernes tiene matemáticas y los martes y jueves va al laboratorio de física.
3. En la primera diapositiva de una presentación de PowerPoint dibuja el diagrama.
4. Incluye el título ¿A qué clase entro?, con la herramienta WordArt.
5. Guarda el archivo con el nombre Decisión _01.pptx.
5.2 Programación estructurada 159
Diagrama de flujo
INICIO
Seudocódigo
Ciclo = V1, Vf INICIO
Escribe “Explicación de la interfaz”
Condición A = Vi, Vf
Rutina Paso A
Paso A Paso B
Rutina
Paso B …
… Paso N
Paso N
FIN
FIN
a
Estructuras de Ciclos condicionados. Cuando el número de repeticiones depende de una condi-
ción que se evalúa en cada ciclo.
Diagrama de flujo
Seudocódigo
a INICIO
Se da un valor INICIO
inicial a Vf
Escribe “Explicación de la interfaz”
SI
Cont > Vf
Condición Cont > Vf
NO
Paso A
Rutina Paso B
Paso A Rutina
Paso B
…
… Paso N
Paso N
Actividad 5.9
Elabora un diagrama de flujo y su representación en seudocódigo, que describan el
siguiente algoritmo utilizando una estructura de repetición.
1. Dados los números 1 al 30, sumar todos aquellos que sean pares e imprimir el resultado.
2. En la primera diapositiva de una presentación de PowerPoint dibuja el diagrama y escribe el
programa en seudocódigo.
3. Incluye el título Suma de números pares con la herramienta WordArt.
4. Guarda el archivo con el nombre Suma [Link].
5. Contesta lo siguiente: ¿de qué tipo de estructura de repetición se trata?
Actividad 5.10
Elabora un diagrama de flujo y su representación en seudocódigo, que describan el siguiente algoritmo
utilizando una estructura de repetición.
1. Arroja 20 veces una moneda al aire y ve registrando (imprimiendo) cuántas veces cae la moneda
en cara y cuántas en reverso o cruz.
2. Detén el ciclo en el evento número 20.
3. Imprime el número de veces para cara y el número para reverso y finaliza el programa.
4. Realiza el diagrama y el seudocódigo en un documento de Word con el título Cara o Cruz.
5. Guarda el archivo con el nombre Cara o [Link].
6. Contesta lo siguiente: ¿de qué tipo de estructura de repetición se trata?
5.3 Solución de problemas con computadora 161
Nunca olvides éstos sencillos pasos que te serán muy útiles siempre, aunque también deberás poner
toda tu inventiva y crear el programa escrito en un lenguaje informático, que dé solución al problema plan-
teado de una manera sencilla y fácil de entender por cualquier usuario de computadoras.
Identificar el problema por resolver
En esta etapa se toma conciencia del problema, al que se le puede asignar un nombre como identificador;
se analizan las limitaciones que se tienen y se define la herramienta informática que se va a utilizar para
implantar la solución.
Ejemplo:
Tu profesora o profesor de Ciencias te pide como tarea escolar para realizar en casa, un ensayo
sobre la estructura de la materia. La identificación de tu problema o tarea a resolver se puede
desglosar en los siguientes pasos:
1. ¿Qué problema tengo?
Respuesta: Buscar información para hacer un ensayo sobre un tema de ciencias.
2. ¿Cómo identifico el problema?
Respuesta: El nombre puede ser Tarea 1 de ciencias o Estructura de la materia.
3. ¿Cuáles son mis limitaciones?
Respuesta: No tengo en casa una enciclopedia, ni una enciclopedia virtual en la computadora.
Solución: Puedo buscar información sobre el tema en Internet o acudir a una biblioteca.
4. ¿Qué herramienta informática puedo utilizar para resolver el problema?
Respuesta: Word, Publisher o PowerPoint.
Analizar el problema
Se hace un estudio profundo del problema, se plantean varias posibles soluciones y se opta por la mejor.
Algunas veces, para realizar el análisis se parte del final hacia el principio; es decir, primero se identifica
el objetivo y después, se determinan los elementos que se requieren para alcanzarlo:
1. Define los datos que debe arrojar la solución del problema.
2. Se identifican todas las variables que participan en el problema.
3. Se crean los modelos que relacionan las variables y constantes del problema (los modelos pueden
ser matemáticos).
162 Bloque 5 l Introducción a la programación estructurada
Ejemplo:
Rutina que realiza la suma de dos números.
1. Nombre: Suma dos números.
2. Análisis:
Ejemplo:
Diagrama de flujo y programa en seudocódigo que resuelven el problema de sumar dos números.
Diagrama de flujo
INICIO
Seudocódigo
INICIO
NUM1, NUM2
“Conocer el resultado de la suma
Escribe
de dos números”
FIN
5.3 Solución de problemas con computadora 163
Actividad 5.11
Cómo enfrentar un reto.
1. Analiza los dibujos y relaciona cada viñeta con las palabras de la derecha.
( ) ( ) ( ) ( ) ( )
Actividad 5.12
1. ¿Qué nombre le darías al problema de resolver el modelo que calcula el volumen de cualquier
cono circular recto?
Actividad 5.13
1. Realiza el análisis para diseñar el modelo que calcule la velocidad de un automóvil que recorre
un trayecto, en un lapso de tiempo.
164 Bloque 5 l Introducción a la programación estructurada
¿Qué se busca?
¿Qué datos se necesitan?
¿Qué fórmula algebraica utilizar?
¿Qué variables se deben definir?
¿Cuál es la fórmula informática?
Actividad 5.14
1. Realiza el análisis para diseñar el modelo que pregunte el nombre de un alumno y calcule su cali-
ficación promedio, conociendo los datos de calificaciones de las materias Español, Matemáticas,
Ciencias, Tecnología e Historia.
a) ¿Qué nombre le pondrías al procedimiento?
¿Qué se busca?
¿Qué datos se necesitan?
¿Qué fórmula algebraica utilizar?
¿Qué variables se deben definir?
¿Cuál es la fórmula informática?
Actividad 5.15
1. Diseña el algoritmo para resolver la Actividad 5.14, dibujando un diagrama de flujo y escribiendo
el programa en seudocódigo.
Diagrama de flujo
Seudocódigo
INICIO
INICIO
FIN FIN
5.3 Solución de problemas con computadora 165
Actividad 5.16
Verifica la solución del algoritmo que calcula el área y el volumen de cualquier
esfera.
1. Inicia una sesión de Word.
En el encabezado escribe tus datos generales.
2. Escribe el título Algoritmo que calcula el área y volumen de una esfera.
3. Escribe la definición de esfera.
4. Dibuja una esfera indicando su radio.
Inserta una tabla de 4 filas y 5 columnas.
Coloca el encabezado de la prueba en la fila 1.
Realiza tres pruebas del algoritmo.
5. Da una presentación agradable al documento.
6. Guarda el documento con el nombre [Link].
Debes haber obtenido un documento como el de la figura.
166 Bloque 5 l Introducción a la programación estructurada
Actividad 5.17
1. Realiza un algoritmo que calcule el promedio de calificaciones de un alumno y lo compare con 9.5.
2. Si el promedio es igual o mayor que 9.5, el alumno es apto para participar en las Olimpiadas
Escolares del Conocimiento.
a) ¿Qué nombre le pondrías al procedimiento?
¿Qué se busca?
¿Qué datos se necesitan?
¿Qué fórmula algebraica utilizar?
¿Qué variables se deben definir?
¿Cuál es la fórmula informática?
Actividad 5.18
Elabora el análisis y diseña el algoritmo que calcule e imprima el cuadrado y el cubo de todos los
números enteros que se encuentren dentro de un intervalo definido por el usuario.
1. Inicia una sesión de PowerPoint.
2. En la diapositiva 1 diseña una portada.
3. En la diapositiva 2 realiza el análisis del problema.
4. En la diapositiva 3 escribe el seudocódigo.
5. En la diapositiva 4 dibuja el diagrama de flujo.
6. Da un formato agradable a la presentación.
7. Guarda el archivo con el nombre Potencia cuadrada y cú[Link].
8. Presenta ante el grupo la solución que diste al problema.
5.3 Solución de problemas con computadora 167
Actividad 5.19
Realiza el análisis y diseña el algoritmo que calcule la solución de cualquier ecuación de la forma: Ax
+ B = C.
1. Llena los datos de la tabla para el algoritmo anterior.
¿Qué se busca?
¿Qué datos se necesitan?
¿Qué fórmula algebraica utilizar?
¿Qué variables se deben definir?
¿Cuál es la fórmula informática?
Para volver a ejecutar el programa pulsa en el botón Inicializar y nuevamente en Correr. Como prueba,
ve a la ventana Programa, elimina dos instrucciones gira-izquierda; (de las primeras tres) y compila el pro-
grama, ejecuta el programa y describe lo que pasó:
Nota: Si deseas que Karel comience a caminar hacia la derecha, debes incluir al inicio tres instruccio-
nes gira-izquierda; para que quede apuntando hacia la derecha, ya que no existe la instrucción
gira-derecha. Luego, ya puedes continuar con instrucciones avanza;. Cada instrucción avanza;
hace caminar a Karel sólo un espacio por lo que, si deseas que camine 20 calles, debes insertar 20
veces la instrucción. El robot comienza el recorrido desde la posición (1, 1) ejecutando las instruccio-
nes de arriba hacia abajo, paso a paso.
Cada programa necesita un mundo; si no lo creas, el robot se desplaza por todo el Universo. Los mun-
dos sirven para delimitar el espacio de trabajo, insertar paredes, recoger y dejar zumbadores, y hasta
para determinar el punto de partida y la dirección inicial de Karel. Guarda el programa creado con el botón
Guardar como; en el cuadro de diálogo Guardar como selecciona la carpeta para tus programas, escribe
un nombre como Vuelta a [Link] y pulsa el botón Guardar.
170
Para crear mundos de Karel, puedes limitar el área (aunque no es una condición necesaria), poner pare-
des y regar zumbadores, para que el robot los recoja en su camino. Hazlo de la siguiente manera:
1. Pulsa en la ficha Mundo.
Para poner muros o paredes horizontales o verticales, pulsa con el botón
izquierdo entre dos “manzanas” (los cuadritos grises).
Para continuar el muro horizontal, pulsa donde indica la flecha azul en la
figura; si quisieras un muro vertical, deberías pulsar donde indica la flecha
roja. Si ubicas una pared donde no la querías, no hay problema; vuelve a
pulsar entre los cuadritos y desaparece.
2. En este ejercicio se ha limitado el mundo a la calle 15 y la avenida 25, y se han puesto dos muros
para bloquear la calle 15.
Pulsa el botón derecho del ratón en el crucero (10, 10), para fijar la posición de inicio de Karel, se-
lecciona Situar a Karel (aunque el comando tiene un error ortográfico), y luego, Orientado al este.
Pon dos zumbadores en la posición (10, 16), dos en (14, 16), otros dos en (14, 23) y uno más en
(15, 5), para que Karel los recoja a su paso. Pulsa con el botón derecho del ratón en la intersec-
ción, y en el menú contextual selecciona 1 zumbador, o 2 zumbadores.
3. Al escribir el código del programa, cambia entre las vistas Mundo y Programas para ir describiendo
los movimientos que debe hacer el robot para lograr su objetivo, o traza la ruta en una hoja de papel
y escribe luego el código.
Al terminar el código, compila el
programa antes de ejecutarlo. Observa
que Karel recoge los zumbadores y en
el campo Zumbadores en la mochila se
va anotando el número de zumbadores
recogidos. Guarda el programa y el
mundo con nombres apropiados como
Recoger 7 [Link] y Recoger 7
[Link].
coge-zumbador; avanza;
avanza; Tienes que escribir 76 líneas
gira-izquierda;
avanza; de código para lograr que Karel
avanza;
avanza; realice su recorrido y junte 7
avanza;
zumbadores en la mochila, para
avanza; avanza;
terminar en el lugar (10, 10), que
avanza; apagate; es de donde partió. Hay maneras
avanza; termina-ejecucion de optimizar el código para reducir
gira-izquierda; finalizar-programa el número de instrucciones, pero
por el momento, ingéniatelas para
Lo más interesante de este tipo de programación es que puedes copiar y pegar instrucciones y no
“inventar” tus propios escenarios, crear tus propias historias e impo- escribir todo a mano.
ner los retos que se te ocurran:
3. Karel, aunque es un robot, también tiene necesidades fisiológicas. Debe ir al taller a cargar sus
baterías, y a lubricar sus articulaciones. El sitio de inicio natural es la posición (1, 1), mirando hacia
el norte; desde ahí debe avanzar hacia la puerta del taller, entrar, y llegar hasta el departamento de
servicio. Observa en el código, que para ir a la derecha Karel debe girar tres veces a la izquierda.
a) Pulsa en la ficha Mundo y
construye el mundo de Karel
poniendo paredes para formar
el taller.
b) Dentro del taller, diseña el de-
partamento de servicio, como
se muestra en la figura. Debe
tener la puerta abierta para
que entre y salga el robot.
c) Pulsa en la ficha Programas
y escribe el código iniciando
con las tres instrucciones para
girar a la izquierda. Luego es-
cribe instrucciones para dirigir
a Karel hasta el departamento de servicio. Ten cuidado de que el robot no choque con las
paredes.
d) Compila el programa y pulsa en la ficha Ejecutar. Al ejecutar el programa, puedes modificar el
valor del Retardo de ejecución. Si disminuyes el valor, haces más rápido el recorrido. Si todo salió
bien, obtienes el mensaje de Terminación normal.
Programar, además de despertar el interés por la resolución de situaciones que parecen complicadas, es
una actividad muy divertida. Además, es muy satisfactorio ver funcionando a la computadora de la manera
en que tú lo planeaste. Así, puedes comprender mejor que la computadora no es una máquina inteligente, es
una herramienta que sirve para que chicos inteligentes como tú la aprovechen para aprender más y mejor.
Crea el mundo y el programa para resolver lo siguiente:
4. La mamá de Karel le pide que vaya a la recámara
de su hermano, recoja el control de la TV y lo lleve
a la sala de televisión.
a) La recámara del hermano de Karel se encuentra
en la ubicación (6, 3) y la sala en (4, 6).
b) El robot debe caminar desde su ubicación inicial
(1, 1), tomar el zumbador (control de TV) y de-
jarlo en la sala.
c) Escribe el código con las menores líneas que
puedas.
d) Además, su mamá le pide que vaya rápidamente.
Ejecuta el programa y configura el Retardo de
ejecución para que Karel corra por el control.
172
¿Misión cumplida!
Gracias Karel, dice
su mamá.
e) Guarda el mundo y el programa con los nombres Control [Link] y Control [Link].
Para optimizar el código, define
nuevas instrucciones después de la
sentencia iniciar-programa; la
única condición es que estén referi-
das a las cinco que reconoce el pro-
grama.
Con estas nuevas instrucciones
(enmarcadas en la figura), se opti-
mizó el código del programa Reco-
ger 7 [Link], de 76 a 57
líneas. Luego debes escribir el có-
digo, después de la sentencia ini-
cia-ejecución, utilizando las
nuevas instrucciones definidas:
inicia-ejecucion
repetir 6 veces inicio
avanza;
toma-zumbadores;
fin;
gira-izquierda; avanza;
repetir 4 veces inicio fin;
avanza; gira-derecha;
toma-zumbadores; avanza;
fin; gira-izquierda;
gira-derecha; repetir 3 veces inicio
repetir 7 veces inicio avanza;
avanza; fin;
toma-zumbadores; coge-zumbador;
fin; gira-izquierda;
gira-izquierda; repetir 5 veces inicio
avanza; avanza;
gira-izquierda; fin;
repetir 8 veces inicio gira-izquierda;
avanza; repetir 5 veces inicio
fin; avanza;
gira-izquierda; fin;
avanza; apagate;
gira-derecha; termina-ejecucion
repetir 7 veces inicio finalizar-programa
5. Envía a Karel a recorrer los pasillos de un castillo, y haz que recoja todas las monedas que encuen-
tre. Este código te puede llevar una gran cantidad de líneas, pero si optimizas algunos pasos, lo
haces más sencillo.
173
a) Diseña los pasillos del castillo y “siembra” algunos zumbadores en varias partes, para que Karel
los encuentre a su paso, como se muestra en la figura siguiente.
b) Define, por ejemplo, una nueva instrucción gira-derecha, que en un solo paso realice los tres
giros a la izquierda, como se muestra en la figura del código.
c) También puedes utilizar sentencias de control como las que aprendiste a hacer en la programa-
ción estructurada, como si junto-a-zumbador entonces inicio:
Si/Entonces repite/Nº de veces
Si/Entonces/Sino Mientras/Hacer
d) Guarda el mundo y el programa con los nombres El [Link] y El [Link].
6. Para conocer el uso de las sentencias, pulsa en la ficha Ayuda; en la ventana que aparece pulsa el
vínculo TUTORIAL DE KAREL y selecciona el tema Sentencias de Control de Karel, que no son otra
cosa que estructuras de control.
a) Cuando entiendas el uso de las sentencias de control, podrás optimizar el código de cualquier
programa, como el siguiente código que, en pocas líneas, recolecta las monedas de los pasillos
del castillo.
No olvides compilar
los programas cada vez
que abres uno o realizas
modificaciones, antes de
ejecutarlos. Sigue trabajando
duro y podrás programar tus
próximos robots.
174
5.4 Reafirmación del aprendizaje
1. Define con tus propias palabras lo que es programar.
3. ¿Cuáles son las tres principales reglas a las que se sujetan los lenguajes de programación?
5. Realiza las siguientes operaciones, tomando en cuenta la jerarquía de los operadores aritméticos.
7+(4*3)-6=
(6+3)*4/2=
8/2*12-6^2=
(8–4/2)*(5^2*2)
Operador Función
=
>=
<>
<
<=
7. En un documento de Word elabora un algoritmo con un diagrama de flujo y seudocódigo con los
pasos lógicos que seguirías para cambiar un neumático a un automóvil. Guarda el documento con el
nombre Cambiar neumá[Link].
8. En una hoja cuadriculada verifica la siguiente expresión: y = 2x + 4. Realiza las pruebas para los
valores –5, 0 y 5 de x y escribe los resultados de y.
9. Analiza la expresión y = 2x – 8 y crea un algoritmo que determine para qué valores enteros de x
dentro del intervalo 0 ≥ x ≥ 10, y tiene un valor positivo.
10. Crea un algoritmo que permita convertir grados Fahrenheit a Celsius. Crea una presentación de
PowerPoint, en una diapositiva dibuja el diagrama de flujo y en otra escribe el programa en seudocó-
digo. Guarda el archivo con el nombre Conversión de [Link].