20TD02U Kabelkrøll - itnett/FTD02H-N GitHub Wiki

https://ndla.no/article-iframe/nb/article/23381

Skurdal, B. (2020, 26. april). Kabelkrøll. NDLA. https://ndla.no/article/23381 Trommel med kabel, av Skurdal, B. (https://ndla.no/image/49245). CC BY-SA 4.0.

Oppgave 2.5.30: Kabel på Trommelen

Vurdering av kabelmengde

For å finne ut om det er nok kabel på trommelen, må vi beregne lengden på kabelen basert på informasjonen om antall kveiler og diameterne til kveilene.

  1. Antall kveiler: 33
  2. Ytre diameter: 22 cm
  3. Indre diameter: 5 cm

For å forenkle utregningen kan vi anta at kveilene er jevnt fordelt fra den indre til den ytre diameteren. Vi bruker formelen for omkretsen av en sirkel for å finne lengden på kabelen.

Beregning

Diameteren til kveilene varierer fra 5 cm til 22 cm, så vi kan finne omkretsen for hver kveil ved å bruke middelverdien av de indre og ytre diameterene. Deretter ganger vi med antall kveiler for å få total lengde.

import math

# Antall kveiler
num_kveiler = 33

# Indre og ytre diameter
d_inner = 5  # cm
d_outer = 22  # cm

# Beregn middelverdien av diameterene
d_avg = (d_inner + d_outer) / 2  # cm

# Beregn omkretsen til en sirkel med gjennomsnittlig diameter
omkrets = math.pi * d_avg  # cm

# Total lengde av kabelen
total_length_cm = omkrets * num_kveiler  # cm
total_length_m = total_length_cm / 100  # m

print(f"Total lengde av kabelen på trommelen er ca. {total_length_m:.2f} meter.")

Oppgave 2.5.31: Festing av Lampeledning

a) Ideell avstand mellom stiftene

For å finne den ideelle avstanden mellom stiftene når veggen er 3 meter lang, følger vi algoritmen som beskrevet.

def calculate_stift_distance(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    return ideal_distance

length = 300  # cm
end_distance = 5  # cm
max_distance = 20  # cm

ideal_distance = calculate_stift_distance(length, end_distance, max_distance)
print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")

b) Antall stifter langs veggen

Vi beregner antall stifter basert på antall lengder vi fant i del a.

def calculate_num_stifter(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return num_stifter

num_stifter = calculate_num_stifter(length, end_distance, max_distance)
print(f"Antall stifter langs veggen er {num_stifter}.")

c) Algoritme for program

  1. Skriv til skjermen hva programmet gjør.
  2. Ta imot lengde, avstand til første stift og maksimal avstand mellom stiftene fra brukeren.
  3. Beregn effektiv lengde og antall intervaller.
  4. Beregn ideell avstand mellom stiftene.
  5. Beregn totalt antall stifter.
  6. Skriv resultatene til skjermen.

d) Koding

def calculate_stift_distance_and_count(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return ideal_distance, num_stifter

def main():
    print("Dette programmet regner ut den ideelle avstanden mellom stiftene og antallet stifter ut fra en gitt lengde.")
    
    length = float(input("Skriv inn lengden på veggen (i cm): "))
    end_distance = float(input("Skriv inn avstanden fra endene til første stift (i cm): "))
    max_distance = float(input("Skriv inn maksimal avstand mellom stiftene (i cm): "))
    
    ideal_distance, num_stifter = calculate_stift_distance_and_count(length, end_distance, max_distance)
    
    print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")
    print(f"Antall stifter langs veggen er {num_stifter}.")

main()

e) Algoritme for justering

  1. Skriv til skjermen hva programmet gjør.
  2. Ta imot lengde, avstand til første stift, maksimal avstand mellom stiftene og lengden fra brukeren.
  3. Beregn effektiv lengde og antall intervaller.
  4. Beregn ideell avstand mellom stiftene.
  5. Beregn totalt antall stifter.
  6. Skriv resultatene til skjermen.

f) Koding

def calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return ideal_distance, num_stifter

def main():
    print("Dette programmet regner ut den ideelle avstanden mellom stiftene og antallet stifter ut fra en gitt lengde.")
    
    length = float(input("Skriv inn lengden på veggen (i cm): "))
    end_distance = float(input("Skriv inn avstanden fra endene til første stift (i cm): "))
    max_distance = float(input("Skriv inn maksimal avstand mellom stiftene (i cm): "))
    
    ideal_distance, num_stifter = calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance)
    
    print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")
    print(f"Antall stifter langs veggen er {num_stifter}.")

main()

Disse programmene dekker kompetansemålene for matematikk ved å bruke algoritmisk tenkning og problemløsing, samt praktiske anvendelser av matematikk for å løse konkrete problemer. La meg vite om du trenger ytterligere tilpasninger eller flere ressurser!

For å oppfylle kompetansemålene i matematikk, spesielt knyttet til å tolke og bruke formler i dagligliv og yrkesliv, vil vi lage et program som kan hjelpe med å løse praktiske problemer. I denne sammenhengen skal vi se på oppgaver relatert til å beregne kabelmengde og ideell avstand mellom stifter.

Kabelkrøll

Oppgave 2.5.30: Vurdering av kabelmengde

Vi skal beregne lengden på kabelen som er igjen på trommelen. Informasjonen vi har er at det er 33 kveiler med kabel, og diameterne til kveilene varierer fra 5 cm til 22 cm.

Beregning

Vi bruker middelverdien av diameterne for å beregne omkretsen og dermed lengden på kabelen.

import math

def beregn_kabelmengde(num_kveiler, d_inner, d_outer):
    # Beregn middelverdien av diameterne
    d_avg = (d_inner + d_outer) / 2  # cm
    # Beregn omkretsen til en sirkel med gjennomsnittlig diameter
    omkrets = math.pi * d_avg  # cm
    # Total lengde av kabelen
    total_length_cm = omkrets * num_kveiler  # cm
    total_length_m = total_length_cm / 100  # m
    return total_length_m

num_kveiler = 33
d_inner = 5  # cm
d_outer = 22  # cm

total_length_m = beregn_kabelmengde(num_kveiler, d_inner, d_outer)
print(f"Total lengde av kabelen på trommelen er ca. {total_length_m:.2f} meter.")

Oppgave 2.5.31: Festing av Lampeledning

a) Ideell avstand mellom stiftene

Vi skal finne den ideelle avstanden mellom stiftene når veggen er 3 meter lang, med stifter plassert 5 cm fra hver ende og maks 20 cm mellom stiftene.

def calculate_stift_distance(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    return ideal_distance

length = 300  # cm
end_distance = 5  # cm
max_distance = 20  # cm

ideal_distance = calculate_stift_distance(length, end_distance, max_distance)
print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")

b) Antall stifter langs veggen

Beregner antall stifter basert på antall lengder vi fant i del a.

def calculate_num_stifter(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return num_stifter

num_stifter = calculate_num_stifter(length, end_distance, max_distance)
print(f"Antall stifter langs veggen er {num_stifter}.")

c) Algoritme for program

  1. Skriv til skjermen hva programmet gjør.
  2. Ta imot lengde, avstand til første stift og maksimal avstand mellom stiftene fra brukeren.
  3. Beregn effektiv lengde og antall intervaller.
  4. Beregn ideell avstand mellom stiftene.
  5. Beregn totalt antall stifter.
  6. Skriv resultatene til skjermen.

d) Koding

def calculate_stift_distance_and_count(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return ideal_distance, num_stifter

def main():
    print("Dette programmet regner ut den ideelle avstanden mellom stiftene og antallet stifter ut fra en gitt lengde.")
    
    length = float(input("Skriv inn lengden på veggen (i cm): "))
    end_distance = float(input("Skriv inn avstanden fra endene til første stift (i cm): "))
    max_distance = float(input("Skriv inn maksimal avstand mellom stiftene (i cm): "))
    
    ideal_distance, num_stifter = calculate_stift_distance_and_count(length, end_distance, max_distance)
    
    print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")
    print(f"Antall stifter langs veggen er {num_stifter}.")

main()

e) Justerbar algoritme

Brukeren kan nå skrive inn ønsket avstand mellom stiftene.

def calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance):
    # Trekke fra avstanden fra endene
    effective_length = length - 2 * end_distance  # cm
    # Finne antall lengder på maksavstanden
    num_intervals = effective_length // max_distance
    # Finne den ideelle avstanden
    ideal_distance = effective_length / (num_intervals + 1)
    # Totalt antall stifter
    num_stifter = num_intervals + 2
    return ideal_distance, num_stifter

def main():
    print("Dette programmet regner ut den ideelle avstanden mellom stiftene og antallet stifter ut fra en gitt lengde.")
    
    length = float(input("Skriv inn lengden på veggen (i cm): "))
    end_distance = float(input("Skriv inn avstanden fra endene til første stift (i cm): "))
    max_distance = float(input("Skriv inn maksimal avstand mellom stiftene (i cm): "))
    
    ideal_distance, num_stifter = calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance)
    
    print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")
    print(f"Antall stifter langs veggen er {num_stifter}.")

main()

Samlet Program

Dette programmet dekker både beregning av kabelmengde og ideell avstand mellom stiftene, samt tilpassing av brukerinput.

import math

def beregn_kabelmengde(num_kveiler, d_inner, d_outer):
    d_avg = (d_inner + d_outer) / 2  # cm
    omkrets = math.pi * d_avg  # cm
    total_length_cm = omkrets * num_kveiler  # cm
    total_length_m = total_length_cm / 100  # m
    return total_length_m

def calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance):
    effective_length = length - 2 * end_distance  # cm
    num_intervals = effective_length // max_distance
    ideal_distance = effective_length / (num_intervals + 1)
    num_stifter = num_intervals + 2
    return ideal_distance, num_stifter

def main():
    print("Velkommen til det samlede programmet!")
    print("Velg en av følgende funksjoner:")
    print("1. Beregn kabelmengde")
    print("2. Beregn avstand og antall stifter")

    valg = input("Skriv inn nummeret på funksjonen du vil bruke: ")

    if valg == '1':
        num_kveiler = int(input("Skriv inn antall kveiler på trommelen: "))
        d_inner = float(input("Skriv inn den indre diameteren (i cm): "))
        d_outer = float(input("Skriv inn den ytre diameteren (i cm): "))
        total_length_m = beregn_kabelmengde(num_kveiler, d_inner, d_outer)
        print(f"Total lengde av kabelen på trommelen er ca. {total_length_m:.2f} meter.")
    elif valg == '2':
        length = float(input("Skriv inn lengden på veggen (i cm): "))
        end_distance = float(input("Skriv inn avstanden fra endene til første stift (i cm): "))
        max_distance = float(input("Skriv inn maksimal avstand mellom stiftene (i cm): "))
        ideal_distance, num_stifter = calculate_stift_distance_and_count_adjustable(length, end_distance, max_distance)
        print(f"Den ideelle avstanden mellom stiftene er ca. {ideal_distance:.2f} cm.")
        print(f"Antall stifter langs veggen er {num_stifter}.")
    else:
        print("Ugyldig valg

. Vennligst prøv igjen.")

main()

Dette programmet hjelper elevene med å tolke og bruke formler som gjelder dagligliv og yrkesliv, samt anvende algoritmisk tenkning og problemløsing. La meg vite om du trenger ytterligere tilpasninger eller flere ressurser!