66
Macros

macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macros

Page 2: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Roteiro

1. Introdução2. Linhas de Comando3. Reexecução de Comandos4. Macro Global5. Macro Local6. Controle de Fluxo7. Referências

Page 3: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Introdução

Page 4: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macros

• Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab√ São um conjunto de comandos armazenados em

arquivo de texto.√ Podem ser utilizadas como comandos nas janelas

Session ou Command Line Editor.

Page 5: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Tipos de Macros

• Exec: forma mais antiga de macros;• Macro Global: forma mais simples de

macro• Macro Local: Forma mais sofisticada de

macro

Page 6: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Linhas de Comando

Page 7: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos

• Cada comando do menu possui uma linha de comando correspondente;

• Consistem de:√ Comando principal;√ Um ou mais subcomandos.

Page 8: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Argumentos

• Os comandos podem ser acompanhados de uma série de argumentos:√ Colunas;√ Constantes;√ Matrizes;√ Strings de texto;√ Números.

Page 9: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Linhas de Comando

• Podem ser:• Digitados na janela Session ou Command Line

Editor;• Copiados da pasta History para o Command

Line Editor;• Copiados e salvos em um arquivo Exec o qual

pode ser reexecutado em outras sessões ou compartilhado com outros usuários.

Page 10: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Prompt da Janela Session

• Para digitar os comandos na janela Sessiondeve-se habilitar o prompt:√ Torne ativa a janela Session (clique em sua guia)√ Selecione Editor > Enable Commands

Prompt

Page 11: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

• O ponto-e-vírgula indica a inserção de subcomando.

• O ponto indica o fim de uma seqüência de comandos.

Page 12: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos – Regras (1)

• Pode-se usar as quatros primeiras letras para abreviar um comando ou subcomando;

• Para sair de um comando multi-linha sem executá-lo, digite ABORT;

• Os nomes das variáveis devem estar entre aspas simples (ex.: ‘salario’)

• Pode-se abreviar com um traço (-) um intervalo de colunas (ou constantes ou matrizes);

Page 13: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos – Regras (2)

• Podem-se usar os seguintes comandos para especificar intervalo de números entre 1 e 4.

√ 1:4 (1; 2; 3; 4)

√ 4:1 (4; 3; 2; 1)

√ 1:3/0,5 (1; 1,5; 2; 2,5; 3)

• Usar o símbolo & para continuar um comando até a próxima linha;

Page 14: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos – Regras (3)

• Use o símbolo # para comentários. Ele faz com que seja ignorado o que estiver digitado no restante das linhas;

• Pode-se copiar comando (ou seqüência de comandos) executados anteriormente da janela Session ou History e colados na janela Session.

√ Para inserir uma linha utiliza CTRL + ENTER

Page 15: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos – Sintaxe (1)

• C: coluna√ C1 até o máximo de C4000

(limitado pela memória)

• K: constante ou número armazenado√ K1 a K1000 √ Defauts: K998 = * (missing), K999 = 2.71828 (e)

e K1000 = 3.14159 (pi)

• M: matriz√ M1 a M100

Page 16: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comandos – Sintaxe (2)

• Para facilitar sua manipulação, pode-se dar nomes às constantes (K) e matrizes (M).

Page 17: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Pasta History• Armazena as linhas correspondentes aos comandos

de Menu utilizados;• Para acessar a pasta History:

√ Selecione Window > Project Manager√ Clique na guia History.

Page 18: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

• O Minitab não gera automaticamente novas linhas de comando quando se edita um gráfico;

• Para gerar as linhas de comando (incluindo as alterações de edição):

√ Editor > Copy Command Language:copia os comandos para a área de transferência

√ Editor > Duplicate Graph:Recria o gráfico e armazena as linhas de comando na pasta History

Page 19: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

A densidade como escala de y foi escolhida após geração do gráfico.

Page 20: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Reexecução de Comandos

Page 21: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Reexecução de Série de Comandos

• Selecione os comandos desejados na pasta History;

• Clicar em Edit > Command Line Editor;• Repita ou altere os comandos• Clique em Submit Commands.

Page 22: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

• Em History, selecionados os comandos, pode-se clicar com o botão direito do mouse para abrir o Command Line Editor;

Page 23: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Repetição com Exec

• Arquivo de texto contendo série de comandos do Minitab;

• Repete análise sem usar os comandos do menu ou digitar as linhas de comando;

• Os comandos usados com o Command LineEditor podem ser salvos como um Exec e ecutados a qualquer tempo

Page 24: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exec no Menu History• Selecione Window > Project Manager• Clique na guia History;• Selecione as linhas de comando;• Clique com o botão direito e selecione: Save as• Em Save as type, selecione Exec Files (*.MTB)

Page 25: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Reexecução dos Comandos

• Repete a análise a qualquer momento:√ Selecione File > Other Files > Run as Exec;√ Clique em Select File√ Selecione o arquivo e clique na guia Open.

Page 26: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados
Page 27: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Comentários

• Pode-se executar o Exec usando-se outra planilha, desde que os nomes das colunas coincidam;

• Se desejar usar o Exec com colunas diferentes, basta editá-lo com o editor de textos (Bloco de Notas);

Page 28: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macro Global

Page 29: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macros Global e Local

Ambas permitem:√ Criar um programa de comandos do Minitab;√ Usar elementos de programação tais como

loops e condicionais (IF_THEN_ELSE; DO_WHILE)

√ Inclusão de subrotinas;√ Usar uma macro dentro da outra;

Page 30: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Tipos de Planilhas

• Planilha Global:A planilha ativa quando a macro global éexecutada (todas as colunas, constantes e matrizes);

• Planilha Local:É criada ao executar a macro e é deletada da memória do computador quando a macro éconcluída(somente a macro pode “ver” a planilha)

Page 31: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macro Global – Características

• Age diretamente na planilha em uso (planilha global);

• Ao escrever a macro, deve-se saber quais colunas, constantes e matrizes serão usadas ao executar a macro;

• Não executam macros locaisAlguns comandos dos menus são macros locais

Page 32: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macro Global – Uso

Usar quando:• A tarefa é simples;• É possível saber os estado da planilha;• Não necessitar de comandos que são macros

locais;

Page 33: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Criando uma Macro

• Use um processador de texto para escrevê-la;

• Salve-a no sub-diretório MACROS, com extensão .MAC

• Para executar a macro entre com:% nome_da_macro

• Se julgar mais conveniente, execute interativamente os comandos e copie-os da janela Session ou History

Page 34: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Criando uma Macro (2)

• Para mostrar uma linha em branco use o comando NOTE

• Se a extensão do arquivo não for .MAC, digite o nome e a extensão do arquivo

• Caso o arquivo tenha sido salvo em outro diretório, especifique seu caminho

(% caminho_do_arquivo\nome_da_macro)

Page 35: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Estrutura Macro Global

• Uma macro global segue a seguinte estrutura:

Início da macro global

GMACRO

Nome da macroTemplate

Comandos da macro

Body of the macro

Final da macro global

ENDMACRO

Page 36: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

GMACRO e ENDMACRO

• Marcam o início e o fim de cada macro;• Não podem ser abreviados• GMACRO deve estar na 1ª. da macro e

indica que a macro é global.

Page 37: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Template

• É o nome da macro;

• Pode conter: letras, números ou o caractere underscore, mas deve iniciar com uma letra;

• O Minitab ignora maiúsculas/minúsculas;

• É conveniente, mas não é necessário que o nome do arquivo e do template sejam os mesmos.

Page 38: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Corpo da Macro

• Consiste de comandos Minitab e comandos de outras macros globais;

• A indentação durante a digitação não énecessária, mas pode facilitar sua leitura

Page 39: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Criando a Macro de uma Sessão (1)

• Execute os comandos desejados para sua macro;

• Selecione Window > History• Selecione e copie os comandos desejados;• Cole os comandos no Bloco de Notas;• Mude os comandos que desejar;

Page 40: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Criando a Macro de uma Sessão (2)

• Insira os comandos:√ GMACRO (1ª linha)√ Nome_da_macro (Template)√ ENDMACRO (última linha)

• Salve o arquivo com extensão TXT ou MAC , no subdiretório MACROS.

Page 41: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Regressão• Crie a macro abaixo:

GMACRO Marca o início da macro ANALYSE Nome da macro RANDOM 30 C2; # Cria variável Chem 1 Uniform 1 50. RANDOM 30 C3; # Cria variável Chem 2 Uniform 1 50. LET C1 = 2 + 0,5*C2 + 4*C3 NAME C1 'Yield' C2 'Chem1' & C3 'Chem2' C5 'Ln.Yield' PRINT C1 - C3 DESCRIBE C1 - C3 LET C5 = LOGE('Yield') REGRESS C5 2 C1 C2

ENDMACRO Marca o final da macro

Page 42: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Execução da Macro

• Para executar, digite %nome_da_macro;√ Ex. Entre %analise

• Se a extensão do arquivo não for MAC deve-se digitá-la também;

• Ao ser executada, o Minitab procura a macro primeiro no diretório atual e depois no subdiretório MACROS√ Caso a macro não esteja salva em um desses

diretório, deve-se especificar o caminho até ela.

Page 43: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplos

ExecuçãoNome arquivoTemplate

%MYMACROMyMacro.MACMyMacro

%TESTTEST.MACAnalise

%TESTE2.TXTTESTE2.TXTAnalise2

%C:\pasta1\... \analiseAnalise.MACAnalise

Page 44: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Adicionando Comandos

• Os comandos de programação tornam a macro mais flexível e poderosa:√ IF, ELSEIF, ELSE e ENDIF:

executa ação apenas se condição for verdadeira√ Loop do tipo DO, ENDDO:

executa ação um número específico de vezes√ Loop do tipo WHILE, ENDWHILE:

repete bloco de comandos enquanto condição for verdadeira

Page 45: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Operadores Lógicos

= (ou EQ) : igual a~= (ou NE): diferente de< (ou LT) : menor que> (ou GT) : maior que<= (ou LE): menor ou igual que>= (ou GE): maior ou igual que& (ou AND): e| (ou OR) : ou~ (ou NOT): não

Page 46: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Estrutura Condicional

IF expressão lógicabloco de comandos Minitab ®

ELSEIF expressão lógicabloco de comandos Minitab®

ELSEbloco de comandos Minitab®

ENDIFObs.: Pode-se usar até 50 ELSEIF

Page 47: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Médias Colunas

• Crie a macro abaixo:GMACRO SMALL # # Imprime a coluna cuja media é a menor dentre as colunas C1-C3 # Avisa se houver valores de média iguais # LET K1 = MEAN(C1) LET K2 = MEAN(C2) LET K3 = MEAN(C3) IF K1 < K2 AND K1 < K3 PRINT C1 ELSEIF K2 < K1 AND K2 < K3 PRINT C2 ELSEIF K3 < K1 AND K3 < K2 PRINT C3 ELSE NOTE Há colunas com mesma média ENDIF ENDMACRO

Page 48: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Loop – Qte Fixa de Vezes

DO K = lista de númerosbloco de comandos Minitab®

ENDDO• Obs.:

√ O loop continua até que todos os números nalista sejam usados;

√ O loop pode ser interrompido pelos comandos: BREAK, GOTO, RETURN ou EXIT

Page 49: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Média Móvel

• Crie a macro abaixo:

GMACRO Media_Movel # # Calcula a média móvel simples dos dados em C1 # Armazena a média calculada em C2 # LET K1 = COUNT(C1) LET C2(1) = '*' LET C2(2) = '*' DO K2 = 3 : K1 LET C2(K2) = (C1(K2-1)+C1(K2)+C1(K2+1))/3 ENDDO ENDMACRO

Page 50: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Loop – Qte. Condicionada de Vezes

WHILE expressão lógicabloco de comandos do Minitab

ENDWHILE• Obs.:

√ Repete os comandos enquanto a expressão lógica for verdadeira

Page 51: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplos – Raiz de Polinômio

• Crie a macro abaixo para calcular a raiz do polinômio

GMACRO Raizes # # Busca as raízes de um polinômio específico # O resultado está a no máximo 0,01 do valor exato # K90 - K93 são usados como constantes auxiliares # NAME K90 'X' K91 'Y' K92 'X_m' K93 'Y_m' LET 'X' = 0 LET 'Y' = -1 WHILE 'Y' <0 LET 'X' = 'X' + 0,01 LET 'Y' = -1 + 'X' + 'X'**3 ENDWHILE LET 'X_m' = 'X' - 0,01 LET 'Y_m' = -1 + 'X_m' + 'X_m'**3 PRINT 'X_m' 'Y_m' 'X' 'Y' ENDMACRO

013 =−+ xx

Page 52: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

NEXT

• Transfere o controle para o início de loop DO ou WHILE;

• Para o loop DO, a variável de controle éajustada para o próximo valor na lista e o loop é executado novamente

Page 53: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Cincos

• Crie a macro abaixo:GMACRO Cincos # # Cria a coluna X e muda para 5 todos os valores que sejam >=5 # K90 e K91 são usados como constantes auxiliares # NAME C1 'X' K90 'N' K91 'I' RANDOM 30 'X'; NORMAL 4 1. LET 'N' = COUNT(C1) DO 'I' = 1 : 'N' IF C1('I') <= 5 NEXT ELSE LET C1('I') = 5 ENDIF ENDDO ENDMACRO

Page 54: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

BREAK

• Transfere o controle para o comando imediatamente após o final de loop DO ou WHILE;

Page 55: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo - Nomiss• Crie a macro abaixo:

GMACRO Nomiss # # Cria a coluna X, com um dado perdido. # Procura o dado perdido e deleta todas as observações a partir dele # K90 - K92 são usados como constantes auxiliares # NAME C1 'X' RANDOM 30 'X'; NORMAL 4 1. RANDOM 1 C2; Integer 1 30. LET K92 = C2(1) LET 'X'(K92) = '*' LET K90 = COUNT('X') DO K91 = 1 : K90 IF 'X'(K91) = '*' BREAK ENDIF ENDDO DELETE K91:K90 'X' ENDMACRO

Page 56: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

GOTO, MLABEL

GOTO númerooutros comandos do Minitab

MLABEL número• Obs.:

√ Permite desvio para qualquer linha da macro;√ Um GOTO é ligado ao MLABEL que tenha o

mesmo número;√ O número pode ser qualquer inteiro de 1 a 8

dígitos;

Page 57: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Nomiss (2)• Crie a macro abaixo:

GMACRO Nomiss_2 # # Cria a coluna X, com um dado perdido. # Procura o dado perdido e deleta todas as observações a partir dele # K90 - K92 são usados como constantes auxiliares # NAME C1 'X' RANDOM 30 'X'; NORMAL 4 1. RANDOM 1 C2; Integer 1 30. LET K92 = C2(1) LET 'X'(K92) = '*' LET K90 = COUNT('X') DO K91 = 1 : K90 IF 'X'(K91) = '*' GOTO 5 ENDIF ENDDO MLABEL 5 DELETE K91:K90 'X' ENDMACRO

Page 58: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macro Local

Page 59: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macro Local – Características

• Podem usar argumentos, sub-comandos e variáveis locais;

• São mais poderosas e mais flexíveis que as macros globais (também de construção mais difícil)

Page 60: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Início da macro localMACRO

Estrutura Macro Local

Nome da macro, subcomandos e argumentos

Template

Comandos da macroBody of the macro

Final da macro local

ENDMACRO

Declaração das variáveis

Declaration ofstatements

Page 61: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Média Aparada

MACRO Marca o início da macro

APARA X XBAR Comando p/ execução # # Considera coluna X como entrada. # Ordena apara 5% nas extremidades

MCONSTANT N T1 T2 XBAR MCOLUMN X XSORT XTRIM Declaração variáveis

# # Cálculo dos pontos de corte T1 e T2 # LET N = COUNT(X) LET T1 = ROUND(N*0,05) LET T2 = N-T1+1 # criação da coluna aparada IF T1=0

LET XTRIM=X #Não apara ELSE # caso contrário apara LET XSORT=SORT(X) COPY XSORT XTRIM; OMIT 1:T1 T2:N. ENDIF LET XBAR=MEAN(XTRIM)

Corpo da macro

ENDMACRO Marca o final da macro

Page 62: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Média Aparada

• Gere 100 números aleatórios de uma exponencial com média 1;

• Execute a macro e calcule a média aparada:√ %APARA C_nº_coluna K1

• Verifique o valor calculado:√ PRINT K1

• Compare com a média aritmética e exata

Page 63: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Macros Disponíveis

• Há muitas macros do Minitab disponíveis, encontradas facilmente na web;

• Um site recomendado é:√ http://www.minitabbrasil.com.br/suporte/macros

• A macro pode ser facilmente armazenada no diretório adequado:√ Salve a macro em extensão .TXT ou .MAC

Page 64: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Exemplo – Determinante

• Crie a matriz:

• Vá ao site indicado e faça o download da macro adequada;

• Instale no diretório adequado; • Verifique o comando para seu

funcionamento;• Calcule o determinante de M1.

−−−

=

12104410128848104

48416

1M

Page 65: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Referências

Page 66: macros - Bessegato · 2012. 5. 25. · Macros • Servem para automatizar tarefas repetitivas ou para estender funcionalidades do Minitab √ São um conjunto de comandos armazenados

Bibliografia Recomendada

• Minitab Corp. (meio eletrônico)Macros – Versão 14 e 15.

• Soares, J. F. e Rodrigues M. D. F. (Relatório Técnico EST/UFMG) Introdução ao Software Minitab for Windows