You are on page 1of 26

17/04/2015

INTRODUCCIN A LA PROGRAMACIN
QU ES PROGRAMAR?
Arte de dar comandos a algo o alguien que pueden ser ejecutados despus.

QU ES UN COMANDO?
Orden para algo o alguien para realizar determinada accin

QU ES DISEAR?
Acto de organizar los comandos

INTRODUCCIN A LA PROGRAMACIN
QU ES UN PROBLEMA COMPLEJO?
Es aquel cuya solucin no es inmediata
Para enfrentarnos a un problema complejo, debemos dividir en problemas
mas chicos.

HASTA CUANDO?
Hasta que la solucin sea evidente
Dividir para conquistar
Utilizar niveles de abstraccin (En programacin, el trmino se refiere al
nfasis en el "qu hace?" ms que en el "cmo lo hace?)

17/04/2015

INTRODUCCIN A LA PROGRAMACIN
ALGORITMO
Un algoritmo (del griego y latn, dixit algorithmus y este a su vez del
matemtico persa Al-Juarismi ) es un conjunto prescrito de instrucciones o
reglas bien definidas, ordenadas y finitas que permite realizar una actividad
mediante pasos sucesivos que no generen dudas a quien deba realizar dicha
actividad. Dados un estado inicial y una entrada, siguiendo los pasos
sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos
son el objeto de estudio de la algoritmia.

INTRODUCCIN A LA PROGRAMACIN
EJEMPLO DE UN ALGORITMO
1. Destapar la pasta de dientes
2. Coger el cepillo de dientes
3. Aplicar la pasta de dientes al
cepillo
4. Tapar la pasta de dientes
5. Abrir el grifo
6. Remojar el cepillo con la pasta
de dientes
7. Cerrar el grifo
8. Frotar los dientes con el cepillo

9.
10.
11.
12.
13.

Abrir el grifo
Enjuagarse la boca
Enjuagar el cepillo
Cerrar el grifo
Secarse la cara y las manos con
una toalla

17/04/2015

INTRODUCCIN A LA PROGRAMACIN
DIAGRAMAS DE FLUJO
Es la representacin grfica de flujo o secuencia de rutinas simples, es una
forma de especificar los detalles algortmicos de un proceso mediante la
esquematizacin grfica.

INTRODUCCIN A LA PROGRAMACIN
EJEMPLO DIAGRAMAS DE FLUJO
Voy a la
escuela

Me
despierto

Salgo de
la cama

Salgo de
la cama

Desayuno

Desayuno

Me
despierto

Voy a la
escuela

17/04/2015

INTRODUCCIN A LA PROGRAMACIN
PSEUDOCDIGO
Describe un algoritmo utilizando una mezcla de frases en lenguaje comn,
instrucciones de lenguaje de programacin y palabras claves que definen las
estructuras bsicas.

INTRODUCCIN A LA PROGRAMACIN
EJEMPLOS PSEUDOCDIGO
1.
2.
3.
4.
5.
6.

Inicio
Me despierto
Salgo de la cama
Desayuno
Voy a la escuela
Fin

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Inicio
Camina
Gira a la
Camina
Gira a la
Camina
Gira a la
Camina
Gira a la
Fin

derecha 90 grados
derecha 90 grados
derecha 90 grados
derecha 90 grados

17/04/2015

BUCLES O CICLOS
Un bucle o ciclo, en programacin, es una sentencia que se realiza
repetidas veces a un trozo aislado de cdigo, hasta que la condicin
asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una accin repetida sin
tener que escribir varias veces el mismo cdigo, lo que ahorra tiempo, deja
el cdigo ms claro y facilita su modificacin en el futuro.

PSEUDOCODIGO FIGURA GEOMETRICA DE


CUATRO LADOS
1. Inicio
2. Camina
3. Gira a la
4. Camina
5. Gira a la
6. Camina
7. Gira a la
8. Camina
9. Gira a la
10. Fin

derecha 90 grados
derecha 90 grados
derecha 90 grados
derecha 90 grados

17/04/2015

Practica
1. Realice un pseudocdigo para hacer una figura geomtrica de 8
lados sin utilizar un bucle o ciclo.

PSEUDOCODIGO FIGURA GEOMTRICA DE 8


LADOS
1. Inicio
2. Camina
3. Gira a la
4. Camina
5. Gira a la
6. Camina
7. Gira a la
8. Camina
9. Gira a la
10. Camina

derecha 45 grados
derecha 45 grados
derecha 45 grados

11. Gira a la
12. Camina
13. Gira a la
14. Camina
15. Gira a la
16. Camina
17. Gira a la
18. Fin

derecha 45 grados
derecha 45 grados
derecha 45 grados
derecha 45 grados

derecha 45 grados

17/04/2015

Ejemplo
Realice un pseudocdigo para hacer una figura geomtrica de 8
lados utilizando un bucle o ciclo.

FIGURA GEOMTRICA DE 8 LADOS


UTILIZANDO UN BUCLE O CICLO.
1. Inicio
2. Lados=1
3. Hacer Mientras Lados<=8
4. Camina
5. Gira a la derecha 45 grados
6. Lados=Lados+1
7. Fin del Hacer
8. Fin

17/04/2015

INSTRUCCIONES CONDICIONALES O TOMAS DE


DECISIN
Las instrucciones condicionales o tomas de decisin permiten
realizar opciones alternativas; por tanto, la ejecucin de una lnea
o grupos de lneas de un programa dependen de que si cumplen
una o varias condiciones.

EJEMPLOS DE INSTRUCCIONES
CONDICIONALES O TOMAS DE DECISIN
ESCRIBIR "Introduce un numero: "
LEER num
SI num = int( num / 2 ) * 2 ENTONCES
ESCRIBIR "es par"
SINO
ESCRIBIR "es impar"
FINSI
FINPROGRAMA

17/04/2015

TEMAS

Lenguaje De Programacin Nxt G


GUI Nxt - G
Bloque De Movimiento
Bloque de bucle o ciclo
Bloque de condicin
Ejercicios propuestos

LENGUAJE DE PROGRAMACIN NXT - G

17/04/2015

GUI Nxt - G

GUI Nxt - G
Robot Educator
Aqu puede encontrar instrucciones de construccin y programacin
utilizando el modelo Robot Educator.

Mi portal
Aqu puede acceder a www.MINDSTORMSeducation.com para obtener
herramientas, descargas e informacin.

Barra de herramientas
La barra de herramientas incluye los comandos ms frecuentemente
utilizados de la barra de men en una ubicacin de fcil acceso.

10

17/04/2015

GUI Nxt - G
Zona de trabajo
Es el espacio en la pantalla donde se realiza la programacin. Arrastre
bloques de programacin desde la paleta de programacin a la zona de
trabajo y coloque los bloques en la viga de secuencia.

Ventana Ayuda contextual


Aqu siempre puede obtener ayuda si la necesita.

Mapa de zona de trabajo


Utilice la panormica en la barra de herramientas para moverse por la zona
de trabajo, y utilice el mapa de zona de trabajo [ficha en la esquina inferior
derecha] para obtener una visin general.

GUI Nxt - G
Paleta de programacin
La paleta de programacin contiene todos los bloques de programacin que
necesitar para crear sus programas. Las fichas en el margen inferior de la
paleta le permiten cambiar entre la paleta comn [que contiene los bloques
ms frecuentemente utilizados], la paleta completa [que contiene todos los
bloques] y la paleta personalizada [que contiene los bloques que puede
descargar o crear por su cuenta].

Panel de configuracin
Cada bloque de programacin dispone de un panel de configuracin que le
permite personalizar el bloque para la entrada y salida especfica que usted
desea.

11

17/04/2015

GUI Nxt - G
Controlador
Los cinco botones en el controlador le permiten descargar programas (o
partes de programas) desde el ordenador al NXT. Con el controlador,
tambin podr cambiar la configuracin del NXT.

Ventana del NXT


Esta ventana emergente proporciona informacin sobre las configuraciones
de memoria y comunicacin del NXT.

GUARDANDO NUESTRO PRIMER PROGRAMA


1 camina 1 segundo
2 gira a la izquierda 90 grados
3 camina 1 segundo

12

17/04/2015

PANEL DE CONFIGURACIN BLOQUE DE


MOVIMIENTO
Este bloque permite controlar dos motores de modo sincronizado.
Dichos motores pueden ser seleccionados por medio del panel de
control estableciendo cul es el de la izquierda y cul el de la
derecha, facilitando de esa manera el control del giro.

PANEL DE CONFIGURACIN BLOQUE DE


MOVIMIENTO
Port
Nos permite seleccionar los puertos de los motores que van ha
funcionar.

Direction
Sentido de avance, hacia adelante, hacia atrs o parar.

Esteering
Direccin de avance, izquierda o derecha.

13

17/04/2015

PANEL DE CONFIGURACIN BLOQUE DE


MOVIMIENTO
Power
Fuerza que ejerce el motor.

Duration
Tiempo en que el motor va funcionar, tenemos cuatro funciones
ilimitado, grados, rotaciones y segundos.

Next Action
Es lo que hace el motor despus de que termina la configuracin
de DURATION, frena el motor inmediatamente o suavemente.

BLOQUE DE BUCLE O CICLO


La funcin del bloque Bucle o Ciclo es ejecutar una y otra vez un
conjunto de bloques mientras una condicin se cumpla.

14

17/04/2015

PRCTICA DEL BLOQUE DE BUCLE O CICLO


1. Que el robot avance trazando un octgono, utilice un ciclo para
resolver el problema.

BLOQUE DE CONDICION

15

17/04/2015

EJEMPLO BLOQUE DE CONDICION


Reconozca el color de una pelota y emita un sonido

Practicas
1. Que el robot avance y se detenga.
2. Que avance, se detenga por 5 segundos y luego vuelva avanzar.
3. Que el robot avance, se detenga y regrese al mismo punto de
inicio.
4. Que el robot avance trazando un cuadrado.
5. Que el robot avance y cuando detecte el color negro se detenga.

16

17/04/2015

EJERCICIOS PROPUESTOS PARA PROGRAMAR


EL ROBOT (1 Hora)

TEMAS

Sensor ultrasnico
Sensor de presin
Sensor de luz y color
Calibrando sensor de luz y color
Sensor De Sonido
Ejercicios propuestos

17

17/04/2015

SENSOR ULTRASNICO
El sensor de ultrasonidos es muy til para detectar objetos sin
necesidad de tocarlos. Mide la distancia a los objetos que se
encuentran frente a l. Para ello, emite ultrasonidos que rebotan
sobre los objetos que se interponen y mide el tiempo que les
cuesta volver tras rebotar. La medida de ese tiempo se convierte
en distancia.

CONFIGURACION DEL SENSOR ULTRASONICO

18

17/04/2015

SENSOR DE CONTACTO
Este sensor sirve para detectar un objeto cuando se choca con l.
Es el ms sencillo de todos, de hecho no es mas que un pulsador
que al apretar cierra un contacto y al soltarlo lo abre. Adems de
para detectar obstculos, tambin puede ser til para actuar
sobre un programa en lugar de utilizar los botones del NXT, o para
detectar cuando un robot llega al borde de una mesa y evitar
caerse. Su posicin de inicio puede ser tanto pulsado como sin
pulsar, dependiendo de lo que se desee hacer.

SENSOR DE CONTACTO

19

17/04/2015

SENSOR DE LUZ
El sensor de luz puede medir la intensidad de luz en un ambiente
determinado o la luz reflejada por una superficie. Para esto ltimo
dispone de un led rojo que emite la luz que dicha superficie
reflejar. Si la superficie es oscura reflejar menos luz que si es
clara. Si es necesario, es posible mantener este led emisor de luz
apagado.

SENSOR DE LUZ

20

17/04/2015

CALIBRANDO EL SENSOR DE LUZ


Para calibrar el sensor debemos medir la luz, en la superficie clara
y tambin en la lnea negra, para ello utilizaremos la funcin
View directamente en el NXT En el men principal, View,
Reflectec light, Port 3 si la medicin sobre el color claro es 60 y
sobre la lnea negra es 40, entonces elegimos 50, la idea es usar el
punto medio.

SENSOR DE COLOR
El sensor de color es el resultado de la evolucin del sensor de luz.
Adems de cumplir las funciones del sensor de luz es capaz de
identificar 4 color diferentes adems del negro y blanco.

21

17/04/2015

SENSOR DE COLOR

SENSOR DE SONIDO
El sensor de sonido detecta niveles de sonido en el cuarto. Puede
detectar tanto decibelios [dB] como Decibelio Ajustado [dBA].

4-5% - silencio
5-10% - persona hablando a cierta distancia del sensor.
10-30% - conversacin normal cerca del sensor o msica
30-100% - personas gritando o msica alta.

22

17/04/2015

SENSOR DE SONIDO

PRCTICA RECORRIDO CON OBSTCULOS


(SENSOR DE ULTRASONICO)
Sensor de ultrasnico
El robot avanza hasta encontrar un primer obstculo
detenindose a 10 centmetros antes de que colisione, y
retrocede hasta el inicio.
Debe realizar el circuito marcado, cambiando de direccin
cada vez que est a punto de chocar con un obstculo.

23

17/04/2015

PRCTICA RECORRIDO CON OBSTCULOS


(SENSOR DE CONTACTO)
Sensor de presin
El robot avanza hasta encontrar un primer obstculo con el que
colisiona, se detiene y retrocede hasta el inicio.
Debe realizar el circuito marcado, cambiando de direccin
cada vez que choque con un obstculo.

PRCTICA CAMBIO DE COLOR (SENSOR DE LUZ Y


COLOR)
Cambio de color
En dicha prctica se estudia como regular el sensor de luz y color para
detectar cambios de color en el terreno, Debe realizar el circuito marcado,
cuando el robot cambie de tono de color en el terreno debe emitir un pitido
y detenerse, despus continuar avanzando. Mediante esta sencilla
iniciacin, permite el concretar los umbrales de funcionamiento del sensor
de luz.

24

17/04/2015

PRCTICA SEGUIR LA LNEA (SENSOR DE LUZ Y


COLOR)
Circuito seguir la lnea
Debe realizar el circuito marcado mediante el sensor de luz o color. Para
ello aplicarn los conocimientos adquiridos en el apartado anterior,
regulando la velocidad de desplazamiento, ya que es bastante probable que
si emplean altas velocidades el robot pierda el camino en alguna curva.

Seguir la lnea
Inicialmente se sigue la lnea recta hasta encontrarse el obstculo a una
distancia de 10 centmetros, para ello se emplea el sensor de luz o color y
ultrasonidos. El objetivo del apartado es iniciarles en la programacin de
bucles y ver como el robot debe tomar decisiones dependiendo de los
estmulos que le llegan del exterior

PRCTICA RECORRER LA LNEA (SENSOR


SONIDO)
Desplazarse y parar
En este primer apartado el robot debe desplazarse por la lnea
hasta la primera marca y detenerse 2 segundos, despus reiniciar
la marcha hasta la segunda marca, detenerse 3 segundos y
completar el circuito.

25

17/04/2015

PRCTICA RECORRER LA LNEA (SENSOR


SONIDO)
Control mediante una palmada
El robot debe realizar el mismo recorrido que en el apartado anterior, pero
al detenerse en cada marca solo reinicia la marcha mediante una palmada.

Sonidos y melodas
Realiza el mismo recorrido que en el apartado anterior y del mismo modo,
cada vez que reinicie la marcha debe emitir un sonido.

Intensidad acstica
Realizara el mismo recorrido que en el segundo apartado, dependiendo de
la intensidad del sonido, avanza a una velocidad superior si la palmada es
ms fuerte.

26