Apuntes, resúmenes, trabajos, exámenes y ejercicios de Informática de Formación Profesional

Control de Aforo con Arduino y Sensores Ultrasónicos

Informática12,12 KB

Sistema de Control de Aforo con Arduino

A continuación se presentan los módulos de código programados para la detección de entrada (ENTRAN) y salida (SALEN) de personas utilizando sensores ultrasónicos, indicador LED y visualización en pantalla LCD con interfaz I2C.

Módulo 1: Detección de Entrada (ENTRAN)

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
int trigger1 = 2;
int echo1 = 3;
float distsensor1;
int led = 13;
int contador = 0;

void setup()
{
  pinMode(trigger1, OUTPUT);
  pinMode(echo1, INPUT);
  pinMode(led, OUTPUT);
  lcd.init();
  lcd.backlight();
  lcd.print("Hola");
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(trigger1, LOW);
  delayMicroseconds(5);
  digitalWrite(
...
Continuar leyendo "Control de Aforo con Arduino y Sensores Ultrasónicos" »

Estructuras de Datos y Programación Orientada a Objetos: Árboles, Grafos, Paradigmas y C++

Informática5,39 KB

Estructuras de datos: árboles y grafos

ÁRBOL: estructura jerárquica con nodos dinámicos del mismo tipo.

  • NODO RAÍZ: único en el primer nivel.
  • TERMINAL (HOJA): nodos sin descendientes.
  • ALTURA o PROFUNDIDAD: número de niveles.

Árboles binarios

BINARIO: cada nodo solo puede tener 0, 1 o 2 descendientes.

  • PREORDEN
  • INORDEN
  • POSTORDEN

Grafos

GRAFO: compuesto por nodos y aristas.

  • ARISTA: determina el PESO.
  • DIRIGIDO: tiene sentido para cada peso.
  • NO DIRIGIDO: no es jerárquico.

Representaciones

  • MATRIZ DE ADYACENCIA: simétrica y con diagonal si no es dirigido; relaciona nodos con pesos.
  • LISTA ENLAZADA: tantas como nodos.

Paradigmas de programación

Paradigma imperativo

IMPERATIVO: instrucciones secuenciales que cambian la dirección de memoria. Ejemplos: FORTRAN,...

Continuar leyendo "Estructuras de Datos y Programación Orientada a Objetos: Árboles, Grafos, Paradigmas y C++" »

Ejemplos de Código HTML5 y Hojas de Estilo CSS para Principiantes

Informática3,88 KB

Fundamentos de HTML y CSS: Estructuración y Estilos Básicos

A continuación, se presentan y corrigen los ejemplos prácticos de desarrollo web que combinan la estructuración en HTML con el diseño mediante reglas de CSS.

1. Ejemplo: Formato de Títulos con CSS Interno

En este bloque se define el tamaño y la familia tipográfica de los encabezados (h1, h2, h3) mediante un bloque de estilos interno dentro del elemento <head>.

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Formularios - Títulos</title>
    <style>
        h1, h2, h3 {
            font-family: Verdana;
        }
        h1 {
            font-size: 60px;
        }
        h2 {
            font-size:
...
Continuar leyendo "Ejemplos de Código HTML5 y Hojas de Estilo CSS para Principiantes" »

Ejemplos Prácticos de Programación de Servicios y Procesos en Java con ProcessBuilder

Informática20,33 KB

Ejemplos Prácticos de Programación de Servicios y Procesos

1. Consulta de IP mediante cURL

public class Ej2A_4 {
static void main() {
Scanner sc = new Scanner(System.in);

System.out.println("Introduce la IP:");
String ip = sc.nextLine();

ProcessBuilder pb = new ProcessBuilder("CMD", "/C", "curl http://ip-api.com/csv/" + ip);

try {
Process p = pb.start();
String linea = new String(p.getInputStream().readAllBytes());
String[] datos = linea.split(",");

if (datos[0].equals("success")) {
System.out.println("Localización: " + datos[4] + ", " + datos[1]);
} else {
System.out.println("No hay información");
}
} catch (Exception e) {
e.printStackTrace();
}
}

2. Ejecución y Control de Pings

public class EJ1C_4 {
static void main() {
Scanner sc = new

...
Continuar leyendo "Ejemplos Prácticos de Programación de Servicios y Procesos en Java con ProcessBuilder" »

Fundamentos de Java: Tipos de Datos, POO, Excepciones y E/S para Principiantes

Informática5,93 KB

Fundamentos de Java

COMPILADOR 80%, INTÉRPRETE 20%. Java compila el código fuente a bytecode, que se ejecuta en la JVM (Java Virtual Machine). El SDK incluye la JVM, las clases y el compilador; el JRE incluye la JVM y las clases necesarias para ejecutar programas.

Modificador final

  • final en un dato: es invariable, una vez asignado no puede cambiar.
  • final en un parámetro: es de solo lectura.
  • final en un método: no puede reescribirse en las clases derivadas.
  • final en una clase: no puede heredarse de ella.

Java utiliza UNICODE, por lo que puede representar caracteres como la ó de camión.

Bucle for-each

int[] n = {a, b};
for (int i : n)
    System.out.println(i); // a \n b

Paquetes e importación

Un paquete contiene clases. Se importan con:

import clase;
...
Continuar leyendo "Fundamentos de Java: Tipos de Datos, POO, Excepciones y E/S para Principiantes" »

Desarrollo de un Chatbot en Python con Síntesis de Voz y Lectura de Archivos

Informática3,12 KB

Implementación de un Asistente de Voz en Python

A continuación se presenta el código fuente en Python para implementar un asistente conversacional básico que utiliza la biblioteca pyttsx3 para la síntesis de voz, además de la lectura de archivos de texto externo para gestionar saludos, despedidas y respuestas interactivas.

Código Fuente del Chatbot

import random as rd
import pyttsx3

def llenar_lista(nombre):
    file = open(nombre, "r")
    listar = file.readlines()
    file.close()
    tmp = []
    for s in listar:
        sal = s.strip("\n")
        tmp.append(sal)
    listar = tmp
    return listar

saludos = []
saludos = llenar_lista("saludos.txt")
saludos = ["hi", 'hola', 'habla', 'holas', 'que tal', 'no tengo billete', 'que onda'
...
Continuar leyendo "Desarrollo de un Chatbot en Python con Síntesis de Voz y Lectura de Archivos" »

Tabla Periódica de los Elementos: Símbolos, Números Atómicos y Masas Atómicas

Informática42,43 KB

Tabla Periódica de los Elementos Químicos

La tabla periódica organiza los elementos químicos según su número atómico, mostrando sus símbolos, masas atómicas y propiedades comunes. A continuación se presenta la tabla completa con sus grupos y períodos.

123456789101112131415 Pnictógenos16 Calcógenos17 Halógenos18
11HHidrógeno1,008AtómicoSímNombre Peso
CSólido
HgLíquido
HGaseoso
RfDesconocido
MetalesMetaloidesNo metales
AlcalinosAlcalinotérreosLantánidosMetales de transiciónMetales del bloque pOtros no metalesGases nobles
Actínidos

2HeHelio 4,0026
23LiLitio 6,944BeBerilio 9,01225BBoro 10,816CCarbono 12,0117NNitrógeno 14,0078OOxígeno 15,9999FFlúor 18,99810NeNeón 20,180
311NaSodio 22,99012MgMagnesio 24,30513AlAluminio 26,98214SiSilicio
...
Continuar leyendo "Tabla Periódica de los Elementos: Símbolos, Números Atómicos y Masas Atómicas" »

Cómo funciona internet: router, ISP y servidores explicados

Informática4,81 KB

Cómo funciona internet: redes, routers y servidores

El router es el aparato que conecta la red local con internet. Ningún usuario puede hacer su propia conexión a internet sin intermediarios. El ISP (proveedor de servicios de internet) es la empresa que nos vende el servicio de internet.

Un router industrial es un equipo que gestiona el tráfico de datos entre las redes que confluyen en él. Los routers industriales se conectan entre sí mediante cables de fibra óptica.

Los equipos de los usuarios se conectan a los routers de los ISP mediante líneas telefónicas formadas por dos cables de cobre o de fibra óptica.

Servidores y proveedores de hosting

Los servidores son equipos que dan un servicio a los clientes. Los proveedores de hosting ofrecen...

Continuar leyendo "Cómo funciona internet: router, ISP y servidores explicados" »

Administración de Oracle: Tablespaces, Clusters, Perfiles, Usuarios y Privilegios

Informática4,19 KB

Ejercicios de administración de bases de datos Oracle

1. Creación y modificación de tablespaces

Se crea el tablespace diccionario con dos archivos de datos, gestión de extensiones mediante diccionario y almacenamiento inicial de 80K:

CREATE TABLESPACE diccionario DATAFILE 'primero.dbf' SIZE 20M AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'segundo.dbf' SIZE 5M AUTOEXTEND ON NEXT 30M MAXSIZE 1G EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (INITIAL 80K NEXT 80K MAXEXTENTS 20) ONLINE;

Añadir un nuevo archivo de datos:

ALTER TABLESPACE diccionario ADD DATAFILE 'tercero.dbf' SIZE 100M AUTOEXTEND ON NEXT 25M MAXSIZE UNLIMITED;

Renombrar el archivo de datos anterior a ultimo.dbf:

ALTER TABLESPACE diccionario RENAME DATAFILE 'tercero.dbf' TO 'ultimo.dbf';

2. Consulta

...
Continuar leyendo "Administración de Oracle: Tablespaces, Clusters, Perfiles, Usuarios y Privilegios" »

Programación en C: Ejercicios Resueltos con Estructuras de Control, Vectores, Cadenas y Conversión de Unidades

Informática11,25 KB

Ejercicios resueltos de programación en C

Ejercicio 9: Suma y diferencia de cantidades en libras, chelines y peniques

CONTINUACIÓN 9

else {
   if (che1 >= 20) {
     printf("\nNúmero de chelines de la primera cantidad incorrecto");
   }
  }
} while ((che1 < 0) || (che1 >= 20));

do {

printf("\nIndicar peniques de la primera cantidad: ");

scanf("%d", &pen1);
while (getchar() != '\n'); // Para quitar el intro que hay en el buffer del teclado
if (pen1 < 0) {
   printf("\nNúmero de peniques de la primera cantidad no puede ser inferior a cero");
}

else {

   if (pen1 >= 12) {
     printf("\nNúmero de peniques de la primera cantidad incorrecto");
   }
}

} while ((pen1 < 0) || (pen1 >= 12));

printf("\nDatos para la

...
Continuar leyendo "Programación en C: Ejercicios Resueltos con Estructuras de Control, Vectores, Cadenas y Conversión de Unidades" »