Fundamentos de Programación (Cuestionario 1)

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

SERVICIO NACIONAL DE APRENDIZAJE SENA

CUESTIONARIO 1

FUNDAMENTOS DE PROGRAMACION

GRUPO: 1751488

LUIS FELIPE BERRIO MARIN


APRENDIZ:

JUAN CAMILO ARIAS


INSTRUCTOR:
1. ¿Qué es un algoritmo?
Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un
objetivo.

Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada uno de los pasos, debe ser
definido y esto quiere decir que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo
resultado, también debe ser finito o sea debe iniciar con una acción y terminar con un resultado o solución de
un problema.

2. ¿Cuáles son los pasos que se recomiendan para plantear un algoritmo?


Cuando se elabora un algoritmo se debe tener en cuenta lo siguiente.

 Tener claro cuál es el problema que va a solucionar.


 Establecer un objetivo que permita medir la solución del problema.
 Elaborar un algoritmo que solucione el problema.
 Realizar pruebas al algoritmo para verificar los resultados.

3. Escriba tres técnicas para la representación de algoritmos.


Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos
métodos de representación escrita, grafica o matemáticas. Los métodos mas conocidos son:
 Diagrama de flujo
 Diagrama nassi_shneiderman
 Pseudocódigo
 Lenguaje natural
 Formulas matemáticas
 Repetitivas

4. ¿Qué es una prueba de escritorio?


Consiste en dar valores a las variables que hemos definido y que siguen el flujo del programa para comprobar
si al final el resultado es el acertado.

Por ejemplo:
- No ingresar un dato de nacimiento que sea mayor que la fecha actual.
- No ingresar un número negativo donde deber ir uno positivo o sin decimales;
- No ingresar un valor numérico donde solo debe ir texto;
- No ingresar un valor fuera del rango establecido;
etc.,

En casos de generar algun error, el programa tendra que enviar al usuario un mensaje indicándole esto y
dándole la oportunidad de corregir.

En los casos en que deba ingresar una clave de acceso, no se debe permitir que la ingrese más de 3 veces. En
este caso se supone que no es la persona autorizada y el programa no debe permitirle seguir "probando" y
normalmente lo cerramos sin más (luego de ponerle un cartelito en donde le indicamos de tal circunstancia).

Una vez todo haya funcionado bien en el papel, entonces ya podemos escribir el pseudocódigo siguiendo el
diagrama de flujo.

Esta prueba es para no perder tiempo escribiendo el programa y luego tener que buscar EN DONDE está el
error y como debemos corregirlo.
También sirve para optimizar un algoritmo viendo como podemos llegar a un determinado resultado con menos
pasos.

IMPORTANTE: Casi siempre pasa que NUNCA el programa va a funcionar correctamente la primera vez.
SIEMPRE deberemos hacerle ajustes y correcciones. Y eso es parte de la garantía que damos cuando
diseñamos un Sistema a medida.

NO OLVIDAR que el programa deber ser lo más intuitivo posible y tener, en algunos casos, carteles de ayuda
cuando presione la tecla programada (generalmente la F1 como cualquier programa comercial). Para salir
utilizar la tecla ESC (como en cualquier...)
Esto hace a la profesionalidad del sistema.

5. ¿Qué es un diagrama de flujo?


Un diagrama de flujo permite representar de forma gráfica un algoritmo a través de símbolos.
Las entradas son datos o insumos que necesita el algoritmo para que se pueda elaborar.
Los procesos son las acciones que permiten transformar las entradas (insumos o datos) en otros datos u otros
insumos que permitirán dar solución el problema.
Las salidas hacen referencia a los resultados que debe dar al final el algoritmo.
Las decisiones se usan para tomar decisiones lógicas y de acuerdo a estas ejecutar o no conjuntos de
instrucciones.
Las iteraciones permiten repetir un conjunto de instrucciones dentro de un algoritmo

6. ¿Cuáles son las reglas para la elaboración de diagramas de flujo?


Para elaborar un diagrama de flujo se deben tener en cuenta las siguientes reglas:
 Los diagramas se deben realizar de arriba hacia abajo y de izquierda a derecha.
 El algoritmo debe arrancar con el símbolo de inicio y terminar con símbolo de fin.
 La dirección de flujo se debe representar por medio de flechas.
 Todas las líneas de flujo deben llegar a un símbolo o a otra línea.

7. ¿Cuáles son las estructuras lógicas necesarias para construir un algoritmo, y en que consiste cada estructura?
La estructura de un algoritmo sirve para organizar a los elementos que aparecen en él.
• En pseudocódigo, todos los algoritmos tienen la misma estructura, la cual viene definida por tres secciones:

– Cabecera: En la cabecera de un algoritmo se debe indicar el nombre (identificador) asignado al mismo. La


sintaxis es: algoritmo <nombre_del_algoritmo>
• EJEMPLO: Si se quiere diseñar el algoritmo de un programa que:
1º) Pida por teclado el radio (dato real) de una circunferencia.
2º) Calcule el área de la circunferencia.
3º) Muestre por pantalla el resultado (dato real).
Nota: Área de una circunferencia = * radio2
El algoritmo puede llamarse: Area_de_una_circunferencia, por tanto, en la cabecera se puede escribir:
algoritmo Area_de_una_circunferencia

– Declaraciones: En esta sección se declaran las constantes, los tipos de datos y las variables que se usan en el
algoritmo. La sintaxis es:
[ constantes
<declaraciones_de_constantes> ]
[ tipos_de_datos
<declaraciones_de_tipos_de_datos> ]
[ variables
<declaraciones_de_variables> ]
Para resolver el problema planteado en el apartado anterior, es necesario declarar una constante y dos variables:
constantes
PI = 3.141592
variables
real area, radio

– Cuerpo: En el cuerpo se escriben todas las instrucciones del algoritmo. La sintaxis es:
inicio
<instrucción_1>
<instrucción_2>
...
<instrucción_n>
fin

• inicio y fin son palabras reservadas que marcan el


principio y final de la sección cuerpo, que es donde está
el bloque de instrucciones principal del algoritmo.

8. ¿Qué es una variable (en términos informáticos)?


En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden
cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada
en la memoria principal del ordenador.
Para que nuestro código sea más entendible y claro, el identificador de la variable debe ser mnemotécnico(es
algo que sirve para auxiliar a la memoria), es decir que debe reflejar el uso dentro del programa de la misma.

9. ¿Qué son operadores relacionales y para qué sirven?


Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la
comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa.

10. ¿Qué son operadores lógicos y para qué sirven?


Normalmente, los operadores lógicos se utilizan con mayor frecuencia para escribir predicados en D. El
operador lógico AND realiza una evaluación de cortocircuito: si el operando de la izquierda es falso (false), la
expresión de la derecha no se evalúa. El operador lógico OR realiza una evaluación de cortocircuito: si el
operando de la izquierda es verdadero (true), la expresión de la derecha no se evalúa. El operador lógico XOR
no provoca ningún cortocircuito: ambos operandos se evalúan siempre.
Además de los operadores lógicos binarios, el operador unario ! se puede utilizar para realizar una negación
lógica de un único operando: convierte un operando cero en un uno, y un operando distinto a cero en cero. Por
convención, los programadores de D utilizan ! cuando trabajan con números enteros que tienen que representar
valores booleanos y == 0 cuando trabajan con números enteros no booleanos, aunque ambas expresiones tienen
un significado equivalente.

Los operadores lógicos se pueden aplicar a operandos de tipo números enteros o punteros. Los operadores
lógicos interpretan los operandos de puntero como valores de números enteros sin signo. Al igual que los
operadores lógicos y relacionales en D, los operandos son verdaderos (true) si tienen un valor de número entero
distinto a cero y falsos (false) si tienen un valor de numero entero cero-

11. Consultar ejemplos de tablas de verdad.


¿Bajo qué condiciones de p y q la proposición es falsa?

Sol: Este ejercicio se puede resolver de dos formas:


Primera forma, tabla de verdad.

En este caso, las proposiciones simples son dos, p y q. Luego, la tabla de verdad tiene filas.
Empezando por llenar las columnas de las proposiciones simples, la tabla queda de la forma

V V
V F
F V
F F

Luego, llenando la tercera columna, que es la negación de la segunda, tenemos

V V F
V F V
F V F
F F V

La cuarta columna la llenamos usando el bicondicionante para las columnas uno y dos. Tenemos
V V F V
V F V F
F V F F
F F V V

Llenamos la quinta columna usando la conjunción para las columnas cuatro y tres. Tenemos

V V F V F
V F V F F
F V F F F
F F V V V

Para llenar la sexta columna usamos la conjunción para las columnas uno y tres. Tenemos

V V F V F F
V F V F F V
F V F F F F
F F V V V F

Finalmente, para llenar la séptima y última columna de la tabla, usamos la condicionante para las columnas
quinta y sexta, teniéndose que

V V F V F F V
V F V F F V V
F V F F F F V
F F V V V F F

De esta forma, vemos que para que la proposición compuesta tenga valor de verdad falso, debe cumplirse
que cada proposición simple, p y q, deben tener valor de verdad falso.

12. ¿Qué es un lenguaje de programación y para qué sirve?


En informática, se conoce como lenguaje de programación a un programa destinado a la construcción de otros
programas informáticos. Su nombre se debe a que comprende un lenguaje formal que está diseñado para
organizar algoritmos y procesos lógicos que serán luego llevados a cabo por un ordenador o sistema
informático, permitiendo controlar así su comportamiento físico, lógico y su comunicación con el usuario
humano.
Dicho lenguaje está compuesto por símbolos y reglas sintácticas y semánticas, expresadas en forma de
instrucciones y relaciones lógicas, mediante las cuales se construye el código fuente de una aplicación o pieza
de software determinado. Así, puede llamarse también lenguaje de programación al resultado final de
estos procesos creativos.
La implementación de lenguajes de programación permite el trabajo conjunto y coordinado, a través de un
conjunto afín y finito de instrucciones posibles, de diversos programadores o arquitectos de software, para lo
cual estos lenguajes imitan, al menos formalmente, la lógica de los lenguajes humanos o naturales.
No deben confundirse, sin embargo, con los distintos tipos de lenguaje informático. Estos últimos representan
una categoría mucho más amplia, en donde están contenidos los lenguajes de programación y muchos otros
protocolos informáticos, como el HTML de las páginas web.

Normalmente se distingue entre los siguientes tipos de lenguaje de programación:

Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados para un hardware
específico y que por lo tanto no pueden migrar o exportarse a otros computadores. Sacan el mayor provecho
posible al sistema para el que fueron diseñados, pero no aplican para ningún otro.
Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un lenguaje más universal,
por lo que pueden emplearse indistintamente de la arquitectura del hardware, es decir, en diversos tipos de
sistemas. Los hay de propósito general y de propósito específico.
Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes de programación que
se ubican en un punto medio entre los dos anteriores: pues permite operaciones de alto nivel y a la vez la
gestión local de la arquitectura del sistema.
Otra forma de clasificación a menudo es la siguiente:

Lenguajes imperativos. Menos flexibles, dada la secuencialidad en que construyen sus instrucciones, estos
lenguajes programan mediante órdenes condicionales y un bloque de comandos al que retornan una vez llevada
a cabo la función.
Lenguajes funcionales. También llamados procedimentales, estos lenguajes programan mediante funciones
que son invocadas conforme a la entrada recibida, que a su vez son resultado de otras funciones

13. ¿Qué son lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel?
Consulte y presente un ejemplo básico de un programa en cada uno de ellos (lenguaje máquina, ensambladores
y alto nivel).
El lenguaje máquina es el único que entiende la computadora digital, es su "lenguaje natural". En él sólo se
pueden utilizar dos símbolos: el cero (0) y el uno (1). Por ello, al lenguaje máquina también se le denomina
lenguaje binario. La computadora sólo puede trabajar con bits, sin embargo, para el programador no resulta
fácil escribir instrucciones tales como:

10100010
11110011
00100010
00010010

Una dificultad añadida a los lenguajes binarios es el hecho de que son dependientes de la máquina (o mejor
dicho, del procesador), es decir, cada procesador utiliza un lenguaje máquina distinto (un juego de
instrucciones distinto) que está definido en su propio hardware. En consecuencia, un programa escrito para un
tipo de procesador no se podrá usar en otro equipo que utilice un procesador distinto, ya que, el programa no
será portable o transportable. Para que dicho programa pueda funcionar en una segunda computadora, habrá
que traducir todas las instrucciones escritas en el lenguaje máquina del primer equipo al lenguaje binario de la
segunda computadora.

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de


bajo nivel, y constituye la representación más directa del Código máquina específico para cada arquitectura de
computadoras legible por un programador. Aun hoy se utiliza en la programación de handler o manipuladores
de dispositivos de hardware.
Un programa escrito en lenguaje ensamblador consiste en una serie de Instrucciones que corresponden al flujo
de órdenes ejecutables que pueden ser cargadas en la Memoria de un sistema basado en Microprocesador
El siguiente es un ejemplo del programa clásico Hola mundo escrito para la arquitectura de procesador x86
(bajo el sistema operativo DOS) en modo texto (por defecto).

.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code

programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
int 20h
end programa

14. ¿Qué es la IEEE y cuál es su función?


El Instituto de Ingeniería Eléctrica y Electrónica (conocido por sus siglas IEEE, leído i-triple-e en
Latinoamérica o i-e-cubo en España; en inglés Institute of Electrical and Electronics Engineers) es una
asociación mundial de ingenieros dedicada a la normalización y el desarrollo en áreas técnicas. Con cerca de
425 000 miembros y voluntarios en 160 países, es la mayor asociación internacional sin ánimo de lucro
formada por profesionales de las nuevas tecnologías, como ingenieros electricistas, ingenieros electrónicos,
ingenieros de sistemas, ingenieros en computación, matemáticos aplicados, ingenieros en biomedicina,
ingenieros en telecomunicación, ingenieros en mecatrónica, ingenieros en telemática, ingenieros sociales,
cibernéticos, ingenieros en software, ingenieros industriales, etc.
Según el mismo IEEE, su trabajo es promover la creatividad, el desarrollo y la integración, compartir y aplicar
los avances en las tecnologías de la información, electrónica y ciencias en general para beneficio de la
humanidad y de los mismos profesionales.

15. Escriba en su respectivo orden los primeros 20 lenguajes de programación de la lista de los lenguajes más
importantes, según el ranking de la IEEE (la versión más actualizada 2018).
16. En el campo de la programación informática ¿Qué es un intérprete, y que un compilador? Escriba las ventajas y
desventajas de cada uno.
Hay dos formas de ejecutar programas escritos en un lenguaje de alto nivel. El más común es compilar el
programa y el otro método es pasar el programa a través de un intérprete. Tanto el intérprete como el
compilador tienen como finalidad traducir las instrucciones recibidas a un lenguaje que el equipo pueda
entender.

Las diferencias entre intérprete y compilador son:

Un intérprete traduce instrucciones de alto nivel en una forma intermedia para ser ejecutado. En contraste, un
compilador, traduce instrucciones de alto nivel directamente en lenguaje de máquina.
El intérprete traduce un programa línea a línea mientras que el compilador traduce el programa entero y luego
lo ejecuta.
El intérprete detecta si el programa tiene errores y permite su depuración durante el proceso de ejecución,
mientras que el compilador espera hasta terminar la compilación de todo el programa para generar un informe
de errores.
Un programa compilado es más seguro que uno interpretado, porque no contiene el código fuente, que puede
ser modificado incorrectamente por el usuario.
Ambos, intérpretes y compiladores están disponibles en la mayoría de los lenguajes de alto nivel.
La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere
un paso adicional antes de ser ejecutado, la compilación, que convierte el código que escribes a lenguaje de
máquina. Un lenguaje interpretado, por otro lado, es convertido a lenguaje de máquina a medida que es
ejecutado.
Ejemplos de lenguajes compilados incluyen C, C++, Java, Go y Rust, entre muchos otros. Ejemplos de
lenguajes interpretados incluyen Ruby, Python y JavaScript, entre muchos otros. A todos estos lenguajes se les
conoce como lenguajes de alto nivel.
En general, el ciclo de desarrollo (el tiempo entre el momento en que escribes el código y lo pruebas) es más
rápido en un lenguaje interpretado. Eso se debe a que en lenguajes compilados es necesario realizar el proceso
de compilación cada vez que cambias el código fuente, aunque con herramientas adicionales se puede
automatizar.
Otra desventaja de un lenguaje compilado es que cuando compilas un programa debes crear ejecutables para
cada uno de los sistemas operativos en los que lo vayas a utilizar. Un ejecutable creado para Linux no va a
servir en Windows por ejemplo.
Sin embargo, un lenguaje compilado es mucho más rápido que uno interpretado. Esto se debe a que cuando es
ejecutado ya se encuentra en código de máquina y eso también le permite hacer algunas optimizaciones que no
son posibles con un lenguaje interpretado.
Además de la velocidad, otra desventaja de un lenguaje interpretado es que, para ser ejecutado, debes tener
instalado el interpretador. Esto no es necesario en un lenguaje compilado que es convertido a lenguaje de
máquina1.
En general, un lenguaje compilado está optimizado para el momento de la ejecución, aunque esto signifique
una carga adicional para el programador. Por otro lado, un lenguaje interpretado está optimizado para hacerle la
vida más fácil al programador, aunque eso signifique una carga adicional para la máquina.

17. Consulte y presente 10 diferentes lenguajes de programación con un poco de su historia y sus características
principales.
•SQL: son las siglas de Structured Query Language (Lenguaje Estructurado de Consulta). Su función principal
es actuar sobre una base de datos y extraer su contenido para almacenar, introducir, actualizar, eliminar y
consultar información. Suele ser usado en la construcción de páginas web y aplicaciones de escritorio.
• PHP: es un acrónimo recursivo que significa PHP Hypertext Pre-processor. Es utilizado para el desarrollo de
sitios online, ya que es posible combinarlo con HTML. Es un lenguaje de lado del servidor, es decir, que
primero se ejecuta en éste y posteriormente regeresa al navegador del usuario como resultado una página web.
• C: lenguaje orientado principalmente a los sistemas operativos. Se puede crear un software para sistemas
operativos como Windows o Linux, también es muy usado en robótica para crear simuladores o para
experimentos informáticos, físicos, matemáticos, etc.
• Java: es uno de los lenguajes favoritos ya que permite construir programas que gestionan la memoria del
dispositivo donde reside la aplicación, como por ejemplo herramientas, juegos y apps. Es utilizado en
dispositivos móviles, aparatos de televisión y computadores personales. Suele ser asociado a Java Script, que es
otro tipo de lenguaje para crear pequeños programas encargados de realizar acciones dentro de páginas webs,
como por ejemplo crear efectos especiales o para definir la interactividad con los usuarios.
•Python: es uno de los lenguajes que muchos desarrolladores adoran y muchos otros adoran odiar. Es un
lenguaje muy similar a un script, que tiene la gran ventaja de ser bastante compacto y en general, rápido de
escribir. Con eso viene la desventaja de ser un lenguaje interpretado, con todos los problemas de seguridad y
rendimiento potencial que conlleva. Muchas empresas ven la velocidad (y la ubicuidad) como razones para
superar las preocupaciones de seguridad, y hay marcos muy sólidos que se ocupan de muchos problemas.
Dado que Python no es tan complejo como algunos de los lenguajes de programación "superiores",
generalmente puede ser competente con una menor inversión de tiempo. Es una inversión que puede dar
grandes dividendos a la hora de buscar el próximo desarrollo.
•Visual Basic .NET: te da la posibilidad de automatizar sus propios procesos y crear sus propias aplicaciones
web.
Es uno de los lenguajes más amigables para los principiantes de programación, sobre todo a comparación de
C#.
•Assembly Language : se trata de un lenguaje de programación de bajo nivel utilizado para interactuar con
hardware informático.
•Javascript: si confía en que nunca se le pedirá que escriba una aplicación basada en la Web, entonces puede
ignorar Javascript de forma segura. Si existe la posibilidad de que una aplicación web (o, para ser honestos, una
aplicación móvil) esté en su futuro, entonces tomarse el tiempo para aprender Javascript podría ser una
inversión muy inteligente.
Javascript no es el tipo de lenguaje que utilizará para la programación del sistema o para escribir aplicaciones
de análisis de dinámica de fluidos en una supercomputadora, pero es increíblemente popular y útil para lo que
hace para agregar peso e interactividad al HTML. Es un lenguaje que no muestra ningún signo de
desvanecimiento en la próxima media década.
•C++: Cuando llega el momento de la programación del sistema o aplicaciones avanzadas de cualquier tipo,
C++ sigue siendo el lenguaje que con más frecuencia se necesita para el trabajo. Este lenguaje que surgió de un
preprocesador orientado a objetos para C, ha existido por más de 30 años y tiene la distinción de ser un idioma
heredado y un idioma que todavía se enseña en una enorme cantidad de programas de informática en todo el
mundo.
No es tan fácil de aprender como algunos de los lenguajes de scripting en la lista, pero hay poco que no puedas
hacer con eso. Si la programación empresarial "seria" está en su lista de carrera, entonces C++ realmente debe
estar en su lista de lenguages para aprender.
•Swift: es el lenguaje de programación de Apple para iOS y OSX, un lenguaje que recientemente (en la versión
2.2) ha convertido en código abierto. Ahora hay versiones de Swift disponibles para plataformas Linux y
Microsoft, e IBM ha puesto Swift disponible en su Swift Sandbox.
Swift surgió de Objective-C, lo que significa que si has pasado algún tiempo en cualquiera de las variantes del
lenguaje C, deberías poder elegir Swift bastante rápido. Incluso si no eres fanático de Apple, el soporte de IBM
debería hacer que Swift se utilice en más y más entornos empresariales. Tener a Swift en su cartera debería ser
una de esas cosas que rinde frutos en los años venideros.

18. ¿Qué es un IDE y para que se utiliza?


IDE de Programación: Un IDE es un entorno de programación que ha sido empaquetado como un programa de
aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz
gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje
Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible
escribir sentencias Visual Basic en forma de macros para Microsoft Word.
Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como
C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un
sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva,
sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de
Eclipse, al que mediante plugins se le puede añadir soporte de lenguajes adicionales.
19. ¿Qué es Arduino?
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de
desarrollo (software), diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
Arduino se puede utilizar para crear elementos autónomos, conectándose a dispositivos e interactuar tanto con
el hardware como con el software. Nos sirve tanto para controlar un elemento, pongamos por ejemplo un motor
que nos suba o baje una persiana basada en la luz existente es una habitación, gracias a un sensor de luz
conectado al Arduino, o bien para leer la información de una fuente, como puede ser un teclado o una página
web, y convertir la información en una acción como puede ser encender una luz y escribir por un display lo
tecleado.
Con Arduino es posible automatizar cualquier cosa para hacer agentes autónomos (si queréis podemos
llamarles Robots). Para controlar luces y dispositivos, o cualquier otra cosa que se pueda imaginar, es posible
optar por una solución basada en Arduino, especialmente en desarrollos de dispositivos conectados a Internet.

20. ¿Qué lenguaje de programación se utiliza para programar en plataformas Arduino?


El lenguaje de programación de Arduino está basado en C++ y aunque la referencia para el lenguaje de
programación de Arduino está en http://arduino.cc/en/Reference/HomePage, también es posible usar comandos
estandar de C++ en la programación de Arduino.

21. Consulte 10 proyectos interesantes realizados con Arduino.


 Persianas controladas por tu voz
Un servomotor adecuadamente colocado para mover unas persianas venecianas puede convertirse en
poco tiempo y con algo de programación en un sistema controlado por voz vía bluetooth y que nos
permita tanto abrirlas como cerrarlas a demanda. Una vez que has asimilado el funcionamiento y
programación del sistema, automatizar más elementos de casa es cuestión de tiempo e imaginación.

 Puerta automática controlada con tarjetas RFID


Configurar nuestras propias tarjetas RFID para permitir o no el acceso a un recinto. Es lo que
aprendemos a hacer con este proyecto en el que construimos en minuatura un sistema de apertura y
cierre de una puerta gracias a la tecnología sin contacto RFID.

 Control del estado de una piscina


En verano, si tienes piscina, un proyecto muy práctico sería construirse un medidor de ph y
temperatura del agua. El sistema permite exportar los datos así como visualizarlos en tiempo real.

 Un jardín automatizado
Recoge datos y se encarga de regar las plantas de nuestro huerto urbano de manera automática. Con
este proyecto, si tienes la información adecuada, mantener un huerto es cuestión de menos dedicación.
 Un reloj de madera digital
Una placa controladora Arduino o compatible, madera y hasta 85 LEDs. Es la base para construir tu
propio reloj digital en madera. De tu maña con el bricolaje dependerá el mejor o peor acabado del
proyecto.

 Brazo robótico
Si te alucina el vídeo tanto como a nosotros, te animamos a realizar este proyecto en el que un brazo
robótico es capaz de, tras coger un objeto con unas pinzas, no chocar contra obstáculos gracias a un
sensor de ultrasonidos.

 Lector de huellas dactilares


Con una placa Arduino Nano y un lector de huellas con un coste de menos de 40 dólares nos podemos
montar nuestro propio sistema de reconocimiento de huellas. El uso que le demos ya depende de cada
uno.

 Comprobador de la carga de pilas y baterías


Paso a paso para construir tu propio comprobador de la capacidad de una batería o pila. El proyecto es
muy asequible tanto en construcción como en programación, con todos los pasos perfectamente
explicados.

 MiniPC jugador de ajedrez


Si siempre has soñado con tener tu propio ordenador-jugador de ajedrez, déjalo en manos de una
Raspberry Pi. Usando su capacidad de procesamiento y placas Arduino, puedes construirte un sistema
de ajedrez que juegue contra ti... y con piezas reales.

 Radar para detectar objetos


Muy llamativo es este proyecto que dibuja sobre un mapa creado en un PC gracias a Processing, la
presencia de objetos que el sistema detecta gracias a un sensor de ultrasonidos con alcance para hasta
4 metros y cobertura/giro de 180 grados.

22. Escriba un proyecto personal que a usted le gustaría realizar con la plataforma Arduino.
Como persona sin automóvil, no necesito llevar llaves a todas partes. Debido a esto, me han excluido de mi
propia casa varias veces. Es una pena esperar a alguien con una llave, así que pensé que haría algo al respecto.
Este proyecto es mi forma de resolver este problema, mientras tengo la oportunidad de interactuar con
un impresionante escáner de huellas digitales (también conocido como: FPS).

Lector de huellas para la puerta


Con paciencia, cogiendo el código ya programado y realizando unas cuantas soldaduras, una placa Arduino
ATmega328 de menos de 10 euros es la base para montar nuestro propio sistema de acceso a casa por medio de
huella. Incluso podemos incluir una pantalla que integre el ATmega328 para hacer el sistema más compacto

Un lector de huellas dactilares como nueva cerradura


Si conectas tu placa con componentes como un lector de huellas dactilares, baterías y transistores, e instalas el
sistema en tu puerta, conseguirás evitar a los ladrones para siempre. Aunque no se trata de un proyecto sencillo,
el autor de este invento te ha dejado todos los detalles para que comiences a abrir la puerta del garaje con tan
solo aproximar tu dedo (una huella única e irrepetible) por el sensor. Despídete de las analógicas llaves y
también de los ladrones.
https://www.youtube.com/channel/UCWDA7TmvLawItcY0DBH-
wfA?feature=embeds_subscribe_title

23. Relacionar la bibliografía y webgrafía utilizada para realizar esta consulta.


http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/uni
dad1/leccion1.html
https://prezi.com/-9qa4mztosao/tecnicas-de-representacion-de-un-algoritmo/
http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/uni
dad1/leccion2.html
http://carlosgutierrezc.blogspot.com/2012/11/prueba-de-escritorio.html
https://es.slideshare.net/carlospesrivas/estructura-de-un-algoritmo?from_action=save
http://departamento.us.es/edan/php/asig/LICFIS/LFIPC/Tema5FISPC0809.pdf
https://es.wikibooks.org/wiki/Ejemplo_Dos_Tabla_de_Verdad
https://www.fing.edu.uy/inco/cursos/fpr/wiki/index.php/Variables_y_Tipos
http://www.sc.ehu.es/sbweb/fisica3/basico/condicional/condicional.html
https://docs.oracle.com/cd/E19253-01/819-6957/chp-typeopexpr-6/index.html
https://concepto.de/lenguaje-de-programacion/#ixzz5vHEx0UHS
http://www.carlospes.com/minidiccionario/lenguaje_maquina.php
https://es.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers
https://www.ecured.cu/Lenguaje_ensamblador
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
https://www.xataka.com/makers/46-proyectos-makers-para-hacer-verano-arduino-raspberry-pi

También podría gustarte