Como um Chatbot Sabe o Que Fazer?
📅 04 de Fevereiro de 2025
👨💼 Alexandre de Souza Jr.
📅 04 de Fevereiro de 2025
👨💼 Alexandre de Souza Jr.
Se você já interagiu com um chatbot para marcar uma consulta ou exame, pode ter se perguntado como ele sabe responder corretamente com base nas suas perguntas. A resposta está nas estruturas de decisão, um conceito fundamental na programação.
Estruturas de decisão são blocos de código que permitem que um programa tome diferentes caminhos com base em condições especificadas. Isso é essencial para tornar o software dinâmico e adaptável a diferentes cenários.
Podemos comparar isso a um chatbot de atendimento. Imagine que você envie uma mensagem perguntando sobre a disponibilidade de consultas médicas. O chatbot analisa sua pergunta e decide qual resposta fornecer. Isso é feito por meio de estruturas de decisão, como a instrução if-else em Java.
Vamos analisar como podemos programar um chatbot simples que ajude na marcação de consultas:
import java.util.Scanner;
public class ChatbotSaude {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Bem-vindo ao assistente de saúde!");
System.out.println("O que deseja fazer?");
System.out.println("(1) Marcar consulta");
System.out.println("(2) Marcar exame");
int escolha = scanner.nextInt();
if (escolha == 1) {
System.out.println("Você escolheu marcar uma consulta.");
System.out.println("Qual especialidade deseja? (1) Cardiologia (2) Ortopedia");
int especialidade = scanner.nextInt();
if (especialidade == 1) {
System.out.println("Consulta com Cardiologista agendada para próxima terça-feira.");
} else if (especialidade == 2) {
System.out.println("Consulta com Ortopedista agendada para próxima quarta-feira.");
} else {
System.out.println("Especialidade inválida. Tente novamente.");
}
} else if (escolha == 2) {
System.out.println("Você escolheu marcar um exame.");
System.out.println("Qual exame deseja?");
System.out.println("(1) Hemograma");
System.out.println("(2) Raio-X");
int exame = scanner.nextInt();
if (exame == 1) {
System.out.println("Exame de Hemograma agendado para sexta-feira.");
} else if (exame == 2) {
System.out.println("Exame de Raio-X agendado para segunda-feira.");
} else {
System.out.println("Exame inválido. Tente novamente.");
}
} else {
System.out.println("Opção inválida.");
System.out.println("Por favor, escolha 1 para consulta ou 2 para exame.");
}
scanner.close();
}
}
Pense em um atendente humano. Quando um paciente liga para marcar uma consulta, ele faz perguntas como "Qual especialidade você deseja?" e "Qual data prefere?". Com base nas respostas, ele decide qual será o próximo passo. O mesmo acontece no código acima, onde usamos if-else para verificar as opções escolhidas e tomar a decisão adequada.
Além do if-else, outra estrutura comum é o switch-case, que pode tornar o código mais organizado quando há muitas opções. Veja como ficaria um trecho do chatbot usando switch-case:
switch (escolha) {
case 1:
System.out.println("Você escolheu marcar uma consulta.");
break;
case 2:
System.out.println("Você escolheu marcar um exame.");
break;
default:
System.out.println("Opção inválida. Tente novamente.");
}
Estruturas de decisão são fundamentais na programação, permitindo que sistemas interajam com usuários de forma inteligente. Seja um chatbot, um sistema bancário ou um jogo, toda lógica condicional é baseada em conceitos como if-else e switch-case. Compreender essas estruturas é um dos primeiros passos para se tornar um programador eficiente!