A maneira mais fácil de reordenar a chave de resposta (lista de respostas corretas)

1

Eu tenho muitas respostas que se parecem com isso:

1.A;8.C;15.E;22.B
2.B;9.D;16.A;23.C
3.C;10.E;17.B;24.D
4.D;11.A;18.C;25.E
5.E;12.B;19.D;26.A
6.A;13.C;20.E;27.B
7.B;14.D;21.A;28.C

Estou tentando encontrar a maneira mais fácil de reorganizá-los automaticamente em algo parecido com isto:

1.A
2.B
3.C
4.D
5.E
6.A
7.B
8.C
9.D
10.E
11.A
12.B
13.C
14.D
15.E
16.A
17.B
18.C
19.D
20.E
21.A
22.B
23.C
24.D
25.E
26.A
27.B
28.C

Eu não tenho acesso a nenhuma linguagem de programação. Eu tenho tentado usar Find-Replace no bloco de notas, Wordpad, Microsoft Word e Notepad ++ e tentando pensar em algo que eu poderia fazer com AutoHotKey. Mas não consigo pensar em nada que funcione.

Qualquer ajuda seria apreciada. Obrigado!

    
por 76987 20.12.2015 / 09:56

3 respostas

1

Com o Word 2010,

  1. Pressione Ctrl-H para substituir tudo ";" com "^ p"
  2. Pressione Ctrl-A para selecionar todos
  3. Clique no ícone para classificação na guia Início (não sei a tecla de atalho para isso). Na caixa de diálogo Classificar texto, clique no botão "Opção ...". Em campos separados em, selecione Outros: e digite "." Em seguida, clique em OK para voltar. Em Classificar por, selecione Campo 1. Em Tipo: selecione Número. Clique em OK para realizar a classificação.

Opcionalmente, registre isso como uma macro e atribua a ela uma tecla de atalho.

    
por 23.12.2015 / 10:26
0

I don't have access to any programming languages.

Isso não é verdade! Você tem o Host de Scripts do Windows , que permite escrever código em VBScript, JavaScript e VBA e PowerShell que é uma poderosa linguagem de script com capacidade de explorar o .Net.

Aqui está a solução do PowerShell. Salve-o como SortAnswers.ps1 e execute na sessão do PowerShell.

Param
(
    [Parameter(Mandatory = $true)]
    [string]$InPath, # Input file

    [string]$OutPath # Output file, optional
)

# Natural sort implementation:
# https://stackoverflow.com/questions/5427506/how-to-sort-by-file-name-the-same-way-windows-explorer-does
$ToNatural = {[regex]::Replace($_, '\d+', { $args[0].Value.PadLeft(20) })}

$Sorted = Get-Content -Path $_ | # Read input file, line by line
    ForEach-Object {$_ -split ';'} | # Split every line by ';'
        Sort-Object $ToNatural # Sort resulting items and assign them to $Sorted variable

# If OutPath parameter specified
if($OutPath)
{
    # Save to file
    $Sorted | Set-Content -Path $OutPath
}
else
{
    # Display on screen
    $Sorted
}

Exemplos

  • Leia Answers.txt no diretório atual, salve as respostas classificadas em Answers_sorted.txt :

     .\SortAnswers.ps1 -InPath .\Answers.txt -OutPath .\Answers_sorted.txt
    
     or
    
     .\SortAnswers.ps1 .\Answers.txt .\Answers_sorted.txt
    
  • Leia Answers.txt no diretório atual, mostre as respostas classificadas na tela:

     .\SortAnswers.ps1 -InPath .\Answers.txt
    
     or
    
    .\SortAnswers.ps1 .\Answers.txt
    

Nota

Você precisa permitir a execução de scripts do PowerShell primeiro:

The default execution policy of PowerShell is called Restricted. In this mode, PowerShell operates as an interactive shell only. It does not run scripts, and loads only configuration files signed by a publisher that you trust. If you are getting the nasty red error the most probable cause is that you are trying to run an unsigned script.

To change it to unrestricted run the following command from an administrative PowerShell:

Set-ExecutionPolicy Unrestricted

Referências

por 23.12.2015 / 08:48
0
  • Ainda não tenho pontos suficientes para comentar, então, por favor, as pessoas não odeiem e votem fora. Estou tentando devolver à comunidade.

A "maneira mais fácil" :
Eu notei que você tem o MS Word, por isso não seria um exagero supor que você tem o MS Excel também.


Copie o texto e cole-o como está no bloco de notas e salve-o na área de trabalho, como a.txt .

Em seguida, inicie o MS Excel .
Nesta folha em branco, navegue até o menu; Dados - > Importar dados externos - > Importar Dados (navegue para a área de trabalho e escolha a.txt). Então clique em "abrir".

Um assistente de importação de texto está agora aberto.
Escolha a opção de rádio ' Delimited ', clique em 'Next'.
Selecione a caixa Delimitadores, ' Ponto-e-vírgula '.
Clique em Concluir. Então aceite clicando em OK.

Agora você tem várias colunas de dados, mas organizadas de cima para baixo, conforme desejado. No seu exemplo, você terá 4 colunas. Coluna A será 1-7, B 8-14, etc. Agora você pode copiar cada coluna adjacente e passá-la na coluna A para empilhar os dados. Leva apenas um minuto para fazer.


Espero que isso ajude!

  • Acho que essa é a abordagem mais fácil, já que você mencionou que "não tem acesso a linguagens de programa", o que significa dizer que você não é um programador que eu aceito. Como programador, você pode facilmente baixar qualquer um dos muitos compiladores e programar um algoritmo de ordenação em vários idiomas. Mas isso seria escrever um programa.
por 23.12.2015 / 09:15