Logo Passei Direto
Buscar

Inteligência Artificial

Colégio Objetivo
Considere o seguinte trecho de código:

import re
from nltk.tokenize import word_tokenize

c_codigo = '''
#include

int main() {
int i;
for (i=1; i<=10; i++) {
printf("%d ", i);
}
return 0;
}
'''

# Tokenizar o código em palavras
tokens = word_tokenize(c_codigo)

padrao = r"???"
comando_for = re.findall(padrao, ' '.join(tokens))

for s in comando_for:
print(s)
Selecione a opção correta que apresente o valor adequado para substituir o termo “???” para produzir a saída:

for ( i=1 ; i < =10 ; i++ ) { printf ( `` % d `` , i ) ; }
for\([^)]+\)\s*\{[^}]*\}
for\s*\s*\{[^}]*\}
for\s*\([^)]+\)\{[^}]*\}
for\([^)]+\)\{[^}]*\}
for\s*\([^)]+\)\s*\{[^}]*\}
User badge image
Estudando com Questões

há 4 horas

Respostas

User badge image

Ed Verified user icon

há 4 horas

Vamos analisar o problema passo a passo. Queremos extrair do código C o trecho do comando for completo, incluindo os parênteses e o bloco entre chaves. O padrão regex deve capturar: - A palavra "for" - Espaços opcionais (\s*) - O conteúdo entre parênteses: \( [^)]+ \) - Espaços opcionais (\s*) - O bloco entre chaves: \{ [^}]* \} Agora, vamos analisar as opções dadas: 1) for\([^)]+\)\s*\{[^}]*\} 2) for\s*\s*\{[^}]*\} 3) for\s*\([^)]+\)\{[^}]*\} 4) for\([^)]+\)\{[^}]*\} 5) for\s*\([^)]+\)\s*\{[^}]*\} A opção 2 está errada porque não captura o conteúdo entre parênteses. A opção 4 não considera espaços opcionais entre os parênteses e as chaves. A opção 3 não considera espaços opcionais entre os parênteses e as chaves. A opção 1 e 5 são muito parecidas, mas a opção 5 inclui \s* antes dos parênteses, o que é correto para capturar possíveis espaços entre "for" e "(". Portanto, a melhor opção é a 5: for\s*\([^)]+\)\s*\{[^}]*\} Resposta correta: for\s*\([^)]+\)\s*\{[^}]*\}

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina