Föreläsning 4: Poster
|
|
- Magnus Björn Vikström
- för 9 år sedan
- Visningar:
Transkript
1 Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra på en post. Tilldelning, likhet, åtkomst av delar av posten. Utvidgning: type Person_Type2 is Namn : String(30); Skonr : Float; Kon : Boolean; Barn : Person_Typ; Pratat om att man inte kan använda sig av en typ innan den är färdigdeklarerad m.m. Åtkomst av första tecknet i barnets namn m.m. Angående strängar har jag tagit upp: X := Integer'Value(Str(1..2)); D.v.s. Konvertering från sträng till heltal samt delsträngar. Attributet Value till typen Integer. Sagt att det är ovanligt att använda typer mellan "" och "end", men att detta var ett tillfälle. Övning på lektion Uppgift 1: Skapa en datatyp som motsvarar ett komplext tal på formen "A + Bi". Går att lösa med strängar, fält m.m., men vi vill ha en post. Hur gör man? Blir säkert lite frågor kring om man skall lagra "+" och "i", men detta är ju onödigt. Dessa är ju bara till för att visa för oss användare vad det är för typ av tal. Det räcker med talen "A" och "B". Vi kan använda "Float" eller "Integer". Det spelar ingen roll, men jag brukar styra det till "Integer" för att sen få det lättare vid inläsningen. Vi får förhoppningsvis fram: type Complex_Type is Re : Integer; Im : Integer;
2 Uppgift 2: Skriv ett program som läser in två komplexa tal och summerar dessa och skriver ut summan. Skall lösas med underprogram. De kommer säkert fram till att man skall göra något i stil med följande i huvudprogrammet. Åtminstone efter lite diskussioner fram och tillbaka. with Ada.Text_IO; use Ada.Text_IO; procedure Complex_Summary is type... Enligt ovan. A, B, Sum : Complex_Type; Put("Mata in..."); Get(A); Get(B); Sum := Add(A, B); Put("Summan blev "); Put(Sum); New_Line; end Complex_Summary; Nu måste vi dock skapa en egen "Get", en "Add" och en "Put" för att klara av detta. Vi fixar dessa genom lite diskussion med studenterna. procedure Get(Item : out Complex_Type) is Ch : Character; Get(Item.Re); Get(Ch); Tar bort '+'. (Nödvändigt?) Get(Item.Im); Get(Ch); Tar bort 'i'. end Get; Varför skall 'i' läsas bort? Varför skall detta skrivas? Dessa frågor dyker (nästan) alltid upp. Svar: Man vill givetvis mata in talet som man ser det rent matematiskt och programmet måste då se till att det läser in allt som har med ett komplext tal att göra så att nästa inmatning ("Get") kan ta nästa data utan att det ligger "skrot" kvar. Ovanstående "Get" brukar de komma fram till. Jag visar ofta en annan variant där man sätter lite hårdare begränsingar på inmatningen, men som ger lite övning på "Integer'Value" som ser ut på följande sätt.
3 procedure Get(Item : out Complex_Type) is Str : String(1..6); Kräver att data matas in på formen: "NN+NNi" Get(Str); Konvertering till post. Item.Re := Integer'Value(Str(1..2)); Item.Im := Integer'Value(Str(4..5)); end Get; De vet om detta och kan själva få ge tips om hur man skriver satserna för att göra de olika delarna. Ibland frågar de varför man gör på detta vis och då kan man säga att det kan finnas tillfällen då man kanske måste ge ett visst format på indata för att det skall bli lättare att lösa problemet för programmeraren, men att det i idealfallet inte borde vara så. Nu skall vi kanske skapa "Put": Det var ju inte så svårt. procedure Put(Item : in Complex_Type) is Ada.Integer_Text_IO.Put(Item.Re, Width => 2); Ada.Text_IO.Put('+'); Ada.Integer_Text_IO.Put(Item.Im, Width => 2); Ada.Text_IO.Put('i'); end Put; Vi går in på "Add". Här får de tänka lite på hur parametrar m.m. skall skickas och vad som skall returneras, men det är inga konstigheter. Behövs dock en lokal variabel. function Add(A, B : in Complex_Type) C.Re := A.Re + B.Re; C.Im := A.Im + B.Im; end Add; Nu kommer man till detta med vilka paket som programmet måste inkludera. Det saknas åtminstone "Ada.Integer_Text_IO". De kan ju få fundera på detta. Efter detta modifierar jag uppgiften och säger att jag vill ha en funktion som multiplicerar istället för adderar. Hur löser de detta? Konstigt nog har de ofta problem med detta. Låt dem hjälpa till och fundera utan att stressa dem.
4 function Multiply(A, B : in Complex_Type) C.Re := (A.Re * B.Re) (A.Im * B.Im); C.Im := (A.Re * B.Im) + (A.Im * B.Re); end Multiply; Nu kanske man inte vill anropa dessa funktioner ("Add" och "Mult") så som de är gjorda just nu. Man vill väl normalt sett kunna utföra en "normal" addition med "+". Hur gör vi då? Vi bara byter ut "Add" mot ""+"" (ser lite roligt ut i denna text, men...) och på motsvarande sätt för "Mult". function "+"(A, B : in Complex_Type) C.Re := A.Re + B.Re; C.Im := A.Im + B.Im; end "+"; På detta sätt kan vi anropa "funktionen" (eller operatoröver-lagringen som det egentligen heter) på följande sätt.... Sum := A + B;... end...; Mycket trevligt då detta ser ut som i matematiken. Lite magiskt, men trevligt. Uppgift 3: Skapa ett paket av det vi gjort som har med komplexa tal att göra så att vi kan använda det i ett annat program senare.
5 Börja med att plocka ut det som skall till "ads"-filen, d.v.s. typer och underprogramsdeklarationer (eventuellt konstanter). package Complex_Handling is type Complex_Type is Re : Integer; Im : Integer; procedure Get(Item : out Complex_Type); procedure Put(Item : in Complex_Type); function "+"(A, B : in Complex_Type) return Complex_Type; function "*"(A, B : in Complex_Type) return Complex_Type; Diskussion om att kanske ha med jämförelseoperatorer... function ">"(A, B : in Complex_Type) return Complex_Type; end Complex_Handling;
6 Fortsätt sen med "adb"-filen. package body Complex_Handling is procedure Get(Item : out Complex_Type) is Ch : Character; Get(Item.Re); Get(Ch); Tar bort '+'. (Nödvändigt?) Get(Item.Im); Get(Ch); Tar bort 'i'. end Get; procedure Put(Item : in Complex_Type) is Ada.Integer_Text_IO.Put(Item.Re, Width => 2); Ada.Text_IO.Put('+'); Ada.Integer_Text_IO.Put(Item.Im, Width => 2); Ada.Text_IO.Put('i'); end Put; function "+"(A, B : in Complex_Type) C.Re := A.Re + B.Re; C.Im := A.Im + B.Im; end "+"; function "*"(A, B : in Complex_Type) C.Re := (A.Re * B.Re) (A.Im * B.Im); C.Im := (A.Re * B.Im) + (A.Im * B.Re); end "*"; end Complex_Handling;
7 Hur gör man för att använda detta paket från huvudprogrammet är nästa fråga. Skriv ett huvudprogram som klarar biffen. with Ada.Text_IO; use Ada.Text_IO; with Complex_Handling; use Complex_Handling; procedure Complex_Summary is A, B, Sum : Complex_Type; Put("Mata in..."); Get(A); Get(B); Sum := A + B; Put("Summan blev "); Put(Sum); New_Line; end Complex_Summary; Lite illa gjort paket fortfarande: Vi vill nog ha datatypen privat. Hur gör vi då? Vi "rättar" bara i "ads"-filen. Inget händer någon annanstans. package Complex_Handling is type Complex_Type is private; procedure Get(Item : out Complex_Type); procedure Put(Item : in Complex_Type); function "+"(A, B : in Complex_Type) return Complex_Type; function "*"(A, B : in Complex_Type) return Complex_Type; private type Complex_Type is Re : Integer; Im : Integer; end Complex_Handling; Vad innebär detta för oss i paketet? Vad innebär det för den som skriver huvudprogrammet? Bra frågor som ni bör diskutera (även om jag gjort det på FÖ redan). I paketet innebär det att vi slipper göra felkontroller på de data som ligger i vår "datatyp" (eller rättare sagt i de olika variabler som kommer in till våra rutiner). I huvudprogrammet innebär det att det blir otillåtet att t.ex. försöka ändra variabler av vår datatyp på annat sätt än genom att anropa våra rutiner i paketet. Detta leder till att programmeraren som skriver huvudprogrammet inte kan ställa till det för oss (och sig själv i slutänden).
8 I vissa fall kan det dock vara trevligt att inte göra en typ privat. Det kan ju vara så att man vill att huvudprogrammet skall kunna påverka datat utan att behöva använda sig av de rutiner som finns i paketet. Om det är så får man dock hantera de eventuella situationer som kan uppstå när man skickar in data till rutinerna så att man inte får programmet att "krascha". Man bör dock tänka igenom detta noggrant innan man sätter en typ helt synlig så att man inte skapar sig en massa problem framöver. Finns det tid över kan det vara trevligt att leka med "<". Om man gör denna "korrekt" krävs att man har tillgång till både "**" och "Sqrt". Finns i "Ada.Numerics.Elementary_Functions" (eller i "Ada.Numerics.Generic_Elementary_Functions" om man vill leka med instansiering :-). Jämförelsen "<" bygger på beloppet av det komplexa talet och alla vet ju hur man räknar ut detta (ingår i "grunken" har jag för mig :-). Man kan dock fuska lite och skippa "Sqrt" då det räcker att jämföra de båda kvadraterna, men då blir det inte lika roligt längre. Dock kan det vara på sin plats att vid detta tillfälle ta upp att det är ett sådant läge där man skriver en extra kommentar i koden som anger att man har gjort saker som gör koden mer effektiv och hur man gjort detta.
5 Grundläggande in- och utmatning
5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Exempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Tentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Föreläsning 7: Filer
Genomgånget på FÖ: Föreläsning 7: Filer Undantag: Liten mall för undantag ("exceptions") och vad man har det till. Dock inte med betoning på allt, men det väsentliga är upptaget. Filer: P. Open(filvar,
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.
Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern
Paket (2) nautisk_mil : constant Float := * foot; ångström : constant Float := 10.0E-10; mile : constant Float := 5280.
Paket (2) with LängdKonstanter; use LängdKonstanter; procedure Main is Ett huvudprogram som infogar detta paket: Paket (1) Ett paket med en praktisk uppsättning konstanter: package LängdKonstanter is --
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Chapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Föreläsning 5: Introduktion av pekare
Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men
Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,
Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Föreläsning 0: Introduktion av Ada
Föreläsning 0: Introduktion av Ada OBS! Detta är antagligen det enda papper som delas ut under hela FÖ serien. Det finns förutom detta ett antal OH:n som kommer att användas under nästa FÖ, men sen är
Inledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Uppgift 1 ( Betyg 3 uppgift )
2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen
1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
Uppgift 1 ( Betyg 3 uppgift )
2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal
För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.
1 Inmatning och utskrift Inmatning från tangentbord och utskrift till skärm sker i java med hjälp av objekten System.out och System.in. Dessa båda objekt är exempel på strömmar. En ström är en typ som
Programmeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret 12-13 Klass: SPR2
8 Mycket bra Bra Dåligt Mycket dåligt EAS 1. Hur var ditt första intryck av denna kurs? Mycket bra 6 21 Bra 21 75 Dåligt - - Mycket dåligt 1 4 EAS - - Antal EAS:. Antal svarande: 28. Mv: (Skala 1) = 78,57
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Vi hoppas att ni har glädje av berättelsen om Undra och Lollo som ska träna sina krångelhänder så de blir hjälparhänder!
Barn mår bra av att veta En del barn har en hand som fungerar bra och en hand som är svårare att använda. Då kan man behöva träna den hand som är lite svårare att använda. Det finns en träningsmetod som
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss.
8-2 Förenkling av uttryck. Namn: eller Konsten att räkna algebra och göra livet lite enklare för sig. Inledning I föregående kapitel lärde du dig vad ett matematiskt uttryck är för någonting och hur man
Uppgift 1a (Aktiekurser utan poster)
Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har
Uppgift 1 (grundläggande konstruktioner)
Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
8-4 Ekvationer. Namn:..
8-4 Ekvationer. Namn:.. Inledning Kalle är 1,3 gånger så gammal som Pelle, och tillsammans är de 27,6 år. Hur gamla är Kalle och Pelle? Klarar du att lösa den uppgiften direkt? Inte så enkelt! Ofta resulterar
Föreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Tärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN. Författare:Tove Andersson
Tärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN Författare:Tove Andersson Innehåll Inledning:... 2 Syfte:... 2 Frågeställningar:...
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Utvärdering av föräldrakurs hösten 2013
Utvärdering av föräldrakurs hösten 2013 - Har du verktyg för att bemöta din oroliga och nedstämda tonåring? Föräldrakursen oro/nedstämdhet är ett samarbete mellan Råd & stöd, Gamla Uppsala familjeenhet
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom
Sidor i boken 110-113, 68-69 Räkning med polynom Faktorisering av heltal. Att primtalsfaktorisera ett heltal innebär att uppdela heltalet i faktorer, där varje faktor är ett primtal. Ett primtal är ett
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Föreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Tentaupplägg denna gång
Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva
4 Sammansatta datatyper
4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara
Under min praktik som lärarstuderande
tomoko helmertz Problemlösning i Japan och Sverige Japansk matematikundervisning skiljer sig på många sätt från svensk. Vilka konsekvenser får det för hur elever i respektive länder löser problem? Tomoko
kl Tentaupplägg
Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer
8-1 Formler och uttryck. Namn:.
8-1 Formler och uttryck. Namn:. Inledning Ibland vill du lösa lite mer komplexa problem. Till exempel: Kalle är dubbelt så gammal som Stina, och tillsammans är de 33 år. Hur gammal är Kalle och Stina?
Provivus tips om KONCENTRATION - VAD PEDAGOGEN KAN GÖRA
Provivus tips om KONCENTRATION - VAD PEDAGOGEN KAN GÖRA Det kan vara svårt att räcka till som pedagog. Med en eller flera elever som har behov av särskilt stöd kan man lätt själv känna sig otillräcklig.
Introduktion till PHP
PHP - Grund Copyright 2016 Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs
Så, med nytt (inget) hår satte jag mig på planet till Irland och Dublin!
Hallojs! En reseberättelse om Irland Jag heter Fabian, går tredje året på Datateknik ute i Kista och tänkte berätta om min förra höst, då jag var i Irland och lekte runt! Varför Irland kanske man frågar
Föreläsning 1: Momstabellen i C++
Nu sätter vi igång med C++! Föreläsning 1: Momstabellen i C++ På den här föreläsningen skall jag ta ett stort exempel och ett par små och med dessa hoppas jag att täcka in mycket av det som är grundläggande.
725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
LEGO Mindstorm-robot
KUNGLIGA TEKNISKA HÖGSKOLAN LEGO Mindstorm-robot Programmering av LEGO Mindstorm-robot i språket NXC Kim Hammar 2/6-2013 Kimham@kth.se Introduktionskurs i Datateknik 1311 Sammanfattning En viktig del av
Föreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
God morgon Z, Hoppas du kunnat sova. Det blev ju litet jobbigt igår, och jag tänkte att jag kanske kan försöka förklara hur jag ser på det som hände och på hur vi har det i ett brev. Jag gissar att du
Instruktioner för dig som ska söka till Mattekollo 2016
Instruktioner för dig som ska söka till Mattekollo 2016 Matematik är KUL men Mattekollo 2016 har tyvärr ett begränsat antal platser, nämligen 40 stycken. Det blir även ett roligare kollo om de som kommer
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Parameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22
Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering
Uppgift 1 (Oläsliga krypterade meddelanden)
Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse
Malte är snäll och rolig han är smart, vi brukar leka dinosaurier på fotbollsplan, när gympalärarn kommer så springer vi och gömmer oss i de höga
Den magiska dörren Kapitel 1 Hej Hej jag heter Hans och är 8 år. Jag går på Kyrkmons skola på Furubacken klass 2 A. Min bästis heter Malte och han är 8 år. Jag är rädd för rektorn och gympalärarn. På slutet
Helena. Vår vecka! Veckobrev för vecka 37. Barnen har läst läsläxan för någon vuxen och läst i sina bänkböcker.
Veckobrev för vecka 37 Barnen har läst läsläxan för någon vuxen och läst i sina bänkböcker. Vi har skrivit namn och pratat om att egennamn alltid börjar med stor bokstav. Vi har arbetat med ord och ord
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Tentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Övning: Dilemmafrågor
Övning: Dilemmafrågor Placera föräldrarna i grupper med ca 6-7 st/grupp. Läs upp ett dilemma i taget och låt föräldrarna resonera kring tänkbara lösningar. Varje fråga kan även visas på OH/ppt samtidigt,
Chefens sju dödssynder - undvik dem och lyckas som ledare!
White Paper #6 Chefens sju dödssynder - undvik dem och lyckas som ledare! Malin Trossing för Kontentan, augusti 2013 Kontentan Förlags AB www.kontentan.se För att bli programmerare krävs flera års programmeringsutbildning
Ljusmätning 1 "Mäta i handen i skugga". Med handhållen ljusmätare för befintligt ljus så finns en metod som är mycket enkel, snabb och fungerar till de flesta genomsnittliga motiv: att "mäta i handen i
SLALOMINGÅNGAR hur svårt kan det vara?
SLALOMINGÅNGAR hur svårt kan det vara? Av Marie Hansson Ju mer man börjar tänka på vad en slalomingång innebär, desto mer komplicerat blir det! Det är inte lite vi begär att hundarna ska lära sig och hålla
Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Våga Visa kultur- och musikskolor
Våga Visa kultur- och musikskolor Kundundersökning 04 Värmdö kommun Genomförd av CMA Research AB April 04 Kön Är du 37 6 34 65 39 60 3 69 0% 0% 40% 60% 0% 0% Kille Tjej Ej svar Våga Visa kultur- och musikskolor,
Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram
Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.
4-7 Pythagoras sats. Inledning. Namn:..
Namn:.. 4-7 Pythagoras sats Inledning Nu har du lärt dig en hel del om trianglar. Du vet vad en spetsig och en trubbig triangel är liksom vad en liksidig och en likbent triangel är. Vidare vet du att vinkelsumman
Uppgift 1 ( Betyg 3 uppgift )
Uppgift 1 ( Betyg 3 uppgift ) I filerna queue_handling.ads och queue_handling.adb finns en datastruktur som motsvarar en kö. Det finns fyra operationer som kan utföras på en kö. 1) Enqueue som stoppar
Tentaupplägg denna gång
Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva
GOLFINSPIRATION 2015. Inledning. Släpp kontrollen
GOLFINSPIRATION 2015 Inledning Släpp kontrollen En golfsving är en komplex rörelse. Med många tankar, muskler och flera kroppsdelar involverade ska vi träffa en liten boll med ett verktyg som bara är 1
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Lära känna varandra. För äldre barn kan man ställa sig upp och passa bollen med fötterna.
Tips Lära känna varandra Vid första träffen är det viktigt att man lär känna varandra. Det ger trygghet för hela gruppen och individen. Alla kommer också att lära sig namnen fortare vilket är bra för både
Objektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Fördjupningskurs i byggproduktion, ht 2009.
Umeå Universitet Sida 1 (10) Fördjupningskurs i byggproduktion, ht 2009. Kursvärdering. Omdöme 1 5 (5 bäst) Kursupplägg i stort 1 2 5 Bra projekt där de tidigare projekten i BP1 och BP2 binds ihop. Får
NATURVETENSKAP FÖR LIVET?
NATURVETENSKAP FÖR LIVET? Under terminen kommer din klass att medverka i ett forskningsprojekt. Ni kommer att arbeta med uppgifter som handlar om naturvetenskap och teknik i samhället. Enkäten innehåller
Introduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
75059 Stort sorteringsset
75059 Stort sorteringsset Aktivitetsguide Detta set innehåller: 632 st sorteringsföremål 3 st snurror 6 st sorteringsskålar 1 st sorteringsbricka i plast 1 st siffertärning Detta sorteringsset har tagits
1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1.
1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på
kl Tentaupplägg
Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer
DSV A Procedurell programmering 5 poäng Tentamen 2002-12-04
DSV A Procedurell programmering 5 poäng Tentamen 2002-12-04 Uppgift 1 3 poäng Vilka uppgifter ingår i programutveckling, dvs vilka faser bör man gå igenom när man utvecklar ett större program? Beskriv
Förberedelser: Sätt upp konerna i stigande ordningsföljd (första inlärningen) eller i blandad ordningsföljd (för de elever som kommit längre).
Räkna till 10 Mål: Eleverna skall kunna räkna till 10, i stigande och sjunkande ordningsföljd. Antal elever: minst 10 elever. Koner med talen 1 till 10.( använd konöverdrag och skriv 10 på en lapp på 0-käglan)
Demokratifesten. årsmöte för lokalgruppen
Demokratifesten årsmöte för lokalgruppen 2014 2015 Guiden är till våra lokalgrupper så att de kan genomföra demokratiska, inkluderande och roliga demokratifester. Till guiden finns ett flertal mallar och
Fråga, lyssna, var intresserad
Fråga, lyssna, var intresserad Så här tänker personer som bor på LSS-boenden kring hur personalen bemöter dem när det handlar om sexualitet, kärlek och relationer. Sammanfattning på lättläst Författare: