Shellscripting I. Innhold

Størrelse: px
Begynne med side:

Download "Shellscripting I. Innhold"

Transkript

1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring i shellscripting. Vi tar for oss hvorfor vi scripter og hvordan vi skriver scriptet. Så blir vi introdusert for sentrale begrep som variabler, parameter og kontrollstrukture Innhold 1 Shellscripting I Introduksjon Hva er et shellscript? Hvorfor skrive script? Hvordan skrive et script Eksempel på skriving av script med vim Variabler Parameter inn til scriptet Kontrollstrukturer If setninger case Logiske operatører Oppsummering

2 1 Shellscripting I 1.1 Introduksjon Scripting er et meget viktig verktøy for en systemadministrator. En hver som drifter et *NIX-basert system vil forenkle mange av sine oppgaver vha. script, samt løse andre oppgaver som ikke enkelt lar seg løse direkte. Scriptene man lager kan enten kjøres manuelt eller automatisert ved bestemte tidsrom / intervall (dette er en såkalt cronjob). Hvis man ser etter vil man oppdage at flere av de kommandoene en kjører til daglig i Linux faktisk er script. Forhåpentligvis vil dette kurset gjøre dere i stand til å både skjønne disse scriptene og lage egne. Det forutsettes her at man har kjennskap til praktisk bruk av Linux og kommandoskallet fra før i dette faget. De ulike kommandoer vil bare i liten grad bli forklart, da det forutsettes at man kjenner disse fra før. Kommer dere over kommandoer som er ukjente og ikke forklart her, man dere benytte Linux innebygde manualsystem for å lære mer om disse (man kommando) 1.2 Hva er et shellscript? Et shellscript kan vi si er en samling med kommandoer samlet i en fil. Denne filen tolkes av kommandoskallet. Et script er derfor ikke et kompilert program. Vi skal nå se mer på bestanddelene i et script. Dette gjør vi ved å se på et enkelt eksempel:!/bin/bash Enkelt script gir oss antallet unike brukere som er logget på systemet. Tor Halsan, ANTALLBRUKERE= who cut -d " " -f 1 uniq wc -l echo -e "Det er $ANTALLBRUKERE unik(e) bruker(e) logget på date " Dette enkle scriptet består av 3 deler: Første linje viser hvilket program som skal tolke scriptet, i dette tilfellet kommandoskallet bash Deretter følger linjer med kommentarer. Dette er et viktig element i scriptet vårt, da dette gjør det lettere for andre å lese det, samt at man her kan ta med en rekke opplysninger som kan være viktige for fremtidige brukere. Gjør det til en vane fra første stund å skrive slike kommentarer!

3 Hvorfor skrive script? side 3 av 7 Til sist har vi to linjer med selve kommandoene. Selv om man kan si at et shellscript består av kommandoer skrevet i den rekkefølge man vi ha dem utført, kan et shellscript inneholde mange elementer vi kjenner igjen fra mer avanserte programmeringsspråk. Et slikt script kan inneholde blant annet løkker, kontrollstrukturer, funksjoner og interaktivitet. Vi skal gå gjennom alt dette i dette kurset. 1.3 Hvorfor skrive script? Scriptene er vår venn, å skrive script blir fort en viktig del av systemadministrators hverdag. Noen script skriver vi for å lette en jobb vi gjør ofte, mens andre skriver vi gjerne for at de skal kjøres jevnlig automatisk som nevnt i introduksjonen. Dette kan være ryddejobber, egne overvåkningsrutiner og periodisk vedlikehold av tjenester som går på tjeneren. 1.4 Hvordan skrive et script Å skrive selve scriptene er enkelt. Man bruker sin favoritteditor og skriver dette som en tekstfil. Jeg anbefaler at dere benytter en teksteditor som kan kjøres i enten i et terminalvindu eller direkte på konsollet, ikke en grafisk editor. Gode eksempler på slike editorer er vim og emacs. Grunnen til dette er at i stort sett alle tilfeller vil logge seg på en tjener via SSH og skrive script på en annen maskin fra sin egen maskin som er plassert utenfor maskinrommet. Jeg vil benytte editoren vim i dette eksemplet, men dere står selvsagt fritt til å selv velge en annen. vim har en innebygget opplæringsfunksjon for den som ikke kjenner programmet, det er bare å skrive kommandoen vimtutor for å starte opplæringen. Ved å editere filen /etc/vim/vimrc (eller legge en fil med tilsvarende innhold i hjemmekatalogen, ~/.vimrc, som overstyrer denne) kan man aktivisere en del nyttige funksjoner. Man kan fjerne kommenteringen av funksjonen «syntax on» for å få fargemerking av kode. Benyttes terminal med svart bakgrunn bør også «background=dark» aktiviseres. Finn gjerne ut av flere funksjoner selv Eksempel på skriving av script med vim Naviger til ønsket katalog på maskinen, for eksempel: cd ~/sas/script Start vim med ønsket fil: vim script1 trykk på tasten i (for å komme i insertmodus) og skriv inn selve innholdet. Tast Esc for å komme ut av insertmodus og skriv :x for å lagre og avslutte i en og samme operasjon. (:x tilsvarer :wq, altså Write og Quit) Gjør scriptet kjørbart:

4 side 4 av 7 Shellscripting I chmod +x script1 Test scriptet:./script1 1.5 Variabler I slike script vil variabler være viktig. Vi har allerede sett et eksempel på bruk av variabler i det første scriptet. Det er i slike script vanlig skikk å bruke store bokstaver, det gjør scriptene mer lettleste og variablene kan ikke forveksles med kommandoer. Variabler i shellscript deklareres ikke på forhånd slik som en er vant til fra rene programmeringsspråk. En variabel tilordnes en verdi med likhetstegn: VARIABEL1=432 VARIABEL2="Dette er tekst" VARIABEL3= date VARABEL4=$(date) Forklaring på disse tilordningene: VARIABEL1 får tallverdien 432. Dette betyr ikke at variabelen er av datatype integer (heltall) slik en kanskje skulle tro, alle variabler blir regnet som tekst. VARIABEL2 får blir satt lik en tekststreng. Vi bruker anførselstegn her, dette er nødvendig hvis tekststrengen består av mer enn ett ord. Det er god skikk å alltid bruke anførselstegn, selv om tekststrengen skulle bestå av bare ett ord. VARIABEL3 og VARIABEL4 får verdien som kommandoen date gir oss til svar. Dette er bare to forskjellige måter å gjøre det samme på. Legg merke til typen «fnutter» vi bruker på VARIABEL3. Det er denne typen tilordning vi benyttet i det første scriptet. Når vi etter tilordning skal benytte variabelen kjennetegnes dette ved at vi setter $ foran variabelnavnet. Dette forteller kommandoskallet som tolker scriptet vårt at dette er en variabel, og at nå skal vi sette inn verdien av denne. Hvis dere har skrevet inn det første scriptet på deres egen Linuxmaskin og kjørt dette, kan dere prøve å fjerne dollartegnet og se hva dere får ut da. I vårt første eksempelscript bruker vi altså to forskjellige måter å lage dynamiske strenger. Vi ser at i strengen vi skriver tilbake til brukeren bruker vi en variabel og et kommandoresultat. Bash tolker begge deler under utførelsen, selv om strengen står i anførselstegn. 1.6 Parameter inn til scriptet Det er svært vanlig å gi parameter inn til et script. Disse finner en lett igjen da de får standard variabelnavn, 1 er første parameter, 2 andre osv. Navnet til selve scriptet er 0. Disse variablene benytter vi på vanlig måte, vi henviser til disse ved å putte dollartegn foran. Vi viser dette dette med et eksempel:

5 Kontrollstrukturer side 5 av 7!/bin/bash Enkelt script for å legge til en ny bruker Bruksmåte: <scriptnavn> <brukernavn> Versjon 0.1 Tor Halsan, useradd $1 Dette er ikke et særlig godt script, men vi vil utvide det senere til å bli litt mer nyttig. Et slik script av denne typen, hvor vi standardiserer input til en eksisterende kommando kalles gjerne en wrapper, vi «pakker inn» kommandoen i et script. Vi vil belyse parametrene litt mer i neste avsnitt, hvor vi utvider vårt enkle eksempelscript over. 1.7 Kontrollstrukturer Vi skal nå se på kontrollstrukturer, hvor utførelsen av scriptet vil avhenge av om gitte betingelser er oppfylt If setninger Vi starter med å se på if setninger. Disse kan variere fra det helt enkle, til mer komplekse. De vil være på formen: if <betingelse>; then <utfør A> elif <betingelse>; then <utfør B> else <utfør C> fi Merk at elif og else er valgfrie, og at vi avslutter if med fi. Vi utvider vårt eksempelscript med en slik kontrollstruktur:!/bin/bash Enkelt script for å legge til en ny bruker Bruksmåte: <scriptnavn> <brukernavn> Versjon 0.2 Tor Halsan, Sjekk om du er root if [ /usr/bin/id -u!= 0 ]; then echo -e "Du må være root for å kjøre dette scriptet" exit 1 fi useradd -m $1

6 side 6 av 7 Shellscripting I Nå avsluttes scriptet hvis vi ikke er root. Det er ingen vits i prøve å legge til en annen bruker uten at man har rettigheter til dette. Her introduseres vi for en annen kommando: [. Dette er egentlig kommandoen test (man test gir oversikt over syntaks). Det vil etterhvert komme fler eksempler på hvordan denne kommandoen brukes. Vi sjekker hver UID (user ID) til brukeren som kjører, og hvis denne ikke er lik 0 (roots UID) får vi melding om dette, og scriptet avsluttes med en feilkode. Et vellykket script vil returnere verdien 0 ved avslutning, mens vi returnerer andre verdier ved feil. Dette kan brukes til flere ting, slik som kjøring av andre kommandoer hvis scriptet ikke gikk som det skulle. Vi vil se eksempler på dette i avsnittet om logiske operatører case I shellscript har vi også muligheten til å bruke flervalgskontrollstrukturen case. La oss igjen belyse dette med et eksempel, vi utvider vårt enkle script til å la bruker velge gruppetilhørighet til den nye brukeren.!/bin/bash Enkelt script for å legge til en ny bruker Bruksmåte: <scriptnavn> <opsjon> <brukernavn> Versjon 0.3 Tor Halsan, Sjekk om du er root if [ /usr/bin/id -u!= 0 ]; then echo -e "Du må være root for å kjøre dette scriptet" exit 1 fi Sjekk hvilken gruppe brukeren skal tilhøre case "$1" in -a --ansatt) Dette er en ansattbruker useradd -m -d /home/ansatt/$2 -g ansatt $2 ;; -s --student) Dette er en studentbruker useradd -m -d /home/student/$2 -g student $2 ;; *) Alle andre opsjoner gir feilmelding echo -e "Ukjent opsjon" exit 1 ;; esac passwd $2

7 Logiske operatører side 7 av 7 Vi velger her mellom flere alternativer. Vi tenker oss at første argument inn forteller oss hvilken gruppe vi skal benytte. Vi lar også brukeren få to alternative måter å skrive inn opsjonene på, vi separer disse med tegnet (pipe). Her vil vi sjekke om første argument er lik «-a» eller «ansatt», og i tilfelle kjøre kommandoen som legger til en bruker med gruppetilhørighet til ansatte. Etter at denne kommandoen er utført har vi en linje med «;;» for å hoppe ut av kontrollstrukturen. Etter at vi har sjekket for våre godkjente opsjoner, har vi et valg som fanger opp «alt annet». Slik kan vi varsle brukeren om dette, og stoppe scriptet med en feilkode. 1.8 Logiske operatører Vi har også til disposisjon noen logiske operatører. Operatøren og skrives && og operatøren eller er. Disse kan brukes i samband med avslutningskodene som nevnt i forrige avsnitt. Vi kan tenke oss at dersom en kommando kjøres uten feil skal en ny kommando kjøres. Vi kan bruke kommandoen useradd som eksempel siden denne er brukt i våre eksempelscript. I forskjell fra kommandoen adduser opprettes her kun en bruker, uten at vi mulighet til å oppgi passord interaktivt. La oss tenke oss at vi vil sette passord hvis brukeren ble lagt til uten feil. Da kan vi skrive inn kommandoen useradd test && passwd test Her vil passordkommandoen kun bli kjørt hvis resultatet fra første kommando er vellykket. Tilsvarende kan vi benytte. 1.9 Oppsummering Vi har i denne leksjonen begynt å se på scripting i Linux. Vi har sett på hva et script er, litt om hvorfor vi skriver script og hvordan. Vi har startet med å se på den enkleste formen for scripting, shellscript. Dette fordi den enkleste formen for script er den det gjerne er lettest å ty til når når en trenger et script i en fei. Vi har sett på det grunnleggende; variabler og parametre. Videre har vi begynt å få en struktur over scriptene våre i og med at vi har gjennomgått kontrollstrukturer. Vi avsluttet med en rask titt på logiske operatører. Neste leksjon vil ta opp tråden med shellscripting, og vi vil bl.a. gjennomgå løkker.

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

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

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

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

Verdier, variabler og forms

Verdier, variabler og forms [Kurssidene] [ ABI - fagsider bibin ] Verdier, variabler og forms Michael Preminger (michaelp@hio.no) 16/01-14 Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Litt om forrige times øvelsesoppgaver

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

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript

Matematikk 1000. Øvingsoppgaver i numerikk leksjon 5 Skript Matematikk 1000 Øvingsoppgaver i numerikk leksjon 5 Skript I denne øvinga skal vi lære oss mer om skript. Et skript kan vi se på som et lite program altså en sekvens av kommandoer. Til sist skal vi se

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 1, PyCharm, Print, Input, (funksjoner og globale variabler) Gå til https://www.jetbrains.com/pycharm/ og sett PyCharm på nedlasting NÅ Kristoffer Hagen

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

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

Ny EKSAMEN. Operativsystemer og nettverk

Ny EKSAMEN. Operativsystemer og nettverk Ny EKSAMEN Emnekode: ITF22514 Dato: 4. juni 2015 Emne: Operativsystemer og nettverk Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Alle trykte og skrevne. Faglærere: Jan Høiberg og Tore Petter Engen

Detaljer

Introduksjon til beslutningsstrukturer

Introduksjon til beslutningsstrukturer [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Introduksjon til beslutningsstrukturer Michael Preminger (michaelp@hio.no) 24/01-14 Repitisjon fra

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

Detaljer

INF109 - Uke 1b 20.01.2016

INF109 - Uke 1b 20.01.2016 INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer

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

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15. Vi holder orden på verdier med hjelp av variabler

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15. Vi holder orden på verdier med hjelp av variabler [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15 Vi holder orden på verdier med hjelp av variabler Vi lagrer verdier i variabler. Variabelnavn uttrykker verdienes rolle

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang 2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om

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

Læringsmål og pensum. if (be): else (not_to_be):

Læringsmål og pensum. if (be): else (not_to_be): 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe

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

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: 15. desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

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

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

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer

Opphavsrett: Forfatter og Stiftelsen TISIP

Opphavsrett: Forfatter og Stiftelsen TISIP Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innstallasjon og komme i gang med python Claus Schive Lærestoffet er utviklet for faget IFUD1050 Programmering med Python Hvilket programmeringsspråk

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

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

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

Generelt om shell / skall

Generelt om shell / skall Bourne-again Shell Generelt om shell / skall Kommandolinjebasert brukergrensesnitt Leser en og en linje med tekstlig input Inputlinjene er kommandoer som skal utføres eller programmer som skal startes

Detaljer

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110) Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser

Detaljer

Linux-programmer som bruker regulæruttrykk: grep, sed, awk

Linux-programmer som bruker regulæruttrykk: grep, sed, awk Linux-programmer som bruker regulæruttrykk: grep, sed, awk grep * søking i tekstlige data grep [OPTIONS] REGEX [FILE...] Verktøy som finnes i alle Unix-lignende OS Leser en eller flere tekstfiler, eller

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

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

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger I dag INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Litt repetisjon Mer om uttrykk Lesing og skriving til terminal Forgreninger

Detaljer

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Valg og betingelser TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne forstå og bruke if-setninger sammenlikning av strenger nøstede beslutningsstrukturer betingelser

Detaljer

Operativsystemer og nettverk

Operativsystemer og nettverk Løsningsforslag til eksamen i Operativsystemer og nettverk 04.06.2015 Oppgave 1: Generelt om Linux a) Det grunnleggende brukergrensesnittet i Linux er et tastaturbasert CUI (Commandline User Interface),

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:

Detaljer

16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5 16 Programmere Skrive et program på TI-86... 248 Kjøre et program... 256 Arbeide med programmer... 258 Laste ned og kjøre et assemblerspråkprogram... 261 Skrive inn og lagre en streng... 263 TI -86 M1

Detaljer

Oppgave 1 - Java og prosesser (20%)

Oppgave 1 - Java og prosesser (20%) Prøveeksamen våren 2012 Operativsystemer Les nøye gjennom oppgavene før du begynner og pass på å besvare alle spørsmålene. Alle trykte og skrevne hjelpemidler er tillatt. Sett gjerne egne forutsetninger

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. 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 JS Bin

Detaljer

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere Hensikten med denne introduksjonen er å lære hvordan man kommer raskt i gang med grunnleggende funksjoner i Stata. Teksten er tilpasset

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 Eksamensdato: 15.des 2011 Studiepoeng: 6 Varighet: 4 timer. Start kl 09:00 og skal leveres inn senest kl 13:00 Emnekode: Emnenavn:

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

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

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

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Pythonboka kap. 1-9, 12 Teorikapitlet

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

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

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

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: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:

Detaljer

Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin.

Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin. Oppgaver uke 35: Oppgavene 1, 2, 4, 5, 6, 9, 12 og 13 passer best til å løses ved en datamaskin. Oppgave 1. Skriv et C-program som leser mål i tommer og skriver det ut i fot og tommer. (Det er 12 tommer

Detaljer

Matematikk 1000. Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Matematikk 1000. Øvingeoppgaver i numerikk leksjon 1 Å komme i gang Matematikk 1000 Øvingeoppgaver i numerikk leksjon 1 Å komme i gang I denne øvinga skal vi bli litt kjent med MATLAB. Vi skal ikkje gjøre noen avanserte ting i dette oppgavesettet bare få et visst innblikk

Detaljer

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Simpila. Den dynamiske

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet! 1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)

Detaljer

Hemmelige koder. Kodeklubb-koden. Steg 1: Alfabetet. Sjekkliste. Introduksjon

Hemmelige koder. Kodeklubb-koden. Steg 1: Alfabetet. Sjekkliste. Introduksjon Hemmelige koder Nybegynner Python Introduksjon Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder! Kodeklubb-koden Et chiffer er et system for å gjøre om vanlig tekst

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

1. Kontrollstrukturer og løkker

1. Kontrollstrukturer og løkker Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Leksjon 02: Kontrollstrukturer og løkker Kjell Toft Hansen 23.06.2010 Lærestoffet er utviklet for faget LO177D Databaseprogrammering med

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

Høst 2014. Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

Høst 2014. Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 5 1 Teori a) Hva er den binære ASCII-verdien av bokstaven E (stor e)?

Detaljer

Dokumentasjon av Installasjon

Dokumentasjon av Installasjon Vedlegg D Dokumentasjon av Installasjon Dette dokumentet tar for seg detaljert informasjon vedrørende installasjon nødvendig for delapplikasjonene i PySniff. Innholdsfortegnelse 1. INTRODUKSJON 3 2. PYTHON

Detaljer

Shellscripting II. Innhold

Shellscripting II. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tor Halsan 01.09.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Vi fortsetter å se på variabler, denne gangen

Detaljer

1. Tilstandsinformasjon på klientsiden

1. Tilstandsinformasjon på klientsiden Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 24.02.2004 Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D

Detaljer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator? Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får

Detaljer

ITGK - H2010, Matlab. Repetisjon

ITGK - H2010, Matlab. Repetisjon 1 ITGK - H2010, Matlab Repetisjon 2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne

Detaljer

1 Diverse linuxtips. Innhold

1 Diverse linuxtips. Innhold 1 Diverse linuxtips Innhold 1 Diverse linuxtips 1 1.1 Virtuelle konsoller............................ 2 1.2 Teksteditorer............................... 2 1.3 Filsystemet................................

Detaljer

"How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it".

How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it. smug: selvtilfreds condescending: nedlatende "How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it". En kort introduksjon til operativsystemet

Detaljer

NSA mandag 4. oktober 2010. Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine

NSA mandag 4. oktober 2010. Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine NSA mandag 4. oktober 2010 Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine Brukerbehandling har mange komponenter: De rent tekniske sidene ved å legge til

Detaljer

Hvordan du kommer i gang med LOGO.

Hvordan du kommer i gang med LOGO. Hvordan du kommer i gang med LOGO. Innhold: Velkommen til et kurs for å lære grunnleggende bruk av LOGO. Vi går gjennom noen viktige funksjoner slik at du til slutt kan få til å programmere. Dette opplegget

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Oversikt INF1000 Uke 6 Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Litt om objekter, filer med easyio, tekst Arne Maus 1 2 Objekter, pekere og null Vi lager pekere og objekter

Detaljer

4. Installasjonsveiledning. Experior - rich test editor for FitNesse -

4. Installasjonsveiledning. Experior - rich test editor for FitNesse - 4. Experior - rich test editor for FitNesse - 4.1. Forord Denne rapporten inneholder installasjonsveiledning for Experior. Experior er tilpasset for installasjon i oppdragsgivers utviklingsmiljø. Det er

Detaljer

Hendelser Apprentice ComputerCraft PDF

Hendelser Apprentice ComputerCraft PDF Helser Apprentice ComputerCraft PDF Introduksjon I denne leksjonen skal vi se nærmere på hvordan datamaskinene bruker såkalte helser for å reagere på ting som tastetrykk, museklikk og så videre. Etterhvert

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting Matematikk 1000 Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting I denne øvinga skal vi først og fremst lære oss å lage plott i MATLAB. I tillegg skal vi lære oss hvordan vi manøvrerer oss omkring

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 4: Logikk Dag Normann Matematisk Institutt, Universitetet i Oslo 27. januar 2010 (Sist oppdatert: 2010-01-27 12:47) Kapittel 4: Logikk (fortsettelse) MAT1030 Diskret

Detaljer

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger

Detaljer

Oppsummering - Kurset (10/11-2015)

Oppsummering - Kurset (10/11-2015) Oppsummering - Kurset (10/11-2015) Grunnleggende HTML... 1 Basic JavaScript... 2 Variabler:... 3 Operatorer:... 4 Klikkhendelser... 5 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander...

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 0 for Mac Frist: Ingen (frivillig øving)

Detaljer

Educatia AS. Programmeringsgrensesnitt (API) for brukersynkronisering. Versjon: 1.1 (19.10.2015) Educatia AS firmapost@educatia.

Educatia AS. Programmeringsgrensesnitt (API) for brukersynkronisering. Versjon: 1.1 (19.10.2015) Educatia AS firmapost@educatia. Educatia AS Programmeringsgrensesnitt (API) for brukersynkronisering Versjon: 1.1 (19.10.2015) Educatia AS firmapost@educatia.no Side 1 av 9 Introduksjon Dette dokumentet beskriver hvordan Educatias programmeringsgrensesnitt

Detaljer