Skip to content

Instantly share code, notes, and snippets.

View henriquesebastiao's full-sized avatar
🎯
Focusing

Henrique Sebastião henriquesebastiao

🎯
Focusing
View GitHub Profile
@henriquesebastiao
henriquesebastiao / calcula_fatorial.py
Created May 15, 2023 00:23
Cálculodo de fatorial de um número informado pelo usuário.
k = 1
fat = 1
numero = int(input("Informe um número: "))
while k <= numero:
fat *= k
k += 1
print(f"fat({k - 1}) = {fat}")
@henriquesebastiao
henriquesebastiao / árvore_binária.py
Created May 26, 2023 09:22
Implementação de árvore binária em Python.
class Node:
""" Classe que define as características do nó da árvore"""
def __init__(self, value: int):
self.left = None
self.right = None
self.value = value
class Tree:
""" Classe que define a árvore binária de busca"""
@henriquesebastiao
henriquesebastiao / bubble_sort.py
Created June 28, 2023 00:31
Algoritmo Bubble Sort em Python
def bubble_sort(array):
"""Ordena uma lista usando o algoritmo de bolha."""
n = len(array)
for i in range(n):
# Cria uma flag que irá permitir o algoritmo parar se não houver trocas
already_sorted = True
# Itera sobre todos os elementos da lista
# (exceto o último, pois o algoritmo de bolha compara os elementos atuais com o próximo)
@henriquesebastiao
henriquesebastiao / telegram_message_routeros_script.rsc
Created July 6, 2023 00:47
Script para dispositivos Mikrotik que realiza o envio de uma mensagem para o Telegram sempre que um novo IP for concedido por DHCP. Também cria um controle de banda para esse IP.
:local custLeaseHost;
# Obtém o hostname do dispositivo
:set custLeaseHost [/ip dhcp-server lease get value-name=host-name [/ip dhcp-server lease find active-address="$leaseActIP"]];
:if ($leaseBound = 1) do={
# Emite uma mensagem de log
/log warning message="DHCP LEASE UP MAC=$leaseActMAC IP=$leaseActIP hostname=$custLeaseHost";
# Cria uma queue para o cliente
@henriquesebastiao
henriquesebastiao / send_information_from_mikrotik_by_telegram.rsc
Created July 13, 2023 16:49
Script para dispositivos Mikrotik que realiza o envio de uma mensagem por Telegram contendo informações sobre o estado do aparelho.
:local nomerb;
:set nomerb [/system identity get name];
:local platform;
:set platform [/system resource get platform];
:local boardname;
:set boardname [/system resource get board-name];
:local version;
@henriquesebastiao
henriquesebastiao / piscar_led_esp8266.ino
Created July 18, 2023 01:22
Piscar LED integrado do ESP8266
void setup()
{
pinMode(2,OUTPUT);
Serial.begin(115200);
Serial.println("Estado do led");
}
void loop()
{
digitalWrite(2,HIGH);
@henriquesebastiao
henriquesebastiao / algoritmo_euclides.py
Created July 31, 2023 15:29
O algoritmo de euclides é uma maneira simples de calcular o MDC (Máximo Divisor Comum) entre dois dois números inteiros diferentes de zero.
def mdc(a: int, b: int) -> int:
if b == 0:
return a
else:
return mdc(b, a % b)
@henriquesebastiao
henriquesebastiao / cofig_oh_my_zsh.sh
Created September 5, 2023 19:25
Etapas de configuração oh my zsh no linux.
# Instalando ZSH
sudo apt install zsh -y
# Instalando dependências
sudo apt install -f -y
# Configurando zsh
chsh -s /bin/zsh
zsh
@henriquesebastiao
henriquesebastiao / print_ascii_table.c
Created September 11, 2023 23:20
This code will at least try to print the ASCII table.
#include <stdio.h>
int main()
{
for (int i = 0; i < 256; i++)
{
printf("%d = %c\n", i, i);
}
}
@henriquesebastiao
henriquesebastiao / linked-list.py
Last active April 2, 2024 16:17
Linked List Implementation in Python
class Node:
def __init__(self, data):
self.data = data
self.next = None
def __repr__(self) -> str:
return self.data
class LinkedList: