Beispiel #1
0
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
        Automat automat(0);
        for(int i=1; i<Memo1->Text.Length()-1; i++)
        {
                Memo2->Text=Memo2->Text+"\r\n("+
                Memo1->Text[i]+", "+
                AnsiString(automat.psi(automat.q,Memo1->Text[i]))+", "+
                AnsiString(automat.phi(automat.q,Memo1->Text[i]))+")";

        }
}
Beispiel #2
0
void generate_random_conjunct(const config::config & conf, const config::workload & wconf, size_t source,
                              SELECTIVITY::type sel, size_t target, workload::conjunct & conj) {
    automaton automat(conf);
    size_t nb_disjuncts = uniform_random_generator(wconf.disjuncts.first, wconf.disjuncts.second).next();
    conj.disjuncts.resize(nb_disjuncts);

    if (nb_disjuncts < MIN_DISJUNCTS)
        MIN_DISJUNCTS = nb_disjuncts;
    if (nb_disjuncts > MAX_DISJUNCTS)
        MAX_DISJUNCTS = nb_disjuncts;


    auto length_gen = uniform_random_generator(wconf.length.first, wconf.length.second);
    for (auto & disjunct : conj.disjuncts) {
        size_t len = length_gen.next();
        generate_random_disjunct(automat, source, sel, target, len, wconf.length.second, disjunct);
    }
}
Beispiel #3
0
int main(int argc, char *argv[]) {
	char *c="obraz";
	char nazwa_obr[10];
	int i;
	int sizex=0;
	int sizey=0;
	int siatka[100][100];
	int csiatka[100][100];
        int ilosc_gen;
	
	FILE* in=fopen(argv[1], "r");/*plik z wspolrzednymi aktywnymi*/

       FILE* in2=fopen(argv[2], "r");/*plik z wymiarami siatki*/
		
	fscanf(in2,"%d %d", &sizex,&sizey);
	
	siatka[100][100]=siatka[sizex][sizey];
	csiatka[100][100]=csiatka[sizex][sizey];
	
	printf("Proszę podać ilość generacji:\n");
	scanf("%d", &ilosc_gen);
	
	wyzeruj(sizex, sizey, siatka);
	wyzeruj(sizex, sizey, csiatka);
	wprowadz_gen(sizey, csiatka, in);
	
	
	
	for(i=0; i< ilosc_gen ; i++){
		sprintf(nazwa_obr,"%s%d.png",c,i);
		automat(sizex, sizey, siatka, csiatka);
		process_file(sizex, sizey, siatka);
		write_png_file(nazwa_obr);
		
	}
	
	



	return 0;
}
Beispiel #4
0
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
 for(int i=1;i<=4;i++)
 for(int j=1;j<=4;j++)
  Q[j-1][i-1]=StrToInt(s->Cells[i][j]);
 for(int len=2;len<5;len++)
 {
   bool foundsameglobal = false;
   Memo1->Text=Memo1->Text+"–езультат дл¤ слов длины "+len+"\r\n—лово     \tдл¤ Vq0\tдл¤ Vq1\tдл¤ Vq2\tдл¤ Vq3\r\n";
   AnsiString str="000000";
   for(int ex=0;ex<(1<<len);ex++)
   {
     bool foundsame = false;
     bool found[32];
     for(int j=0;j<32;j++)found[j]=false;
     for(int j=0;j<len;j++)
     {
        if((ex>>j)%2==0)str[len-j]='0';
        else str[len-j]='1';
     }
     Memo1->Text=Memo1->Text+str+"\t";
     for(int j=0;j<s->ColCount-1;j++)
     {
        Automat automat(j);
        Memo1->Text=Memo1->Text+"\t";
        int sost=0;
        for(int i=1; i<=len; i++)
        {
                Memo1->Text=Memo1->Text+
                AnsiString(automat.psi(str[i]));
                sost=automat.phi(str[i]);
        }
        if(found[sost])foundsame=true;
        found[sost]=true;
     }
     Memo1->Text=Memo1->Text+"\r\n";
     if(foundsame)foundsameglobal=true;
     if(foundsame)Memo1->Text=Memo1->Text+"јвтоматы неотличимы по слову "+str+"\r\n";
   }
   //if(foundsameglobal)Memo1->Text=Memo1->Text+"\r\nјвтоматы неотличимы по слову длины "+len+"\r\n";
   if(foundsameglobal)break;
 }
Beispiel #5
0
Datei: main.c Projekt: alf632/avr
int main(void)
{
    unsigned int c;

    
    /*
     *  Initialize UART library, pass baudrate and AVR cpu clock
     *  with the macro 
     *  UART_BAUD_SELECT() (normal speed mode )
     *  or 
     *  UART_BAUD_SELECT_DOUBLE_SPEED() ( double speed mode)
     */
    uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); 
    
    DDRC = 0xff;                  /* Enable output on all of the B pins */  
    PORTC = 0x00;                 /* Set them all to 0v */
    
    /*
     * now enable interrupt, since UART library is interrupt controlled
     */
    sei();
    uart_putc('\n');
    uart_putc('\r');
	
	echo_vol();
    
    for(;;)
    {
		
        /*
         * Get received character from ringbuffer
         * uart_getc() returns in the lower byte the received character and 
         * in the higher byte (bitmask) the last receive error
         * UART_NO_DATA is returned when no data is available.
         *
         */
        c = uart_getc();
        if ( c & UART_NO_DATA )
        {
            /* 
             * no data available from UART 
             */
             //if ( mode == 'r' ){
             //rotate(last_direction);
             cli();
             automat();
             sei();
			//}
        }
        else
		{
			switch (c) {
				case 'r':
					uart_puts_P("RIGHT\n\r");
					target=target+tsteps;
					last_direction = 'r';
					mode = 'r';
					//rotate('r');
					break;
				case 'l':
					uart_puts_P("LEFT\n\r");
					target=target-tsteps;
					last_direction = 'l';
					mode = 'r';
					//rotate('l');
					break;
				case 's':
					uart_puts_P("STOP\n\r");
					mode = 's';
					PORTC = 0x00;
					break;
				case 'c':
					uart_puts_P("CALIBRATE\n\r");
					vol = 0;
					target=0;
					break;
				case 'i':
					echo_vol();
					break;
				case 't':
					uart_puts_P("Target\n\r");
					mode = 'r';
					while (1)
					{
						c = uart_getc();
						if (~ c & UART_NO_DATA )
						{
							target = (unsigned int) c * FACTOR;
							break;
						}
					}
					ltoa(target, target_str, 10);
					uart_puts("New Target:\n\r");
					uart_puts(target_str);
					uart_puts("\n\r");					
					break;
				default:
					uart_puts_P("\n\rr - Right\n\rl - Left\n\rs - stop\n\rc - Calibrate\n\rt - Target\n\ri - Info\n\r");
					echo_vol();
					break;
			}
		}
    }
    
}