Positionssystemet och olika talbaser: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Hakan (diskussion | bidrag) |
Hakan (diskussion | bidrag) |
||
(31 mellanliggande sidversioner av 2 användare visas inte) | |||
Rad 1: | Rad 1: | ||
__NOTOC__ | |||
= Teori = | |||
{{malruta | Talbaser | |||
Du kommer att lära dig om binära tal och andra talbaser samt hur man omvandlar mellan dem. | Du kommer att lära dig om binära tal och andra talbaser samt hur man omvandlar mellan dem. | ||
}} | }} | ||
=== Decimala talsystemet === | |||
'''Decimala talsystemet''' (tiosystemet) är ett positionssystem som baseras på talet 10 och därmed använder 10 olika siffror (det normala antalet fingrar), 0–9. Sedan låter man siffrans position bestämma vilken 10-potens som siffran skall multipliceras med. På detta sätt blir talet | '''Decimala talsystemet''' (tiosystemet) är ett positionssystem som baseras på talet 10 och därmed använder 10 olika siffror (det normala antalet fingrar), 0–9. Sedan låter man siffrans position bestämma vilken 10-potens som siffran skall multipliceras med. På detta sätt blir talet | ||
Rad 64: | Rad 28: | ||
Precis som i det decimala talsystemet är den högra siffran minst signifikant. Med enbart den siffran kan talet 0 och 1 beskrivas. För att beskriva talet 2 måste en ny siffra skrivas till vänster om den första, det vill säga '10', varpå talet 3 följer representerat som '11'. Detta fortgår på samma maner ju högre upp man behöver komma. | Precis som i det decimala talsystemet är den högra siffran minst signifikant. Med enbart den siffran kan talet 0 och 1 beskrivas. För att beskriva talet 2 måste en ny siffra skrivas till vänster om den första, det vill säga '10', varpå talet 3 följer representerat som '11'. Detta fortgår på samma maner ju högre upp man behöver komma. | ||
=== Talsystem med olika baser === | |||
Det finns flera olika talsystem som är uppbyggda med andra antal siffror än det binära talsystemet och det decimala talsystemet. Alla olika talsystem har en bas som anger hur många siffror vi får använda i just det talsystemet. Om vi tar ett talsystem med basen 5, då får vi bara använda fem siffror (0, 1, 2, 3 och 4). Precis som med det decimala talsystemet (som har basen tio) och det binära talsystemet (som har basen två) så är det positionerna på ett tal som anger hur mycket en siffra är värd. Alla dessa talsystem med olika baser är också positionssytem. | |||
Om vi har talet 343 skrivet i basen fem, kan vi skriva det som 343<sub>5</sub> för att förtydliga att vi menar just basen fem. Vill vi skriva om talet till bas tio gör vi följande: | |||
343<sub>5</sub> = (3⋅5<sup>2</sup> + 4⋅5<sup>1</sup> + 3⋅5<sup>0</sup>)<sub>10</sub> = (3⋅25 + 4⋅ 5 +3⋅1)<sub>10</sub> = 98<sub>10</sub> | |||
Ett tal med basen fem menar då att positionerna, från höger till vänster, betyder ental, femtal, tjugofemtal, hundratjugofemtal, och så vidare. | |||
''Detta stycke kommer från [https://www.matteboken.se/lektioner/matte-1/tal/talsystem Matteboken.se]'' | |||
= Exempel = | |||
==== Omvandla binärt till decimalt==== | ==== Omvandla binärt till decimalt==== | ||
Rad 76: | Rad 53: | ||
: 128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 {{=}} 173 | : 128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 {{=}} 173 | ||
}} | |||
Exempel på hur man kan skriva för att konvertera ett tal i basen 5 till decimaltal. | |||
{{exruta| '''Från basen 5 till 10''' | |||
Talet 32 är i basen 5. Skriv talet på basen 10. | |||
: <math>32_5 = 3 \cdot 5^1 + 2 \cdot 5^0 = 3 \cdot 5 + 2 \cdot 1 = 17_{10} </math> | |||
}} | }} | ||
Rad 95: | Rad 80: | ||
=== Hexadecimala talsystemet === | === Hexadecimala talsystemet === | ||
{{ | {{exruta| '''Omvandla från hexadecimalt till basen fem''' | ||
Skriv talet 3F<sub>16</sub> på basen fem. | Skriv talet 3F<sub>16</sub> på basen fem. | ||
Rad 105: | Rad 90: | ||
Gör nu om till basen fem. | Gör nu om till basen fem. | ||
I tabellen nedan har vi prövat oss fram för att finna lämplig positionssiffra genom att börja nedifrån. Vi ser nu att ''' | I tabellen nedan har vi prövat oss fram för att finna lämplig positionssiffra genom att börja nedifrån. Vi ser nu att '''223<sub>5</sub>''' {{=}} 63<sub>10</sub> {{=}} 3F<sub>16</sub> | ||
}} | }} | ||
Rad 114: | Rad 99: | ||
| 5<sup>0</sup>|| 1|| 3|| 3 | | 5<sup>0</sup>|| 1|| 3|| 3 | ||
|- | |- | ||
| 5<sup>1</sup>|| 5|| | | 5<sup>1</sup>|| 5|| 2|| 10 | ||
|- | |- | ||
| 5<sup>2</sup>|| 25|| | | 5<sup>2</sup>|| 25|| 2|| 50 | ||
|} | |} | ||
== Lär mer == | = Aktivitet = | ||
=== Bekanta dig med tal skrivna på olika baser === | |||
* Hur skriver man ett tal på en viss bas? | |||
* Vilka talbaser är vanliga? | |||
* Hur omvandlar man? | |||
* Testa apparna nedan | |||
I teoriavsnittet nedan ska vi gå närmare in på hur man konverterar och skriver tal på olika baser. | |||
=== Binära tal === | |||
Välj bas 10 eller 2 och dra i glidaren. Kontrollräkna för att se att du förstår.<br /> | |||
<html> | |||
<iframe scrolling="no" title="" src="https://www.geogebra.org/material/iframe/id/PAN3HuJ5/width/800/height/450/border/888888/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="800px" height="450px" style="border:0px;"> </iframe> | |||
</html> | |||
<br /> | |||
= GeoGebra = | |||
A little tool to show an integer in all important bases quickly: Edit any of the four textfields and press enter - the three remaining Numbers will be converted. <br /> | |||
<html> | |||
<iframe scrolling="no" title="Number Base Converter" src="https://www.geogebra.org/material/iframe/id/rvhaSZPH/width/584/height/366/border/888888/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/true/rc/false/ld/false/sdz/true/ctl/false" width="584px" height="366px" style="border:0px;"> </iframe> | |||
</html> | |||
https://www.geogebra.org/m/dDQCBAN3 | |||
= Pythonprogram = | |||
[[Kategori:Python]] [[Kategori:Ma1c]] [[Kategori:Aritmetik]] | |||
{{python|[[Python|Python-hjälp]] och [https://wikiskola.se/index.php?title{{=}}Kategori:Python Fler uppgifter]}} | |||
{{malruta| '''Kom igång med programmering i matematiken.''' | |||
Målet är att du ska använda program för att utföra matematiska beräkningar. | |||
Du bör testa att modifiera algoritmen så att dina beräkningar blir mer effektiva. | |||
Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod. | |||
}} | |||
Det här är ett förhållandevis komplicerat program för att komma så pass tidigt i kursen men vi testar det i alla fall och tittar på koden för att lära oss mer. | |||
== Omvandla till binärt med ett Pythonprogram == | |||
{{uppgruta| '''Binäromvandling''' | |||
# Testa programmet med några olika tal. | |||
# Gå igenom koden och läs kommentarerna. Hur fungerar programmet? | |||
}} | |||
{{clear}} | |||
== Python-koden == | |||
<pre> | |||
tal = int(input("Ange heltal att omvandla till binärt: ")) | |||
bas2 = [] | |||
if tal != 0: | |||
bas2h = '' | |||
while tal > 0: | |||
#Bilda biten med den högsta bitvikten | |||
bit = int(tal % 2) | |||
#Dividera bort denna | |||
tal = tal // 2 | |||
#Lägg in den beräknade biten i en lista | |||
bas2.append(bit) | |||
#Vänd på listan | |||
#Biten med den högsta vikten lades ju in först | |||
#Detta är inte nödvändigt om man väljer att skriva ut listan baklänges (nedan) | |||
bas2.reverse() | |||
print("Talet blir ", end="") | |||
for bit in bas2: | |||
#end="" gör så att raden inte bryts och att inget skrivs ut mellan tecknen. | |||
print(bit, end="") | |||
print(" i bas 2.") | |||
#Om du inte vänder på listan: | |||
#for i in range(len(bas2) - 1, -1, -1): | |||
#print(bas2[i], end="") | |||
</pre> | |||
Uppgiften är inspirerad av Malmö stads [https://sites.google.com/skola.malmo.se/programmeringsfortbildning/kursmaterial/tr%C3%A4ff-5?authuser=0 Matematisk programmering i Python] | |||
= Lär mer = | |||
{| wikitable align=right | |||
|- | |||
| {{sway | [https://sway.com/ZeXlAKGoAr0CrRwB?ref{{=}}Link Talbaser] }}<br /> | |||
{{gleerups| [https://gleerupsportal.se/laromedel/exponent-1c/article/51e05b19-539b-4fce-a418-8ac8e8858d33 Romerska tal, mm] }}<br /> | |||
{{matteboken |[https://www.matteboken.se/lektioner/matte-1/tal/talsystem Talsystem] }}<br /> | |||
|} | |||
=== NCM - Tankeläsning med binära tal === | === NCM - Tankeläsning med binära tal === | ||
[http://ncm.gu.se/pdf/namnaren/3234_08_4.pdf NCM- | [http://ncm.gu.se/pdf/namnaren/3234_08_4.pdf NCM-artikel - Tankeläsaren] Intressant för läraren men kul trick för alla som vill. | ||
=== UR-teori och övningar === | === UR-teori och övningar === | ||
Rad 168: | Rad 247: | ||
<iframe scrolling="no" title="" src="https://www.geogebra.org/material/iframe/id/jyk3M9kw/width/1015/height/556/border/888888/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="1015px" height="556px" style="border:0px;"> </iframe> | <iframe scrolling="no" title="" src="https://www.geogebra.org/material/iframe/id/jyk3M9kw/width/1015/height/556/border/888888/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="1015px" height="556px" style="border:0px;"> </iframe> | ||
</html> | </html> | ||
== Exit ticket == | == Exit ticket == | ||
Exit ticket: Talbaser | Exit ticket: Talbaser | ||
<headertabs /> |