Matematika a micro:bit: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace  | 
				Bez shrnutí editace  | 
				||
| Riadok 37: | Riadok 37: | ||
</source></tab>  | </source></tab>  | ||
<tab name="mBED C++"><syntaxhighlight lang=c style="background: Cornsilk">  | <tab name="mBED C++"><syntaxhighlight lang=c style="background: Cornsilk">  | ||
}</syntaxhighlight></tab>  | /* !!! not fully tested !!! */  | ||
void main()  | |||
{  | |||
    float c = 0.1;  | |||
    c = c + c + c + c + c + c + c + c + c + c;  | |||
    printf("\n c = %f \n",c);  | |||
    if (c == 1.0f)   | |||
      printf("\n * Je to 1,0\n");  | |||
    else   | |||
      printf("\n * Nie je to 1,0\n");  | |||
    while (1) {  /* relax */  }  | |||
}  | |||
</syntaxhighlight></tab>  | |||
</tabs>  | </tabs>  | ||
| Riadok 43: | Riadok 61: | ||
<gallery heights=200px mode="packed">  <!-- slideshow? -->  | <gallery heights=200px mode="packed">  <!-- slideshow? -->  | ||
Image:microbit-  | Image:microbit-Math2.png|''Program v blokovom jazyku''  | ||
Image:microbit-  | Image:microbit-Math2Run.png|''a jeho funkcia''  | ||
</gallery>  | </gallery>  | ||
<tabs>  | <tabs>  | ||
Verzia z 16:33, 27. september 2023
Vyskúšajme, ako je na tom mikroprocesor v micro:bite s matematikou.
Prvý pokus spravíme s číslom 0,1. Spočítame ho trikrát za sebou a pozrieme sa, či je výsledok naozaj presne 0,3.
| Viete vysvetliť, prečo je výsledok takýto? | 
Skúste sa s programom pohrať a zamenťe číslo 0,1 napr. za 0,2 alebo 0,25 či 0,5. A čo tak 1/3 alebo trebárs 1 × 1024?
| Dostanete rovnaké, alebo rôzne výsledky? Prečo? | 
- 
			
			Program v blokovom jazyku
 - 
			
			a jeho funkcia
 
Program používa dva rozličné spôsoby pre zobrazenie hodnoty premennej c. Pomocou príkazu shownNumber zobrazíme číslo na maticovom displeji micro:bitu (s obmedzenou presnosťou). Pomocou druhého príkazu writeValue pošleme hodnotu po sériovej linke (prenos cez USB) do počítača, kde ju môžeme vidieť v terminálovom okne.
 let c = 0.1
 c = c + c + c
 basic.showNumber(3)
 serial.writeValue("c", c)
 c = 0.1
 c = c + c + c
 basic.show_number(3)
 serial.write_value("c", c)
/* !!! not fully tested !!! */
void main()
{
    float c = 0.1;
    
    c = c + c + c + c + c + c + c + c + c + c;
    printf("\n c = %f \n",c);
    
    if (c == 1.0f) 
      printf("\n * Je to 1,0\n");
    else 
      printf("\n * Nie je to 1,0\n");
    while (1) {  /* relax */  }
}
- 
			
			Program v blokovom jazyku
 - 
			
			a jeho funkcia
 
 let c = 0.1
 c = c + c + c
 basic.showNumber(3)
 serial.writeValue("c", c)
 c = 0.1
 c = c + c + c
 basic.show_number(3)
 serial.write_value("c", c)
}
Späť na zoznam príkladov....
