Algoritmo_Quine_McCluskey.​Minimizzazione_da_Equazione_Algebrica
Form
public
Algoritmo_Quine_McCluskey.​Minimizzazione_da_Equazione_Algebrica
Properties
sop_reg
public Regex sop_reg

Filtro per l'input in forma sop (sono ammesse solo le lettere, il + e il segno di negazione)

pos_reg
public Regex pos_reg

Filtro per l'input in forma pos (sono ammesse solo le lettere, il +, il segno di negazione, e le parentesi)

Variables
quine_mccluskey
public QuineMcClusky quine_mccluskey

La procedura si avvale dell'algoritmo Quine Mc-Cluskey e del metodo di Petrick

numero_variabili
public int numero_variabili

Numero di variabili nella funzione

skip
public bool skip
Functions
Minimizzazione_da_Equazione_Algebrica
public Minimizzazione_da_Equazione_Algebrica()
Minimizzazione_da_Equazione_Algebrica_Load
private void Minimizzazione_da_Equazione_Algebrica_Load(
object sender,
EventArgs e
)
sop_cbox_CheckedChanged
private void sop_cbox_CheckedChanged(
object sender,
EventArgs e
)
pos_cbox_CheckedChanged
private void pos_cbox_CheckedChanged(
object sender,
EventArgs e
)
equazione_tbox_TextChanged
private void equazione_tbox_TextChanged(
object sender,
EventArgs e
)
minimizza_button_Click
private void minimizza_button_Click(
object sender,
EventArgs e
)
equazione_tbox_Leave
private void equazione_tbox_Leave(
object sender,
EventArgs e
)
azzera_button_Click
private void azzera_button_Click(
object sender,
EventArgs e
)
copia_toolstrip_Click
private void copia_toolstrip_Click(
object sender,
EventArgs e
)
Minimizzazione_da_Equazione_Algebrica_HelpButtonClicked
private void Minimizzazione_da_Equazione_Algebrica_HelpButtonClicked(
object sender,
CancelEventArgs e
)
posdc_cbox_CheckedChanged
private void posdc_cbox_CheckedChanged(
object sender,
EventArgs e
)
sopdc_cbox_CheckedChanged
private void sopdc_cbox_CheckedChanged(
object sender,
EventArgs e
)
dc_tbox_TextChanged
private void dc_tbox_TextChanged(
object sender,
EventArgs e
)
dc_tbox_Leave
private void dc_tbox_Leave(
object sender,
EventArgs e
)
Aggiusta_NOT
private string Aggiusta_NOT(
string espr
)

Metodo che elimina i connettivi NOT superflui

ASFD_POS
private bool ASFD_POS(
string espr,
List<stringterms
)

Parser per la forma POS basato sull'idea di automa a stati finiti deterministico. L'automa in questo caso, lavora con sei stati e un alfabeto di 30 simboli {'(', ')', '+', '~', 'A', 'B', ... , 'Z'}.

Returns

false se la stringa non appartiene al linguaggio, true viceversa.

ASFD_SOP
private bool ASFD_SOP(
string espr,
List<stringterms
)

Parser per la forma SOP basato sull'idea di automa a stati finiti deterministico. L'automa in questo caso, lavora con qattro stati e un alfabeto di 28 simboli {'+', '~', 'A', 'B', ... , 'Z'}.

Returns

false se la stringa non appartiene al linguaggio, true viceversa.

Ottieni_Numero_Variabili
private int Ottieni_Numero_Variabili(
string espressione,
string condizioni_indifferenza
)

Ricavera il numero di variabili della funzione dall'input dell'utente

SOP
private List<int> SOP(
List<stringsotto_espressioni,
int n_var
)

Ricava la tabella di veritè della funzione in forma SOP

POS
private List<int> POS(
List<stringsotto_espressioni,
int n_var
)

Ricava la tabella di veritè della funzione in forma POS

Converti_In_Binario
private static string Converti_In_Binario(
int n,
int numero_variabili
)

Procedura per la conversione in binario

Reverse
private static string Reverse(
string s
)

Procedura per l'inversione di una stringa

Sistema_Espressioni
private void Sistema_Espressioni(
bool pos,
List<stringtermini
)

Riformatta l'espressione inserita dall'utente, eliminando le ripetizioni non necessarie e riordinandone gli elementi.

Rimuovi_Duplicati
private void Rimuovi_Duplicati(
List<stringlista
)

Rimuove i termini duplicati da una lista