Program rieši problém generovania testov prostredníctvom Boolovskej diferencie
Delphi & Pascal (česká wiki)
Kategórie: Programy v C, C++
Program: Prac_ndf.c, Booldif.zip
Soubor exe: Booldif.exe
Potřebné: Adresar.c, Color.c, Derivac.c, Error.c, Funkcie.c, Help.c, Key.c, Line_edi.c, Main.c, Menu.c, Obsluha.c, Okno.c, Prac_ndf.c, Slovnik.c, Slov_fon.c, Statist.c, Util.c, Video.c, Vystupy.c, Adresar.h, Color.h, Define.h, Error.h, Funkcie.h, Glob.h, Key.h, Line_edi.h, Mbooldif.h, Menu.h, Okno.h, Slov_fon.h, Util.h, Video.h
Příklady: Example.zip, Bin_10_o.ndf, Bin_10_o.ndf, Bin_1and.ndf, Bin_2rad.ndf, Bin_3rad.ndf, Bin_4rad.ndf, Hard.ndf, I_reg_lo.ndf, Reg_jk.ndf, Scitac_s.ndf, Scp_1rad.ndf, Scp_2rad.ndf, Scp_2r_1.ndf, Scp_3rad.ndf, Scp_4r_2.ndf, Scp_6r_3.ndf, Scp_8r_4.ndf, Sc_1r_pj.ndf, Sc_1r_sj.ndf, Sc_1_aoi.ndf, Sc_2r_4.ndf, Sc_3r_6.ndf, Sc_7400n.ndf, Sc_aon.ndf, Simp3_a.ndf, Simp3_b.ndf, Simp4_a.ndf, Simp4_b.ndf, Simp4_c.ndf, Simp6_a.ndf, Test_vod.ndf, Zle.ndf
Manual: Prirucky.zip
Program: Prac_ndf.c, Booldif.zip
Soubor exe: Booldif.exe
Potřebné: Adresar.c, Color.c, Derivac.c, Error.c, Funkcie.c, Help.c, Key.c, Line_edi.c, Main.c, Menu.c, Obsluha.c, Okno.c, Prac_ndf.c, Slovnik.c, Slov_fon.c, Statist.c, Util.c, Video.c, Vystupy.c, Adresar.h, Color.h, Define.h, Error.h, Funkcie.h, Glob.h, Key.h, Line_edi.h, Mbooldif.h, Menu.h, Okno.h, Slov_fon.h, Util.h, Video.h
Příklady: Example.zip, Bin_10_o.ndf, Bin_10_o.ndf, Bin_1and.ndf, Bin_2rad.ndf, Bin_3rad.ndf, Bin_4rad.ndf, Hard.ndf, I_reg_lo.ndf, Reg_jk.ndf, Scitac_s.ndf, Scp_1rad.ndf, Scp_2rad.ndf, Scp_2r_1.ndf, Scp_3rad.ndf, Scp_4r_2.ndf, Scp_6r_3.ndf, Scp_8r_4.ndf, Sc_1r_pj.ndf, Sc_1r_sj.ndf, Sc_1_aoi.ndf, Sc_2r_4.ndf, Sc_3r_6.ndf, Sc_7400n.ndf, Sc_aon.ndf, Simp3_a.ndf, Simp3_b.ndf, Simp4_a.ndf, Simp4_b.ndf, Simp4_c.ndf, Simp6_a.ndf, Test_vod.ndf, Zle.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é.
POZNÁMKA: Zdrojové kódy ktoré simulujú prostredie Turbo Vision niesu dielom autora.
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 ERROR.C * * * *****************************************************************************/ #include <stdio.h> #include <stdlib.h> #include "key.h" #include "glob.h" #include "okno.h" #include "video.h" #include "menu.h" #include "util.h" #include "slov_fon.h" #include "error.def" #include "error.h" //************************************************************************// // ERROR // // 30.10.1997 // //************************************************************************// void error(int i) { chybove_okno(chyba[i]); } //************************************************************************// // CHYBOVE_OKNO // // 30.10.1997 // //************************************************************************// void chybove_okno(char *sprava[]) { register int i=0; int vyska; int sirka; int zx; int zy; vyska=zisti_vysku_chyby(sprava); sirka=zisti_sirku_chyby(sprava); zx=(_stlpcov-sirka)/2; zy=(_riadkov-vyska)/2-1; if(otvor_okno(zx,zy,zx+sirka,zy+vyska,atributy[17],atributy[18],2)==FALSE) neodstranitelna_chyba(); tlac_riadok_help(" ~ENTER ~ESC n vrat",atributy[4],atributy[5]); while(*sprava!=NULL) tlac_retazec(zx+1,zy+1+(i++),atributy[17],*sprava++); pip(); do i=key(); while(i!=ENTER && i!=ESC); zatvor_okno(); } //************************************************************************// // HLASKY // // 30.10.1997 // //************************************************************************// void hlasky(char *sprava[]) { register int i=0; int vyska; int sirka; int zx; int zy; vyska=zisti_vysku_chyby(sprava); sirka=zisti_sirku_chyby(sprava); zx=(_stlpcov-sirka)/2; zy=(_riadkov-vyska)/2-3; if(otvor_okno(zx,zy,zx+sirka,zy+vyska,atributy[20],atributy[21],2)==FALSE) neodstranitelna_chyba(); tlac_riadok_help(" ~ENTER ~ESC n vrat",atributy[4],atributy[5]); while(*sprava!=NULL) tlac_retazec(zx+1,zy+1+(i++),atributy[20],*sprava++); pip(); do i=key(); while(i!=ENTER && i!=ESC); zatvor_okno(); } //************************************************************************// // NEODSTRANITELNA_CHYBA // // 30.10.1997 // //************************************************************************// void neodstranitelna_chyba(void) { nastav_video_mod(0x02); printf("\n\nNeodstranitelna chyba !!!\n\7"); exit(1); } //************************************************************************// // ZISTI_SIRKU_CHYBY // // 30.10.1997 // //************************************************************************// int zisti_sirku_chyby(char *polozky[]) { register int i=0,j; int max=0; char *p; while(polozky[i] != 0) { j=0; p=polozky[i]; i++; while(*p++!='\0') j++; if(j>max) max=j; } return max+2; } //************************************************************************// // ZISTI_VYSKU_CHYBY // // 30.10.1997 // //************************************************************************// int zisti_vysku_chyby(char *polozky[]) { register int i=0; while(polozky[i++]!=NULL); return i+1; } /*----------------------------------END-------------------------------------*/