Exempel på ett litet Ada-program

Relevanta dokument
Variabler och konstanter

Introduktion till MATLAB, med utgångspunkt från Ada

Tentamen Grundläggande programmering

Föreläsning 4: Poster

Föreläsning 0: Introduktion av Ada

5 Grundläggande in- och utmatning

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Föreläsning 1: Momstabellen i C++

KOMPLETTERANDE HEMTENTAMEN TDDB53

Föreläsning 6: Introduktion av listor

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

KOMPLETTERANDE HEMTENTAMEN TDDB53

Imperativ programmering. Föreläsning 2

Föreläsning 5: Introduktion av pekare

Datatyp - mera. Begreppet värde, igen. Ett slags mått på en egenskap, eller något fenomen. Ska ges en bred tolkning!

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Prova på-laboration i Ada

Föreläsning 3: Booleans, if, switch

Klassdeklaration. Metoddeklaration. Parameteröverföring

Fö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 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Paket (2) nautisk_mil : constant Float := * foot; ångström : constant Float := 10.0E-10; mile : constant Float := 5280.

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Twincat: PLC Control

C++ - En introduktion

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

SMD 134 Objektorienterad programmering

Övning2. Variabler. Data typer

Programmering A. Johan Eliasson

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Parameteröverföring. Exempel. Exempel. Metodkropp

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

F4. programmeringsteknik och Matlab

Föreläsning 3-4 Innehåll

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Repetition C-programmering

Uttryck och villkor. Föreläsning 2

Uttryck och villkor. Föreläsning 2

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.

Översikt över Visual Basic

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

KOMPLETTERANDE HEMTENTAMEN 2 TDDB53

Pascal... Pascal. Pascal... Pascal...

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Beräkningsvetenskap föreläsning 2

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Introduktion C-programmering

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

OOP Objekt-orienterad programmering

Föreläsning 7: Filer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är

Data, typ, selektion, iteration

Introduk+on +ll programmering i JavaScript

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

Programmeringsteknik I

Visual Basic, en snabbgenomgång

Objektorienterad programmering i Java

Algoritmer och interaktiv Python

OOP Objekt-orienterad programmering

VHDL och laborationer i digitalteknik

2.4. Teckensträngar och logiska uttryck

Programmeringsteknik med C och Matlab

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet

Imperativ programmering. Imperativ programmering konstruktioner i Lisp. Datastrukturer (kap ) arraystruktur poststruktur

Föreläsning 4. Val, boolska värden, läsbarhet, osv

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 3. Iteration while-satsen

Programmering i C, 7,5 hp

Föreläsning 1 & 2 INTRODUKTION

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

En kort text om programmering i C.

Iteration while-satsen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Månadsnamn september Några deklarationer

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Språket Python - Del 1 Grundkurs i programmering med Python

TDDC76 - Programmering och Datastrukturer

Transkript:

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 ); X := 10; Y := X * K; -- Här beräknar vi. Y := X + 1; end Mini;

Variabler och konstanter Skall deklareras: X : Integer; Y : Integer := 2; Z : constant Integer := 10; Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 2) Lagras i datorns minne! Integer X: 2

Grundläggande datatyper Enkla datatyper Character Boolean Integer Float } } Uppräkningsbara Skalära Speciellt i Ada är att man dessutom har ett par extra heltalsdatatyper. Dessa är endast undertyper till datatypen Integer: Natural - Noll (0) och uppåt. Positive - Ett (1) och uppåt. Sammansatta datatyper String (för att lagra text)

Enkelt programskelett with...; use...; procedure... is -- Deklarationer av t.ex. variabler, -- konstanter, typer, och underprogram. -- Satser som utför något. end...;

Tilldelning (hård typning) Generell form på en tilldelningssats: Variabel := Uttryck; Exempel på ett antal tilldelningar i ett program. procedure Tilldelning is I : Integer; F : Float; C : Character; B : Boolean; I := 7; I := 3.14; F := 3.14; I := Integer(F); F := I; F := 3 / 2; F := Float(3 / 2); F := 3.0 / 2.0; I := 3 mod 2; C := 2 ; I := 2 ; B := True; B := (I < 8); end Tilldelning;

Operatorer Aritmetiska operatorer: + - * / mod rem ** Logiska operatorer: and or xor not and then or else in not in Relationsoperatorer (också logiska operatorer): = /= < > <= >= Strängsammanslagningsoperatorn: & OBS! Prioritetsordningen mellan operatorerna kan ändras med hjälp av parenteser precis som i matematiken. OBS! För relationsoperatorerna krävs parenteser om man blandar olika operatorer (t.ex. and och or). OBS! Man kan inte aoutomatiskt utföra de aritmetiska operationerna på data av olika datatyper.

Sekvens Ett antal satser utförs efter varandra. Sats_1; Sats_2; Sats_3;... Sats_N; end;

In- och utmatning (eng: I/O) - 1 av 4 För in- och utmatning krävs särskilda paket (OBS! fel in Skansholms bok): with Ada.Text_IO; with Ada.Float_Text_IO; with Ada.Integer_Text_IO; procedure In_Och_Utmatning is I : Integer; F : Float; C : Character; S : String(1..5); Ada.Text_IO.Put( Mata in: ); Ada.Float_Text_IO.Get(F); Ada.Integer_Text_IO.Get(I); Ada.Text_IO.Get(C); Ada.Text_IO.Get(S); Ada.Text_IO.Put( Utskrift: ); Ada.Float_Text_IO.Put(F); Ada.Integer_Text_IO.Put(I); Ada.Text_IO.Put(C); Ada.Text_IO.Put(S); end In_Och_Utmatning;

In- och utmatning - 2 av 4 Man kan undvika långa rader kod genom att göra use på paketen: with Ada.Text_IO; use Ada.Text_IO; with Ada.Float_Text_IO; use Ada.Float_Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; procedure In_Och_Utmatning_2 is I : Integer; F : Float; C : Character; S : String(1..5); Put( Mata in: ); Get(F); Get(I); Get(C); Get(S); Put( Utskrift: ); Put(F); Put(I); Put(C); Put(S); end In_Och_Utmatning_2;

In- och utmatning - 3 av 4 Man kan också formatera utmatningen (inte alla, men vissa) genom att lägga till extra parametrar : procedure In_Och_Utmatning_3 is I : Integer; F : Float; C : Character; S : String(1..5); Ada.Text_IO.Put_Line( Mata in: ); Get(F); Get(I); Get(C); Get(S); Ada.Text_IO.New_Line(2); Put( Utskrift: ); Put(F, Fore => 3, Aft => 2, Exp => 0); Put(F, 3, 2, 0); Put(I, Width => 6); Put(I, 6); Put(C); Put(S(1..3)); Ada.Text_IO.New_Line; end In_Och_Utmatning_3;

In- och utmatning - 4 av 4 Några specialare: procedure In_Och_Utmatning_4 is S : String(1..5); L : Integer; Ada.Text_IO.Put_Line( Mata in: ); Get(S); Ada.Text_IO.Skip_Line; Ada.Text_IO.Put(S); Ada.Text_IO.New_Line; Get(S); Ada.Text_IO.Skip_Line; Ada.Text_IO.Put_Line(S); Ada.Text_IO.Get_Line(S, Last =>L); Ada.Text_IO.Put_Line(S(1..L)); Ada.Text_IO.Get_Line(S, L); Ada.Text_IO.Put_Line(S(1..L)); end In_Och_Utmatning_4;

Val (selektion) - 1 av 2 Man kan välja att utföra en av en eller flera sekvenser av satser beroende på olika villkor eller att inte utföra någon. if Villkor then end if; if Villkor then else end if; if Villkor then elsif villkor then end if; if Villkor then elsif villkor then else end if;

Val (selektion) - 2 av 2 Man kan välja att utföra en av en eller flera sekvenser av satser beroende på ett uttryck. case Uttryck is when... =>... when... => end case; case Uttryck is when... =>... when others => end case;

Repetition (iteration) Att upprepa något ett antal gånger. Tre olika sätt att göra detta i Ada. for Styrvariabel in [reverse] Min_Värde.. Max_Värde loop end loop; while Villkor loop end loop; loop end loop; I alla dessa varianter kan man utföra en speciell sats för att avbryta repetitionen (exit) om man vill. Denna kan utformas på lite olika sätt.

Sekvens (med lokala deklarationer) Ett antal satser utförs efter varandra där man kan ha lokala variabler, typer m.m. som alltså bara existerar i denna sats. declare -- Lokala deklarationer. end;

Enkla underprogramskelett En procedur: with...; use...; procedure...(...) is -- Deklarationer av t.ex. variabler, -- konstanter, typer, och underprogram. -- Satser som utför något. end...; En funktion: with...; use...; function...(...) return... is -- Deklarationer av t.ex. variabler, -- konstanter, typer, och underprogram. -- Satser som utför något. return...; end...;