Turing Machine4 - itnett/FTD02H-N GitHub Wiki

📐 Programming vs. Math: What's the Difference?

In programming, we're not solving for variables like we do in math. Instead, we give names to values, reuse them, and update them as needed. Let’s break down this concept:

👨‍💻 In programming:

  1. We assign a name (or variable) to a value, like pi = 3.14159.
  2. We can then reuse this value (like pi) in different calculations without needing to compute it again.
  3. If we want to update the value of a variable, we simply assign it a new value, but this does not automatically affect other variables that depend on it. This is different from math, where changing one variable might change the outcome of others.

🔍 Let's look at one example:

pi = 3.14159
radius = 2.2
# Area of circle
area = pi * (radius ** 2)
radius = radius + 1
  1. Assign pi: We set pi to 3.14159—a name associated with the value for use in calculations.
  2. Assign radius: We set radius to 2.2.
  3. Calculate area: We use pi and radius to calculate the area of a circle. The formula is ( \pi r^2 ), which translates to pi * (radius ** 2).
  4. Update radius: We then change radius by adding 1, so it becomes 3.2. However, the area remains the same until we re-run the calculation for area after updating radius.

🤔 Why is this different from math?

  • In math, changing a variable might change other outcomes automatically, like solving an equation where every variable is linked.
  • In programming, variables are not automatically linked. If you change one variable (like radius), other variables that used it (like area) won’t change unless you recompute them.

🧮 Programming is not math, but it does calculations:

  • Programming is about executing instructions step by step. We give the computer a sequence of instructions, and it follows them precisely.
  • Variables in programming are more like labels for values. You can change what they point to, but unless you tell the program to recalculate something (like area), it won’t change by itself.

📝 Why is this important?

  • Variables are useful for reusing values and making code easier to read and modify.
  • Unlike math, programming doesn’t automatically solve equations or update relationships. We need to explicitly tell the computer when to recalculate.

💡 Key takeaway: In programming, we manage calculations and update values explicitly. Each step is sequential, and updating one value doesn’t change others unless we say so.

📐 Programmering vs. Matematikk: Hva er forskjellen?

I programmering løser vi ikke ligninger på samme måte som i matematikk. I stedet gir vi navn (variabler) til verdier, bruker dem på nytt i ulike beregninger, og oppdaterer dem ved behov. Programmering handler ikke om å løse ligninger, selv om vi ofte bruker den til å utføre beregninger. La oss dykke litt dypere inn i dette.

👨‍💻 I programmering:

  1. Vi gir navn til verdier, som for eksempel pi = 3.14159, og bruker disse navnene i beregninger.
  2. Når vi har gitt et navn til en verdi (som pi), kan vi bruke den om og om igjen uten å måtte beregne den på nytt.
  3. Hvis vi vil oppdatere en verdi, kan vi gjøre det ved å tilordne en ny verdi til variabelen. Dette påvirker ikke automatisk andre beregninger som brukte den opprinnelige verdien, noe som er forskjellig fra matematikk der en endring i én variabel kan påvirke andre relaterte variabler.

🔍 La oss se på et eksempel:

pi = 3.14159
radius = 2.2
# Beregning av sirkelens areal
area = pi * (radius ** 2)
radius = radius + 1
  1. Tilordne pi: Vi setter verdien av pi til 3.14159. Dette er en variabel som representerer verdien for bruk i senere beregninger.
  2. Tilordne radius: Vi setter verdien av radius til 2.2.
  3. Beregne area: Vi bruker pi og radius til å beregne arealet av en sirkel med formelen ( A = \pi r^2 ). Dette oversettes til pi * (radius ** 2) i Python.
  4. Oppdatere radius: Etter at vi har beregnet arealet, oppdaterer vi verdien til radius ved å legge til 1, slik at den nå er 3.2. Arealet forblir det samme inntil vi kjører beregningen av area på nytt med den oppdaterte radius.

🤔 Hvorfor er dette forskjellig fra matematikk?

  • I matematikk vil endring av en variabel ofte endre andre relaterte variabler automatisk, som når du løser en ligning.
  • I programmering er variabler ikke automatisk koblet sammen. Hvis du endrer én variabel (som radius), vil ikke andre variabler (som area) oppdateres automatisk med mindre du spesifikt ber programmet om å utføre beregningen på nytt.

🧮 Programmering er ikke matematikk, men den gjør beregninger:

  • Programmering handler om å utføre en sekvens med instruksjoner, steg for steg. Du gir datamaskinen en rekke kommandoer, og den følger dem i nøyaktig den rekkefølgen du gir dem.
  • Variabler i programmering er mer som etiketter for verdier. Du kan endre hva en variabel peker på, men med mindre du sier til programmet at det skal rekalkulere noe (som area), vil verdien forbli uendret.

📘 Ekstra eksempler:

La oss se på et annet eksempel for å illustrere poenget:

lengde = 5
bredde = 3
areal = lengde * bredde  # Arealet beregnes nå som 15
lengde = 10  # Vi oppdaterer lengden

I matematikk ville vi forvente at oppdatering av lengde automatisk ville påvirke areal, men i programmering må vi eksplisitt si:

areal = lengde * bredde  # Nå blir arealet 30 etter oppdatering av lengden

📝 Hvorfor er dette viktig?

  • Variabler lar oss bruke verdier om igjen på en praktisk måte, noe som gjør koden mer lesbar og enkel å endre.
  • I programmering må vi eksplisitt be datamaskinen om å utføre en ny beregning når vi endrer en variabel, i motsetning til matematikk hvor relasjoner mellom variabler ofte er innebygde.

💡 Viktig lærdom:

I programmering handler det om å utføre beregninger og lagre verdier, men variabler oppdateres ikke automatisk når andre verdier endres, med mindre du spesifikt ber programmet om det. Dette er en nøkkelkonsept å forstå når du programmerer, spesielt når du jobber med beregninger eller variabler som endres underveis.

Så selv om programmering utfører beregninger som i matematikk, er det viktig å huske at du må kontrollere flyten av beregningene selv, og ikke stole på at alt vil oppdatere seg automatisk.

📊 Sammenligning av programmering vs. matematikk

La oss bruke en tabell for å forstå likhetene og forskjellene mellom programmering og matematikk, og hvordan vi bør forholde oss til disse i programmeringskonteksten.

Kategori Matematikk Programmering Hvordan forholde seg i programmering
Variabler En variabel kan være ukjent, og man kan "løse for x". En variabel er en navn-til-verdi-assosiasjon (som pi = 3.14159). Variabler brukes til å gi navn til verdier for gjenbruk.
Endring av verdier Hvis du endrer en variabel, kan det påvirke andre ligninger. Å endre en variabel påvirker ikke andre variabler som brukte den tidligere verdien. Du må manuelt oppdatere beregninger hvis en variabel endres.
Uttrykk Relasjoner mellom variabler må være sanne (f.eks. x + y = z). Beregninger skjer sekvensielt, steg for steg (f.eks. area = pi * r^2). Sørg for at beregninger gjøres i riktig rekkefølge.
Operatorrekkefølge Operatorrekkefølge følges, men parenteser kan overstyre den. Samme operatorrekkefølge følges, og parenteser overstyrer prioritering. Følg operatorprioritet, og bruk parenteser for å styre rekkefølgen.
Oppdatering av beregninger Variabler er ofte dynamiske, og en endring kan påvirke mange relaterte ligninger. Oppdatering av én variabel påvirker ikke tidligere beregninger automatisk. Reberegn uttrykk hvis du endrer verdier.
Funksjoner Brukes for å definere komplekse uttrykk, men må løses eksplisitt. Funksjoner kan defineres for å gjenbruke logikk og beregninger. Definer funksjoner for ofte brukte beregninger og logikk.
Løsning av ligninger En ligning løses for å finne en ukjent verdi. Programmering løser ikke ligninger; den utfører beregninger sekvensielt. Definer variabler og utfør beregninger eksplisitt.

🔑 Viktige forskjeller og likheter

1. Variabler:

  • Matematikk: Variabler brukes for å representere ukjente verdier som du skal finne.
  • Programmering: Variabler brukes som navn på verdier. Du gir dem en verdi, og de oppdateres ikke automatisk hvis noe annet endres.

Hvordan forholde deg: Bruk variabler til å gi navn til verdier, og oppdater beregninger eksplisitt når du endrer variabler.

2. Endring av verdier:

  • Matematikk: Hvis en variabel endres, kan andre ligninger automatisk endres.
  • Programmering: Å endre en variabel påvirker ikke tidligere beregninger. Du må eksplisitt oppdatere resultatene basert på den nye verdien.

Hvordan forholde deg: Når du endrer verdier, sørg for å beregne resultatene på nytt hvis det er nødvendig.

3. Uttrykk og operatorrekkefølge:

  • Likhet: Både i matematikk og programmering følges samme operatorrekkefølge (eksponent, multiplikasjon/divisjon, addisjon/subtraksjon). Parenteser brukes i begge for å overstyre rekkefølgen.

Hvordan forholde deg: I programmering må du passe på at uttrykk evalueres i riktig rekkefølge, spesielt hvis du bruker komplekse uttrykk.

4. Oppdatering av beregninger:

  • Matematikk: Endring av en variabel kan automatisk oppdatere andre variabler i ligningen.
  • Programmering: Beregninger oppdateres ikke automatisk. Hvis du endrer en variabel, må du manuelt oppdatere beregningene som bruker denne variabelen.

Hvordan forholde deg: Du må eksplisitt kjøre beregningen på nytt hver gang en variabel endres.

5. Funksjoner:

  • Likhet: I både matematikk og programmering brukes funksjoner til å utføre spesifikke operasjoner. I programmering kan du definere funksjoner for å gjenbruke kode.

Hvordan forholde deg: Bruk funksjoner til å forenkle komplekse beregninger og gjenbruk logikk.

6. Løsning av ligninger:

  • Matematikk: Du finner en ukjent verdi ved å løse en ligning.
  • Programmering: I stedet for å "løse" ligninger, utfører programmering beregninger sekvensielt. En operasjon utføres, og resultatet lagres.

Hvordan forholde deg: Utfør beregninger steg for steg og bruk variabler for å lagre resultater som kan brukes senere.


🧠 Hva betyr dette for deg som programmerer?

I programmering er det viktig å huske at variabler er statisk assosiert med verdier inntil du spesifikt endrer dem. For eksempel, hvis du beregner arealet av en sirkel basert på en gitt radius, og deretter endrer radius, vil arealet forbli det samme inntil du utfører beregningen på nytt med den nye radiusen.

Dette er forskjellig fra matematikk, der variabler ofte har dynamiske relasjoner, og en endring i én variabel kan automatisk påvirke andre relaterte uttrykk.

🚩 Viktige tips for å forholde seg til dette:

  1. Tenk sekvensielt: I programmering skjer alt i rekkefølge. Sørg for at hver beregning skjer når du ønsker det, og i riktig rekkefølge.
  2. Oppdatering av variabler: Hvis du endrer en variabel, husk at dette ikke automatisk påvirker andre variabler som avhenger av den tidligere verdien. Du må manuelt utføre nye beregninger om nødvendig.
  3. Bruk funksjoner: Definer funksjoner for komplekse beregninger slik at du enkelt kan gjenbruke logikk uten å skrive samme kode flere ganger.
  4. Vær bevisst på operatorrekkefølge: Sørg for at operasjoner evalueres i riktig rekkefølge ved å bruke parenteser når det er nødvendig.

Med denne forståelsen kan du se at mens programmering og matematikk har noen likheter, handler programmering om å gi instruksjoner til datamaskinen og kontrollere beregningsflyten, mens matematikk handler mer om å løse ligninger og relasjoner mellom variabler.