├── eriktest ├── Mariatest ├── test222 ├── README.md ├── Lab2Design ├── GruppeDistroList ├── gitklient.sh └── lab1.py /eriktest: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /Mariatest: -------------------------------------------------------------------------------- 1 | test123 2 | -------------------------------------------------------------------------------- /test222: -------------------------------------------------------------------------------- 1 | dwadawdadawdaw 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # IS-105 2 | Repository for gruppearbeid i IS-105. 3 | Så samt me får GitHub te å fungera. 4 | -------------------------------------------------------------------------------- /Lab2Design: -------------------------------------------------------------------------------- 1 | Liste/oversikt over verdiene til romertallene og desimalene 2 | I er 1 også videre 3 | Konvertere alle romertallene til desimal. 4 | Liste alle elementer [element1, element2, element3] 5 | f.eks I er 1, IV er 4 osv. 6 | Konverte hver enkelt bokstav til dets desimalverdi ut i fra listen. 7 | Sjekke hvordan bokstavene er plassert i forhold til verdien for å legge sammen eller trekke fra. 8 | 9 | Funksjon som henter INPUT 10 | Må kunne liste ut alle funksjoner i modulen 11 | 12 | Testing av INPUT: 13 | Sjekke om INPUT fungerer (er tegn korrekte, er de desimal eller romertall?) 14 | Hvis man har et romertall/desimal som ikke kan direkte representeres gi feilmelding. 15 | -------------------------------------------------------------------------------- /GruppeDistroList: -------------------------------------------------------------------------------- 1 | Fredrik Aass-Hansen - CentOS 7.0 VirtualMachine SamsungLaptop 2 | --- 3 | Maria Sandø Andersen - Distro = CentOS 7.0 / Miljø = VirtualMachine / Hardware - AsusLaptop 4 | --- 5 | Adam Ajmi - Distro = CentOS 6.6 / Miljø = VirtualMachine / Hardware = MulticomXishanLaptop 6 | --- 7 | Stian Storbråten - Distro = Ingenting forøvrig, skal installere CentOS også. Usikkert om 6.6 eller 7.0 / Miljø = VirtualMachine / Hardware = Macbook Pro. 8 | --- 9 | Øystein Traskjær - Distro = CentOS 6.6 / Miljø = VirtualMachine / Hardware = MulticomLaptop 10 | --- 11 | Erik Oskar Zetterquist - Distro = Ingen forøvrig / Miljø = Ingen forøvrig / Hardware = Macbook 12 | --- 13 | Vetle Horpestad - Distro = CentOS 7 / Miljø = VirtualMachine / Hardware = AcerLaptop 14 | -------------------------------------------------------------------------------- /gitklient.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # gitklient.sh 4 | # Kommandolinje klient for git(hub) - Christer Jonassen 5 | # 6 | # Forutsetter at current directory er et repository og at det er riktig satt opp. 7 | 8 | APPVERSION="0.3" 9 | 10 | # Terminal farger 11 | DEF="\x1b[0m" 12 | WHITE="\e[0;37m" 13 | LIGHTBLACK="\x1b[30;01m" 14 | BLACK="\x1b[30;11m" 15 | LIGHTBLUE="\x1b[34;01m" 16 | BLUE="\x1b[34;11m" 17 | LIGHTCYAN="\x1b[36;01m" 18 | CYAN="\x1b[36;11m" 19 | LIGHTGRAY="\x1b[37;01m" 20 | GRAY="\x1b[37;11m" 21 | LIGHTGREEN="\x1b[32;01m" 22 | GREEN="\x1b[32;11m" 23 | LIGHTPURPLE="\x1b[35;01m" 24 | PURPLE="\x1b[35;11m" 25 | LIGHTRED="\x1b[31;01m" 26 | RED="\x1b[31;11m" 27 | LIGHTYELLOW="\x1b[33;01m" 28 | YELLOW="\x1b[33;11m" 29 | 30 | 31 | trap "{ skrivut \"Fanget stopp signal, avslutter...\"; sleep 1; exit; }" SIGINT SIGTERM # Set trap for catching Ctrl-C and kills, so we can reset terminal upon exit 32 | trap "{ clear; reset; skrivut \"gitklient $APPVERSION terminated at `date`\"; }" EXIT # exit procedure 33 | 34 | header() 35 | { 36 | clear 37 | skrivut ""$DEF"### "$CYAN"gitklient $APPVERSION "$DEF"- Mappe: "$CYAN"$(pwd)"$DEF" - Bruker: "$CYAN"$(whoami)"$DEF" ###" 38 | skrivut 39 | } 40 | skrivut() 41 | { 42 | echo -e ""$DEF"$1"$DEF"" 43 | } 44 | 45 | skrivutdata() 46 | { 47 | case "$1" in 48 | 49 | start) 50 | echo -e ""$DEF""$PURPLE"### Utfører: "$PURPLE"\""$YELLOW"$2"$PURPLE"\""$YELLOW"" 51 | ;; 52 | 53 | stopp) 54 | echo -e ""$DEF""$PURPLE"### OK!"$DEF"" 55 | ;; 56 | 57 | esac 58 | } 59 | 60 | bekreft() 61 | { 62 | skrivut "Trykk en tast for å fortsette..." 63 | read -s -n 1 SELECTION 64 | } 65 | 66 | leggtilogcommit() 67 | { 68 | header 69 | skrivutdata start "git add * --all" 70 | git add * 71 | skrivutdata stopp "git add * --all" 72 | skrivut 73 | echo -e "Skriv inn kommentar til commiten du oppretter:"$YELLOW"" 74 | read KOMMENTAR 75 | 76 | skrivut "Vil bli commitet med kommentaren: \""$YELLOW"$KOMMENTAR\"" 77 | bekreft 78 | skrivut "Utfører git commit!" 79 | skrivutdata start "git commit -m \"$KOMMENTAR\"" 80 | git commit -m "$KOMMENTAR" 81 | skrivutdata stopp "git commit -m \"$KOMMENTAR\"" 82 | bekreft 83 | } 84 | 85 | synkronisermedgithub() 86 | { 87 | header 88 | skrivut "Laster ned..." 89 | skrivutdata start "git pull origin master" 90 | git pull origin master 91 | skrivutdata stopp "git pull origin master" 92 | skrivut 93 | skrivut "Laster opp..." 94 | skrivutdata start "git push origin master" 95 | git push origin master 96 | skrivutdata stopp "git push origin master" 97 | skrivut 98 | skrivut "Ferdig!" 99 | bekreft 100 | } 101 | 102 | meny() 103 | { 104 | header 105 | skrivut " 1. Commit alle endringer" 106 | skrivut " (git add * --all)" 107 | skrivut 108 | skrivut " 2. Synkroniser med github.com" 109 | skrivut " (git pull origin master og" 110 | skrivut " git push origin master)" 111 | skrivut 112 | skrivut " X. Avslutt" 113 | skrivut 114 | skrivut 115 | skrivut "Velg en handling (1, 2 eller X):" 116 | 117 | read -s -n 1 SELECTION 118 | 119 | case "$SELECTION" in 120 | 1) 121 | leggtilogcommit 122 | ;; 123 | 124 | 2) 125 | synkronisermedgithub 126 | ;; 127 | 128 | x) 129 | exit 130 | ;; 131 | 132 | X) 133 | exit 134 | ;; 135 | 136 | *) 137 | ;; 138 | esac 139 | } 140 | 141 | # selve runscriptet 142 | while true 143 | do 144 | meny 145 | done 146 | -------------------------------------------------------------------------------- /lab1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: latin-1 -*- 2 | 3 | # 4 | # IS-105 LAB1 5 | # 6 | # lab1.py - kildekode vil inneholde studentenes løsning. 7 | # 8 | # 9 | # 10 | import sys 11 | 12 | # Skriv inn fullt navn på gruppemedlemene (erstatte '-' med navn slikt 'Kari Trå') 13 | gruppe = { 'student1': 'Adam Ajmi', \ 14 | 'student2': 'Fredrik Aass-Hansen', \ 15 | 'student3': 'Maria Sandø Andersen', \ 16 | 'student4': 'Stian Storbråten', \ 17 | 'student5': 'Øystein Traskjær', \ 18 | 'student5': 'Erik Oskar Zetterquist', \ 19 | 'student5': 'Vetle Horpestad', \ 20 | } 21 | 22 | # 23 | # Oppgave 1 24 | # Leke med utskrift 25 | # Skriv ut følgende "ascii art" i en funksjon (erstatte pass) 26 | # Funksjonen skal hete ascii_fugl() og skal være uten argumenter og uten returverdier 27 | # Den skal skrive ut følgende når den brukes ascii_fugl 28 | print "-" 29 | print " \/_" 30 | print " \,_ /( ,/" 31 | print " \__' ///" 32 | print " \_ /_/" 33 | print " (./" 34 | print " '` " 35 | def ascii_bird(): 36 | # 37 | # Oppgave 2 38 | # bitAnd - x&y 39 | # Implementer funksjonen som gjør en "bitwise" AND operasjon (erstatt pass) 40 | # Eksempel: bitAnd(6, 5) = 4 41 | # Forklaring: 6 binært er 110, mens 5 er 101. Hvis vi sammenligner bitvis 42 | # 1 AND 1 gir 1, 1 AND 0 gir 0 og 0 AND 1 gir 0 => 100 binært 43 | # er 4 desimalt. Antagelse: posisjonsbasert tallsystem og 44 | # den mest signifikante bit-en er lengst til venstre 45 | 46 | def bitAnd(6 & 5): 47 | pass 48 | 49 | 50 | # 51 | # Oppgave 3 52 | # bitXor - x^y 53 | # Eksempel: bitXor(4, 5) = 1 54 | # 55 | def bitXor(4, 5): 56 | pass 57 | # 58 | # Oppgave 4 59 | # bitOr - x|y 60 | # Eksempel: bitOr(0, 1) = 1 61 | # 62 | def bitOr(x, y): 63 | 64 | # 65 | # Oppgave 5 66 | # 67 | # Tips: 68 | # For å finne desimalverdien til et tegn kan funksjonen ord brukes, for eksempel 69 | # ord('A') , det vil gi et tall 65 i ti-tallssystemet 70 | # For å formattere 6 i ti-tallssystemet til 00000110 i to-tallssystemet 71 | # '{0:08b}'.format(6) 72 | # 00000110 73 | # 74 | # Formatteringsstrengen forklart: 75 | # {} setter en variabel inn i strengen 76 | # 0 tar variabelen i argument posisjon 0 77 | # : legger til formatteringsmuligheter for denne variabelen (ellers hadde den 6 desimalt) 78 | # 08 formatterer tall til 8 tegn og fuller med nuller til venstre hvis nødvendig 79 | # b konverterer tallet til dets binære representasjon 80 | # 81 | # Hvilke begrensninger vil en slik funksjon ha? (tips: prøv med bokstaven 'å', f.eks.) 82 | # Forklar resultatet ascii8Bin('å') 83 | # Hvilke faktorer påvirker resultatet? Forklar. 84 | # 85 | def ascii8Bin(letter): 86 | pass 87 | 88 | # 89 | # Oppgave 6 90 | # transferBin - ta en tilfeldig streng som argument og skriver ut en blokk av 8-bits strenger 91 | # som er den binære representasjon av strengen 92 | # Eksempel: transferBin("Hi") skriver ut: 93 | # 01001000 94 | # 01101001 95 | # Forklart hver linje i denne funksjonen (hva er list, hva gjør in) 96 | # Skriv selv inn tester ved å bruke assert i funksjonen test() 97 | # 98 | def transferBin(string): 99 | l = list(string) 100 | for c in l: 101 | # skriv ut den binære representasjon av hvert tegn (bruk ascii8Bin funksjonen din) 102 | print "Den binære representasjonen for %s" % c 103 | 104 | # 105 | # Oppgave 7 106 | # transferHex - gjør det samme som transferBin, bare skriver ut representasjonen 107 | # av strengen heksadesimalt (bruk formattering forklart i Oppgave 6) 108 | # Skriv gjerne en støttefunksjon ascii2Hex, som representerer et tegn 109 | # med 2 heksadesimale tegn 110 | # Skriv selv inn tester ved å bruke assert i funksjonen test() 111 | # 112 | def transferHex(string): 113 | l = list(string) 114 | for c in l: 115 | print "Den heksadesimale representasjonen for %s" % c 116 | 117 | # 118 | # Oppgave 8 119 | # Implementer en funksjon unicodeBin, som kan behandle norske bokstaver 120 | # Kravspesifikasjon for denne funksjonen er den samme som for ascii8Bin funksjonen 121 | def unicodeBin(character): 122 | pass 123 | 124 | # 125 | # Oppgave 9 126 | # Studer python module psutils (må være obs på versjon) 127 | # Prøv å finne ut hvordan du kan finne ut og skrive ut følgende informasjon om din 128 | # datamaskin-node: 129 | # 130 | # Brand and model 131 | # Hard drive capacity 132 | # Amount of RAM 133 | # Model and speed of CPU 134 | # Display resolution and size 135 | # Operating system 136 | # 137 | # Forklar hvorfor man kan / ikke kan finne denne informasjon vha. psutil modulen. 138 | # Skriv en funksjon printSysInfo som skriver ut den informasjon som psutil kan finne. 139 | # Kan dere skrive en test for denne funksjonen? 140 | # Hvilke andre muligheter har man for å finne informasjon om maskinvare i GNU/Linux? 141 | # 142 | def printSysInfo(): 143 | pass 144 | 145 | 146 | def test(): 147 | assert bitAnd(6, 5) == 4 148 | assert bitXor(4, 5) == 1 149 | assert bitOr(0, 1) == 1 150 | assert ascii8Bin('a') == '01100001' 151 | assert ascii8Bin('A') == '01000001' 152 | # Skriv her inn passende tester for tarnsferBin og transferHex funksjoner 153 | # fra oppgavene 6 og 7 154 | assert unicodeBin('å') == '11100101' 155 | # Dine egne tester 156 | return "Testene er fullført uten feil." 157 | 158 | 159 | # Bruk denne funksjonen for å vise at alle testene er kjørt feilfritt 160 | print test() 161 | 162 | --------------------------------------------------------------------------------