tisdag 28 augusti 2012

Enkla villkor

Räkna med logik

 

Övning 1.6
Direkt i interaktiva fönstret skriver du
3>2
Vad blir svaret?
Skriv nu
2>3
Vad blir svaret?

Svaret True eller False är en ny typ av variabel som heter boolean, förkortas bool i Python. En boolean kan anta två värden: sant eller falskt.

Logiska symboler

Följande symboler används vid logiska jämförelseoperationer
Betydelse Matematik Python
Mindre än < <
Större än > >
Mindre än eller lika <=
Större än eller lika >=
Lika = ==

Skilt från
!=
OBS! Notera == tecken för jämförelse lika med. Vanligt fel att råka använda enkelt lika med istället.

Notera att jämförelsen == mellan två flyttal (float) kräver att de är exakt lika på sista decimalen för att jämförelsen ska vara sann.

Notera även att jämförelse av strängar fungerar på ett annat sätt än tal. Vi återkommer till det.

Övning 1.7
Pröva genom att i interaktiva skalet skriva olika jämförelser med tecknen ovan. Tex: 4 != 3
Visst fungerar det som du tänkt.


Genomgång av if-satsen


If-satsen


If-satser i Pyton skrivs:

if logiskt uttryck : sats

eller

if logiskt uttryck :
    Indragen sats 1
    I
ndragen sats 2
    ...
else :
    I
ndragen sats 1
    I
ndragen sats 2
    ...


Viktigt! Det är indragningen som gör att Python vet vilka satser (rader) som ska köras om if-satsen är sann respektive inte. Du måste använda indragna rader - och det är bra programmeringspraxis också!

De indragna raderna bildar ett block.

Övning 1.8
Skriv följande program och testa funktionen

vikt = float(input("Hur mycket väger din väska i kg? "))
if vikt > 25:
    print("Det kostar 100 kr extra för så tungt bagage.")
print("Välkommen åter.")


Övning 1.9
Skriv följande program och testa funktionen

temperatur = float(input("Vad är temperaturen? "))
if temperatur > 15:
    print("Välj shorts.")
else:
    print("Välj byxor.")
print("Dags att springa en runda.")

Uppgift 1.2
Testa i interaktiva fönstret vad som händer om du skriver följande if-satser.
Notera: Du behöver trycka ENTER två gånger för att if-satsen skall köras. Första ENTER gör att skalet väntar på om du ska skriva else eller en ny rad i satsen.

if True : print("sant")
Testa nu
if False: print("falskt")

Förklara resultatet för mig.

Övning 1.10
 Tecknet % ger resten vid division även kallat modulo - alltså är tex. 9 % 4 = 1. Använd detta för att skapa ett program som talar om för användaren om ett tal hen matat in är jämnt delbart med 7. Programmet skall svara med antingen "n är jämnt delbart med sju" eller "n är inte jämnt delbart med sju". Där n är talet användaren angav.

Övning 1.11
Komplettera övning 1.10 så att användaren förutom svaret ovan får reda på hur många gånger sju får plats i det angivna talet. Detta oberoende om det är jämnt delbart eller ej. Tips: Använd gärna //

Inlämningsppgift 1.2
Komplettera programmet i inlämningsuppgift 1.1 så att användaren får svaret "Ekvationen saknar reella rötter" om så är fallet.


söndag 26 augusti 2012

Ett första program

DEL 1

Förberedelse

Källkoden till dina program sparas i filer med ändelsen .py. IDLE sparar som standard filerna i din Dokument-mapp. Men för att hålla reda på dina filer i kursen skapar du en undermapp i Dokument med namnet "Programmering1" (ej mellanslag) som du använder fram över.

Överkurs: Du kan se till att din mapp öppnas som standard genom denna metod. Det förenklar framöver.

Enkla program

För att skriva ett program i IDLE så skapa ett nytt fönster i Fil-menyn.

Övning 1.1
Skriv i det nya fönstret
 
print ("Hej världen")

Färgerna talar om hur Python tolkar det inskrivna. De hjälper dig att se om du skrivit rätt syntax.

Välj Run module, menyn Run eller F5.
Före körning måste du spara programmet. Spara som Ovn1.py i din mapp.
Se i huvudfönstret att det fungerade och skrev "Hej världen".

Övning 1.2
Skriv ett nytt program Ovn2.py enligt nedan

a=2
b=3
c=a+b
print(c)

Kör och kontrollera att det fungerar.


Genomgång olika variabler och input


Program med input


Övning 1.3
Skriv en snyggare version, som även är kommenterad, av övning 2 som Ovn3.py enligt nedanstående
a=2 #Första termen
b=3 #Andra termen
c=a+b #Summan
print("Suman blir " + str(c))

Notera hur funktionen str(c) behövs för att omvandla ett tal till en sträng. Annars blir + obegripligt för Python.

Uppgift 1.1
Gör om programmet i övning 3 så att du istället kan skriva in två tal som programmet summerar. Tips: använd funktionen input() och float(). Spara som Upp1.py innan du kör.

Överkurs: Ovanstående program kan alla minskas med en rad. Hur?

Överkurs: Läs om snygga sätt att använda print() här.

Matematikmodulen

 Just nu kan du endast utföra enklare beräkningar. För att kunna använda roten ur, sinus, cosinus mm. måste du importera Pythons matematikmodul till ditt program.
Detta görs genom att först i programmet skriva import math.
När du sedan använder funktionerna skrivs de som math.xxx() där xxx() är den funktion du vill använda. Exempelvis math.sin(v) beräknar sinus för vinkeln v.

Övning 1.5
Skriv nedanstående program för att testa att använda matematikmodulen. Spara som Ovn5.py. Notera att alla vinklar är i radianer.

import math

vinkeln=float(input("vinkeln="))
sv=math.sin(vinkeln)
print("sin(" + str(vinkeln) + ")=" + str(sv)) #En snygg utskrift av svaret


Kontrollera att allt fungerar med några beräkningar.

Inlämningsuppgift 1.1
Skriv ett program som löser x2+px+q=0 med hjälp av pq-formeln. Kommentera viktiga beräkningar.
Tips: Roten ur x skrivs  math.sqrt(x) och x2 skrivs enklast x*x. Spara som Inl1.py

Överkurs: Skriv om programmet så att det löser den allmänna andragradsekvationen ax2+bx+c=0.

Introduktion

Bloggen innehåller kursmaterial för kursen programmering 1.

Angående övningar, uppgifter och inlämningsuppgifter

  • Övningar behöver inte redovisas. Men säkerställ att du gjort rätt och fråga vid behov.
  • Uppgifter redovisas för mig muntligt under lektionen om inte annat överenskommits.
  • Inlämningsuppgifter ska redovisas genom inskickande av programmet eller referens till dess plats på servern. Se till att det tydligt framgår vem du är och vilken uppgift det rör sig om.

Överkurs: Är fördjupningar som du gör om du har tid och möjlighet.