Program rieši problém generovania testov prostredníctvom Boolovskej diferencie

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategória: Programy v C, C++

Program: Prac_ndf.cBooldif.zip
Súbor exe: Booldif.exe
Potrebné: Adresar.cColor.cDerivac.cError.cFunkcie.cHelp.cKey.cLine_edi.cMain.cMenu.cObsluha.cOkno.cPrac_ndf.cSlovnik.cSlov_fon.cStatist.cUtil.cVideo.cVystupy.cAdresar.hColor.hDefine.hError.hFunkcie.hGlob.hKey.hLine_edi.hMbooldif.hMenu.hOkno.hSlov_fon.hUtil.hVideo.h
Príklady: Example.zipBin_10_o.ndfBin_10_o.ndfBin_1and.ndfBin_2rad.ndfBin_3rad.ndfBin_4rad.ndfHard.ndfI_reg_lo.ndfReg_jk.ndfScitac_s.ndfScp_1rad.ndfScp_2rad.ndfScp_2r_1.ndfScp_3rad.ndfScp_4r_2.ndfScp_6r_3.ndfScp_8r_4.ndfSc_1r_pj.ndfSc_1r_sj.ndfSc_1_aoi.ndfSc_2r_4.ndfSc_3r_6.ndfSc_7400n.ndfSc_aon.ndfSimp3_a.ndfSimp3_b.ndfSimp4_a.ndfSimp4_b.ndfSimp4_c.ndfSimp6_a.ndfTest_vod.ndfZle.ndf
Manual: Prirucky.zip

Program rieši problém generovania testov prostredníctvom Boolovskej diferencie. Riešenie vyplýva z metódy matematicej derivácie logických zápisov funkcie v tvare Boolovského zápisu. Vytvára vektory porúch pre daný obvod, pričom zohľadňuje všetky vetviace sa vodiče. Výsledkom je úplný test.
Je implementovaný v programovacom jazyku C pre operačný systém MS-DOS, alebo iný s ním kompatibilným. Program je vhodný pre interaktívny spôsob komunikácie s užívateľom, čo umožňuje pohodlné pracovné prostredie podobné systémom Turbo Vision.

Ako príklad skúste nasledovné.
  • Menu->Voľby->Vstup->Zo Súboru. Vyberte si niektorý z ukážkových súborov.
  • Menu->Činnosť->Boolovské diferencie->Primárne vodiče
  • Menu->Činnosť->Boolovské diferencie->Vnútorné vodiče
  • Menu->Výsledky - môžete si pozrieť výsledky práce programu


POZNÁMKA: Zdrojové kódy ktoré simulujú prostredie Turbo Vision niesu dielom autora.
/*****************************************************************************
*								             *
*                                Subor MENU.H                                *
*								             *
*****************************************************************************/
 
typedef struct Polozka_HL_Menu{
	unsigned int stlpec;
	char hot_key;
	char *text;
	char *spodny_riadok;
	char **help;
	} Polozka_HL_Menu;
 
 
typedef struct Polozka_Menu{
	char	hot_key;
	char	*text;
	char	*spodny_riadok;
	char	**help;
	int	cinnost;
 
	union
		{
		int		(far* fnc)(void);
		struct	Menu	*podmenu;
		} c;
	} Polozka_Menu;
 
 
typedef struct HL_Menu{
	unsigned int riadok;
	unsigned char attr_okna;
	unsigned char attr_bar;
	unsigned char attr_hot_key;
	unsigned char attr_spodneho_riadku;
	struct Polozka_HL_Menu *polozky;
	int posledna_volba;
	} HL_Menu;
 
 
typedef struct Menu{
	unsigned int lavy;
	unsigned int horny;
	unsigned char attr_okna;
	unsigned char attr_okraja;
	unsigned char attr_bar;
	unsigned char attr_hot_key;
	unsigned char attr_spodneho_riadku;
	unsigned char typ_okraja;
 
	struct Polozka_Menu	*polozky;
 
	int posledna_volba;
	} Menu;
 
 
extern struct HL_Menu hlavne_menu;
extern struct Menu podmenu[];
 
 
int  pull_down_menu( struct HL_Menu *hlavne,struct Menu podmenu[],int volba );
int  zvisle_menu( struct Menu *menu );
int  vodorovne_menu( struct HL_Menu *menu );
void tlac_vodorovne_menu( struct HL_Menu *menu );
void zvyrazni_vodorovne_menu( struct HL_Menu *menu );
void tlac_riadok_menu( int zx,int zy,int riadok,struct Menu *menu,int sirka );
void tlac_riadok_help( char *p,unsigned char attr1,unsigned char attr2 );
int  zisti_sirku_okna( Polozka_Menu *polozky );
int  zisti_vysku_okna( Polozka_Menu *polozky );
void inic_menu( struct HL_Menu *hlavne,struct Menu podmenu[] );
 
 
/*--------------------------------END---------------------------------------*/