Differences between revisions 7 and 8
Revision 7 as of 2004-11-10 12:00:21
Size: 4404
Comment:
Revision 8 as of 2004-11-26 10:02:37
Size: 6927
Comment:
Deletions are marked like this. Additions are marked like this.
Line 273: Line 273:

----

Úloha VANA1 pro uživatele PODGOR1

--------------------------------------------------------------------------------

Slovní zadání úlohy
Ve dlouhem kovovem potrubi jsou umisteny tri az ctyri vodive elektrody tak, ze jejich osa je rovnobezna s osou potrubi. Potrubi ma ctvercovy prurez o strane A.
Potencial plaste potrubi je roven 0. Elektrody jsou umisteny tak, ze jejich souradnice jsou po rade (x1,y1), (x2,y2), (x3,y3), (x4,y4) a potencialy φ1, φ2, φ3, φ4. Nektere z elektrod mohou byt pootoceny o uhel α. Tvary elektrod jsou naznaceny v obrazku. Rozmer B je roven jedne desetine A. Cervenym krouzkem je v obrazku vyznacena poloha bodu, ktery je kotovan souradnicemi x a y. Elektrody jsou na obrazku zakresleny v zakladni poloze (uhel α roven nule). Pokud jsou souradnice ctvrte elektrody zadany tak, ze lezi mimo potrubi, pak tato elektroda pole v potrubi neovlivnuje (pocitejte tedy jen se tremi elektrodami uvnitr). Potrubi je vyplneno dvema prostredimi, jejichz elektricke vodivosti jsou σ1 a σ2.

Urcete:

1) Potencialy v deseti bodech 10 az 19 o souradnicich (x10, y10) az (x19, y19)

2) Slozku intenzity elektrickeho pole Ex ve stredu potrubi.



Výpis proměnných pro Vaše zadání
Poř. proměnná hodnota jednotka
1 A 6.1 m
2 σ1 12400 S/m
3 σ2 72300 S/m
4 x1 1.34 m
5 y1 1.65 m
6 typ1 1 -
7 α1 0 rad
8 φ1 2 V
9 x2 4.39 m
10 y2 2.2 m
11 typ2 1 -
12 α2 0 rad
13 φ2 9 V
14 x3 1.43 m
15 y3 4.27 m
16 typ3 1 -
17 α3 0 rad
18 φ3 4 V
19 x4 4.48 m
20 y4 3.9 m
21 typ4 2 -
22 α4 1.571 rad
23 φ4 1 V
24 x10 0.305 m
25 y10 0.366 m
26 x11 0.61 m
27 y11 3.233 m
28 x12 1 m
29 y12 1 m
30 x13 2 m
31 y13 5 m
32 x14 3 m
33 y14 1 m
34 x15 3 m
35 y15 4 m
36 x16 3.691 m
37 y16 1.403 m
38 x17 4.423 m
39 y17 4.27 m
40 x18 5.155 m
41 y18 1.678 m
42 x19 5.551 m
43 y19 0.8845 m

 

Formulář pro zaslání výsledků
Poř. Požadovaný údaj ("vypočtěte") Povolená odchylka v procentech Váš výsledek (uveďte v SI, jednotky neuvádějte)
1 Potencial bodu 10 5
2 Potencial bodu 11 5
3 Potencial bodu 12 5
4 Potencial bodu 13 5
5 Potencial bodu 14 5
6 Potencial bodu 15 5
7 Potencial bodu 16 5
8 Potencial bodu 17 5
9 Potencial bodu 18 5
10 Potencial bodu 19 5
11 Ex 5

http://www.openforce.at/mozparty2/?party=65 http://www.onlamp.com/pub/a/onlamp/2004/11/04/which_wiki.html


#include <ipOS.h> #include <ipUART.h>

  • IP2022 configuration block

CONFIG_BLOCK (

  • FUSE0(FUSE0_XTAL | FUSE0_PIN_DIV1 | FUSE0_POUT_DIV2 | FUSE0_WUDP_128us | FUSE0_WUDX_1ms), FUSE1(0), OSC1_FREQ, "UBICOM", "starter", CONFIG_VER(0, 0, 0, 0), CONFIG_DATE(0, 0, 0), CONFIG_DATE(0, 0, 0) );

#if defined(DEBUG) #define RUNTIME_DEBUG 1 #else #define RUNTIME_DEBUG 0 #endif

THIS_FILE("main");

#define K_1 0x11 #define K_2 0x12 #define K_3 0x14 #define K_A 0x18 #define K_4 0x21 #define K_5 0x22 #define K_6 0x24 #define K_B 0x28 #define K_7 0x41 #define K_8 0x42 #define K_9 0x44 #define K_C 0x48 #define K_STAR 0x81 #define K_0 0x82 #define K_HASH 0x84 #define K_D 0x88

#define VID_X 40 #define VID_Y 30 u8_t vidmem[VID_X*VID_Y];

void zpoz(u16_t t) {

  • u16_t i, j;

    for (i = 0; i < t; i++)

    • for (j = 0; j < t; j++) {}

}

void init(void) {

  • debug_init();

    heap_add((addr_t)(&_bss_end), (addr_t)(RAMEND - (DEFAULT_STACK_SIZE - 1)) - (addr_t)(&_bss_end)); timer_init();

  • (u8_t *)RBDIR = 0x00;
  • (u8_t *)RCOUT = 0xff; memset(vidmem, 0, VID_X*VID_Y);

}

u8_t getkey() {

  • u8_t k = 0;
  • (u8_t *)RCDIR = 0x0f; zpoz(10);

    k |= *(u8_t *)RCIN & 0x0f;

  • (u8_t *)RCDIR = 0xf0; zpoz(10);

    k |= *(u8_t *)RCIN & 0xf0; return k;

}

u8_t pressed(u8_t k) {

  • if ((getkey() & k) == k) return 1; return 0;

}

void drawline(u8_t y) {

  • u8_t x = 0;

    for (x = 0; x < VID_X; x++) {

    • (u8_t *)RBOUT = vidmem[y*VID_Y+x];
    }

}

void draw() {

  • u8_t y = 0;

    for (y = 0; y < VID_Y; y++)

    • drawline(y);

}

void start(void) {

  • init(); u8_t i = 0x01; for (;;) {
    • if (pressed(K_1) && !(i & 0x80)) i *= 2; else if (pressed(K_2) && !(i & 0x01)) i /= 2;

    • (u8_t *)RBOUT = i; zpoz(100);
    }

}


#include <ipOS.h> #include <ipUART.h>

  • IP2022 configuration block

CONFIG_BLOCK (

  • FUSE0(FUSE0_XTAL | FUSE0_PIN_DIV1 | FUSE0_POUT_DIV2 | FUSE0_WUDP_128us | FUSE0_WUDX_1ms), FUSE1(0), OSC1_FREQ, "UBICOM", "starter", CONFIG_VER(0, 0, 0, 0), CONFIG_DATE(0, 0, 0), CONFIG_DATE(0, 0, 0) );

#if defined(DEBUG) #define RUNTIME_DEBUG 1 #else #define RUNTIME_DEBUG 0 #endif

THIS_FILE("main");

#define K_1 0x11 #define K_2 0x12 #define K_3 0x14 #define K_A 0x18 #define K_4 0x21 #define K_5 0x22 #define K_6 0x24 #define K_B 0x28 #define K_7 0x41 #define K_8 0x42 #define K_9 0x44 #define K_C 0x48 #define K_STAR 0x81 #define K_0 0x82 #define K_HASH 0x84 #define K_D 0x88

#define VID_X 40 #define VID_Y 30 u8_t vidmem[VID_X*VID_Y]; struct oneshot led_timer;

void zpoz(u16_t t) {

  • u16_t i, j;

    for (i = 0; i < t; i++)

    • for (j = 0; j < t; j++) {}

}

void init(void) {

  • debug_init();

    heap_add((addr_t)(&_bss_end), (addr_t)(RAMEND - (DEFAULT_STACK_SIZE - 1)) - (addr_t)(&_bss_end)); timer_init();

  • (u8_t *)RCOUT = 0xff; memset(vidmem, 0, VID_X*VID_Y);*/

    oneshot_init(&led_timer);

} /* u8_t getkey() {

  • u8_t k = 0;
  • (u8_t *)RCDIR = 0x0f; zpoz(10);

    k |= *(u8_t *)RCIN & 0x0f;

  • (u8_t *)RCDIR = 0xf0; zpoz(10);

    k |= *(u8_t *)RCIN & 0xf0; return k;

}

u8_t pressed(u8_t k) {

  • if ((getkey() & k) == k) return 1; return 0;

}

void drawline(u8_t y) {

  • u8_t x = 0;

    for (x = 0; x < VID_X; x++) {

    • (u8_t *)RBOUT = vidmem[y*VID_Y+x];
    }

}

void draw() {

  • u8_t y = 0;

    for (y = 0; y < VID_Y; y++)

    • drawline(y);

} */ void led_callback(void *arg) {

  • if (*(u8_t *)RBOUT == 0xff) *(u8_t *)RBOUT = 0; else *(u8_t *)RBOUT = 0xff; //*(u8_t *)RBOUT = 0xff; //zpoz(10); //*(u8_t *)RBOUT = 0;

    oneshot_attach(&led_timer, TICK_RATE/10, led_callback, 0);

}

void start(void) {

  • init();

// u8_t i = 0x01;

  • led_callback(0);

/* for (;;) { // if (pressed(K_1) && !(i & 0x80)) i *= 2; // else if (pressed(K_2) && !(i & 0x01)) i /= 2;

// cb();

  • //*(u8_t *)RBOUT = i;

// if (*(u8_t *)RBOUT == 0xff) *(u8_t *)RBOUT = 0; // else *(u8_t *)RBOUT = 0xff;

// cb(0); // zpoz(100);

  • }*/

}


Úloha VANA1 pro uživatele PODGOR1


Slovní zadání úlohy Ve dlouhem kovovem potrubi jsou umisteny tri az ctyri vodive elektrody tak, ze jejich osa je rovnobezna s osou potrubi. Potrubi ma ctvercovy prurez o strane A. Potencial plaste potrubi je roven 0. Elektrody jsou umisteny tak, ze jejich souradnice jsou po rade (x1,y1), (x2,y2), (x3,y3), (x4,y4) a potencialy φ1, φ2, φ3, φ4. Nektere z elektrod mohou byt pootoceny o uhel α. Tvary elektrod jsou naznaceny v obrazku. Rozmer B je roven jedne desetine A. Cervenym krouzkem je v obrazku vyznacena poloha bodu, ktery je kotovan souradnicemi x a y. Elektrody jsou na obrazku zakresleny v zakladni poloze (uhel α roven nule). Pokud jsou souradnice ctvrte elektrody zadany tak, ze lezi mimo potrubi, pak tato elektroda pole v potrubi neovlivnuje (pocitejte tedy jen se tremi elektrodami uvnitr). Potrubi je vyplneno dvema prostredimi, jejichz elektricke vodivosti jsou σ1 a σ2.

Urcete:

1) Potencialy v deseti bodech 10 az 19 o souradnicich (x10, y10) az (x19, y19)

2) Slozku intenzity elektrickeho pole Ex ve stredu potrubi.

Výpis proměnných pro Vaše zadání Poř. proměnná hodnota jednotka 1 A 6.1 m 2 σ1 12400 S/m 3 σ2 72300 S/m 4 x1 1.34 m 5 y1 1.65 m 6 typ1 1 - 7 α1 0 rad 8 φ1 2 V 9 x2 4.39 m 10 y2 2.2 m 11 typ2 1 - 12 α2 0 rad 13 φ2 9 V 14 x3 1.43 m 15 y3 4.27 m 16 typ3 1 - 17 α3 0 rad 18 φ3 4 V 19 x4 4.48 m 20 y4 3.9 m 21 typ4 2 - 22 α4 1.571 rad 23 φ4 1 V 24 x10 0.305 m 25 y10 0.366 m 26 x11 0.61 m 27 y11 3.233 m 28 x12 1 m 29 y12 1 m 30 x13 2 m 31 y13 5 m 32 x14 3 m 33 y14 1 m 34 x15 3 m 35 y15 4 m 36 x16 3.691 m 37 y16 1.403 m 38 x17 4.423 m 39 y17 4.27 m 40 x18 5.155 m 41 y18 1.678 m 42 x19 5.551 m 43 y19 0.8845 m

Formulář pro zaslání výsledků Poř. Požadovaný údaj ("vypočtěte") Povolená odchylka v procentech Váš výsledek (uveďte v SI, jednotky neuvádějte) 1 Potencial bodu 10 5 2 Potencial bodu 11 5 3 Potencial bodu 12 5 4 Potencial bodu 13 5 5 Potencial bodu 14 5 6 Potencial bodu 15 5 7 Potencial bodu 16 5 8 Potencial bodu 17 5 9 Potencial bodu 18 5 10 Potencial bodu 19 5 11 Ex 5