tema vi. programaciÓn introducciÓn

13
8/2/2015 TEMA V http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 1/13 TEMA VI. PROGRAMACIÓN I. INTRODUCCIÓN Hoy vivimos en un mundo “tecnificado”, los móviles, los Ipod, los juegos, ect, están a la orden del día y siempre comentamos que los jóvenes se desenvuelven mucho mejor que nosotros en este mundo. La enseñanza de lenguajes de programación en los niveles de la E.S.O. y de Bachiller ayuda a que estos jóvenes adquieran destrezas en la elaboración de sus propios juegos, máquinas etc. El enseñar a programar siempre nos pone en la disyuntiva de elegir el lenguaje de programación a utilizar, Visual Basic, C++, Delphi, o cualquier otro de los existentes en el mercado. Nosotros deseamos utilizar una forma de enseñanza de programación que se realiza mediante Diagramas de flujo que es una forma de enseñanza muy visual y de fácil entendimiento por parte del alumnado y que posteriormente puede ser trasladado a cualquier lenguaje, pues lo que impartimos es la representación gráfica de una secuencia de instrucciones de un programa que ejecuta un computador para obtener un resultado determinado. Tiene una gráfica especial y las operaciones son determinadas por la lógica del programa. A la parte de la informática que desarrolla estas operaciones se le llama programación lógica. II. DIAGRAMA DE FLUJO Para realizar un diagrama de flujo se utilizan una serie de normas muy sencillas. En los diagramas de flujo se presuponen los siguientes aspectos: Existe siempre un camino que permite llegar a una solución (finalización del algoritmo). Existe un único inicio del proceso. Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una comparación con dos caminos posibles). Desarrollo del diagrama de flujo Los pasos a seguir para construir el diagrama de flujo son : Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente. Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico. Si el nivel de detalle definido incluye actividades menores, listarlas también. Identificar y listar los puntos de decisión. Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos. Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido. Recomendaciones

Upload: others

Post on 13-Apr-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 1/13

 TEMA VI.­  PROGRAMACIÓN

I.       INTRODUCCIÓN

Hoy vivimos en un mundo “tecnificado”, los móviles, los Ipod, los juegos, ect, están a la orden del díay  siempre  comentamos  que  los  jóvenes  se  desenvuelven  mucho  mejor  que  nosotros  en  estemundo.    La  enseñanza  de  lenguajes  de  programación  en  los  niveles  de  la E.S.O.  y  de  Bachillerayuda a que estos jóvenes adquieran destrezas en la elaboración de sus propios juegos, máquinasetc.  El  enseñar  a  programar  siempre  nos  pone  en  la  disyuntiva  de  elegir  el  lenguaje  deprogramación  a utilizar, Visual Basic, C++, Delphi, o cualquier otro de los existentes en el mercado.Nosotros  deseamos  utilizar  una  forma  de  enseñanza  de  programación  que  se  realiza  medianteDiagramas de flujo que es una forma de enseñanza muy visual y de fácil entendimiento por parte delalumnado y que posteriormente puede ser trasladado a cualquier lenguaje, pues lo que impartimoses  la  representación  gráfica  de  una  secuencia  de  instrucciones  de  un  programa  que  ejecuta  uncomputador para obtener un  resultado determinado. Tiene una gráfica especial  y  las operacionesson  determinadas  por  la  lógica  del  programa.  A  la  parte  de  la  informática  que  desarrolla  estasoperaciones se le llama programación lógica.

II.      DIAGRAMA DE FLUJO

Para realizar un diagrama de flujo se utilizan una serie de normas muy sencillas.En los diagramas de flujo se presuponen los siguientes aspectos:

Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).Existe un único inicio del proceso.Existe  un  único  punto  de  fin  para  el  proceso  de  flujo  (salvo  del  rombo  que  indica  unacomparación con dos caminos posibles).

 

Desarrollo del diagrama de flujoLos pasos a seguir para construir el diagrama de flujo son :

Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y elfinal del diagrama. Frecuentemente el  comienzo es  la  salida del  proceso previo  y el  final  laentrada al proceso siguiente.Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso adescribir y su orden cronológico.Si el nivel de detalle definido incluye actividades menores, listarlas también.Identificar y listar los puntos de decisión.Construir el diagrama respetando la secuencia cronológica y asignando los correspondientessímbolos.Asignar un título al diagrama y verificar que esté completo y describa con exactitud el procesoelegido.

Recomendaciones

Page 2: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 2/13

A  su  vez,  es  importante  que  al  construir  diagramas  de  flujo,  se  observen  las  siguientesrecomendaciones:

Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas.Evitar  las burbujas de generación espontánea, que tienen salidas sin tener entradas, porqueson sumamente sospechosas y generalmente incorrectas.

En los diagramas de flujo se utilizan formas. Cada forma representa un tipo diferente de operación,aparece una pequeña línea de texto dentro de cada caja para explicar de que operación se trata. Elnúmero de cajas es limitado por lo que su aprendizaje es muy sencillo.

Las líneas de conexión (el flujo de control) deben entrar a un elemento por su parte superior.El  flujo  de  control  debe  salir  siempre  por  la  parte  inferior  del  elemento  excepto  en  loselementos de decisión en los que puede salir lateralmente.El flujo de control no debe dividirse.

Las formas que utilizaremos en un diagrama de flujo son las siguientes:

 Inicio o Stop . Este símbolo indica el comienzo o el final de un programa o de unasubrutina

  Salida . Este símbolo indica donde hay una salida de datos desde el diagrama deflujo.

Pregunta o Decisión Permite tomar una decisión en función de las entradas o delvalor de variables. Siempre tendremos dos posibles salidas según que la respuesta sea afirmativa(Yes ­ Si ) o negativa ( No )

  Proceso  u  Operación  general:  este  símbolo  se  utiliza  para  llevar  a  cabo  unaacción como por ejemplo, sonar un pitido, hacer una pausa, controlar una variable, etc.

Procesos  definidos  :  en  el  Crocodile  Technology  este  símbolo  ejecuta  unallamada a una subrutina.El programa Crocodile Technology  incorpora una serie de  formas que definen de manera clara  laacción  que  realiza.  Veamos  cada  una  de  ellas.  Accedamos  a  Biblioteca  de  elementos  y  acontinuación seleccionemos Diagramas de flujo, tendremos la siguiente ventana:

Analicemos cada uno de ellos

Page 3: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 3/13

Iniciar (Start) este símbolo indicará el comienzo del programa principal.  Cuandose  arrastra  a  la  zona  de  trabajo  tendremos  la  siguiente  barra  de  control. 

Observamos que podemos darle nombre al diagrama de flujo. Al hacer

click sobre el botón    (play)  comienza  la ejecución del  diagrama de  flujo  y automáticamente  se

convierte en el botón de parada   (Stop).Supongamos que en nuestro diagrama de flujo utilizaremos dos variables “x” e “y” , si activamos el

menú  contextual  y  hacemos  click    sobre  podremos  fijar  los  valores  máximos  que  puedenalcanzar  nuestras  variables  en  la  simulación,  superados  estos  valores  el  programa  la  variablevolvería a tomar el valor 0. Estos valores máximos son 255 ó 65535.

Detener (Stop) este símbolo indicará que el programa ha finalizado su ejecución.

Para que el programa se vuelva a ejecutar deberemos pulsar el botón de play  .

Subrutina.  Es  similar  a  la  orden  de  Comienzo  (Inicio).  Una  subrutina  es  unproceso  que  se  ejecuta  siempre  que  así  lo  desee  el  programa  principal,  por medio  de  la  orden 

,  por  lo  tanto  es  un  sub­programa  que  se  puede  ejecutar  tantas  veces  como  elprograma principal  lo desee. Las subrutinas son muy cómodas puesto que nos permiten dividir elprograma principal  en  tareas mas  pequeñas  además de  presentar  la  ventaja  de  ser  utilizadas  endiferentes  programas.  Por  ejemplo  podemos  hacer  una  subrutina  que  nos  sume  dos  variables,guardarla  y  usarla  en  tantos  programas  como  deseemos.  Las  subrutinas  deben  tener  nombresdiferentes.

Volver (Return) este comando es muy importante pues debe ser siempre la últimaorden  de  la  subrutina.  Este  comando  hace  que  el  programa  continúe  en  la  siguiente  orden  a  lallamada de la subrutina.

Page 4: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 4/13

 Definir variable Cada variable que utilicemos en nuestro proceso debe serdefinida (creada) antes de que el proceso la utilice pues en caso contrario el programa generaría unerror.

Las  variables pueden  tener  cualquier  nombre pero  la primera  letra debe ser  una  consonante,  porejemplo, son nombres correctos  Contador, X01, Resultado, etc. Son nombres incorrectos 0X1, PP­01.La creación de una variable consta de dos partes : Nombre de variable y valor inicial que tendrá la

variable en el proceso  .

  Incrementar variable  (Agregar  )  cada  vez  que  el  programa  ejecuta  esteproceso, la variable ve aumentado su valor en la cantidad indicada.

Por ejemplo, incrementar la variable Contador en 2 unidades   .

 Aleatorio   genera un numero entero y lo asigna a una variable. El númeroaleatorio estará comprendido entre 0 y el valor máximo asignado a la variable en el proceso “Inicio “.

 

Retardo o Pausa cuando el programa encuentra esta acción debe hacer unapausa o retardo determinada por el tiempo que le hemos programado.

  Llamada  a  subrutina  Esta  orden  se  utiliza  conjuntamente  con  las  dossiguientes comentadas anteriormente (Comienzo de subrutina y Retorno ). La llamada debe tener elmismo nombre que la subrutina.

Page 5: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 5/13

En el ejemplo, cada vez que se produce la  llamada a la subrutina “Velocidad” se pasa el control aesta subrutina cuya misión es aumentar el valor de la variable “Contador” en dos unidades y cuandose encuentra con la orden “Volver” el programa continúa con el comando “Retraso 5s”.Es  necesario  tener  en  cuenta  que  dentro  de  una  subrutina  se  puede  realizar  una  llamada  a  otrasubrutina pero no a ella misma.

  Enviar  y  Recibir  Estas  ordenes  se  utilizan  con  microprocesadores  pararealizar trasmisión de datos entre dos o mas microprocesadores.

El  comando  realiza  el  envío  de  datos,  estos  datos  pueden  ser  lossiguientes:

 .­ Podemos  transmitir una variable existenteen nuestro programa.­  Cada  uno  de  los  canales  analógicos  denuestro microprocesador ( 1 – 4 canales)..­  El  valor  (  en  decimal)  de  las  entradasdigitales  del  microprocesador.  Supongamosque nuestro micro tenga 8 entradas digitalesy  que  tengamos  activadas  (  en  1)  lasentradas  0,  2,3,5,7  mientras  que  las  otrasquedan  inactivas  (en  0),  el  dato  que  seenviará será el 173 que es el equivalente endecimal del numero binario 10101101

bit7 6 5 4 3 2 1 0

               1 0 1 0 1 1 0 1

               Valor bit

128 64 32 16 8 4 2 1               Valor decimal = ∑ (bit x valor bit)               

173

Page 6: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 6/13

El comando  recibe los datos desde el otro programa (diagrama de flujo)y los introduce y utiliza en su diagrama. Los nombres de variables en cada diagrama puedeser diferente, por ejemplo, si el diagrama A envía la variable “x” , al recibirla podemos asignarel valor a otra variable  “y”.

 Pregunta  /  Decisión  . Se  utiliza  para  testear  el  valor  de  una  variable.  En  una  pregunta  larespuesta sólo puede tener dos posibles respuestas (Si­No)., y cada una de las salidas deberá tenerasociada una acción.

en la barra de propiedades podemos variar la situación de lassalidas ( Si – No ) de la pregunta

Testear  una  variable  significa  comparar  su  valor  con  otra  variable  o  bien  con  una  constante.  Lascomparaciones que se pueden realizar son las siguientes

= Igual

Page 7: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 7/13

>  Mayor que

>= Mayor o igual que

<  Menor que

<= Menor o igual que

<>  Distinto

El bloque Decisiones presenta dos opciones  que analizaremos a continuación :

 , este bloque convierte una variable en digital y nos permite testear cada uno de susbits, veamos un ejemplo para entenderlo mejor.Cuando trasladamos este icono a la zona de trabajo se nos convierte en

Estamos  construyendo  un  telecontrol,  un  microprocesadorrealiza  un  proceso,  por  ejemplo,  encender  las  luces  y  conotro, situado a distancia, nos encargamos de saber cuales delas  luces  se  ha  activado  y  cuales  no.  Supongamos  que  el

interruptor  de  la  luz  de  salón  se  encuentra  en  el  bit  5  de  las  entradas  digitales  delmicroprocesador emisor, Supongamos que el emisor nos envía el dato de sus salidas digitales yque este valor es 173,  que  convertido en digital  sería 10101101. Supongamos que deseamostestear el bit 5 de la luz de salón, pues dependiendo de su estado realizaremos una acción u otradiferente.

7 6 5 4 3 2 1 0               

1 0 1 0 1 1 0 1

 La pregunta quedaría de la siguiente forma

este bloque es similar al anterior pero se  testea el estado de  las entradas delmicroprocesador.,  por  ejemplo,  en  el  diagrama  siguiente  comprobamos  si  se  ha  activado  laentrada 1, si es afirmativo encendemos el pilto en caso contrario lo apagamos.

Page 8: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 8/13

Como es obvio este comando se utilizará siempre con microprocesadores y además nos permiteseleccionar tanto entradas digitales como analógicos. 

 

 Se  utiliza  para  introducir  los  valores  de  entrada  del microprocesador  en  unavariable. Esta entrada puede ser bien todas  las entradas digitales o bien una canal de entradaanalógica.

Se utiliza para cambiar el estado de  los pines de salida del microprocesador, alpicar  sobre  salidas  seleccionaremos  el  estado  que  deseamos  para  cada  salida  (  Inactivo,activada, cambiar de activada a desactivada o viceversa o desactivada)

Page 9: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 9/13

Por  ejemplo,  en  la  figura  tenemos  que  el  microprocesador  posee  dos  salidas  ,  al  pasar  elprograma por esta acción se activará la salida 1 y se desactiva la salida 0.

es similar a  la anterior pero en este caso el  valor de  la variable x se convierte enbinario y se envia a las salidas digitales del microprocesador.

En el ejemplo l valor de la variable 69 se convierte en binario7 6 5 4 3 2 1 0128 64 32 16 8 4 2 1

               0 1 0 0 0 1 0 1

 Y se envía a la salida del microprocesador activándose los bits correspondientes. 

Page 10: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 10/13

Los microprocesadores poseen unas celdas donde podemos guardar datos queno  se  pierden  aunque  se  le  quite  la  alimentación  al  microprocesador  (memoria  EEPROM),  lacantidad  de  estas  celdas  depende  del  tipo  de  microprocesador  utilizado,  en  la  siguiente  tablatenemos una referencia de algunos de ellos.

Por ejemplo, en el diagrama siguiente  leemos el  registro 5  (supongamos que sea el  valor 50) delmicroprocesador  y lo asignamos a  la variable “y”, creamos la variable “z” y la variable “x” como lasuma de las anteriores y guardamos el nuevo valor en el registro 5.Si  por  cualquier  circunstancia  se  desconecta  la  alimentación,  las  variables  z,  x,  y    se  borrarían  (toman el valor 0) pero el registro 5 mantendría el último valor almacenado (75).

lo utilizamos para asignar a una variable el tiempo (en µseg) que tenemos pulsada una

Page 11: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 11/13

entrada.

En el ejemplo hemos mantenido pulsada la entrada 0 durante 216 µseg antes de soltar el pulsador.

 dispone que en la salida escogida se produzca un pulso de duración determinada.

este diagrama consigue poner un pulso de 255 µseg en la lámpara situada en la salida 0.

se  utiliza  para  emitir  una  señal  determinada  a  través  de  una  de  las  salidas  delmicroprocesador

Page 12: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 12/13

 La salida 0 se configurará para emitir de forma continua una señal de 250Hz con una duración de0.5sg.

 comando para  realizar  el  control  de motores de baja potencia  colocados en  losterminales del microprocesador. Importante  “  No  conectar  directamente  los motores  a  los  pins  del micro  pues  estos  no  soportanintensidades grandes. Usar siempre dispositivos como drivers (adaptadores de potencia).”Se pueden conectar hasta 4 motores (A, B, C, y D) , el motor A entre los terminales 0 y 1, el motor Bentre los terminales 2 y 3, el motor A entre los terminales 4 y 5 y el motor D entre los terminales 6 y7.

y las órdenes que se pueden dar al motor son  .

Page 13: TEMA VI. PROGRAMACIÓN INTRODUCCIÓN

8/2/2015 TEMA V

http://www3.gobiernodecanarias.org/medusa/campus/autoformacion/file.php/101/Tema_VI/TEMA%20VI/TEMA%20VI.htm 13/13

En  este  bloque  encontramos  dos  opciones  que  nos  pueden  dar  información  de  lo  que  estáocurriendo durante la simulación así como de la programación en BASIC del diagrama.

 este cuadro nos representa, en  la pantalla, el valor  instantáneo de cada unade las variables utilizadas en el diagrama de flujo.

el  visor  de BASIC  nos  pone  en  un  recuadro  la  traducción  al  lenguaje BASIC  deldiagrama  de  flujo  realizado.  Este  programa  en  BASIC  puede  ser  utilizado  posteriormente  paraprogramar un microprocesador que admita este lenguaje.