Föreläsning 0: Introduktion av Ada
|
|
- Kerstin Berg
- för 8 år sedan
- Visningar:
Transkript
1 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 det endast tavelskrivande och diskussioner som gäller. Vad kommer vi att behöva så här i kursstarten? Lite begrepp och lite problemlösning. Dessutom lite hur ett program ser ut. Vi börjar med lite begrepp. Ett antal "reserverade identifierare" (reserverade ord). Dessa används för att strukturera upp programmet och får bara användas till just detta. Lite "ihopklumpande" efter hur/när man använder dem: procedure is loop begin end loop; end ; while loop with ; end loop; use ; for in loop if then end loop; elsif then else exit; end if; exit when ; Ett antal "datatyper" ("beskrivningar" av hur data ser ut). Dessa är några av de "fördefinierade identifierare" vi kommer att komma i kontakt med: Integer = heltal (ex. 1, 2, 145, 4) Float = flyttal (ex. 1.0, 2.0, 3.14, 3.0) Character = tecken (ex. 'a', 'b, '2', '#') String() = "textsnutt" (ex. "kalle", "berta") Boolean = sanningsvärde (False, True) Ett antal "variabler" (lagringsutrymmen att lägga data i). Dessa blir såkallade "egendefinierade identifierare": I : Integer; F : Float; C : Character; S : String(1.. 5); B : Boolean; När man skapar dessa variabler använder man datatyperna för att tala om vilken sorts variabel det är. OBS! En identifierare identifierar något i programmet och skall därför vara unikt (inom det "område i programmet" som använder denna). Regel för identifierare: En "identifierare" måste inledas med en bokstav. Därefter får det följa fler bokstäver och/eller siffror och/eller understrykningsstreck. Man får dock inte avsluta identifieraren med ett understrykningsstreck eller ha två sådana i rad inuti identifieraren.
2 Det som är beskrivet hittills är saker som redan finns i Ada utan att man behöver säga något extra. När man kommer till programmeringen behöver man dock ofta lite mer att "leka med". Det som behövs kan vara matematiska bibliotek med "Cos", "Sin", etc. eller hantering av externa enheter såsom tangentbord och skärm (såkallad in och utmatning vilket kallas IO efter det engelska "In and Out"). Dessa delar har man i Ada delat upp i olika moduler kallade "paket". Det finns många sådana fördefinierade och här kommer ett par stycken med några av de saker som finns inuti: Ada.Text_IO Put(); Put_Line(); New_Line; New_Line(); Get(); Get_Line(); Skip_Line; Skip_Line(); Ada.Float_Text_IO Put(); Get(); Ada.Integer_Text_IO Put(); Get(); Ada.Numerics.Elementary_Functions Sqrt() Log() Exp() Sin() Cos() Tan() Cot() Sinh() Cosh() Tanh() Coth() Arcsin() Arccos() Arctan() Arccot() Arcsinh() Arccosh() Arctanh() Arccoth() OBS! Det är inte något ';' efter de saker som finns inuti det sista paketet. Varför kommer vi tillbaka till senare på den FÖ som handlar om underprogram.
3 Stencilen ovan lämnas ut på första FÖ, men finns också tillgänglig via kursens hemsida. Nu sätter vi igång! I denna kurs är det tänkt att vi ska lära oss programspråket Ada för att skriva datorprogram. Vad är ett datorprogram? Vi ser det gärna som en beskrivning, en uppsättning instruktioner som löser ett givet problem. Det är egentligen detta vi är mest intresserade av, att lösa problem. Varför ska man då lära sig just Ada? Det finns ju många programmeringsspråk. För det första så är det som sagt inte jätteintressant exakt vilket språk man använder, det är i allmänhet inte så att vissa språk är bättre än andra, utan det är själva tänket man är ute efter, d.v.s. hur tänker man när man programmerar? Dessvärre måste man ha språket, själva verktyget till hands innan man kan bli bra i en viss färdighet. Man kan jämföra det med att det är svårt att snickra om man inte vet hur man använder sig av sågar, hammare och borrar. För det andra visar det sig att Ada är ett mycket lämpligt språk att börja med. Strukturen i språket är sådan att man lätt ser vad man håller på med, dessutom finns det en mycket "snäll" kompilator, alltså det som gör att man kan översätta sin programkod (ren text) till ett riktigt program. Mer om detta senare. Pappret som ni har fått ut är en kort sammanfattning av de två första föreläsningarna. För tillfället kan vi se det mer som en översikt. På pappret finns det många ord på engelska, det kommer vara dessa (och många fler!) som dina program är uppbyggda av. Vi kommer att prata om "reserverade identifierare", det är ord som har en väldigt specifik betydelse i språket och som man inte får ändra på. (Ungefär som att ändra ordet "är" till "banan" i svenskan, blir lite struligt). Det finns även fördefinierade identifierare, det är ord som finns i programspråket men som man kan ändra på (Om vi t.ex. ändrar ordet Kawazaki till Honda så blir det bara måttlig förvirring). Vi kommer att prata om datatyper och variabler, dessa saker har ihop med hur vi lagrar data (t.ex. ett personnummer, ett banksaldo eller alla dina bilder i din dator). Vi kommer prata om identifierare. Detta är namnen (orden) på allting annat i ett program. Ibland kommer ni att få hitta på helt egna namn på saker, det kanske låter larvigt men är faktiskt mycket mycket viktigt att det blir bra. Det finns också ett stort antal andra "rutiner", man kan tänka sig att dessa rutiner är små färdiga program som ett nytt program kan använda sig av, för att slippa göra grovjobbet. Det finns t.ex. matematiska rutiner (vi kommer att säga underprogram i framtiden), de behövs oftare än man tror! Det finns också underprogram för in- och utmatning. Dessa används för att programmet skall kunna jobba med datorns skärm och tangentbord. Det är så att det är mycket svårt att lära sig programmering om man inte kan se vad som händer i ett program om man skriver in olika saker då programmet körs. Därför tar vi detta i början av kursen, så det är vad lab 0 och resten av föreläsningen kommer att handla om. Hur skriver vi nu ett program med hjälp av dessa saker? Vi kan börja med ett exempel från labserien (den första introduktionslaborationen som följer efter denna FÖ i denna kurs). Följande dialog vill vi att den skall utföras med datorn: Mata in ett heltal: 10 Du matade in heltalet: 10 Mata in en sträng med exakt 5 tecken och ett heltal: Kalle 27 Du matade in heltalet 27 och strängen "Kalle". OBS! Det är meningen att datorn (ditt program) skall skriva ut allt i dialogen på skärmen UTOM det som står efter frågorna "Mata in :". Dessa data skall användaren mata in på tangentbordet och det är just dessa inmatningar som sen skall skrivas ut på raden efter (av ditt program). Vi börjar med uppgiften på tavlan (bra att tala om hur många rader det blir och vilka rader man använder när man skriver programmet): Nedan har jag fyllt i hela programmet. Under FÖ växer detta självklart fram efter hand.
4 1 with Ada.Text_IO; use Ada.Text_IO; 2 with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; I : Integer; 7 S : String(1.. 5): 8 10 Inmatning av heltal. 11 Ada.Text_IO.Put("Mata in ett heltal: "); 12 Ada.Integer_Text_IO.Get(I); 13 Skip_Line; 14 Utskrift av heltalet. 15 Ada.Text_IO.Put("Du matade in heltalet: "); 16 Ada.Integer_Text_IO.Put(I); 17 Ada.Integer_Text_IO.Put(I, Width => 0); 18 Ada.Text_IO.New_Line; Inmatning av sträng och heltal. 21 Put("Mata in en sträng med exakt 5 tecken och ett heltal: "); 22 Get(S); 23 Get(I); 24 Skip_Line; 25 Utskrift av strängen och heltalet. 26 Put("Du matade in heltalet "); 27 Put(I, Width => 0); 28 Put(" och strängen """); 29 Put(S); 30 Put_Line("""."); 31 end In_Och_Utmatning; Först och främst kan jag tala om att det är inget magiskt som jag kommer göra nu. Det vi skriver här är ren text! Tänk er att jag har öppnat programmet "anteckningar"/"notepad" på datorn och skriver in koden. Jag skulle egentligen kunna använda vilket text-editeringsprogram som helst! Kanske inte MS Word dock, Word sparar undan en massa annan information i filerna som inte syns. Vi vill, att i våra filer ska det bara finnas råtext (trots att källkodsfilerna har.adb som fil-ändelse). Det vi kallar för kompilator kommer senare att göra om råtexten till ett program som datorn verkligen förstår, men för tillfället kan vi tänka oss att det som står här i texten är det som datorn kommer att utföra. Så kan man även tänka i allmänhet när man programmerar, vilket är trevligt. Till att börja med måste man få till programmets grundläggande struktur. Det jag kommer skriva nu är något som alla ada-program har. Det är liksom ett programskelett. (Observera att jag inte behöver skriva radnummren, det är bara för att det skall bli lättare för er att följa med i era anteckningar) end In_Och_Utmatning;
5 Om ni tittar på den sidan som ni fick ut så ser ni att "procedure" "is" "begin" "end" är reserverade identifierare. Alltså något som finns specat i språket. Däremot har jag själv hittat på identifieraren "In_Och_Utmatning", själva namnet på programmet. När jag sparar den här filen så kommer jag spar den som "in_och_utmatning.adb" (obs små bokstäver!). När man hittar på identifierare får man ha hur långa ord som helst. Man kan använda understreck och siffror, men det namnet får inte börja på en siffra (se pappret). Programskelettet är inte bara något som ser vackert ut, utan har den funktion (förutom att det finns en plats för programmets namn) att dela upp programmet i två delar, en deklarationsdel och en satsdel (en del med instruktioner). Jag brukar alltid tänka mig detta som ett recept. Högst upp (mellan procedure och begin) har man ingredienser, "dessa saker kommer jag behöva för att utföra programmet", och mellan begin och end har man instruktioner "detta är instruktioner som man skall följa steg för steg för att det skall bli rätt". Obs! Alla språk har inte denna uppdelning, tråkigt för dem. Okej, nu har vi ett program? Nästan. Programmet måste göra något också, det är ju faktiskt helt tomt (förutom skellettet, som inte gör något). Vad vill vi att program ska göra? Vi börjar lite smått med något som torde vara lätt. Textsnutten "Mata in ett heltal: " ska komma ut på skärmen. Detta borde inte vara så komplicerat, men det är det! Varför? Tja, skärmen är komplicerad. Den har ett helt eget gränssnitt som är mycket annorlunda från Ada. Dessutom kan ju inte vårt program göra vad det vill. Det kanske finns andra program som måste få tillgång till skärmen samtidigt, alltså krävs det en tredje part som styr upp så att det inte blir kiv, operativsystemet. INTERNMINNE OPERATIV- SYSTEM EXTERNA ENHETER Put( Mata in ) UTMATNINGSBUFFERT TANGENTBORDSBUFFERT Bilden växer fram tillsammans med att programmet utvecklas. Adas kärna I/O modul för text I/O modul för heltal modul med matematiska funktioner m.m. Så det är antagligen inte så lätt som att bara skriva "skriva ut följande textsnutt "Mata in " på rad 10. Det krävs säkert ett mycket stort och krångligt program bara för att få till detta. Men nu kommer det underbara: Det (under)programmet är redan skrivet, men det ligger på en separat modul. Det finns en hel del moduler, som vi kallar paket eller bibliotek, som man kan välja att ha med när man skriver ett program. Man skulle kunna visualisera språket som en blomma, i mitten finns alla de nyckelord och konstruktioner som man behöver i (nästan) alla program, t.ex. vårt programskelett. De saker som man kanske inte alltid behöver ligger i separata moduler, dessa är blommans kronblad. Anger man inte explicit att man vill ha tillgång till dessa moduler så får man bara tillgång till
6 de mest grundläggande sakerna i språket. Eftersom Ada är ett programspråk som används för många inbyggda system, d.v.s. system som inte är tänkte att föra dialog med en användare, ligger dess rutiner för in- och utmatning på sådana separata moduler. I Ada kallas modulerna bl.a. för paket. I ett paket som heter Ada.Text_IO (IO som i "Input and Output") finns en rutin som heter "Put" som utför precis det vi vill, och vi slipper bry oss om hur det egentligen fungerar. Vi måste givetvis också ange att vi vill få tillgång till Ada.Text_IO, det gör vi med "with". Detta är så pass speciellt att det hamnar utanför både deklarationsdelen och satsdelen av programmet! 1 with Ada.Text_IO; 10 Ada.Text_IO.Put("Mata in ett heltal: "); 27 end In_Och_Utmatning; Nu har vi fått till vår första instruktion, och ett körbart program på samma gång. Självklart vill vi då testa vårt program och se vad som händer när vi kör det. Exakt hur man gör detta går jag inte igenom nu. Det är enklast att förstå när man sitter själv framför datorn. Oroa er inte för detta nu, labassistenterna hjälper er med det på första laborationen. När vi kör programmet så skickar programmet iväg textsnutten till skärmen (vi operativsystemet) och den visas upp för oss. En viktigt detalj är semi-kolonet sist på rad 10. Den talar om att instruktionen, satsen slutar där. Satser kan fortsätta över flera rader, eller stå på samma (även om det är fult) så man behöver något explicit som skiljer en sats från nästa. Bortsett från att skriva ut (matar ut) denna text gör programmet inget mer, det kommer avslutas efter instruktionen. Man kan tänka sig att datorn fortsätter ner till "end In_Och_Utmatning" och efter det så avslutar den helt enkelt programmet. Nu kommer nästa uppgift. Att låta användaren, alltså den som sitter och kör det här programmet att få mata in något. För det mesta så kommer ni köra era egna program, så det kommer vara ni som är användaren, så det kan vara lite förvirrande att helt plötsligt behöva ha två roller "programmeraren" och "användaren", men man kommer in i det. Om ni tycker att det är besvärligt kan ni tänka er att ni är labassistenten som kör ert program. Vad skulle han/hon tycka/tänka? 10 Ada.Text_IO.Put("Mata in ett heltal: "); 11 Här vill vi hämta ett tal från tangentbordet Hur får vi då in något från tangentbordet? Här är det många saker som skall klaffa. Användaren skall trycka på tangentbordet, programmet skall vara redo att ta emot, och vi måste även se till att det som matades in inte kastas utan sparas någonstans, eftersom vi i nästa skede skall mata ut det igen så att användaren ser vad han skrev in. Vi fokuserar på det första. När kan användaren mata in något? Tja, när som helst faktiskt. Det är faktiskt möjligt för användaren att mata in något innan programmet ens har startat! Detta går att göra, antingen om man är ryyysligt snabb (nu snackar vi nanosekunder), eller om man vet hur man "laddar upp" med inmatning till programmet. Hur man gör detta är inte så intressant nu men vi vet i alla fall att inmatningen kan komma tidigt, vilket kan vara besvärligt om vi inte är beredda på att ta emot än. Tänk er att ni kastar en baseboll och jag har inte ens fått på mig plockhansken än. Den enda lösningen på detta är att användarens
7 knapptryckningar lagras så att vi kan bearbeta dem (ett par mikrosekunder) senare. Operativsystemet har en sådan lagringsplats, mellan tangentbordet och vårt program, som kallas tangentbordsbufferten. Detta är bra. Allting som trycks på tangentbordet hamnar alltså här tills vi (i vårt program) kommer och hämtar upp det. Datat försvinner då ur tangentbordsbufferten men finns kvar i vårt program. Att användaren är snabb är dock i allmänhet inte ett problem, eftersom användaren ofta är jättelångsam. För datorn är det som att det passerar hela tidsåldrar från den tidpunkt då texten "Mata in ett heltal" kommer upp tills då användaren inser att han måste börja trycka på knapparna. Det kan ju vara frestande för datorn att dumpa användaren och gå vidare med livet, d.v.s. att bara gå vidare till andra instruktioner om det inte finns något att hämta i tangentbordsbufferten. Men så får det absolut inte gå till. Då kommer det uppstå väldiga problem när vi senare vill skriva ut det användaren skrev in. Det enda som datorn då kan skriva ut är ett pinsamt erkännande att den inte vet eftersom han inte lyssnade just då. Dessutom kanske man kommer i "osynk" med kommande inmatningar och det heltal som matades in börjar tolkas som något helt annat. Nej! Det enda logiska är att datorn väntar på användaren, även om det betyder att den får vänta natt och dag tills hin håle kommer. Den tredje saken som var viktig var att vi verkligen kunde "spara" det som matades in. Vi skulle behöva lite av datorns minne, inte särskilt stor bit, så att vi kan lagra ett tal. Men hur blir detta? I bilden ligger ju redan själva programmet i datorns internminne, vart lagrar man då sitt data? Svaret är enkelt, detta ligger också i internminnet. Datorns minne är alltså plats för både program och data. Hur som helst behöver vi nu en liten bit minne som kallas för en variabel, i vårt fall blir det en heltalsvariabel. Variabler har alltid tre saker: En typ (kan t.ex. vara heltal, flyttal, tecken o.s.v), ett namn (en identifierare som vi som programmerare får hitta på). och ett värde. Vi brukar rita detta så här (ritas in i bilden ovan): I : 25 I detta exempel heter variabeln "I" och innehåller värdet 25. Datatypen är underförstådd, det är ett heltal. Det är viktigt att veta att variabler har värden alltid! Även innan man aktivt har petat in något i dem. De kan aldrig vara "tomma". För att få tillstånd (av operativsystemet) att använda en sådana variabel måste vi deklarera att vi har den i programmets deklarationsdel. 1 with Ada.Text_IO; 5 6 I : Integer; "Integer" är alltså typen på variabeln (en fördefinierar identifierare). Och "I" är vårt namn på den. Vi hade kunnat kalla den för "mitt_tal" eller något annat sånt, men nu valde jag just "I". Denna variabel kan vi nu använda i vårt program. Obs, det krävs inga paket eller moduler för att använda variabler av olika typer, de finns i "grundspråket" så att säga. Nu vill vi, förutom de saker som vi sa förut, att det som hämtas från tangentbordsbufferten in skall lagras i den här variabeln "I". Självklart finns det ett underprogram som gör detta, på precis det sätt som vi önskar. Den kallas för Get, och denna rutin ligger i paketet Ada.Integer_Text_IO. På samma sätt som förut måste vi ange att vi vill få tillgång till Ada.Integer_Text_IO.
8 1 with Ada.Text_IO; 2 with Ada.Integer_Text_IO; I : Integer; 10 Ada.Text_IO.Put("Mata in ett heltal: "); 11 Ada.Integer_Text_IO.Get(I).. 27 end In_Och_Utmatning; Om vi nu kör programmet så kommer följande att ske: - Programmet startar, vi får tillgång till en heltalsvariabel med namn I. - Texten "mata in ett heltal: " kommer ut på skärmen. - Programmet kommer till Get, och frågar operativsystemet om det finns något i tgb-bufferten. "Nej" får det som svar och sätter sig därför för att vänta. - Användaren vaknar upp och inser att han måste trycka in ett tal. De tecken som användaren knappar in hamnar i tangentbordsbufferten, låt säga att han/hon matar in 5. Observera nu att inget kommer att hända föränn användaren trycker på enter. Tänker man till så inser man att det nog är bra att det är på detta sätt. Om man skulle ha matat in fel så har man ju fortfarande chans att sudda och skriva in något annat. Det är först när enter-tangenten trycks ner som operativysstemet kommer att börja agera. - Operativsystemet upptäcker att det finns data som vårt program är intresserat av. OS:et väcker vårt program och talar om för det att det finns data att hämta. - Rutinen Get hämtar femman och sparar undan den, som ett heltal i variabeln I. - Programmet avslutas. Toppen, vi fortsätter raskt med resten av första biten. I nästa skede skall texten "Du matade in heltalet: " komma ut, det löser vi med Put igen. Och sedan skall det tal som finns lagrat i "I" komma ut på samma rad. Vi behöver inte göra något speciellt för att det ska hamna på samma rad, allting hamnar på samma rad tills man explicit säger att man vill hoppa ner till nästa (eller användaren trycker enter, då sker detta automatiskt). Hur skriver vi ut talet i "I" då, jo med en annan utmatningsrutin, som också heter Put. Put för heltal finns i paketet Ada.Integer_Text_IO.
9 1 with Ada.Text_IO; 2 with Ada.Integer_Text_IO; I : Integer; 10 Ada.Text_IO.Put("Mata in ett heltal: "); 11 Ada.Integer_Text_IO.Get(I) Ada.Text_IO.Put("Du matade in heltalet: "); 14 Ada.Integer_Text_IO.Put(I, Width => 0); 27 end In_Och_Utmatning; När man använder Put för heltal så får man det "högerjusterat" med 11 teckens "bredd" om man inte säger något. I vårt fall vill vi inte ha detta, vi vill ju bara få ut talet precis som det är (vänsterjusterat), för att få till detta så kan vi sätta denna "bredd" till 0. Vi måste också få till en extra tom rad här, så vi kan använda rutinen New_Line som finns i Ada.Text_IO. 16 Ada.Text_IO.New_Line; Ni kan förstå att det blir trist att skriva ut "Ada.Text_IO" och "Ada.Integer_Text_IO" hela tiden. På ett sätt är det bra, får då ser man ju exakt vilken Put det är man använder (eftersom de heter lika dant), men det är jobbigt att skriva så mycket. Det finns ett sätt att slippa skriva ut paketnamnen. Om man i samband med att man gör "with" på paketet också gör "use" så räcker det med att bara skriva namnet på den rutin man vill ha. jag gör det nu, så blir det mindre att skriva i fortsättningen. 1 with Ada.Text_IO; use Ada.Text_IO; 2 with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; Man brukar som sagt inte skriva satser på samma rad, men i detta fall kan det faktiskt vara okej. Frågan är bara, om jag inte skriver ut paketnamnet på de rutiner som jag vill använda, hur vet då datorn (eller egentligen kompilatorn) vilken som den skall använda? Svaret är att den kan titta på det som man skickar till rutinerna. Skickas det ett heltal till Put, då vet den att det är Put för heltal som gäller, om det är en textsnutt (vi kommer att säga "sträng" ofta) så är det Put för text vi vill ha. Att man kan ha samma namn på rutiner som gör olika saker kallas för överlagring och är en smidig feature i ett programmeringsspråk. Programmet är nu såpass färdigt att det kan utföra den första halvan av vårt problem. Men vad händer om användaren inte matar in tecknet 5 då? Vad händer om han skriver 5.6 eller "FEM"? Tja, Get klarar av vissa saker, men inte andra. I fallet då man matar in 5.6 kommer det ändå bara att bli 5 i I eftersom Get anser att den är klar när den stöter på en punkt i tangentbordsbufferten. Allting fungerar alltså ändå i detta fall, men observera att ".6" ligger kvar i tangentbordsbufferten! Hade det kommit en till Get hade denna fått problem. Därför kan det vara bra att göra en strategisk tömning av bufferten i detta läga. Det kan man göra med satsen "Skip_Line". 12 Skip_Line; Jag hade kunnat skriva Ada.Text_IO.Skip_Line, men eftersom vi nu har use på Ada.Text_IO så räcker det med "Skip_Line".
10 Om det första som Get ser är något som inte kan tolkas som ett heltal, t.ex. en punkt eller tecknet "F", kommer den att få fnatt. Hur ska den göra nu? Vi kommer komma tillbaka till just detta problem senare, men för tillfället räcker det med att ni vet att get kommer inte att fungera i detta fall. Faktum är att get kommer haverera totalt och dra med sig hela programmet ner i graven, ja - programmet dör (det kraschar). När ett program kraschar så avslutas det på en gång, man fortsätter inte med andra instruktioner utan man avslutar tvärt, ofta med ett läskigt felmeddelande. Resten av föreläsningen fortsätter på ett mycket likt sätt. Här är det ett ypperligt läge att låta studenterna vara med och utforma resten av programmet. När strängar tas upp är det viktigt att poängtera skillnaden mellan programmets strängvariabel och tangentbordsbufferten.
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
Läs mer5 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
Läs merFöreläsning 4: Poster
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
Läs merFö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,
Läs merTentamen 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:
Läs merFö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
Läs merFö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.
Läs merProva på-laboration i Ada
Prova på-laboration i Ada Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-01 1. Introduktion till imperativa språk Programspråket Ada är resultatet av ett
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:
Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merSockets: 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
Läs merFö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.
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merkl 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
Läs merFö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,
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merSchemaunderlag för Programmering, grundkurs (TDDB18)
Allmänt Schemaunderlag för Programmering, grundkurs (TDDB18) Under VT1 håller jag (Torbjörn) tre kurser. Detta gör att det inte är lätt att få till ett optimalt schema för er studenter (tyvärr). En variant
Läs merAlla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merIntroduktion till MATLAB, med utgångspunkt från Ada
Introduktion till, med utgångspunkt från Desktop-miljö som innefattar editor, kommandofönster, graffönster och mycket mer. Interpreteras Snabbt att testa kommandon Terminal + emacs + gnatmake Kompileras
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val
732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
Läs merLaboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Läs merUppgift 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
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merKOMPLETTERANDE HEMTENTAMEN TDDB53
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén februari 2009 Tentamen TDDB53 KOMPLETTERANDE HEMTENTAMEN TDDB53 Programmering i Ada för MI (MI-ADA) i februari 2009 Tentan lämnas
Läs merPascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt
Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merFöreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Läs merBoken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf
Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att
Läs merkl 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
Läs merSMD 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
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merkl 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
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merFö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
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merGrundlä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äs merVälkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.
Välkomna till DIT012 IPGO 1 Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1. Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare
Läs merVisual Basic, en snabbgenomgång
Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika
Läs merPascal... Pascal. Pascal... Pascal...
... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken
Läs merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs merProgrammering. Den första datorn hette ENIAC.
Programmering Datorn är bara en burk. Den kan inget själv. Hur får man den att göra saker? Man programmerar den. Människor som funderar ut program som fungerar. Datorn förstår bara ettor och nollor och
Läs merPlanering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
Läs merUppgift 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
Läs merProgrammeringsteknik 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
Läs merIntroduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
Läs merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merProgrammering av NXT Lego- robot Labbrapport för programmering av en Lego- robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning
Läs merLinkö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.
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs mer729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Läs merIntroduktion till programmering, hösten 2011
Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merLär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Läs merPlanering Programmering grundkurs HI1024 HT 2015 - data
Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning
Läs merTDDE10 TDDE11, 725G90. Gemensam kurswebsida på:
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 1 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av Java Hello World!
Läs merTENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2010 Tentamen TDDB53 TENTAMEN TDDB53 (provkod TEN2) den 7 april 2010 kl 8 12 Jour: Emil Nielsen, tel 070 499 89 88 Hjälpmedel:
Läs merGrundkurs i programmering - intro
Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå
Läs merUppgift 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
Läs merÖvningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller
Övningar i 2D2050 Per-Anders Staav (kallas Pa) Epost: pasta@kth.se eller pastaav@algonet.se Läser till civilingengör på Elektro 180 p inriktning mot programmering. Har jobbat extra som lärare på Nada sedan
Läs merLabb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Läs merEn kort text om programmering i C.
En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,
Läs merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merTentamen 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
Läs merkl 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
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merHur man programmerar. Exempel på problemlösning i Python
Hur man programmerar Exempel på problemlösning i Python Problemet Som vokaler i engelska språket räknar vi i denna uppgift bokstäverna aeuio, och som konsonanter alla andra bokstäver utom y (y fungerar
Läs merPlanering Programmering grundkurs HI1024 HT TIDAA
Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning
Läs merPlanering av ett större program, del 2 - for och listor. Linda Mannila
Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)
Läs merKOMPLETTERANDE HEMTENTAMEN TDDB53
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2003 Tentamen TDDB53 KOMPLETTERANDE HEMTENTAMEN TDDB53 Programmering i Ada för MI (MI-ADA) i mars 2003 Tentan lämnas ut 24/3
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning I: kursinfo, att programmera datorer, första programmet Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 Outline Hemsida Organization Examination
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga
Läs merFöreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merTUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Läs merTDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Läs merTentaupplägg denna gång
Tentaupplägg denna gång Denna tenta är uppdelad i två olika varianter. Det är helt ok att använda vilken variant ni vill. Det är ok att byta mitt under tentan om man så vill också. Variant 1: Uppgift 1,
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merFöreläsningsmaterial (Syntax och variabler)
Föreläsningsmaterial (Syntax och variabler) Scenario Ett företag inom gruvindustrin som tillverkar järnpellets upplever en ojämnhet i produktionskvaliteten. Problemet yttrar sig genom att pelletskulorna
Läs merDatorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se
Läs merIntroduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion
Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)
Läs mer