Några fakta om Standard Pascal. Serafim Dahl, Carina Edlund, m.fl.
|
|
- Björn Falk
- för 5 år sedan
- Visningar:
Transkript
1 Några fakta om Standard Pascal Serafim Dahl Carina Edlund m.fl. Hösten 2008
2
3 Några fakta om Standard Pascal 1 Fördefinierade procedurer och funktioner Typer som anges i denna sammanställning hänför till den i nästa avsnitt redovisade taxonomin över Pascals datatyper och har inte säkert en motsvarighet i Pascals typsystem utan kan motsvaras av en hel mängd möjliga typer. Abs(x: real): real eller Abs(x: Integer): Integer beräknar absolutvärdet av x. ArcTan(x: real): real beräknar det aritmetiska värdet arctangens x där x är uttryckt i radianer. Chr(i: integer): char returnerar det tecken som har ordningstalet i enligt den aktuella teckenkoden. Det blir ett felavbrott om det inte finns något sådant tecken. Cos(x: real): real beräknar cosinus x där x är givet i radianer. Dipose(q: pointer) där pointer måste vara av typen pekare till någon sorts post är en dynamisk allokeringsprocedur som avallokerar en identifierad variabel q och förstör det identifierande värdet q. Dispose(q) ger ett felavbrott om q är nil eller odefinierad. Värdet q måste ha skapats med kortformen för new. Dipose(q: pointer k 1... k n : variant) där pointer måste vara av typen pekare till någon sorts post och variant måste vara väljare för existerande varianta definitioner av den posttyp som q får referera till är en dynamisk allokeringsprocedur som avallokerar en identifierad variabel q och förstör det identifierande värdet q. Dispose(q k 1... k n ) ger ett felavbrott om q är nil eller odefinierad. Värdet q måste ha skapats med kortformen för new och k 1... k n måste välja samma varianter som de som valdes då q skapades. Eof(f: file): boolean där f får vara vilken slags filtyp som helst returnerar true om f är öppnad i skrivmod eller om f är öppnad i läsmod och f positionerats efter sista posten i filen. Eof(f) genererar ett fel om f inte är definierad. I alla andra fall returnerar eof(f) false. Om parametern utelämnas antas input vara parameter. Eoln(f: text): boolean returnerar true om textfilen f är öppnad för läsning och f positionerats på ett tecken som i den aktuella teckenkoden används för radslutsmarkering. Eoln(f) genererar ett fel om f är odefinierad eller om eof(f) är true. I alla andra fall returnerar eoln(f) false. Om parametern utelämnas antas input vara parameter. Exp(x: real): real beräknar det aritmetiska värdet e x (där e är basen för den naturliga logaritmen). Get(f: file) där f får vara vilken slags filtyp som helst är en procedur som avancerar positionspekaren för f så att den pekar på nästa i den sekvens av poster som f utgör om det finns en sådan post och också låter f anta denna posts värde. Om det inte finns någon nästa post i f så kommer eof(f) att få värdet true och f att bli helt odefinierad. Get(f) genererar ett fel om f är odefinierad eller om eof(f) har värdet true. Om parametern utelämnas antas input vara parameter. Ln(x: real): real beräknar den naturlig logaritmen för parametervärdet x som måste vara större än 0 (noll). Ln(x) genererar ett fel om x < 0.
4 2 Några fakta om Standard Pascal New(p: pointer) där pointer måste vara av typen pekare till någon sorts post är en dynamisk allokeringsprocedur som allokerar utrymme för en identifierad variabel p med samma domäntyp som p och skapar ett nytt identifierande pekarvärde som tilldelas p. Om p är en variant post allokerar new(p) tillräckligt med utrymme för att kunna få plats med den mest utrymmeskrävande varianten. New(p: pointer c 1... c n : variant) där pointer måste vara av typen pekare till någon sorts post och variant måste vara väljare för existerande (nästlade) varianta definitioner av den posttyp som p får referera till är en dynamisk allokeringsprocedur som allokerar utrymme för en identifierad variabel p med samma domäntyp som p med etiketterna c 1... c n för n nästlade varianter och skapar ett nytt identifierande pekarvärde som tilldelas p. Odd(i: integer): boolean returnerar true om i är ett udda heltal och false annars. Ord(x: discrete): integer där x är vilken diskret typ som helst fördefinierad eller användardefinierad returnerar ordningstalet för x i den mängd av värden där x ingår. Pack(a: array i: integer p: packed array) där a är någon sorts array-typ definierad i programmet och p är motsvarande packed array-typ är en dataöverföringsprocedur som packar innehållet i a från och med komponent i och lägger resultatet i p. Page(f: text): boolean lägger in en (implementationsberoende) markering i textfilen f som gör att text som skrivs till f efter anropet till page(f) vid utskrift kommer att hamna högst upp på en ny sida i utskriften. Om parametern utelämnas antas den var output och om f är odefinierad genereras ett fel. Pred(x: discrete): discrete är en funktion som returnerar den symbol i den diskreta ordning som x tillhör som står före x i den aktuella uppräkningen. Om x är det första värdet i den aktuella typens uppräkning genereras ett fel. OBS! att Ord(Pred(x)) = Ord(x) - 1. Put(f: file) där f får vara vilken slags filtyp som helst är en procedur som lägger värdet f sist i filen f. Ett fel genereras om f inte är definierad eller om f inte är öppnad för skrivning eller om f inte är definierad. Efter anropet till Put(f) är f helt odefinierad. Read(f: file v: variable) där v måste vara ett namn som är deklarerat i programmet och av samma typ som elementen i f eller om f är av typen text av någon typ vars literaler automatisk kan konverteras till v:s typ. Read(f v) tilldelar v värdet av nästa komponent i f om v har samma typ som elementen i f eller värdet som nästa literal i filen konverteras till. Positionspekaren i f avanceras till nästa position eller till positionen efter nästa literal vilket som är tillämpligt. Om parametern f utelämnas antas att dess värde är input. Read(f: file v 1 v 2... v n ) fungerar som om det stod read(f v 1 ) read(f v 2... v n ). Readln(f: file v: variable) fungerar som read med det tillägget att readln fungerar endast för textfiler och att resten av aktuell inmatningsrad ignoreras och att nästa läsning sker från nästa rad.
5 Några fakta om Standard Pascal 3 Readln(f: file v 1 v 2... v n ) fungerar som om det stod read(f v 1 ) readln(f v 2... v n ). Reset(f: file) där f får vara vilken slags filtyp som helst är en procedur som öppnar f för läsning och som positionerar positionspekaren så att f antar värdet av den första posten i den sekvens av poster som f utgör och sätter värdet av eof(f) till false om filen f inte är tom. Om filen är tom sätts värdet av eof(f) till false och värdet av f blir helt odefinierat. Rewrite(f: file) där f får vara vilken slags filtyp som helst är en procedur som öppnar f för skrivning ersätter f med en tom sekvens samt sätter värdet av eof(f) till false. Round(r: real): integer beräknar trunc(r + 0.5) för r 0.0 och trunc(r - 0.5) för r < 0.0 om det existerar ett sådant värde i typen integer. Annars genereras ett fel. Sin(x: real): real beräknar sinus x där x är givet i radianer. Sqr(x: real): real eller Sqr(x: integer): integer beräknar x * x. Om det inte existerar ett sådant värde genereras ett fel. Sqrt(x: real): real beräknar x. Om det inte existerar ett sådant värde genereras ett fel. Succ(x: discrete): discrete är en funktion som returnerar den symbol i den diskreta ordning som x tillhör som står efter x i den aktuella uppräkningen. Om x är det sista värdet i den aktuella typens uppräkning genereras ett fel. OBS!: Ord(Succ(x)) = Ord(x) + 1. Trunc(r: real): integer returnerar det största heltal som är mindre än eller lika med parametern r om r 0.0 och det minsta heltalet som är större än eller lika med r om r < 0.0 om det finns ett sådant tal i mängden av heltal. Annars genereras ett fel. Unpack(p: packed array a: array i: integer) där a är någon sorts array-typ definierad i programmet och p är motsvarande packed array-typ. Unpack är en dataöverföringsprocedur som packar upp innehållet i p och lägger resultatet i a från och med komponent i. Write(f: file v: variable) där v måste vara ett namn som är deklarerat i programmet och av samma typ som elementen i f eller om f är av typen text av någon typ vars värden automatisk kan konverteras till literaler. Write(f v) skriver v:s värde sist i f om v har samma typ som elementen i f eller den literal som värdet konverteras till om f är av typen text. Om parametern f utelämnas antas att dess värde är output. Write(f: file v 1 v 2... v n ) fungerar som om det stod write(f v 1 ) write(f v 2... v n ). Writeln(f: file v: variable) fungerar som write med det tillägget att writeln fungerar endast för textfiler och att nästa skrivning sker på ny rad (en eoln-markering skrivs omedelbart efter variabelns värde). Writeln(f: file v 1 v 2... v n ) fungerar som om det stod write(f v 1 ) writeln(f v 2... v n ).
6 4 Några fakta om Standard Pascal Förenklad taxonomi över Pascals datatyper Datatyper Enkla typer Pekartyper Strukturerade typer Real Diskreta typer Array Set Record File Uppräknade typer Fördefinierade Intervall Text Boolean Integer Char
7 Några fakta om Standard Pascal 5 Sammanställning över operatorer Aritmetiska operatorer operator operation operandtyp resultattyp + (unärt) identitet integer integer + (unärt) identitet real real (unärt) negering integer integer (unärt) negering real real + addition integer integer + addition real real subtraktion integer integer subtraktion real real multiplikation integer integer multiplikation real real div division integer integer / division real real mod modulus integer integer Relationsoperatorer operator operation operandtyp resultattyp = likhet enkel boolean = likhet sträng boolean = likhet set boolean = likhet pekare boolean < mindre än enkel boolean < mindre än sträng boolean > större än enkel boolean > större än sträng boolean <= mindre än eller lika med enkel boolean <= mindre än eller lika med sträng boolean <= inklusion mängd boolean >= större än eller lika med enkel boolean >= större än eller lika med sträng boolean >= inklusion mängd boolean in mängdtillhörighet element mängd boolean Booleska operatorer operator operation operandtyp resultattyp not negation boolean boolean or disjunktion boolean boolean and konjunktion boolean boolean
8 6 Några fakta om Standard Pascal Mängdoperatorer operator operation operandtyp resultattyp + union mängdtyp T T differens mängdtyp T T snitt mängdtyp T T Andra operatorer Tilldelning notation operation operandtyp resultattyp := tilldelning någon typ T ingen Variabelaccess notation operation operandtyp resultattyp [ ] arrayindexering array komponenttyp. fältaccess record fälttyp identifikation pointer post buffertaccess filtyp komponenttyp Konstruktorer notation operation operandtyp resultattyp [ ] mängdkonstruktion bastyp mängd strängkonstruktion teckentyp sträng
9 Några fakta om Standard Pascal 7 Standardidentifierare (som inte är reserverade ord) Konstanter false true maxint nil Typer boolean char integer real text Variabler input output Funktioner abs arctan chr cos eof eoln exp ln odd ord pred round sin sqr sqrt succ trunc Procedurer dispose get new pack page put read readln reset rewrite unpack write writeln Alfabetisk lista abs false pack sin arctan get page sqr boolean input pred sqrt char integer put succ chr ln read text cos maxint readln true dispose new real trunc eof odd reset unpack eoln ord rewrite write exp output round writeln Fördefinierade symboler Specialtecken + / = < > <= >= <>. : :=.. ( ) [ ]
10 8 Några fakta om Standard Pascal Reserverade ord and end nil set array file not then begin for of to case function or type const goto packed until div if procedure var do in program while downto label record with else mod repeat Alternativ representation (. för [.) för eller ^ för Direktiv forward
11 Några fakta om Standard Pascal 9 Syntax Pascals syntax bestäms av hur man kan vandra genom de här presenterade diagrammen i pilarnas riktning. De här korrigerar dessutom de som finns i kursboken. Symboler i fet stil inom cirklar och ovaler skall skrivas exakt som de står skrivna. Dessa symboler kallas terminaler. Det som står i kursiv stil inom rektanglar beskrivs i andra syntaxdiagram. Observera att syntaxbeskrivningen endast klargör hur satser i språket kan formas. Syntaxen måste kompletteras med en semantisk beskrivning som klargör vilka av de syntaktiskt korrekta konstruktionerna som har en betydelse i språket. En sådan beskrivning ligger utanför ramen för den här sammanställningen och inhämtas lämpligen genom studium av en bok om programmering i Pascal t ex Dahl Lindqvist: Pascal helt enkelt ISBN I just den boken finns fel i syntaxbeskrivningarna och de nedan givna korrigerar de i boken och (i viss mån) kompletterar dem. Vissa symboler kompletteras med klargöranden inom parentes endast för det som står utanför parentesen finns syntaxdiagram det som står inom parentesen är att betrakta som ett semantiskt förtydligande. program program identifierare ( (fil-) identifierare ) block. block deklarationsdel sammansatt sats
12 10 Några fakta om Standard Pascal deklarationsdel label lägesdeklaration const konstantdefinition type typdefinition var variabeldeklaration procedurdeklaration funktionsdeklaration lägesdeklaration lägesetikett lägesetikett teckenlöst heltal konstantdefinition identifierare = konstant typdefinition identifierare = typ
13 Några fakta om Standard Pascal 11 variabeldeklaration identifierare : typ procedurdeklaration procedurhuvud block direktiv funktionsdeklaration funktionshuvud block direktiv procedurhuvud procedure identifierare ( formell parameter ) funktionshuvud function identifierare ( formell parameter ) : (typ-)identifierare
14 12 Några fakta om Standard Pascal formell parameter var identifierare : (typ-)identifierare procedurhuvud funktionshuvud sträng vilket skrivbart tecken som helst utom identifierare direktiv bokstav bokstav siffra teckenlöst heltal siffra
15 Några fakta om Standard Pascal 13 konstant teckenlös konstant + teckenlöst heltal teckenlöst reellt tal (konstant-)identifierare teckenlös konstant teckenlöst heltal teckenlöst reellt tal (konstant-)identifierare sträng nil teckenlöst reellt tal teckenlöst heltal. teckenlöst heltal E teckenlöst heltal +
16 14 Några fakta om Standard Pascal typ (typ-)identifierare uppräknad typ intervalltyp pekartyp arraytyp packed posttyp filtyp mängdtyp uppräknad typ ( (konstant-)identifierare ) intervalltyp konstant.. konstant pekartyp (typ-)identifierare
17 Några fakta om Standard Pascal 15 arraytyp array [ typ ] of typ posttyp record fältlista end fältlista identifierare : typ variant del variant del case identifierare : (typ-) identifierare of variant variant konstant : ( fältlista )
18 16 Några fakta om Standard Pascal filtyp file of typ mängdtyp set of (uppräknad eller intervall-)typ sammansatt sats begin sats end sats lägesetikett : tilldelningssats procedursats sammansatt sats IF-sats CASE-sats WHILE-sats FOR-sats REPEAT-sats WITH-sats hoppsats
19 Några fakta om Standard Pascal 17 tilldelningssats variabel := uttryck (funktions-) identifierare procedursats (procedur-) identifierare ( aktuell parameter ) IF-sats if (villkors-) uttryck then sats else sats CASE-sats case uttryck of konstant : sats end
20 18 Några fakta om Standard Pascal WHILE-sats while (villkors-) uttryck do sats FOR-sats for (variabel-) identifierare := uttryck to downto uttryck do sats REPEAT-sats repeat sats until (villkors-) uttryck WITH-sats with (post-) variabel do sats hoppsats goto lägesetikett
21 Några fakta om Standard Pascal 19 aktuell parameter uttryck variabel (funktions-)identifierare (procedur-)identifierare uttryck enkelt uttryck < <= = <> >= > in enkelt uttryck enkelt uttryck term + + or term term faktor * / div mod and faktor
22 20 Några fakta om Standard Pascal faktor teckenlös konstant variabel funktionsdesignator ( uttryck ) not faktor mängdvärde funktionsdesignator (funktions-) identifierare ( aktuell parameter ) mängdvärde [ ] uttryck.. uttryck
23 Några fakta om Standard Pascal 21 variabel (variabel-) identifierare [ uttryck ] (fält-) identifierare. (fält-)identifierare bokstav A B... Z a b... z siffra
24 22 Några fakta om Standard Pascal Några rättelser till Pascal-boken Rapportera till Serafim via e-post om ni hittar mera!! sida rad/stycke står skall stå rad 1 I exempel 10 I ex rad 2 & 6 currentsegment segm i rutan i retrieve retrieve(alist el) retrieve(alist) mittenstycket rad 2 NextItem next mittenstycket rad 3 readchartypelist readtypelist I procedure readword VAR ch:char Ingenting (används inte) I proc skipblanks VAR ch:char Ingenting (används inte) sista stycket rad 4 konsektivt konsekutivt I function fib inner:=fibn inner:=fibn I Ex1 rad 3 permits = (DC10 permit = (DC10 OBServera att många syntaxdiagram är felaktiga. Använd de som finns i detta häfte.
Pascal. 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 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 merStandardfilerna Input och Output
Standardfilerna Input och Output Standardfilerna Input och Output är textfiler av typen TEXT (som bara finns för filer). Innehållet är av typen Char och filerna är strukturerade i form av rader. En sådan
Läs merStandardfilerna Input och Output. Filer... Filer... vanlig utbyggnad för ökad dynamik. Filer... filtyper
Standardfilerna Input och Output... Standardfilerna Input och Output är textfiler av typen TEXT (som bara finns för filer). Innehållet är av typen Char och filerna är strukturerade i form av rader. En
Läs merExempel 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 merÖversikt över Visual Basic
Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller
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 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 merGRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse
GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion
Läs merOmgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.
Omgivningar Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem. (define (sqrroot c) (define (fixpoint guess c eps) (define
Läs merTypsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
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 merTypsystem. Typsystem... Typsystem... Typsystem... 2 *
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merIntroduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
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 merProgrammera 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
Läs mer2D1310 Programmeringsteknik Tentamen (1p) lördag 29 april 2000 kl 14-17
2D1310 Programmeringsteknik Tentamen (1p) lördag 29 april 2000 kl 14-17 Hjälpmedel: En Pascalbok. För betyget godkänd krävs att a- eller b-delen av varje fråga (uppgift 1-6) är rätt besvarad. Ett mindre
Läs merVariabler och konstanter
Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!
Läs merDatalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 6 maj 2000 1. För att proceduren sortera ska fungera som tänkt kan den se ut på följande sätt: const min = 1; max = 3; type tal = integer; index = min..max;
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 merDagens 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
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 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 merDatatyp - mera. Begreppet värde, igen. Ett slags mått på en egenskap, eller något fenomen. Ska ges en bred tolkning!
Begreppet värde, igen Ett slags mått på en egenskap, eller något fenomen. Ska ges en bred tolkning! Kan vara mycket enkla: födår, ögonfärg, styckepris,.. eller lite sammansatta: en vektor, ett personnamn,
Läs merKontinuerliga listor. Fält (listor) Kontinuerliga listor... Kontinuerliga listor...
Fält (listor) Kontinuerliga listor En lista av värden 2 3 4 5 6 7 8 9... kan naturligtvis representeras av tal1, tal2, tal3,... men det finns då ingen möjlighet att välja element utan att explicit ange
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 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 merNågra saker till och lite om snabbare sortering
Några saker till och lite om snabbare sortering GOTO hemskt eller ett måste? CASE enkla val över diskreta värdemängder Snabb sortering principer Snabb sortering i Scheme och Pascal QuickSort (dela städat
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 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 merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering
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 merObligatorisk uppgift 5
(5 oktober 2018 Symbolisk kalkylator 1 ) Obligatorisk uppgift 5 En kalkylator som hanterar uttryck symboliskt dvs värden är uttryck inte bara tal. Uppgiften exemplifierar: objektorientering återanvändning
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 merGOTO och lägen. Några saker till och lite om snabbare sortering. GOTO och lägen (3) GOTO och lägen (2)
Några saker till och lite om snabbare sortering GOTO och lägen GOTO hemskt eller ett måste? CASE enkla val över diskreta värdemängder Snabb sortering principer Snabb sortering i Scheme och Pascal QuickSort
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 merParameterö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
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merMinnestilldelning (allokering) och frigörande (avallokering) av minne
Pekare i C++ Pekare används mycket i C++. De är bra både för att de tillåter dynamisk minnesallokering och för att de är referenser. En pekarvariabel innehåller en adress till ett element, den pekar på
Läs merLogik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
Läs mer1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
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 merDatalogi, grundkurs 1. Lösningsförslag till tentamen
Datalogi, grundkurs 1 Lösningsförslag till tentamen 10 december 2008 1. a. Man testar med typiska värden, gränsvärden och värden utanför specificerad indatavärdemängd. Helst med alla permutationer av
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
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 merF2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
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 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 merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merBeräkningsvetenskap föreläsning 2
Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa
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 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 merÖvning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Läs mer2.4. Teckensträngar och logiska uttryck
2.4. Teckensträngar och logiska uttryck I Fortran sparar man text i variabler av typen CHARACTER. För varje tecken reserveras normalt 1 byte i minnet. För att deklarera en teckenvariabel TEXT och samtidigt
Läs merData, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
Läs merRepetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet
Repetition Introduktion Repetition i Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
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 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 merDD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
Läs merÖvningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
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 mer6.1 Kompilering och lite grundläggande information
6 Förhoppningsvis ska de C-konstruktioner som gås igenom här tillsammans med de exempelprogram som ges här och i andra delar av lab-pm vara tillräckliga för att ni ska kunna klara av laborationerna. Syftet
Läs merProgramstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser
// En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser
Läs merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merDD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser
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 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 merInledande 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
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 merTwincat: PLC Control
Dokument Förklaring Dat. Revision KI-221-003-003 Kom igång med trukturerad Text 080402 1.0 Twincat: PLC Control Kom igång med Strukturerad Text (ST) programmering 1. Kod exempel. a. Exemplen som demonstreras
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 merNågra inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
Läs merDatalogi, grundkurs 1 Övningsuppgifter i Pascal. Serafim Dahl, Carina Edlund, Kjell Lindqvist m.fl.
Datalogi, grundkurs 1 Övningsuppgifter i Pascal Serafim Dahl, Carina Edlund, Kjell Lindqvist m.fl. Hösten 2010 Datalogi, grundkurs 1, hösten 2009 1 1. Skriv en funktion som återsänder ett heltal som läses
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs mer1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Läs merPlatser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat
Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,
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 merSista delen av kursen
Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning
Läs merProgramspråkslingvistik. Sista delen av kursen. Ett programspråk
Sista delen av kursen Programspråkslingvistik handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk
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 merC++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
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 mer1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar
Läs merInlämningsuppgift MiniPlotter
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner
Läs merÖvning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
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 merFunktioner, Procedurer och Parametrar. Funktioner, Procedurer och Parametrar... Funktioner, Procedurer och Parametrar procedurspecifikation
Funktioner, Procedurer och Parametrar I delar vi upp underprogram i två grupper : Funktioner: lämnar alltid ett värde som resultat Funktionsnamnet får ett värde i funktionen genom: funktionsnamn := expr;
Läs merDagens 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 för ingenjörer, VT06 2 Repetition Repetition -
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merIntroduktion till MATLAB
29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna
Läs merDeklarationer/definitioner/specifikationer
Deklarationer/definitioner/specifikationer Konstantdefinitioner innebär att ett namn binds och sätts att referera till ett värde som beräknas vid kompileringen/interpreteringen och som under programmets
Läs merObligatorisk uppgift: Numerisk kalkylator
Informationsteknologi Tom Smedsaas 22 augusti 2018 Obligatorisk uppgift: Numerisk kalkylator Programmet skall läsa in aritmetiska uttryck samt beräkna och skriva ut deras värden. Programmet ska läsa från
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merProgrammering 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
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 mer