Behöver hjälp med lösningar till Tenta uppgifter Arduino

Trädvy Permalänk
Medlem
Registrerad
Jan 2016

Behöver hjälp med lösningar till Tenta uppgifter Arduino

Hej det e snart dags för en gammal omtenta av en kurs i datorteknik.

jag vill säga att jag inte är så duktig på detta och det var ett tag sen jag läste kursen.
Behöver hjälp lösningar till några gamla tentauppgifter.

1)
Skriv en for-loop som skriver ut kvadraten på tal mellan 0 och 9. Använd
funktionerna Serial.println() och Serial.print() för utskrift. Utskriften skall se ut på
följande sätt
0*0=0
1*1=1
2*2=4
3*3=9
.
.
.
9*9=81

2)
a) Skriv funktionen ”Kvadrat(x)” och deklarera variablerna. Funktionen skall
returnera kvadraten på inargumentvärdet x.
b) Anropa funktionen ”Kvadrat” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

3)
En vektor med heltal har sparats i:
int Mat_data_Vektor[10];
a) Skriv en for-loop som letar om det finns ett större tal i vektorn än 100. Använd
println() för utskrift till serialmonitorn om det finns större tal än 100.
b) Skriv ut det största värdet i vektorn. Använd println() för utskrift till
serialmonitorn.
Tips: uppgiften behöver inte lösas med funktioner

4)
a) Skriv funktionen ”Compare”. Funktionen skall ha två inargument, x och y av
typen double. Funktionen skall returnera värdet av typen integer. Funktionen skall
returnera en etta om x > y annars noll.
b) Anropa funktionen ”Compare” från
void loop(){
.
.
.
}
och skriv ut det största talet på x eller y med Serial.println()

5)
En vektor med heltal har sparats i:
int Mat_data_Vektor[10];
a) Skriv en for-loop som summerar de tio heltalsvärdena i vektorn ovan.
b) Skriv ut det största värdet i vektorn. Använd println() för utskrift till
serialmonitorn.
Tips: uppgiften behöver inte lösas med funktioner

6)
a) Skriv funktionen ”Absolute”. Funktionen skall ha ett inargument, av typen
integer. Funktionen skall returnera värdet av typen integer. Funktionen skall
beräkna och returnera absolutbeloppet av inargumentet.
Tips: Absolutbeloppet på |x| är att negativa tal blir positiva.
b) Anropa funktionen ”Absolute” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

7)
Skriv en for-loop som skriver ut kvadraten på tal mellan 0 och 49 till serialmonitorn.
Använd funktionerna Serial.println() och Serial.print() för utskrift.
Utskriften skall se ut på följande sätt i serialmonitorn.
0*0=0
1*1=1
2*2=4
3*3=9
.
.
49*49=2401

8)
a) Skriv funktionen ”Median”. Funktionen skall ha en inargumentvariabel, av typen
Array som skall kunna lagra integers. Funktionen skall returnera värden av typen
integers. Funktionen skall returnera medianvärdet av de integervärdena lagrade i
vektorn/arrayen. Vi antar att vektorn /arrayen alltid har längden 3.
Tips: Medianen är ”mitten värdet”.
Ex 1, medianen är 12 av de tre värdena 3, 100 och 12
Ex 2, medianen är 5 av de tre värdena 5, 2 och 99
b) Anropa funktionen ”Median” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

9)
Skriv ett program som skall vänta på en knappnedtryckning. Strömbrytaren/
knappen är kopplad till pin 7. Programmet skall således ”hänga sig” tills knappen
trycks ned.
Ledning: Använd funktionen: digitalRead(inPin);

10)
a) Skriv en funktion ”Find_Largest_Value” som skall leta upp det största talet
lagrade i en vektor. Funktionen skall returnera positionen var det största talet finns i
vektorn. Funktionen skall ha inargumentvärdena x[] och size. Där x är vektorn och
size är argumentet vilket avgör hur lång vektorn är.
ex: Vektorn nedan har 9 element och det största värdet är i position 3. Funktionen skall i detta
exempel returnera talet 3
Värde 13 20 5 74 2 45 3 25 53
Position 0 1 2 3 4 5 6 7 8
b) Anropa funktionen ” Find_Largest_Value” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

11)
a) Skriv funktionen ”Div_by_Two”. Funktionen skall returnera inargumentvärdet
dividerat med 2.
b) Anropa funktionen ”Div_by_Two” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

12)
a) Skriv funktionen ”Medel_Varde(x,y)” och deklarera variablerna. Funktionen
skall returnera medelvärdet av två inargumentvärden x och y.
Tips: Medelvärde = (x+y)/2
b) Anropa funktionen ”Medel_Varde” från
void loop(){
.
.
.
}
och skriv ut det returnerade värdet med Serial.println()

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jul 2003

Tror inte att någon tänker lägga ner tiden och ge dig alla svar. Men presentera dina försök så kan jag hjälpa dig där du kör fast.
Programmering är inte ett sådant ämne där du per automatik kommer klara liknande uppgifter för att du sett andra lösningar, utan du behöver förstå varför den 'ursprungliga' lösningen fungerar för att kunna applicera den på nya uppgifter. Om du inte klarar av uppgift1 på den här tentan, så kommer du behöva lägga ner mycket tid för att klara din omtenta. Lycka till!

Quidquid latine dictum sit, altum videtur.

Trädvy Permalänk
Moderator
Plats
Här
Registrerad
Jul 2009

*tråd låst*

Citat:

§3.4
Det är inte tillåtet att skapa trådar som saknar diskussionsvärde. Det inbegriper trådar där man ber någon att utföra en tjänst, svara på en enkätundersökning eller delta i ett evenemang.

Om du behöver hjälp med uppgifterna föreslår jag att du kontaktar din lärare eller läser lite mer i läroböckerna