## Introduktion

Programmering innebär i all enkelhet att ge instruktioner som en dator kan utföra för att lösa en given uppgift

I kursen kommer att användas imperativt programmeringsätt (instruktion för instruktion). Programmeringspråket kommer att vara Python3 och inriktningen kommer att vara mot matematisk programmering. Alltså hur progrmmmaeringkan användas för att lösa matematiska problem. Framförallt problem som beräkningsmässigt kan vara tidsödande att göra för hand och som låter datorernas beräkningspotential komma till sin fulla rätt.

Python är ett dynamiskt interpreterat språk vilket innebär att variabler ej behöver typas och källkoden köra rad för rad utan att kompileras till maskkinkod innan körning. Deet innebär exempelvis att ett fel i syntaxen inte leder till ett exekveringsfel utan kör programmet fram till den punkten.

Ett annat vanligt förekommande fel är logiska fel, alltså fel som tillåter programmet att löras igeonm utan oväntade stopp men där resultatet av programmet inte är en lösning på det avsedda problemet.

## Installering av python-mijön

Installering:

  • Ladda hem Anaconda-paketet med Python 3.6 64-bitars arkitektur från denna hemsida.
  • Kör installationsfilen (var uppmärksam på att den kan vilja installera ett tilläggspaket som går att tacka nej till)
  • installera Jupyter Lab genom att
    • I windows startmeny leta upp mappen Anaconda3(64). I den mappen finns Anaconda promtp, starta den.
    • I prompten skriv:
      • conda install -c conda-forge jupyterlab
  • Jupyter Notebook kan sedan startas från Anaconda3 mappen i startmenyn.
  • En ny webbsida kommer att öppnas. Bläddra till en lämplig mapp att skapa en ny notebook i.
  • Jupyter Labs kan valfritt öppnas om man i adressfönstret byter ut tree mot lab.
  • Jupyter Lab ger tillgång till en fullständigare utvecklingsmiljö.

## Magi

Jupyter Notebook ger oss tillgång till magiska kommandon. Följande kommer att användas i kursen. ? efter kommandot ger tillgång till hjälpen.

  • %%magic
  • %%lsmagic
  • %%run file.py
  • %%load file.py
  • %%writefile file.py
  • %%time
  • %%timeit
  • %%matplotlib inline
In [5]:
%magic?
Docstring:
Print information about the magic function system.

Supported formats: -latex, -brief, -rest
File:      c:\users\sos012\appdata\local\continuum\anaconda3\lib\site-packages\ipython\core\magics\basic.py

## Jupyter Notebook

Jupyter Notebook är en programmerings-omgivning som körs lokalt på datorn men i en webbläsare. Omgivningen har fått en stor spridning på universitet och akademi där matematik används inom olika vetenskaper. Såsom dataanlys, statik, astronomi, fysik, biologi m.m.

Notebooken har fil-ändelsen .ipynb och en öppnad fil består av celler. Det finns två typer av celler,

  • markdown (som tillåter formatering av text samt matematisk notation via latex märkning) och
  • kod-celler (som ger möjlighet att köra python-kod, från fil eller interaktivt som en terminal.

Python-kod sparas vanligen i text-filer med fil-ändelsen.py men cellerna möjliggör att antingen köra kod direkt eller från en fil.

Kortkommandon:

  • Ctrl + Enter: kör aktuell cell
  • B: skapar ny cell
  • X: raderar aktuell cell
In [6]:
#Följande tre kodceller exempel på hur kod kan köras
#
#Alt 1 kod skrivs direkt i cellen

a = 5
b = 10
a+b
Out[6]:
15
In [14]:
%%writefile test.py

#Alt 2 kod i en cell skrivs till en fil
a = 5
b = 10
print(a / b)
Overwriting test.py
In [15]:
# %load test.py

#Alt 3 kod från en specifik fil läses in till en cell
a = 5
b = 10
a * b
Out[15]:
50
In [16]:
%run test.py

#kod från en fil läses in från en cell
0.5