tema vi. programaciÓn introducciÓn
Post on 13-Apr-2022
10 Views
Preview:
TRANSCRIPT
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
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
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 subprograma 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.
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, PP01.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.
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
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 (SiNo)., 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
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.
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)
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.
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
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
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 .
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.
top related