Índice
Introdução
Este conteúdo, “Codificando em Python os 12 passos do algoritmo da fila do lanche”, é a segunda parte do material de apoio para uma aula prática de algoritmo e linguagem Python, destinada a iniciantes na área de programação. Foi concebido pensando em estudantes do primeiro ano do ensino médio, pois estou trabalhando com as turmas 101 e 102 do curso técnico “Informática para Internet”. Sendo assim, em alguns momentos, você vai notar que o texto dialoga com eles.
Este material é totalmente dependente do algoritmo que está na página “Em 12 passos monte um algoritmo na prática” [1].
O código foi escrito no Google Colaboratory (ou Google Colab), pois é uma plataforma que permite ilustrar bem a execução dos passos em códigos separados por células, visando à boa didática que o ambiente “Notebook” proporciona.
Esse conteúdo inicia com a inserção da definição do problema de negócio (passo 0 do material anterior [1]), a construção do código com os passos definidos no diagrama de blocos, também, do material anterior [1]. Procurei colocar explicações diretas e simples, mas você pode interagir com comentários sugerindo melhorias e colocando suas dúvidas.
O melhor fone com cancelamento de ruído!
Logo sairá um review sobre esse fone maravilhoso que superou minhas expectativas!
Clique na imagem abaixo e compre pela Amazon.
Codificando em Python
Você pode começar a programar de várias maneiras. Poderá sair digitando o que acha que funciona, de modo mais ou menos aleatório, seguindo seu raciocínio. Ou poderá fazer de forma mais organizada, colocando comentários com as descrições do que precisa ser programado e, assim, será mais preciso nos objetivos do programa. No meu caso, eu prefiro e recomendo a organização, seguindo uma sequência já pensada e diagramada.
Codificar ou programar em Python, ou em qualquer outra linguagem, pode ser um desafio. Programar demanda alguns fatores fundamentais que dependerão da complexidade do problema que se deseja resolver (problema de negócio), dos recursos disponíveis para a tarefa (hardware e software), do conhecimento e experiência prática do programador etc. No que diz respeito ao problema de negócio, ele já foi bem definido e totalmente transformado para um algoritmo em diagrama de blocos. No caso dos recursos, precisaremos de um dispositivo com acesso ao Google Colab. Tratando-se do programador, ora, isso é com você! Estamos juntos nessa jornada de transformação pessoal e profissional, aprendendo todos os dias um pouquinho mais.
Para este material, utilizei o Google Colaboratory que foi concebido baseado em várias tecnologias, sendo uma delas o Jupyter Notebook [2], permitindo uma programação em linguagem Python no formato da web, para criar documentos interativos com códigos, textos e visualizações. O Google Colab é gratuito, intuitivo e poderoso, utilizado por cientistas de dados, pesquisadores e estudantes, embora não seja recomendado para ambientes corporativos por causa de questões de segurança da informação, confiabilidade, desempenho, etc [2].
Outrossim, busquei utilizar somente instruções condicionais “if / else”, seguindo estritamente o proposto no diagrama de fluxo, prezando pelo exercício e treino desse tipo de raciocínio. Saliento que é obvio a variedade de possibilidades do formato do algoritmo e do código; o que sugiro é apenas uma das inúmeras configurações possíveis.
Acesse o Google Colaboratory com um e-mail seu, pessoal. Não acesse com e-mails corporativos ou pertencentes a domínios de escolas. Por quê? Porque quando você deixar de fazer parte dessa escola, sua conta deixará de existir e, portanto, você perderá o acesso às contas que você criou com ela. Além disso, até o momento, contas em @estudante.sed.sc.gov.br ou @profe.sed.sc.gov.br, nem se quer têm permissão de acessar certos serviços do Google.
Mãos nos dígitos
Sendo organizado, vamos retomar a descrição do problema de negócio, bem como o detalhamento do problema. Desse modo, ficaria assim:

Na imagem acima, como bem se pode ver, iniciamos a programação entrando no Google Colab (GC), dando um nome ao arquivo “hora-do-recreio.ipynb” (não altere a extensão .ipynb) e adicionando uma célula de texto com o problema de negócio e seu detalhamento. Após, como disposto no campo de código abaixo, adicionamos uma célula de código relacionada com os passos 1, 2, 3 e 4 do nosso diagrama de blocos, da faze de criação do algoritmo. Veja:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
Até aqui, para testar o que foi feito, basta clicar no botão “Executar célula” ou teclar “Enter + Ctrl” no seu ambiente do Google Colab. Se tudo estiver certo, o código desta célula será executado e você vai interagir com ele respondendo “sim” para cada uma das perguntas, e a saída da imagem abaixo aparecerá:

E continuamos, então, inserindo o que consta no passo 5:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
Vamos para a saída do código, incluindo o passo 5:

Atenção! Veja que estou adicionando cada um dos passos que vimos no diagrama de blocos, um a um, para facilitar o entendimento. Na fase acima, inserimos quatro respostas “sim” para as quatro primeiras instruções de verificação e uma resposta ‘não’ para a quinta instrução de verificação. Ora, com isso, seguimos em série, do topo à base do problema. Obviamente, as respostas podem variar com “sins” e “nãos” para seguir um caminho contínuo.
Depois, voltamos para tratar das demais possibilidades das instruções de verificação, incrementando um pouco mais nosso código. Abaixo, adiciono o passo 6:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
Desse modo, reexecutando o código, ao invés de responder “sim” para a pergunta “Você possui carteirinha?”, respondemos “não”, ocasionando a saída:

E vamos para o tratamento do passo 7, com a suposição de não haver ninguém que ainda não tenha pegado o lanche, isto é, todos já pegaram merenda:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
Adição do passo 7 para o caso de não ser o primeiro lanche do aluno
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 7 com o caso de não haver ninguém que não tenha comido ainda
else:
print('Há alguém na fila que ainda não pegou lanche?')
naFila_nPegou_lanche = input()
if naFila_nPegou_lanche == 'não':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
else:
print('Vá para a aula.')
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Etapa 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
Veja a saída com a inclusão dessa condição:

Incluindo o tratamento para o passo 8:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funciononário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
Adição do passo 7 para o caso de não ser o primeiro lanche do aluno
Adição do passo 8 para o caso de haver alguém ainda na fila que não tenha
comido.
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 7 com o caso de não haver ninguém que não tenha comido ainda
else:
print('Há alguém na fila que ainda não pegou lanche?')
naFila_nPegou_lanche = input()
if naFila_nPegou_lanche == 'não':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
else:
print('Vá para a aula.')
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 8 com o caso de haver alguém que ainda não tenha comido
else:
print('Aguardar que todos peguem pela primeira vez.')
print('Voltar para a fila')
# Passo 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
O passo 8 é respondendo ‘sim’ para o caso de ainda ter aluno, na fila, que ainda não pegou lanche, logo, quem quer repetir precisará esperar. Veja a saída:

Nesse momento, vamos para o passo 9 que abrange a condição de não ter mais lanche. De fato, pode acontecer do lanche seja insuficiente para que todos comam, ou acabar antes que todo mundo possa repetir. Dessa forma, o código será incrementado conforme abaixo:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funciononário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
Adição do passo 7 para o caso de não ser o primeiro lanche do aluno
Adição do passo 8 para o caso de haver alguém ainda na fila que não tenha
comido.
Adição do passo 9 para o caso de não haver mais lanche.
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 9 para o caso de não haver mais lanche
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 7 com o caso de não haver ninguém que não tenha comido ainda
else:
print('Há alguém na fila que ainda não pegou lanche?')
naFila_nPegou_lanche = input()
if naFila_nPegou_lanche == 'não':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
else:
print('Vá para a aula.')
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 8 com o caso de haver alguém que ainda não tenha comido
else:
print('Aguardar que todos peguem pela primeira vez.')
print('Voltar para a fila')
# Passo 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
Saída do passo 9:

Incluindo no código o passo 10, passamos a ter o tratamento para o caso do recreio ter acabado:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
Adição do passo 7 para o caso de não ser o primeiro lanche do aluno
Adição do passo 8 para o caso de haver alguém ainda na fila que não tenha
comido.
Adição do passo 9 para o caso de não haver mais lanche
Adição do passo 10 para o caso do recreio ter acabado
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 10 com o caso do recreio ter acabado
else:
print('Vá para a aula.')
# Passo 9 para o caso de não haver mais lanche
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 7 com o caso de não haver ninguém que não tenha comido ainda
else:
print('Há alguém na fila que ainda não pegou lanche?')
naFila_nPegou_lanche = input()
if naFila_nPegou_lanche == 'não':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
else:
print('Vá para a aula.')
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 8 com o caso de haver alguém que ainda não tenha comido
else:
print('Aguardar que todos peguem pela primeira vez.')
print('Voltar para a fila')
# Passo 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
A saída do passo 10 está logo abaixo, mostrando que respondendo “não” para a condição “Ainda é recreio?”, o aluno receberá a instrução simples: “Vá para a aula.”.

Finalmente, vamos para a colocação do código do passo 11, que é, simplesmente, a escolha de repetir o lanche. Veja:
'''
Passos 1, 2, 3 e 4 do diagrama de blocos em
https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/
Há pessoas na fila e o atendimento do primeiro da fila será feito pelo
funcionário.
Adição do passo 5 com o caso do aluno não querer repetir o lanche
Adição da passo 6 com a possibilidade do aluno não possuir a carteirinha.
Adição do passo 7 para o caso de não ser o primeiro lanche do aluno
Adição do passo 8 para o caso de haver alguém ainda na fila que não tenha
comido.
Adição do passo 9 para o caso de não haver mais lanche
Adição do passo 10 para o caso do recreio ter acabado
Adição do passo 11 para o caso de querer repetir o lanche
'''
print('Há uma fila de estudantes.')
print('Oi, você possui a carteirinha?')
resposta_carteirinha = input()
if resposta_carteirinha == 'sim':
print('É a primeira vez hoje?')
resposta_primeira_vez = input()
if resposta_primeira_vez == 'sim':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
# Passo 5 considerando que o aluno não queira repetir o lanche, ele
# aguardará o recreio terminar e, depois, voltará para a sala de aula.
print('Deseja repetir?')
resposta_repetir = input()
if resposta_repetir == 'não':
print('Aguarde o término do recreio.')
print('Vá para a sala de aula.')
# Passo 11 com o caso de querer repetir o lanche
else:
print('Volte para a fila.')
# Passo 10 com o caso do recreio ter acabado
else:
print('Vá para a aula.')
# Passo 9 para o caso de não haver mais lanche
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 7 com o caso de não haver ninguém que não tenha comido ainda
else:
print('Há alguém na fila que ainda não pegou lanche?')
naFila_nPegou_lanche = input()
if naFila_nPegou_lanche == 'não':
print('Ainda tem lanche para servir?')
resposta_tem_lanche = input()
if resposta_tem_lanche == 'sim':
print('Ainda é recreio?')
resposta_recreio = input()
if resposta_recreio == 'sim':
print(
'Fazer a leitura da carteirinha,',
' devolver a carteirinha,',
' liberar para pegar o lanche e',
' comer o lanche.'
)
else:
print('Vá para a aula.')
else:
print('Aguarde o término do recreio.')
print('Vá para a aula.')
# Passo 8 com o caso de haver alguém que ainda não tenha comido
else:
print('Aguardar que todos peguem pela primeira vez.')
print('Voltar para a fila')
# Passo 6 tratando o caso do aluno não ter carteirinha para o lanche
else:
print('Providenciar a carteirinha.')
print('Volte para a fila.')
Saída do passo 11, com o algoritmo completamente escrito em Python.
Conclusões
A digitação de um código em Python, bem como em qualquer outra linguagem de programação, será mais direcionada caso um algoritmo já tenha sido pensado e confeccionado previamente. Se programar seguindo um algoritmo já pode ser um desafio, imagine sair digitando um programa ou script sem se quer ter pensado e esboçado o mínimo do problema que se quer resolver! Crie o hábito de rabiscar primeiro, criando um diagrama de blocos ou uma sequência em pseudolinguagem.
Procurei seguir a risca todo o diagrama de blocos exposto no conteúdo “Em 12 passos monte um algoritmo na prática” [1], utilizando apenas instruções simples (print()) e instruções de verificação (if, if + else), visando ao reforço desses comandos na linguagem Python. Além disso, saliento que é totalmente possível a reescrita do algoritmo e do código, de maneiras completamente diferentes das que expus. Com efeito, é provável que qualquer uma dessas outras formas serão mais ou menos eficientes, ou, ainda, possam resolver possíveis equívocos cometidos.
Em breve a videoaula do conteúdo feito até o momento.
Referências
- Só se for útil!. Em 12 passos monte um algoritmo na prática. Só se for útil, 26 de jul. de 2024. Disponível em: <https://www.soseforutil.com.br/https-www-soseforutil-com-br-em-12-passos-monte-um-algoritmo-na-pratica/>. Acesso em: julho de 2024.
- Google. Colaboratory – Frequently Asked Questions. Disponível em: <https://research.google.com/colaboratory/faq.html>. Acesso em: julho de 2024.