TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
Loading...
Searching...
No Matches
TProcura.h File Reference
#include "TVector.h"
#include <time.h>
#include <stdint.h>
#include <limits.h>
#include <stdio.h>
Include dependency graph for TProcura.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SIndicador
 
struct  SParametro
 Estrutura para registo de um parâmetro. More...
 
struct  SResultado
 
class  TProcura
 Classe base para todas as procuras. More...
 

Macros

#define _CRT_SECURE_NO_WARNINGS
 
#define NAO_LIDO   -1000000
 

Typedefs

typedef struct SIndicador TIndicador
 
typedef struct SParametro TParametro
 Estrutura para registo de um parâmetro.
 
typedef struct SResultado TResultado
 

Enumerations

enum  EIndicadoresProcura { indResultado = 0 , indTempo , indIteracoes , indProcura }
 
enum  EParametrosProcura {
  algoritmo = 0 , nivelDebug , seed , limiteTempo ,
  limiteIteracoes , parametrosProcura
}
 Identifica um parâmetro específico no código. More...
 
enum  ENivelDebug {
  nada = 0 , atividade , passos , detalhe ,
  completo
}
 Níveis de detalhamento para debug. More...
 
enum  EOperacao { gravar = 0 , ler }
 Define o sentido da operação de entrada/saída de dados. More...
 

Macro Definition Documentation

◆ _CRT_SECURE_NO_WARNINGS

#define _CRT_SECURE_NO_WARNINGS

Definition at line 3 of file TProcura.h.

◆ NAO_LIDO

#define NAO_LIDO   -1000000

Definition at line 13 of file TProcura.h.

Typedef Documentation

◆ TIndicador

typedef struct SIndicador TIndicador

◆ TParametro

typedef struct SParametro TParametro

Estrutura para registo de um parâmetro.

Permite registrar um parâmetro, armazenando seu valor, limites máximo e mínimo, além de nome e descrição. Cada valor pode ter também um nome, em vez de ser um número. Podem e devem ser adicionados parâmetros específicos de cada problema, de modo a poderem ser testados no teste empírico.

Note
Existe uma vetor de parametros declarada de forma estática, de modo a aceder a qualquer parametro de forma global no código. A ordem dos parametros estão de acordo com o tipo enumerado EParametrosConstrutiva
See also
EParametrosProcura e ResetParametros()

Exemplo:

if(parametro[nivelDebug].valor > passos)
// mostrar informação de debug correspondendo ao nível detalhe ou superior
@ passos
Exibe passos intermediários.
Definition TProcura.h:65
@ nivelDebug
Nível de debug, de reduzido a completo.
Definition TProcura.h:43

◆ TResultado

typedef struct SResultado TResultado

Enumeration Type Documentation

◆ EIndicadoresProcura

Enumerator
indResultado 

resultado do algoritmo

indTempo 

tempo em milisegundos consumidos

indIteracoes 

número de iterações consumidas

indProcura 

Marcador para permitir a extensão do enum em subclasses.

Definition at line 16 of file TProcura.h.

◆ ENivelDebug

Níveis de detalhamento para debug.

Controla a quantidade de informações exibidas durante a execução do algoritmo.

See also
nivelDebug
if(parametro[nivelDebug].valor > passos)
// mostrar informação de debug correspondendo ao nível detalhe ou superior
Enumerator
nada 

Sem informações de debug.

atividade 

Apenas eventos principais.

passos 

Exibe passos intermediários.

detalhe 

Debug detalhada sobre estados e decisões.

completo 

Mostra toda a execução detalhadamente.

Definition at line 62 of file TProcura.h.

◆ EOperacao

enum EOperacao

Define o sentido da operação de entrada/saída de dados.

Note
Utilizado em funções que requerem distinção entre operação de leitura e gravação.
Enumerator
gravar 
ler 

Definition at line 75 of file TProcura.h.

◆ EParametrosProcura

Identifica um parâmetro específico no código.

Permite aceder a cada parâmetro sem precisar saber seu código numérico. Índice do vetor de parametros, na classe TProcura.

Note
O último elemento (parametrosProcura) não representa um parâmetro real. Existe para permitir a criação de uma enumeração adicional em subclasses, caso seja necessário adicionar parâmetros específicos.
See also
TParametro, ExecutaAlgoritmo()
if(parametro[nivelDebug].valor > passos)
// mostrar informação de debug correspondendo ao nível detalhe ou superior
Enumerator
algoritmo 

Algoritmo base a executar.

nivelDebug 

Nível de debug, de reduzido a completo.

seed 

Semente aleatória para inicializar a sequência de números pseudo-aleatórios.

limiteTempo 

Tempo limite em segundos.

limiteIteracoes 

Número máximo de iterações (0 significa sem limite).

parametrosProcura 

Marcador para permitir a extensão do enum em subclasses.

Definition at line 41 of file TProcura.h.