Anda di halaman 1dari 28

Search...

Go to...

You are here: Home / Programacin / Programacin estructurada.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Programacin Estructurada.
Posted by: 5Hertz

on 24/04/2014

in Programacin

1 Comment

10,794 views

Si tienes en tu poder un Arduino y te estas iniciando en el mundo de la programacin este tutorial es para ti. Sabemos que
te mueres de ganas por comenzar a hacer programas para tu Arduino, pero que mejor que empezar a programar con el pie
derecho, y ese es el propsito de ste tutorial.

Contenido:
1. Introduccin.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

2. Qu es la programacin estructurada?.
3. Estructuras de control.
3.1 Secuencia (o bloque de instrucciones).
3.2 Seleccin.
3.2.1 Estructura If.
3.2.2 If Else.
3.2.3 Estructura Switch.
3.3 Iteracin.
3.3.1 Estructura While.
3.3.2 Estructura Do While.
3.3.3 Estructura For.
4. Instruccines GOTO, BREAK, CONTINUE.
4.1 Instruccin GOTO
4.2 Instruccin BREAK
4.3 Instruccin CONTINUE
5. Comentarios
6. Identacin.

2. QU ES LA PROGRAMACIN
ESTRUCTURADA?
A medida que un programa aumenta de tamao, aumenta a su vez la complejidad para leerlo, su tiempo de desarrollo, de
mantenimiento y disminuye su calidad si no se tiene mantiene un correcto orden y estructura del programa.
Es por esto que surgi un paradigma de programacin llamado Programacin estructurada, que consiste en mejorar la
claridad, calidad y acelerar el tiempo de desarrollo, utilizando nicamente subrutinas y 3 estructuras de control: Secuencial, de
Seleccin (IF y SWITCH) y de Iteracin (ciclos FOR y WHILE), sustituyendo estas 3 estructuras a la instruccin de transferencia
incondicional (GOTO), que usndose de manera indiscriminada puede llevar a un cdigo muy difcil de leer y modificar (El

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

llamado cdigo espagueti).

3. ESTRUCTURAS DE CONTROL

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Existen en la mayora de los lenguajes de programacin, 3 estructuras de control de flujo principales, que nos permiten
realizar instrucciones solo al cumplirse ciertas condiciones, o realizarlas durante un tiempo determinado en que una
condicin se cumpla, stas estructuras son las siguientes:

3.1. SECUENCIA (o bloque de instrucciones).


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Es la estructura ms bsica y consiste en realizar una secuencia de instrucciones de manera obligatoria, no permitindonos
realmente tomar decisin alguna. El inicio de un bloque de instrucciones se indica con un smbolo { y el final con un }.

Ejemplo de secuencia de instrucciones en Arduino.

3.2. SELECCIN.
stas estructuras consisten en ejecutar una instruccin (O un bloque de instrucciones) segn el resultado de una condicin lgica
(con resultado cierto o falso) o bien elegir entre un varios grupos de instrucciones si se tiene ms de 2 respuestas a la condicin.
Para realizar una seleccin se suelen utilizar las estructuras If y else if (Para condiciones verdadero/falso) y la estructura
Switch case para mltiples casos.

3.2.1. Estructura IF.


sta estructura toma como parmetro un valor booleano (verdadero / falso) para tomar una decisin, ste valor puede ser

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

directamente una variable / constante, o el resultado de operaciones lgicas al momento: igualdad (==), desigualdad (!=), mayor
que (>), menor que (<), etc.

Ejemplo de estructura If en Arduino.

3.2.2. IF.. ELSE


Esta estructura permite extender las capacidades de la estructura If, permitindonos elegir entre 2 instrucciones o conjuntos de
instrucciones a realizar, segn si la condicin toma un valor Verdadero o Falso.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de estructura If .. Else en Arduino.

3.2.3. Estructura SWITCH


La estructura Switch responde a un conjunto de casos, seleccionando alguno de ellos si el caso coincide con el
parmetro de entrada.
Ejemplo de programacin en Arduino:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin en Arduino de la estructura switch.

La estructura Switch hace uso en gran medida de la instruccin Break, ya que permite salir inmediatamente de la estructura al
terminar el caso elegido (Si no se usa se continuaran ejecutando los casos posteriores).
Nota: Esta estructura no funciona para valores con rangos, solo para valores exactos! Si se desea tomar decisiones basados en
rangos de valores, es recomendable usar varias estructuras If.. Else anidadas, como en el siguiente ejemplo:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacion de Arduino con


estructuras If.. Else anidadas.

3.3. ITERACIN
Estas estructuras de control sirven para repetir una instruccin o bloque de instrucciones mientras que se cumpla una condicin
lgica, para lo cual tambin tenemos varias opciones a elegir para distintas situaciones (For, while y do while).
Cabe destacar que en todas las estructuras de iteracin, se ejecutar todo el bloque de instrucciones dentro de la estructura si
ya comenz a ejecutarse, aunque la variable que controle la condicin lgica cambie dentro del bloque (Esto porque la condicin
solo se verifica una vez en cada iteracin, ya sea al inicio o al final del bloque, segn el tipo de estructura).

3.3.1. Estructura WHILE


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

sta es la estructura de iteracin ms sencilla de usar y fcil de entender, toma como parmetro una condicin lgica, y se
ejecuta el cdigo mientras que se satisfaga la condicin.
sta estructura verifica la condicin ANTES de comenzar el bloque de instrucciones, por lo que si no se satisface la condicin,
puede nunca ejecutar el bloque.
Ejemplo:

Ejemplo de programacin de Arduino con


estructura While.

sta estructura adems te permite generar ciclos infinitos (muy utilizado al programar microcontroladores), si siempre
cumplimos la condicin lgica de la siguiente manera:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin de Arduino con ciclos infinitos.

3.3.2. Estructura DO WHILE


Casi idntica a la estructura While, con la diferencia de que la condicin se verifica al final del bloque de instrucciones, por lo que
ste se ejecuta al menos una vez. Esto es muy til si los valores que entrarn en la condicin lgica deben adquirirse durante el
ciclo, y no antes.
Ejemplo:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin de Arduino con estructura Do.. While

Los ciclos while y do while tambin nos permiten hacer delays variables en el cdigo, hasta que se cumpla cierto evento como
recibir un dato por serial, que se presione un botn, etc.
Ejemplo:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacion de Arduino con ciclos While y Do While.

3.3.3. Estructura FOR


Esta estructura es distinguida por tener una cantidad explcita de veces que debe ciclarse, as que es til para hacer acciones
repetidas una cantidad conocida de veces para hacer un programa ms corto y entendible.
La estructura For toma 3 parmetros: for(A;B;C){}
Esto significa:
Iniciando en A con incrementos de C y mientras que B se cumpla
Ejemplo:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin de Arduino sin


estructura For.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacion de Arduino con


estructura For.

Con esto damos por terminado el tema de las estructuras de control (Finally!).

4. INSTRUCCIONES GOTO, BREAK,


CONTINUE
Ahora hablaremos de las instrucciones goto, break y continue, las cules pueden ser tus mejores
amigas o tus peores enemigas
dependiendo del modo en que las uses.
Estas instrucciones te permiten cambiar el flujo del programa sin restricciones, por lo que
pueden permitirte lograr saltos en tu programa que de otra manera seran complicados o requeriran de ms cantidad de cdigo.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

IMPORTANTE: deben usarse sabiamente pues el uso indiscriminado de estas instrucciones puede ocasionar un cdigo ilegible o
muy difcil de seguir, pues permiten hacer saltos en el programa en cualquier direccin, hacia adelante o hacia atrs (a los lados
tambin?).

4.1. Instruccin GOTO


El uso o desuso de esta instruccin es el ms debatido, hay mucha gente que invitan a usarlo lo menos posible, y otros ms que
insisten en que cualquier programa que utilice goto puede sustituirse por un programa mejor estructurado que no lo utilice. sta
es la instruccin que te otorga ms libertad, pero con la que ms cuidado hay que tener, se escribe una etiqueta en cualquier
parte del programa, y al usar la instruccin: goto etiqueta el programa inmediatamente saldr de cualquier estructura de
seleccin o iteracin para dirigirse a la etiqueta seleccionada.

Ejemplo de programacin de Arduino con instruccin


GOTO.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

4.2. Instruccin BREAK


Esta instruccin permite salir de la estructura de control actual en cualquier momento, sin tener que esperar a que
termine el bloque de instrucciones o a que deje de cumplirse la condicin lgica.
Se recomienda usarse al hacer validaciones al inicio de un ciclo, pero no es recomendado usarlo en un punto intermedio del
bloque pues esto provoca que sea ms difcil de leer el cdigo.
Es ampliamente utilizado dentro de Estructuras Switch, para salir de la estructura al terminar un caso sin ejecutar los siguientes
casos.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin de Arduino con instruccin Break.

Como se puede ver, sabemos que si el dato es una letra X termina el ciclo, lo que nos indica que podemos dejar de leer en este
punto el cdigo pues las instrucciones posteriores no se ejecutarn.

4.3. Instruccin CONTINUE


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Esta instruccin permite CONTINUAR a la siguiente iteracin de nuestro bloque de cdigo, saltndose el resto del bloque y
pasando directamente al incremento (En el caso de un For) y la condicin lgica.
Es recomendable usarla tambin al inicio del bloque cuando una condicin especfica requiera que se deje de ejecutar el bloque,
pero sin salir del ciclo actual.

Ejemplo de programacin de Arduino con instruccin Continue.

Con esto terminamos la explicacin de las instrucciones de saltos incondicionales, hay que recordar que stas son herramientas
a nuestra disposicin, pero deben usarse solo cuando sean estrictamente necesarias.

5. COMENTARIOS
Los comentarios son texto de ayuda para el programador, pero que no modifican el comportamiento del programa, lo que nos
permite hacer notas y comentarios en distintas partes del cdigo para facilitarnos su lectura la prxima vez que lo revisemos.
Son muy importantes para documentacin y una lectura fluida del cdigo, adems de para ayudar a otras personas a entenderlo

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

mejor, pues hay que recordar que muchas veces trabajaremos en programas en equipo y otras personas adems de nosotros
necesitarn entender nuestro cdigo.
Existen 2 tipos de comentarios en C, los de una sola lnea y los multilnea que veremos en los siguientes ejemplos:
Comentarios de una sola lnea (precedidos por //):

Comentarios multilnea (Escritos entre /* y */):

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

6. IDENTACIN
La identacin es un tipo de notacin secundaria que ayuda a mejorar notablemente la legibilidad del programa, moviendo
bloques de cdigo a la derecha mediante tabulaciones o espacios.
Se suele identar el cdigo que se encuentra dentro de un bloque o una estructura de control para distinguirlo rpidamente del
resto, an sin haber comenzado a leer lo que facilita el seguir el flujo del programa en gran medida.
Comparacin de programas con y sin identacin:
Sin identar:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin de Arduino sin


identar.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ejemplo de programacin con Arduino


Identado.

Y aqu acaba nuestro tutorial sobre programacin estructurada, esperamos que les sea de utilidad para mejorar sus tcnicas de
programacin y esperen prximamente el nuevo tutorial de programacin avanzada con Arduino

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Ir al inicio
Disponible en PDF
tweet

Like

Subm it

Share

About 5Hertz

Previous:

Celdas de carga.

One Comment
Orduna Bustamante
10/10/2014 at 9:07 pm

La instruccin RETURN aparece ms o menos espordicamente en programas para Arduino, pero hay ocasiones en que puede
ser importante conocerla.
Reply

Leave A Reply
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Your email address will not be published. Required fields are marked *
Name *

Email *

Website

Post Comment

@5HzElectronica

Flickr 5Hz

@5HzElectronica

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Sguenos En Facebook
5Hz Electrnica
Like

Categoras
5Hz (1)
Acelermetro (1)
Arduino (3)

3,495 people like 5Hz Electrnica.

Conceptos (2)
GPS (1)
LCD (1)
Programacin (1)

Facebook social plugin

RF (1)
Sensores (3)
Magnticos (1)
Peso (1)
Ultrasnicos (1)
XBee (3)

Archivos

Comentarios Recientes

April 2014 (5)

open in browser PRO version

EDGAR CAMPOS LAMPREA on Cul Arduino comprar?


Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

March 2014 (2)

Acelermetro de tres ejes | El gato inquieto on ABC del

February 2014 (7)

acelerometro.

January 2014 (3)

Daniel on Introduccin al giroscopio.

Copyright 2014, All Rights Reserved

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

Tutoriales de 5Hz Electrnica

pdfcrowd.com

Anda mungkin juga menyukai