Shellscripting II. Innhold

Størrelse: px
Begynne med side:

Download "Shellscripting II. Innhold"

Transkript

1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tor Halsan Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Vi fortsetter å se på variabler, denne gangen på spesielle variabler. Så vil vi gå gjennom løkker med flere eksempler på anvendelse av disse. Vi vil så se på enkel filbehandling. Til slutt har vi kommet så langt at vi gir noen tips, selv om ikke alle disse er like nyttige... Innhold Variabler, del II Spesialvariabler Miljøvariabler Løkker For løkker While løkker Filbehandling Skriving til fil Lesing fra fil Noen tips Bryt opp lange linjer Alternativ til løkker Fancy utdata Oppsummering

2 side 2 av Variabler, del II Vi vil her fortsette å se på variabler. Vi introduserte variabler som generelt konsept i forrige leksjon, og dette skulle være greit for alle med litt programmeringserfaring. Vi skal nå gå en del mer spesielle variabler etter i sømmene Spesialvariabler Vi har allerede sett på noen få spesialvariabler, nemlig $0, $1 osv. Vi har en del flere vi skal presentere her. Listen er ikke 100% komplett, men ikke alle slike spesialparametre er like egnet for scripting. $0 $1 $2 osv... Dette gjennomgikk vi i forrige leksjon. $0 er selve scriptnavnet, og så vi $1, $2 osv. representere de ulike parameter gitt inn til scriptet separert med mellomrom. I de tilfeller hvor en trenger med enn 9 parameter må en huske å bruker klammer, slik: parameter 10 vil bli: ${10} for å unngå forveksling med $1 $# Dette gir oss antallet parameter sendt inn til scriptet. Ved å kjøre et script, eksempelvis slik:./ny_bruker -a bimbo vil spesialvariabelen $# få verdien 2 siden vi oppgir 2 parameter $? Dette er en statusvariabel som gir oss status på siste utførte komman. Husker du exitkodene brukt i forrige leksjon? Dette er eksempler på statuskoder etter avslutning av en komman. $$ Dette er en variabel som holder prosessid til den kjørende prosessen vi er inne i. $! Lik den over, men denne gir oss prosessid til den siste startede bakgrunnsprossesen vi har startet med scriptet. $* Gir oss en liste over alle parameter på ubeskyttet form (mer om dette lenger ned). $@ Gir oss en liste over alle parameter på beskyttet form. $- Gir oss de opsjoner som det nåværende skallet ble startet med I listen over bruker jeg begreper som beskyttet og ubeskyttet om parameter. Hva menes med dette? Enkelt sagt vil dette si å sende inn flere ord eller tegn inn som et parameter. Dette vil for eksempel være aktuelt når en skal sende inn fullt navn til et script. Siden parameter blir separert med mellomrom må vi knytte sammen for og etternavn til et parameter. Dette gjøres ved å bruke anførselstegn. Her er vi inne på noe meget sentralt vi må jobbe en del med for å klarhet i. Bruk av anførselstegn kan være forvirrende, og er ikke helt lett. Vi skal belyse dette med et grundig eksempel som forhåpentligvis gir mer klarhet i dette. For å vise hvordan dette virker lager vi først et lite miniscript som kun har til hensikt å gi oss opplysninger om parameter det mottar. Til dette bruker vi spesialvariabelene $# og $* for å skrive disse til konsollet. Etterpå lager vi et litt større script som sender inn parametre vha. både $*, «$*», $@ og «$@» for å se på forskjellen. Vi skriver inn dette scriptet:

3 Variabler, del II side 3 av 12 # Enkelt script som kun returnerer opplysninger om parameter echo "Jeg fikk inn $# parameter, de er: $*" exit 0 Vi lagrer dette scriptet som test_sub.sh og gjør det kjørbart. For å teste dette kjører vi det to ganger:./test_sub.sh tre ulike parameter Jeg fikk inn 3 parameter, de er: tre ulike parameter og./test_sub.sh "tre ulike" parameter Jeg fikk inn 2 parameter, de er: tre ulike parameter Forskjellen kommer vel frem her, men legg merke til at ingen anførselstegn blir med videre. Nå skal vi lage et nytt script som tar inn parameter, og sender disse til miniscriptet for utskrift. # Script som tar inn parameter og sender disse # til miniscriptet for utskrift til konsoll echo "Med \$*:"./test_sub.sh $* echo "Med \$* i anførselstegn:"./test_sub.sh "$*" echo "Med \$@:"./test_sub.sh $@ echo "Med \$@ i anførselstegn:"./test_sub.sh "$@" En kjøring av dette scriptet gir:./test.sh "tre ulike" parameter Med $*: Jeg fikk inn 3 parameter, de er: tre ulike parameter Med $* i anførselstegn: Jeg fikk inn 1 parameter, de er: tre ulike parameter Med $@: Jeg fikk inn 3 parameter, de er: tre ulike parameter Med $@ i anførselstegn: Jeg fikk inn 2 parameter, de er: tre ulike parameter Som vi ser har bruken av anførselstegn mye å si. Dette er ikke lett å få til med den gang, men med en del øvelse og prøving og feiling vil det etterhvert komme Miljøvariabler Begrepet miljøvariabler kan benyttes om to typer variabler: 1. Miljøvariabler satt i skallet, tilgjengelig for oss som kjente variabelnavn. Eksempler på dette er $PATH, $USERNAME, $PWD osv.

4 side 4 av Miljøvariabler vi setter for et spesifikt script. Vi skal se litt på begge deler. De førstnevnte miljøvariabler er gitt av den brukeren som kjører scriptet sine miljøvariabler. Du finner lett dine egne miljøvariabler ved å bruke kommanen env. Men hvis man baserer seg på disse kan det være skummelt, da den brukeren som kjører scriptet kan ha ulike miljøvariabler fra en selv. Et klassisk eksempel på dette er når en kjører et script som en cronjob. Hvis vi lager et svært banalt script som returnerer verdien av miljøvariabelen $PATH vil vi belyse dette: echo $PATH > /tmp/path Kjører vi dette scriptet vil filen /tmp/path typisk se slik ut: /usr/local/bin:/usr/bin:/bin:/usr/games Men legger jeg inn dette i crontaben min (kommanen crontab -e) vil fila se slik ut: usr/local/bin:/usr/bin:/bin Lite trolig at jeg vil bruke et spill i et script, men det belyser uansett poenget. Er en ikke forsiktig vil et script som fungerer perfekt når en testkjører det, feile når det kjøres som en cronjob. Den andre type miljøvariabler vil være svært nyttig når en vil ha et sett variabler for flere script. Har en en fil med variablene, trenger en kun å endre disse en plass for flere script. I scriptet henviser en da kun til denne filen med et punktum etterfulgt av et mellomrom og filnavnet hvori variablene er satt. Vi tyr igjen til et eksempel: Vi tenker oss at vi tar en enkel backup av noen filer, databaser etc regelmessig. Alle disse sikkerhetskopiene skal på samme sted, men dette kan endre seg. Vi legger i dette tilfellet variablene i en fil, /etc/backup/environ: # Miljøvariabler for backup # Sist endret: , torhal WORK_DIR=/backup BIN_DIR=$WORK_DIR/bin BACKUP_DIR=$WORK_DIR/files CONF_DIR=$WORK_DIR/conf Her er 4 variabler satt. Nå skal vi hente dem inn i selve backupscriptet: #!/bin/sh # # Script som tar backup av ulike kataloger og databaser, og legger # disse på et dertil egnet sted. # # , torhal # # Sette miljøvariabler ENVIRON=/etc/backup/environ. $ENVIRON [...] Nå har vi variablene satt i filen /etc/backup/environ (listet litt lengre opp) til full disposisjon i resten av vårt script.

5 Løkker side 5 av Løkker Nå har vi sett mye på tørt stoff om variabler. Da er det på tide å utvide horisonten med å se på en annen sentral del av både scripting og programmering generelt, løkker. Vi har to typer løkker i shellscripting: 1. For løkker 2. While løkker Vi skal nå se på de begge For løkker Vi kan skille for-løkkene i to ulike former, vi ser selvsagt på begge. Den første kan sammenlignes med «for each» kjent fra andre programmeringsspråk, og kan skjematisk fremstilles slik: for <variabel> in <liste> <Alt i denne blokken mellom blir utført en gang for hvert element i listen> Variabelen er slik vi er kjent med den fra forrige leksjon, listen er en liste med strenger separert av skilletegn (mellomrom, linjeskift, tab etc.) Vi starter med et enkelt eksempel for å belyse dette: # # Enkelt script som viser løkke, eksempel 1 for i in echo "Dette er linje $i" Her ser vi at vi bruker variabelen i som teller, og denne teller seg gjennom listen med tall vi har satt opp. En kjøring av dette scriptet vil gi følgende ut: Dette er linje 1 Dette er linje 2 Dette er linje 3 Dette er linje 4 Dette er linje 5 Dette er linje 6 Dette er jo enkelt å se, og kanskje ikke ekstremt nyttig. La oss se på et annet eksempel som bedre viser styrken til denne type for løkker. Vi kan la listen bli generert av en komman. Vi skal nå se på et større eksempel som illustrerer dette. Ikke la dere skremme av at dette scriptet innfører mer nytt enn bare løkker, jeg synes det er greit å vise et praktisk nytteeksempel. Dette er en sensurert utgave av et script jeg bruker for å ta sikkerhetskopi av MySQL databaser:

6 side 6 av 12 # Script som spinner gjennom alle databasene i MySQL # og dumper disse i angitt katalog. # torhal, # Variabler BRUKER="root" PASSORD="detfårikkederevite" TJENER="localhost" PLASSERING="/backup/mysql" IDAG= date +"%Y-%m-%d" TID1= date +"%s" ANTALL=0 MAXALDER=7 MAILTO="labben-driftsmeldinger@aitel.hist.no" MAILSUBJECT="MySQL-dump: " /bin/hostname LOGGFIL=$PLASSERING"/"$IDAG".log" # Passer på at målkatalogen for sikkerhetskopien finnes # og har korrekte rettigheter [! -d $PLASSERING ] && mkdir -p $PLASSERING : chown root:root -R $PLASSERING chmod 0700 $PLASSERING # Finner alle databasene i MySQL, # og legger dem inn i variabelen DATABASER DATABASER= mysql -u $BRUKER -h $TJENER -p$passord -Bse show databases # Sletter de gamle kopiene, (de finnes i sentral backup) echo "Sletter filer eldre enn $MAXALDER dager." > $LOGGFIL find $PLASSERING -type f -mtime +$MAXALDER -exec rm {} \; for db in $DATABASER FIL=$PLASSERING/$db-$IDAG.sql echo "Sikkerhetskopierer $db..." > > $LOGGFIL mysqldump -u $BRUKER -h $TJENER -p$passord --create-options $db > $FIL chmod 600 $FIL ANTALL= expr "$ANTALL" "+" "1" TID2= date +"%s" TID= expr "$TID2" "-" "$TID1" STATUSMSG="MySQL: $ANTALL databaser kopiert, forbrukt tid: $TID sekunder." echo $STATUSMSG > > $LOGGFIL echo $STATUSMSG mail -s "$MAILSUBJECT" $MAILTO Det som er mest interessant for oss nå er merket med rød skrift. Dette er to plasser i scriptet, den første er stedet hvor vi tar utdata fra en komman som viser alle databaser og legger inn i en variabel. Den andre interessante plassen er selve løkken, hvor vi foretar en dump for hver av disse databasene i en løkke. På denne måten kan nye databaser komme til, scriptet vil selv finne korrekt løkke hver

7 Løkker side 7 av 12 gang. Bruk litt tid på å studere dette scriptet selv, og prøv det gjerne om dere har MySQL installert. Vi har som nevnt en annen måte å skrive for løkker på, den kan skjematisk fremstilles slik: for ((uttrykk1; uttrykk2; uttrykk3 )) <Alt i denne blokken mellom blir utført om igjen til uttrykk2 evalueres til sann (true)> Dette er svært likt løkker vi kjenner fra for eksempel Java og C. Vi starter med et tilsvarende enkelt eksempel for å belyse dette: # # Enkelt script som viser løkke, eksempel 2 for (( i = 1 ; i <= 6; i++ )) echo "Dette er linje $i" En kjøring av dette scriptet vil gi følgende ut (i likhet med eksempelscript 1): Dette er linje 1 Dette er linje 2 Dette er linje 3 Dette er linje 4 Dette er linje 5 Dette er linje 6 Vi ser at ved store løkker hvor det skal telles opp er dette mer hensiktsmessig enn å selv skrive inn rekken med tall. Forøvrig regner jeg med at dere kjenner bruken av slik løkke fra tidligere fag innen programmering. For løkker kan selvsagt nøstes med flere utenpå hverandre While løkker Dette er en enkel løkke hvor løkken kjøres så lenge en betingelse er sann. Skjematisk kan den fremstilles slik: while [ <betingelse> ] komman 1 komman 2...osv Pass på at en av kommanene som blir kjørt inne i løkken oppdaterer løkkebetingelse, slik at vi unngår en uendelig løkke. Vi vi viser også her et tilsvarende enkelt eksempel:

8 side 8 av 12 # # Enkelt script som viser løkke, eksempel 3 i=1 while [ $i -le 6 ] echo "Dette er linje $i" i= expr $i + 1 Ikke overraskende får vi følgende ut: Dette er linje 1 Dette er linje 2 Dette er linje 3 Dette er linje 4 Dette er linje 5 Dette er linje 6 Legg merke til linjen som øker variabelen i med en for gjennomløp av løkken, slik at vi unngår faren med evig løkke. 2.3 Filbehandling Skriving til fil I eksemplet over hvor vi tok sikkerhetskopier av databaser introduserte vi filbehandling. Her dere at scriptet skriver til en loggfil. De fleste kjenner sikkert til skriving til fil fra tidligere befatning med Linux, men vi tar det kort her: echo "Dette er en linje i en tekstfil" > tekstfil I dette eksemplet skrives linjen «Dette er en linje i en tekstfil» inn i en tekstfil. Her betyr tegnet «>» at vi redirigerer utdata til en fil. Her benyttet vi en «>». Merk følgende: Hvis filen finnes fra før, vil den bli overskrevet med nytt innhold. Hvis filen ikke finnes fra før, vil den bli opprettet. Vi kan også benytte «> >», som vist i dette eksemplet: echo "Dette er en ny linje i en tekstfil" > > tekstfil Merk her følgende, og se forskjellen fra forrige eksempel: Hvis filen finnes fra før, vil det nye innholdet bli skrevet sist i filen, etter eksisterende innhold. Hvis filen ikke finnes fra før, vil den også her bli opprettet. Se eksemplet med sikkerhetskopiering av MySQL igjen, og legg merke til den lille loggen som blir skrevet. En kodelinje oppretter en ny loggfil, og lenger ned blir det skrevet til flere linjer til denne eksisterende loggfilen

9 Filbehandling side 9 av Lesing fra fil Vi skal nå lese inn fra en fil. Dette er ikke like enkelt å få oversikt over som skriving. Vi skal benytte noen eksempel for å illustrere noen poeng. Vi tar utgangspunkt i en fil vi kaller testfil, som har følgende innhold: (opprett denne selv) nald passord01 lly passord02 mikke passord03 minni passord04 Vi kan lese innholdet inn i en variabel med de metoder vi allerde har sett på. La oss teste dette: # Enkelt script for lesing av fil # Virker dette etter hensikten? FIL= cat testfil echo "Først skriver vi ut innholdet i variabelen:" echo $FIL echo "Så ord for ord:" for ord in $FIL; echo $ord Hvis vi prøver dette, får vi bare en lang rekke med ord, våre linjeskift har gått tapt. Som en skjønner av vår eksempelfil, testfil, er det et poeng å lese inn linje for linje. Dette er jo brukernavn med tilhørende passord som kan brukes til å legge inn brukere. For å oppnå lesing av en fil linje for linje kan vi benytte følgende generelle metode: while read tekstlinje; echo $tekstlinje < tekstfil Som vi ser benyttes her dirigering av innhold med «<». Legg merke til forskjellen fra skriving til fil. Vi konkretiserer dette i et nytt eksempelscript: # Enkelt script for lesing av fil # Virker dette bedre? while read tekstlinje; echo $tekstlinje < testfil Nå inneholder variabelen tekstlinje enkeltlinjer fra testfilen vår, og vi kan enkelt manipulere disse videre. Dette kan kombineres med det vi lærte om innlegging av nye brukere, vi nøyer oss med å konstatere at dette virker:

10 side 10 av 12 # Enkelt script for lesing av fil # Dette virker etter hensikten! while read tekstlinje; BRUKERNAVN= echo $tekstlinje cut -f1 -d" " echo "Brukernavn: $BRUKERNAVN" PASSORD= echo $tekstlinje cut -f2 -d" " echo "Passord: $PASSORD" < testfil 2.4 Noen tips Hvis det som har blitt gjennomgått i denne leksjonen så lang har festet seg, har vi kommet et godt stykke på vei. Vi venter til neste leksjon med funksjoner, og bruker heller litt plass på noen tips Bryt opp lange linjer Noen ganger kan kommanlinjene bli lange, spesielt når vi sender utdata fra en komman inn til neste i flere omganger. For å lettere lese og vedlikeholde script kan det da være hensiktsmessig å dele opp en komman i flere linjer. Husk at vi i et vanlig terminalvindu kun har 80 tegn pr linje. Vi deler en komman i ny linje med tegnet «\». Det er også vanlig å benytte innrykk på neste linje under. Vi tyr selvsagt til et eksempel for å belyse dette: Jeg vil søke gjennom loggfilen /var/log/auth.log for å se om noen har prøvd su og feilet i går. Forsøk 1 uten deling blir slik: # YESTERDAY= date --date "1 day ago" "+%b %e" sed s/\.//g grep "$YESTERDAY" /var/log/auth.log grep -i "failed su" cut -d " " -f 1,2,3,11 sed s Så sammenligner vi med en versjon med linjeskift: YESTERDAY= date --date "1 day ago" "+%b %e" sed s/\.//g grep "$YESTERDAY" /var/log/auth.log \ grep -i "failed su" \ cut -d " " -f 1,2,3,11 \ sed s/$/: su feilet!/ \ sort Dette gjør koden mer lettlest og enklere å redigere. Hver nye komman som mottar data fra den forrige (via «pipe,») er på ny linje.

11 Noen tips side 11 av Alternativ til løkker Ikke alltid vil løkker være den beste løsningen. Jeg retter oppmerksomheten tilbake til scriptet som sikkerhetskopierer databaser. Her er det en komman som leter opp gamle filer og sletter dem: find $PLASSERING -type f -mtime +$MAXALDER -exec rm {} \; Som løkke ville vi kanskje gjort det slik: FILER= find $PLASSERING -type f -mtime +$MAXALDER for fil in $FILER rm $fil Dette er både mer tungvint å skrive, og tar lengre tid å kjøre Fancy utdata Vi runder av med noe veldig unyttig, men forhåpentligvis litt morsomt. Dette vil ikke bli pensum til eksamen, så den som er lei kan hoppe over dette avsnittet. Hvis vi vil sprite opp utdata fra scriptet, enten for moro skyld, eller av andre årsaker er dette fullt mulig. Dere har kanskje lagt merke til at jeg flere plasser har brukt argumentet «-e» når jeg bruker kommanen echo. Dette skyldes en vane jeg har lagt meg til, for med dette argumentet vil vi få tilgang til en del formatering av teksten. Dette gjelder for eksempel farge og spesialtegn («ascii art»). Tenk tilbake til scriptet i forrige leksjon hvor vi sjekket om en bruker er root. Hvis vi legger til noen koder på linjen får vi en litt annen vri på dette: echo -e "\033[31mDu må være root for å kjøre dette scriptet\033[0m" Prøv denne linjen selv. Den første koden (\033[31m) slår på rød skrift, den andre (\033[0m) setter skriften tilbake til normal igjen. Hadde ikke vi hatt med denne siste hadde all utskrift blitt rød til vi ba om noe annet. Noen eksempler, prøv dem selv for å se resultatet. Du trenger ikke skrive dem inn i et script, det holder med å prøve dem rett i terminalvinduet. echo -e "\033[1mHei, jeg er uthevet\033[0m" echo -e "\033[5mHei, jeg blinker\033[0m" echo -e "\033[31mHei, jeg er rød\033[0m" echo -e "\033[32mHei, jeg er grønn\033[0m" echo -e "\033[34mHei, jeg er blå\033[0m" echo -e "\033[47mHei, jeg har lys bakgrunn\033[0m" echo -e "\033[40mHei, jeg har mørk bakgrunn\033[0m" Det finnes mange flere koden enn de nevnt ovenfor, men de kan dere finne på Internett om dere ønsker å bruke dem.

12 side 12 av Oppsummering Vi har i denne leksjonen sett mer på variabler, denne gangen på spesialvariabler og miljøvariabler. Vi har sett på løkker, både for og while løkker. Vi har brukt disse i enkle eksempel, og fått med oss advarselen om at vi skal passe oss for å havne i en evig løkke når vi bruker while. Vi så også nærmere på skriving til og lesing fra fil. Til slutt så vi på noen tips, og lekte oss litt med fancy utdata til konsollet/terminalvinduet.

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

Lynkurs i shellprogrammering under Linux

Lynkurs i shellprogrammering under Linux Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).

Detaljer

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram: Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014 Oppgave 1 a) Linux-kommando: java Beregn & b) Shellprogram: java Beregn & java Beregn Eventuelt, hvis man vil gjøre det med bare en linje

Detaljer

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr Nyttige Linux-kommandoer Hvordan du kan jobbe mer effektivt Dag Langmyhr Trenger vi kommandovinduer i dag? Svaret er nei for de fleste brukerne, men ikke for ekspertene. Ofte går det fortere å bruke kommandoer

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 20. mai 2003 Varighet: 0900-1200 Fagnummer: LO247D Fagnavn: Praktisk Linux Klasse(r): FU Studiepoeng: 6 Faglærer(e): Geir Maribu,

Detaljer

Oppgaver til forkurs i informatikk dag 1

Oppgaver til forkurs i informatikk dag 1 FAGUTVALGET VED INFORMATIKK Oppgaver til forkurs i informatikk dag 1 Forkurset i informatikk er beregnet på alle studenter som skal følge kurs som går ved Institutt for informatikk (Ifi). Kurset er åpent

Detaljer

Løsningsforslag til eksamen 24. november 2015

Løsningsforslag til eksamen 24. november 2015 Operativsystemer med Linux Løsningsforslag til eksamen 24. november 2015 Oppgave 1 a) Et OS deler tiden inn i små deler, typisk et hundredels sekund, og fordeler slike korte timeslices til alle prossene

Detaljer

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Innhold: Variabler Boolske verdier Kontrollstrukturer Datastrukturer Løkker Funksjoner Events DOM behandling av Christine Skjønhaug Færø

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, prosedyrer, funksjoner, tekst og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve 1 Tilbakeblikk Dere bør nå beherske det sentrale fra uke 1 og 2: Uttrykk, typer,

Detaljer

Brukerveiledning for ArkN4

Brukerveiledning for ArkN4 Brukerveiledning for ArkN4 Brukerveiledningen er delt inn i 3 deler: 1. Konfigurasjon av ArkN4 2. Kjøre ArkN4 3. Opprette ny database Eksemplene i dette kapitlet viser hvordan man velger de forskjellige

Detaljer

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa $ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755 Praktisk Linux Grunnleggende skall kommandoer Irene Ludvigsen Husa Hva er UNIX / Linux? Unix - En gruppe operativsystem som er

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:

Detaljer

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker

Detaljer

Håndtering av filer og kataloger

Håndtering av filer og kataloger Håndtering av filer og kataloger Fil- og katalognavn i Linux Filsystem-kommandoene bruker navn til å identifisere filer og kataloger Filnavn kan inneholde alle tegn untatt / og NULL-tegnet Lengde på filnavn

Detaljer

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Høgskoleni Østfold. Ny/utsatt EKSAMEN Høgskoleni Østfold Ny/utsatt EKSAMEN Emnekode: ITF22514 Emne: Operativsystemer og nettverk Dato: 8. januar 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærere: Jan Høiberg, Tore

Detaljer

WP-WATCHER WORDPRESS SIKKERHET

WP-WATCHER WORDPRESS SIKKERHET WP-WATCHER WORDPRESS SIKKERHET WP-WATCHER BACKUP - SIKKERHETSKOPIERING «Hei! Jeg oppdaterte en plugin på siden min og nå kommer jeg ikke inn på siden min i det hele tatt. Kan du hjelpe meg?» «Hjelp! Jeg

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Løse problemer med data fra fil, samt litt mer om funksjoner IN1000, uke6 Geir Kjetil Sandve Mål for uken Få enda mer trening i hvordan bruke løkker, samlinger og beslutninger for

Detaljer

Oppsummering fra sist

Oppsummering fra sist 1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Forkurs i informatikk - Onsdag

Forkurs i informatikk - Onsdag Forkurs i informatikk - Onsdag Dagens formål: Få praktisk trening og bli kjent med det kommandobaserte programmet terminalen. Motivasjon: Når man programmerer eller raskt skal manøvrere seg gjennom mapper

Detaljer

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities. Oversikt UNIX shell 1 UNIX shell Beskrivelse Bash 2 Kommandolinje som brukergrensesnitt 3 Input og output 4 Bash builtins 5 Linux utilities Lars Vidar Magnusson () Forelesning i Operativsystemer 30.08.2011

Detaljer

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen. Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette

Detaljer

Snake Expert Scratch PDF

Snake Expert Scratch PDF Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp

Detaljer

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Geir Kjetil Sandve Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

Kjøre Wordpress på OSX

Kjøre Wordpress på OSX Kjøre Wordpress på OSX Alt etter hva du ønsker å bruke Webserveren til er det flere måter å gjøre dette på. Ønsker du kun en side som skal dele sider du lager manuelt, med PHP, GD etc eller med server

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver

Detaljer

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver

Detaljer

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 EKSAMEN Emnekode: ITM20606 ITF10208 Dato: Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 05/06-2009 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater

Detaljer

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den

Detaljer

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon Pong Introduksjon Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår

Detaljer

1. Profiler og variabler

1. Profiler og variabler Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Profiler og variabler Stein Meisingseth 26.05.2014 Lærestoffet er utviklet for faget IDRI3005 PowerShell 1. Profiler og variabler Resymé:

Detaljer

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Metoder med parametre, løkker og arrayer

Metoder med parametre, løkker og arrayer Metoder med parametre, løkker og arrayer Løse problemer med programmering INF1000, uke3 Ragnhild Kobro Runde METODER MED PARAMETRE Statiske void-metoder med parametre Den typen metoder vi så på forrige

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

!!!!!!!!!!!! !!!!!!!!!!! WP-WATCHER WORDPRESS SIKKERHET

!!!!!!!!!!!! !!!!!!!!!!! WP-WATCHER WORDPRESS SIKKERHET WP-WATCHER WORDPRESS SIKKERHET WP-WATCHER BACKUP - SIKKERHETSKOPIERING «Hei Jeg oppdaterte en plugin på siden min og nå kommer jeg ikke inn på siden min i det hele tatt. Kan du hjelpe meg?» «Hjelp Jeg

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

Håndtering av filer og kataloger

Håndtering av filer og kataloger Håndtering av filer og kataloger Filsystem-kommandoer i Linux Navigere i katalogstrukturen Lage, slette, kopiere, flytte og endre navn på filer og kataloger Lage linker til filer Finne/lokalisere filer

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

Øving 0 - Xcode TDT4102

Øving 0 - Xcode TDT4102 Øving 0 - Xcode TDT4102 Frivillig Øving Mål for denne øvingen: Bli kjent med programmeringsverktøy Lage et første program kun med teksteditor og kompilator Lage et første program med Xcode Denne øvingen

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

Oppgaver til forkurs i informatikk dag 2

Oppgaver til forkurs i informatikk dag 2 FAGUTVALGET VED INFORMATIKK Oppgaver til forkurs i informatikk dag 2 Emacs Gå inn i «forkurs» katalogen fra i går. Hvis du ikke har denne katalogen må du opprette den nå med mkdir. Åpne så Emacs med kommandoen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Kapittel 3. The fun starts

Kapittel 3. The fun starts Kapittel 3 The fun starts Introduksjon I dette kapittelet vil jeg prøve å gjøre ting på en annen måte. Siden vi nå skal begynne å faktisk lage noe, tenkte jeg at jeg vil gjøre det slik at kapittelet blir

Detaljer

C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18

C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18 C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18 Olav Dæhli - C#-kurs høsten 2017 1 Løkker Dagens temaer Inkrementering/dekrementering Løkkebetingelser Løkketyper Nøstede løkker Escape-sequences Debugger

Detaljer

Håndtering av tekstfiler

Håndtering av tekstfiler Håndtering av tekstfiler Tekstlige data og Linux Linux er i stor grad et tekstbasert OS Har svært mange og gode verktøy (filterprogrammer) som leser tekst fra STDIN eller filer, og skriver tekstlig output

Detaljer

Steg 1: Regneoperasjoner på en klokke

Steg 1: Regneoperasjoner på en klokke Diffie-Hellman nøkkelutveksling Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Du har tidligere

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for

Detaljer

Steg 1: Vår første datamaskin

Steg 1: Vår første datamaskin Bli Kjent med Datamaskinen Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon

Detaljer

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Brukerveiledning for Intelligent Converters MySQL Migration Toolkit IKA Trøndelag IKS 2012

Brukerveiledning for Intelligent Converters MySQL Migration Toolkit IKA Trøndelag IKS 2012 Om verktøyet Formålet med dette verktøyet er å migrere informasjon fra en databasevariant til en annen, i denne veiledningen fra Oracle til MySQL. Dette gjøres som første ledd i en avleveringsprosess.

Detaljer

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 3 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Hvor i All Verden? Del 3 Erfaren Scratch PDF Hvor i All Verden? Del 3 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den siste av tre

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. JS: Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke

Detaljer

Shellprogrammer og -variabler

Shellprogrammer og -variabler Shellprogrammer og -variabler Innhold Hva er et shellprogram? Kjøring av shellprogrammer Feil, feilsøking og feilmeldinger Input og output Shellvariable Kommandosubstitusjon Tekststrenger Tallregning Parametre

Detaljer

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4.

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4. 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av

Detaljer

Harmonisert KS - ASAK Miljøstein AS

Harmonisert KS - ASAK Miljøstein AS Harmonisert KS - ASAK Miljøstein AS 1. Formål: Beskrive den praktiske bruken av KS-systemet. 2. Omfang: Alle 3. Ansvar: KS-ansvarlig i AM. 4. Gjennomføring: Oppdateres ved behov. 5. Registreringer: Ingen.

Detaljer

Brukerveiledning for kartarkiv levert av Konkylie Data

Brukerveiledning for kartarkiv levert av Konkylie Data Brukerveiledning for kartarkiv levert av Konkylie Data Sist oppdatert: 20.11.2012 Utgave 1.0 Innhold Viktig!... 3 Hvis noe går galt... 3 Innlogging... 4 Roller... 4 Superbruker... 4 Karttegner... 4 Løypelegger...

Detaljer

Oversikt over flervalgstester på Ifi

Oversikt over flervalgstester på Ifi Oversikt over flervalgstester på Ifi Christian Kringstad Kielland christkk@ifi.uio.no 1. august 2003 Introduksjon Dette dokumentet beskriver hvordan systemet for flervalgstester på Ifi fungerer. Systemet

Detaljer

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

Detaljer

22 45 32 00. faks: 22 45 32. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no

22 45 32 00. faks: 22 45 32. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no IKandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle ~klarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger Itil grunn for løsningen. Avdeling for Ingeniørutdanning.

Detaljer

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup 1 Systemkrav ADSL eller minimum ISDN via router. Ved automatisk backup: Min. Windows XP / 2000 / 2003 (pga. Service) Ved manuellt system: Min. Windows 98 SE NotaPlan Backup bør installeres på den/de maskiner

Detaljer

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

EKSAMEN. Operativsystemer. 1. Læreboken A Practical Guide to Red Hat Linux av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater. EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av

Detaljer

Filer og kataloger, prosesser og jobber

Filer og kataloger, prosesser og jobber Introduksjon til dataanlegget Filer og kataloger, prosesser og jobber Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Filer En l er en samling data som ligger lagret på maskinen

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner

Detaljer

INF100 INNLEVERING 3 HØSTEN 2004

INF100 INNLEVERING 3 HØSTEN 2004 INF100 INNLEVERING 3 HØSTEN 2004 Krav til innlevering For at innleveringen skal godkjennes må følgende leveres: Oversikt Et dokument som inneholder en oversikt over innleveringen. Den skal inneholde en

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 18. mai 2006 Varighet: 3 timer (09:00 12:00) Fagnummer: Fagnavn: Klasse(r): LV197D Webprogrammering med

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Læringsmål/pensum Filbehandling Mål: Forstå

Detaljer

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema:

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema: Dagens tema: 12 gode råd når man rammerer en kompilator Råd nr 1: Start nå! Det tar typisk 10 50 timer å rammere Del 1 om man ikke har gjort slikt før. Hvor mange timer per dag blir det? Dag Langmyhr,Ifi,UiO:

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale. Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig

Detaljer

Brukerveiledning http://www.hovikif.no/ Bruk av siden. Når du går inn på siden får du opp følgende bilde:

Brukerveiledning http://www.hovikif.no/ Bruk av siden. Når du går inn på siden får du opp følgende bilde: Brukerveiledning http://www.hovikif.no/ Bruk av siden Når du går inn på siden får du opp følgende bilde: Øverst i høyre hjørne kan du endre størrelsen på teksten og søke etter lagrede artikler. De enkelte

Detaljer

1. Systemsikkerhet. 1.1. Innledning. Innhold

1. Systemsikkerhet. 1.1. Innledning. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Systemsikkerhet Stein Meisingseth 29.08.2005 Lærestoffet er utviklet for faget LO474D Systemsikkerhet 1. Systemsikkerhet Resymé: Denne leksjonen

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

Detaljer

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim Bygge en kube Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal bygge en

Detaljer

Finne ut om en løsning er helt riktig og korrigere ved behov

Finne ut om en løsning er helt riktig og korrigere ved behov Finne ut om en løsning er helt riktig og korrigere ved behov Finurlige feil og debugging av kode IN1000, uke5 Henrik H. Løvold Oppgave (Lett modifisert fra eksamen 2014) Skriv en funksjon Dersom parameteren

Detaljer

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post.

Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. Administrasjon Nettbutikk: www.dittdomene.com/administrasjon Bruk brukernavn og passord som er sendt på e-post. - Konfigurasjon Klikk på Konfigurasjon i menyen helt til venstre, og deretter Min butikk.

Detaljer

Hvordan å lage og publisere ditt personlige visittkort

Hvordan å lage og publisere ditt personlige visittkort Hvordan å lage og publisere ditt personlige visittkort Av Asle Skauge Dette skal være en bruksanvisning som alle kan følge for å få lagt ut sitt personlige visittkort på internett. Hensikten med et slikt

Detaljer

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database Huldt & Lillevik Reise 1.4 støtter ikke lengre å kjøre mot en Access database. Du må derfor konvertere til MSDE eller SQL Server. Dette

Detaljer

Tilkobling og Triggere

Tilkobling og Triggere Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble

Detaljer

Hvordan laste ned og installere Java på Windowsplattformen

Hvordan laste ned og installere Java på Windowsplattformen Hvordan laste ned og installere Java på Windowsplattformen Nedlasting 1. Bruk en nettleser og gå til adressen: http://java.sun.com/javase/downloads/ 2. Trykk på lenken Download til høyre for JDK 6 Update

Detaljer

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå. Repetisjon Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks,

Detaljer

IN1140 Ekstraoppgaver uke 3

IN1140 Ekstraoppgaver uke 3 IN1140 Ekstraoppgaver uke 3 Sist oppdatert 05.09.2019 0 Intro Disse oppgavene er ment som et ekstratilbud for de som vil bli bedre kjent med noe av python-innholdet som brukes i kurset. De er ikke obligatoriske.

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett med Windows Server Backup I denne øvingen skal du ta sikkerhetskopi (backup) av data på Windows tjenermaskinen. Etterpå skal du gjøre tilbakelegging (recovery) av data fra

Detaljer

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose 1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose Anders Christensen (anders@ntnu.no) Rune Sætre (satre@ntnu.no) TDT4105 IT Grunnkurs

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter 1 TDT4110 Informasjonsteknologi grunnkurs: Eksempler Kunnskap for en bedre verden Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no Tlf: 735 91845 TDT4105

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Trading-algoritme I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Vi skal gjøre dette ved å lage et Python-program (med noen for-løkker)

Detaljer