Oppsummering - Til nå... (1/ )

Like dokumenter
Oppsummering - Til nå... (1/ )

Oppsummering - Kurset (10/ )

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

ITF Eksamensform: Skriftlig (digital) Dato: 28/

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler

Dersom noen oppgaver er så vanskelige at du ikke vet hvordan du skal løse de, gjør forenklinger og forklar nøye hva du har forenklet/tatt bort.

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript Nybegynner

Høgskoleni østfold EKSAMEN

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

Programmering Høst 2017

JS: Trykkomania Nybegynner Web Lærerveiledning

Steg 1: Canvas-elementet

Web-programmering med JSP Løsningsforslag leksjon 3

EKSAMEN ITF Innføring i programmering Dato: Eksamenstid: 11/

JS: Partikkel-animasjon Nybegynner

JS: Trykkomania. Introduksjon. Skrevet av: Arve Seljebu

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

SUKKERGRIS. Anita og Silje DAT100

Øvingsforelesning 5 Python (TDT4110)

En bedre verden med AJAX

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

Øvingsforelesning 5 Python (TDT4110)

<HTML Koder> Enkle HTML koder for bruk til bl.a cachebeskrivelser. Ver. 2.01

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

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

Oppsummering fra sist

Informasjon Eksamen i IN1000 høsten 2017

Betinget eksekvering og logiske tester i shell

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

MAT1030 Plenumsregning 1

Løpende strekmann Erfaren Videregående Python PDF

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Steg 1: Tekst på flere linjer

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Repetisjon Novice Videregående Python PDF

Innføring i Dynamisk HTML

MAT1030 Diskret Matematikk

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Høgskoleni østfold EKSAMEN. Emne: Innføring i programmering

Læringsmål og pensum. Oversikt

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

MMT105 Internettprogrammering Uke 44, høst 2007

Øvingsforelesning i Python (TDT4110)

Javascript. Mer om layout

Innføring i bruk av CGI4VB

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

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å.

og bevegelse funksjoner som blir aktivert av hendelser Keyboard Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Kontrollstrukturer (valg og løkker)

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

HTML: Del inn nettsiden

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

Noen innebygde funksjoner - Vektorisering

</html> </head> <form action= rtkst.php > <p> Fornavn? <input type= text name= fornavn <input type= submit />

Leksjon 3. Kontrollstrukturer

Norsk informatikkolympiade runde

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

Noen innebygde funksjoner - Vektorisering

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Lynkurs i shellprogrammering under Linux

TDT4110 IT Grunnkurs Høst 2016

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

Øvingsforelesning 3 Python (TDT4110)

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

TDT4110 IT Grunnkurs Høst 2016

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

TDT4110 IT Grunnkurs Høst 2012

UNIVERSITETET I OSLO

EKSAMEN / 6101N WebPublisering

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

MAT1030 Diskret matematikk

HTML-del. 1. <!-- ikke slett min kode, vær så snill --> er a) en HTML stil-tag b) en CSS stil-tag c) en HTML kommentar-tag d) en CSS kommentar-tag

Visuell Programmering: Kom i gang med Processing

Informasjon Prøveeksamen i IN1000 høsten 2018

Lærerveiledning - Snøballkrig

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Oppgave 1 (Etter forelesning 31/8) Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

TDT4100 Objektorientert programmering

Høgskoleni østfold EKSAMEN

Kodetime for Nordstrand barneskole

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

Innføring i bruk av CGI4VB

Del 1 En oversikt over C-programmering

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

HØGSKOLEN I SØR-TRØNDELAG

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

JS: Grunnleggjande JavaScript

TDT4110 Informasjonsteknologi grunnkurs: Uke 41: «Matlab programs» (kapittel 6)

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

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

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

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

MAT1030 Plenumsregning 3

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

Transkript:

Oppsummering - Til nå... (1/10-2015) Grunnleggende HTML... 1 Basic JavaScript... 2 Variabler:... 3 Operatorer:... 4 Klikkhendelser... 5 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander... 7 Logiske operatorer... 7 Løkker... 8 Arrayer... 10 "Ordinære"... 10 Løkker og arrayer... 10 Assosiative arrayer... 12 Arrayfunksjoner... 12 2 Dimmensjonale arrayer... 13 Hendelser... 14 Hendelsesparameter - Ikke "Essensielt"... 14 Tidsstyrte Hendelser... 16 Manipulere dokumenter... 16 Tilfeldige tall... 17 Funksjoner... 17 Definerer:... 17 Bruker/ Kaller:... 17 Eksempler:... 18 Grunnleggende HTML - Helt enkle dokumenter html, title, img, p, div, span, body, head, ul, ol, li, table++ - Struktur <html> <head> <script> <-- All JS her med referanse til tign i body... </script> </head> <body> </body> </html> - <input type="text" id="txtfjfdfh"></input> <button id="btnknapp" type="button">djjsdksdjkl</button> <select id="lstxxx">

<option value="???">tekst</option> <option value="???">tekst</option> </select> document.getelementbyid("lstxxx").value <!-- kommentar --> Basic JavaScript window.onload = oppstart; function oppstart() { //Kode her... SKRIV PEN KODE - MED INDENTERING REKKEFØLGE KODE UTFØRES Eksempel: var t = 45; document.getelementbyid("id-på-element").innerhtml = t; //45 t = 76; LÆR DERE Å BRUKE DEBUGGER (F12 I Chrome) // Enlinjekommentarer /* Er flerlinje kommentarer */ Endre innhold i en tag: document.getelementbyid("id-på-element").innerhtml = verdi; id-på-element.innerhtml = verdi <div id="id-på-element">dhdh</div>

Variabler: var navn = verdi; navn = verdi verdi = variabel var tekst = "tekst"; var tall = 5; var tall2 = 5.89; var tekst = "456"; var tall = parseint(tekst); var tekst = "45.6"; var tall = parsefloat(tekst); var tall = 3.43247676823786 var tekst = tall.tofixed(2) document.getelementbyid("utskrift").innerhtml = tall.tofixed(2) var tekst = "Det var en \"fin\" dag"; var filsti = "C:\\hei\\temp\\test" var tekst = "Hei på deg"; alert ( tekst.length) // 10 var tegn = tekst.charat(7) // "d" var posisjon = tekst.indexof("å") // 5 var del = tekst. substr(3,4) // " på " tekst.replace(" ", "") tekst.replace("å", "ae") Regular expressions var storebokstaver = tekst.touppercase() var svar = "oslo"; //Fra bruker var riktig = "Oslo"; if( svar ===riktig ) // false

if ( svar === "Oslo" svar === "oslo" svar === "OSLO" svar === "OsLo" ) if( svar.touppercase() === riktig.touppercase() ) Operatorer: var t = 4 + 6; var t2 = t + 67; var t3 = 4-5; var t4 = 5 * 5; var t5 = 7 / 6; var test = 45; test = test + 1; // 46 test += 1; // 47 test++; //48 var test = 45; test = test - 1; // 44 test -= 1; // 43 test--; //42 test *= 5; // test = test * 5 test /= 5; // test = test / 5 var personer = 4; var epler = 25; var igjen = epler % personer; // 1 var sammehengendetekst = "Hei på" + "deg"+ alder; var tekst += "nok en gang"; Hente verdi fra en tekstboks: <input type="number" id="txtalder"></input> var alder = parseint(document.getelementbyid("txtalder").value);

<input type="text" id="txtnavn"></input> var navn = document.getelementbyid("txtnavn").value; Klikkhendelser window.onload = oppstart; function oppstart() { //Kode her... document.getelementbyid("btnknapp").onclick = klikket; function klikket() { var navn = document.getelementbyid("txtnavn").value; Kontrollstrukturer Valgsetninger Kode før if ( betingelse ) { Kode etter Kode før if ( betingelse ) { //Kl1 //Kl2 Kode etter Benytt alltid { og

Betingelse er f.eks.: alder > 56; tekst === "Hei" Kode før if ( betingelse ) { else { //Kode Kode etter Kode før if ( betingelse ) { else if (betingelse){ else if (betingelse){ else { //Kode Kode etter HUSK mest spesifikke først... Kode før if ( alder > 50 ) { else if ( alder > 18){ else if ( alder > 0){ else { //Kode

Kode etter ( betingslese? sannverdi : usannverdi ) var tekst = ( alder > 18? "myndig" : "umyndig") var lonn = (alder > 18? 200 : 90 ) * anttimer; Betingelser/påstander HUSK må ALLTID gi svaret ja eller nei === (er lik)!== (ulike) > (større enn) < (mindre enn) >= (større enn eller lik) <= (mindre enn eller lik) verdi operator verdi alder > 18 IKKE bruk == og!= var myndig = alder > 18; if( myndig === true) if( myndig) Logiske operatorer && (OG) (ELLER - En eller begge)! (IKKE) alder > 18 && hoeyde > 180

alder > 18 && < 90 alder > 18 && alder < 90 alder > 18 hoeyde > 180 if (!( alder > 18 hoeyde > 180 ) ) Løkker //Kode før if ( betingelse ) { //Kode etter //Kode før while ( betingelse ) { //Kode etter var tall = 10; while (tall > 0) { alert(tall); tall--; for (var tall = 10; tall > 0; tall-- ) { alert("hei"); for (var tall = 0; tall < 10; tall++) { alert(tall);

for (var tall = 0; tall < 10; tall++) { tall+=3; alert(tall)

for (var tall = 0; tall < 10; tall++) { if( tall % 2 === 0) { alert(tall); break; // Stopper løkka continue; // Hopper til neste runde Arrayer "Ordinære" var poeng = [34, 23, 67, 2, 4, 8] ; poeng[2] = 245; // [34, 23, 245, 2, 4, 8]; poeng[3]++; // [34, 23, 245, 3, 4, 8]; alert ( poeng[5] ); // 8 NB! NB! NB! NB! NB! Vi starter å telle på 0 var antall = poeng.length // 6 Legge til på slutten: poeng[poeng.length] = 324; // [34, 23, 245, 3, 4, 8, 324]; var navn = [ ]; navn[navn.length] = "Tom"; Løkker og arrayer var navn = ["Tom","Ole","Knut"]; alert(navn[0]);

alert(navn[1]); alert(navn[2]); Gjør følgende, men hver gang med en verdi som er 1, 2,3,4, osv.: alert(navn[0]); for ( var i = 0; i<3 ; i++) { alert(navn[i]); for ( var i = 0; i<navn.length ; i++) { alert(navn[i]); var sum = 0; for ( var i = 0; i<poeng.length ; i++) { sum += poeng[i]; alert(sum); var sum = 0; for ( var i = 0; i < poeng.length ; i++) { sum += poeng[i]; alert(sum); for ( var i = 0; i < poeng.length ; i++) { if (poeng[i] > maks ) { maks = poeng[i]; alert(maks);

Assosiative arrayer var poeng = [34, 23, 67, 2, 4, 8] ; poeng[2] = 245; // [34, 23, 245, 2, 4, 8]; alert( poeng[1] ) var deltagerpoeng = { Knut : 34, Ole : 25, Per : 45 deltagerpoeng["per"] = 76; alert( deltagerpoeng["ole"] ) deltagerpoeng.knut = 3445; var status = { status["per"] = "OK"; var sum = 0; for (var nokkel in deltagerpoeng) { sum += deltagerpoeng[nokkel]; alert(sum); for (var nokkel in deltagerpoeng) { alert (nokkel + " fikk " + deltagerpeong[nokkel] + " poeng" ); if( ("Per" in deltagerpoeng ) === true){ if( "Per" in deltagerpoeng){ Arrayfunksjoner

var tall = [6,7,3,4,5,2]; var tekst = tall.join("#") // "6#7#2#4#5#2" var tekst = "<p>" +tall.join("</p><p>") + "</p>" var verdier = "Per,Ole,Tom,Nils"; //Input fra bruker... var navn = verdier.split(",") // ["Per","Ole","Tom","Nils"]; alert(tall); document.getelementbyid("utskrift").innerhtml = tall alert(tekst); document.getelementbyid("utskrift").innerhtml = tekst var posisjon = tall.indexof(2) // 5 var posisjon2 = tall.indexof(8) // -1 tall.splice(3,2) // Fjern alle elementer fra pos. 3 og 2 stykk etter => [6,7,3,2] tall.sort(); tall.reverse(); 2 Dimmensjonale arrayer var bilinfo = [ ] bilinfo[0] = ["AS-44523","Nissan","X-Trail",2009] bilinfo[1] = ["B-313","Donalbil","v1",1952] bilinfo[2] = ["A-1","Mercedes","C1",2100] alert ( bilinfo[0][2] ) //X-Trail var bilinfo = [ ] bilinfo[0] = {NR: "AS-44523", Merke: "Nissan", Modell: "X-Trail",Aar: 2009

bilinfo[1] = {NR: "B-313", MErke: "Donalbil",Modell: "v1",aar: 1952 alert( bilinfo[1]["modell"] ) // v1 Hendelser window.onload = oppstart; function oppstart() { //Kode her... document.getelementbyid("btnknapp").onclick = klikket; function klikket() { //Kode onmousedown onmouseup onmousemove onmouseover onmouseout document.onkeypressed document.onkeydown document.onkeyup Hendelsesparameter - Ikke "Essensielt" window.onload = oppstart; function oppstart() { //Kode her... document.getelementbyid("btnknapp").onclick = klikket; function klikket(evt) {

hjørne -------- alert ( evt.clientx ) //X-koordinaten til musa - HUSK 0,0 er øverste venstre window.onload = oppstart; function oppstart() { //Kode her... document.getelementbyid("btnknapp").onclick = klikket; document.getelementbyid("btnknapp2").onclick = klikket; function klikket(evt) { if( evt.currenttarget === document.getelementbyid("btnknapp") ) window.onload = oppstart; function oppstart() { //Kode her... document.onkeypressed = tasttrykket; function tasttrykket (evt) { if( evt.keycode === 8) if( evt.keychar=== "A") Se: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

Tidsstyrte Hendelser function plagbruker() { alert("yo!"); var id; function oppstart() { id = setinterval("plagbruker()", 300) // 300 ms, 1000 ms = 1 sekund document.getelementbyid("btnstopp").onclick = stop; function stop() { clearinterval(id); Finnes en settimeout som gjør noen 1 gang.. Manipulere dokumenter var nyttelement = document.createelement("li"); nyttelement.innerhtml = "?????"; nyttelement.id = "fjfk" document.getelementbyid("liste").appendchild(nyttelement); <ul id="liste"></ul> document.getelementbyid("liste").removechild(nyttelement); ----------------------- Endre CSS document.getelementbyid("utskrift").style.cssegenskap = verdi document.getelementbyid("utskrift").style.color = 'red'

document.getelementbyid("utskrift").classname = klassenavn Tilsvarer <p id="utskrift" class="klassenavn"> Tilfeldige tall Math.random() // Gir tall fra og med 0, til 1 Math.random()*intervallstørrelse + intervallstart intervallstart + intervallstørrelse // gir tall fra intervallstart til Math.random() *4 + 5 // fom 5, t 9 Math.floor( Math.random()* 4 + 5) Funksjoner Definerer: function funksjonsnavn () { function funksjonsnavn ( parameter1, param2, param3 osv..) { return verdi Bruker/ Kaller: funksjonsnavn(); funksjonsnavn(argument1, argument2, argument3 osv...);

Eksempler: function summertall(tall1, tall2) { return tall1+tall2; function oppstart() { var talla = document.getelementbyid("txttalla").value; var svar = summertall(talla,9) document.getelementbyid("resultat").innerhtml = svar; NB!NB! NB! Funksjonen stopper utførelsen dersom/når den møter på en return VIKTIG (med noen unntak): * Alt en funksjon bruker Må komme gjennom prametere * Alt den produserer MÅ sendes ut gjennom return * gi gode navn * håndtere alle parameterverdier * håndtere alle feil Funksjoner som gir ja/nei svar bør returnere true/false: function allelike(arr) { var forste = arr[0]; for(var i; i<arr.length; i++) { if( arr[i]!== forste ) { return false return true function oppstart() { var liste = [2,4,2,2,2,2,2]; if( allelike(liste) === true) { alert("yatzy"); else { alert("uyatzy");

Canvas <canvas width="???" height="????" id="tegneflate"></canvas> var ctx = document.getelementbyid("tegneflate").getcontext("2d"); ctx.beginpath(); ctx.moveto(x,y); ctx.lineto(x,y); ctx.stroke(); ctx.beginpath(); ctx.arc(x,y,diam,0,2*math.pi) ctx.stroke(); ctx.beginpath(); ctx.rect(x,y,vidde,høyde) ctx.stroke(); ctx.strokestyle = 'cssfarge' ctx.linewidth = tall Fyll: ctx.fillstyle = 'cssfarge' ctx.fill() //NB Kjør fill før stroke HUSK: X måles fra venstre kant, Y måles fra toppen Matte-funksjoner Math.pow(basistall,potens) Math.pow(2,10) 2 10 Math.sqrt(tall) Kvadratrot - Math.sqrt(4); Math.round(tall) Avrunding TIPS: Math.round(tall/100)*100 //Nærmeste 100 Math.floor(tall) Hugge av desimaler (for positive tall) ---- Runder alltid ned...

Math.abs(tall) Fjerner minus... Math.sin(vinkel) Math.asin(sinverdi) --- NBNBNBNB Måles i radianer...