Índice:

(Muito simples) Modelagem de doença (usando Scratch): 5 etapas
(Muito simples) Modelagem de doença (usando Scratch): 5 etapas

Vídeo: (Muito simples) Modelagem de doença (usando Scratch): 5 etapas

Vídeo: (Muito simples) Modelagem de doença (usando Scratch): 5 etapas
Vídeo: Expectativa x realidade. E você lindona, Opção 1 ou 2? 2024, Novembro
Anonim
(Muito simples) Modelagem de doença (usando Scratch)
(Muito simples) Modelagem de doença (usando Scratch)

Hoje estaremos simulando um surto de doença, sendo qualquer doença, não necessariamente COVID-19. Esta simulação foi inspirada em um vídeo de 3blue1brown, para o qual irei criar um link. Como isso é arrastar e soltar, não podemos fazer tanto quanto podemos com JS ou Python, mas há benefícios em usar o scratch também, então, se você quiser ver como modelar um surto com JS, você pode ver meu artigo que escrevi sobre a modelagem de surtos de doenças aqui. Agora, vamos começar!

Nota: A imagem acima é de uma simulação por quantum9innovation (não um usuário Instructables) que você pode ver aqui.

Suprimentos:

Você precisará:

  • Uma conta Scratch (você pode se inscrever aqui
  • Conhecimento básico de arrastar e soltar (mas ainda irei passar pelo código)
  • Um computador ou dispositivo com o qual você pode programar (o que provavelmente você tem, já que está lendo isto)
  • Opcional - assista ao vídeo 3b1b, ele lhe dará uma ideia do que estamos programando.

Etapa 1: configuração básica

Configuração básica
Configuração básica

Primeiro, vamos criar um projeto, intitulá-lo como quiser e, em seguida, excluir o sprite existente na tela. Você pode fazer isso clicando no botão de lixo no sprite. Agora temos uma tela em branco e você pode alterar a cor de fundo para o que quiser.

Em seguida, crie um novo sprite e, em vez de usar um existente, pinte o seu próprio. Faça um ponto azul. Este sprite representa a população suscetível da comunidade, e também teremos uma população recuperada / removida e infectada, de onde vem o nome do modelo, SIR (suscetível, infectado, recuperado / removido). Certifique-se de nomear o sprite "não infectado".

Agora, crie um novo sprite (novamente) e dê-lhe o título de sprite1, que também iremos pintar. Dê o título "Sprite1" e crie 2 fantasias, uma deve ser um ponto vermelho e a outra um ponto cinza. Faça-os traje1 e traje2, respectivamente. Esses dois representam as populações infectadas (o ponto vermelho) e recuperadas / removidas (o ponto cinza).

Etapa 2: Configurando o Código para a População Susceptível

Configurando o Código para a População Susceptível
Configurando o Código para a População Susceptível

Agora configuramos o código de população suscetível. Primeiro criamos 2 variáveis: pessoas e infectados. A variável "Pessoas" representa a população e pode ser alterada de acordo com quantas pessoas queremos em nossa simulação, e a simulação mudará de acordo. Também criamos uma variável infectada, que representa a população que tem / teve a doença. Ambas as variáveis devem ser variáveis globais, o que significa que podem ser usadas em todos os sprites.

Em seguida, copie o código acima no sprite não infectado. Vamos ver o que isso faz. Quando o programa é iniciado, o sprite fica oculto, e isso para que não tenhamos que colocar o mesmo código para clones no próprio sprite, o que ajuda. Em seguida, definimos as duas variáveis (infectados e pessoas) para o que queremos que sejam, neste caso, definimos os infectados para 1 e as pessoas para 100. Isso significa que começamos com uma pessoa infectada e 100 pessoas no total, não incluindo a pessoa infectada. Em seguida, executamos um loop, que é executado na quantidade em que a variável people é, neste caso, 100. Vamos para uma posição aleatória e então criamos um clone do sprite. Vamos para uma posição aleatória porque, dessa forma, não temos uma linha de pontos se movendo em uma direção e, em vez disso, estamos surgindo em posições aleatórias.

Etapa 3: Configurando o código para o Sprite infectado e removido

Configurando o código para o Sprite infectado e removido
Configurando o código para o Sprite infectado e removido

Agora, mude para o sprite "Sprite1" e copie o código acima. Vamos examinar isso. Quando o programa é iniciado, o sprite é oculto e executa um loop para a quantidade definida para infectado. Ele vai para uma posição aleatória e cria um clone de si mesmo.

Etapa 4: Preenchimento do Código de População Susceptível

Preenchendo o Código de População Susceptível
Preenchendo o Código de População Susceptível

Vamos analisar o que precisamos fazer:

  • Infectar
  • Mover

Mude para o sprite não infectado, copie o código acima e vamos ver como ele completa a infecção e a movimentação. Primeiro, ele vai para o figurino um, e isso realmente não é necessário, mas o temos lá, então se decidirmos adicionar mais, não precisamos nos preocupar com a troca de figurino pelos novos que adicionamos. Em seguida, ele se mostra. Se você se lembra, nós escondemos o sprite original, então os clones também ficarão escondidos, o que não queremos. Em seguida, executamos um loop eterno, que executará todo o programa até que alguém clique no sinal de parada no zero. Deslizamos para uma posição aleatória por 1 segundo e, em seguida, verificamos se estamos na borda e, nesse caso, saltamos dela. Em seguida, se estivermos tocando a cor vermelha, clonamos Sprite1 (a população infectada / removida) e aumentamos a variável infectada em 1, seguido de deletar nosso sprite.

Etapa 5: Completar o código infectado / removido

Completando o código infectado / removido
Completando o código infectado / removido

Mudando para Sprite1, criamos uma nova lista, cronômetro. Esta lista manterá o controle de quanto tempo um ponto está infectado e, após um certo tempo, ele morre ou se recupera, torna-se parte da população removida / recuperada e é representado por um ponto cinza, que não pode ser infectado novamente.

Copie o código acima e vamos examiná-lo. Quando começamos como um clone, inserimos a quantidade total de segundos que o programa está em execução na lista de cronômetros e verificaremos há quanto tempo ele está infectado e o alteraremos para ser recuperado de acordo. Escondemos a lista de cronômetros e então trocamos a fantasia de clone pela roupa infectada, para o caso, e então mostramos nosso sprite. Agora executamos um loop eterno, no qual várias coisas acontecem: dizemos ao clone para deslizar para uma posição aleatória a cada segundo, verificamos se a variável infectada é maior do que a própria população, caso em que configuramos para a população, e finalmente, vamos verificar o primeiro item da lista do cronômetro para ver se já se passaram mais de 5 segundos e, se for verdade, trocamos a fantasia pela roupa recuperada para que não possamos infectar e, em seguida, excluímos o item do cronômetro.

Recomendado: