En los canales se usa el canal cero y el canal dos porque aparentemente los canales vienen en pares y si se usa el cero y el uno tendrán la misma frecuencia.
jueves, 25 de julio de 2024
Generar dos señales de reloj con la ESP32
viernes, 14 de enero de 2022
Media, mediana y moda en Python
Podemos hacerlo de diferentes manera pero mostraré dos, la primera usando statistics y la segunda con código similar a bajo nivel. El código lee los valores desde un archivo de texto que tiene los datos a manera de columna, solo consideramos enteros y datos con una sola moda pues mas de una moda no podría ser calculada con el código dos.
Código uno:
import statistics as stats
archi=open('datos_nums.txt','r')
contnum=0
sumanums=0
numeros=[]
auxiliar=[]
for linea in archi:
numeros.append(int(linea))
auxiliar.append(0)
sumanums=sumanums+int(linea)
contnum=contnum+1
archi.close()
#ordenar la lista
numeros.sort()
print('Los números son:')
print(numeros)
#calcular la media
print('La media es: '+str(stats.mean(numeros)))
#calcular la mediana
print('La mediana es: '+str(stats.median(numeros)))
#calcular la moda
print('La moda es: '+str(stats.mode(numeros)))
Código dos:
archi=open('datos_nums.txt','r')
contnum=0
sumanums=0
numeros=[]
auxiliar=[]
for linea in archi:
numeros.append(int(linea))
auxiliar.append(0)
sumanums=sumanums+int(linea)
contnum=contnum+1
archi.close()
#ordenar la lista
numeros.sort()
print('Los números son:')
print(numeros)
#calcular la media
v_media=sumanums/contnum
print('La media es:' +str(v_media))
#calcular la mediana
if contnum % 2==0:
v_mediana=(numeros[int((contnum/2)-1)]+numeros[int((contnum/2))])/2
else:
v_mediana=numeros[((contnum-1)/2)]
print('La mediana es:' +str(v_mediana))
#Calcular la moda
for i in range(contnum):
numero=numeros[i]
posicion=i
for j in range(contnum):
if numero==numeros[j]:
auxiliar[j]=auxiliar[j]+1
print(auxiliar)
sábado, 4 de diciembre de 2021
Encender y apagar un LED con Arduino
- Arduino UNO
- LED
- Resistencia de 330 o de 220 Ohms
- Cable rojo y negro
martes, 7 de septiembre de 2021
Método de selección en C++
Consiste en lo siguiente:
- Buscas el elemento más pequeño de la lista.
- Lo intercambias con el elemento ubicado en la primera posición de la lista.
- Buscas el segundo elemento más pequeño de la lista.
- Lo intercambias con el elemento que ocupa la segunda posición en la lista.
- Repites este proceso hasta que hayas ordenado toda la lista.
Pseudocódigo en C++
Ejemplo:
Código en C++
#include <iostream>
#include <time.h>//librería ara usar random
#define TAM 10 //se
define una variable global
int main()
{
//declaración de las variables a utilizar
// temp:para
almacenar temporalmente un número
// lista:los
elementos a ordenar
// TAM:tamaño de
la lista
// i, j:para usarse en los ciclos
int temp, i, j;
int lista[TAM];
srand(time(NULL));
//llenar vector con valores aleatorios
for (i = 0; i < TAM; i++)
{
lista[i] = rand() % 100;//generación de números aleatorios
}
//imprimir arreglo desordenado, \n para el salto de línea
printf("Vector desordenado\n");
for (i = 0; i < TAM; i++)
{
printf("%d\t", lista[i]);//\t da la tabulación o con \n para
salto de línea
}
//ciclos anidados para ordenar los elementos con
inserción
for (i = 1; i < TAM; i++)
{
temp = lista[i];//se almacena el número en temp
j = i - 1;//asignamos a j el valor de i menos 1 para comparar con el
elemento anterior
while ((lista[j] > temp) && (j >= 0))//mientras los elementos sean mayores a temp y todavía tengamos
elementos
{
lista[j + 1] = lista[j];//al ser mayor lo almacenamos en la posición j+1
j--;//decrementamos
j
lista[j + 1] = temp;//almacenamos temporal en j+1
}
}
//imprimir vector ordenado
printf("\n");
printf("Vector ordenado\n");
for (int i = 0; i < TAM; i++)
{
printf("%d\t", lista[i]);//\t da la tabulación o con \n para
salto de línea
}
//detener la pantalla pidiendo un caracter de entrada
int flag = getchar();
}
Ventajas:
- Fácil implementación.
- Requerimientos mínimos de memoria.
Desventajas:
- Lento.
- Realiza numerosas comparaciones.
lunes, 6 de septiembre de 2021
Método burbuja en C++
Descripción
Ejemplo
Código
#include <iostream>
#include <time.h>//librería ara usar random
#define TAM 10 //se
define una variable global
using namespace std;//para
usar strings
int main()
{
//declaración de las variables a utilizar
// temp:para
almacenar temporalmente un número
// lista:los
elementos a ordenar
// TAM:tamaño de
la lista
int temp;
int lista[TAM];
srand(time(NULL));
//llenar vector con valores aleatorios
for (int i = 0; i < TAM; i++)
{
lista[i]=rand()%100;//generación de números aleatorios
}
//imprimir arreglo desordenado, \n para el salto de línea
printf("Vector desordenado\n");
for (int i = 0; i < TAM; i++)
{
printf("%d\t", lista[i]);//\t da la tabulación o con \n para
salto de línea
}
//ciclos anidados para ordenar los elementos con método
burbuja
for (int i = 1; i < TAM; i++)
{
for (int j = 0; j
< TAM - 1; j++)
{
if (lista[j] > lista[j + 1])//se compara el
elemento actual con el elemento siguiente
{
temp = lista[j];//se almacena temporalmente el elemento actual
lista[j] = lista[j + 1];//al elemento actual lo reemplazamos por el siguiente
lista[j + 1] = temp;//reemplazamos al elemento siguiente por el elemento almacenado en
el valor temporal
}
}
}
//imprimir vector ordenado
printf("\n");
printf("Vector ordenado\n");
for (int i = 0; i < TAM; i++)
{
printf("%d\t", lista[i]);//\t da la tabulación o con \n para
salto de línea
}
//detener la pantalla pidiendo un caracter de entrada
int flag = getchar();
}
Ventajas:
Fácil implementación.
No requiere memoria adicional.
Desventajas:
Muy lento.
Realiza numerosas comparaciones.
Realiza numerosos intercambios.
.jpeg)



