F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Datavetenskap för teknisk kemi 10p, moment 1
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Klassarv och inkapsling
2D1311 Programmeringsteknik med PBL Föreläsning 3 Skolan för Datavetenskap och kommunikation.
Algoritmer och datastrukturer
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor Ser till att objektets data är korrekt initierade MinKlass::MinKlass(); MinKlass::MinKlass(int.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Programmering i C# 3. Klasser.
Pekare och speciell programstruktur i inbyggda system
Klasser och objekt Klasser, objekt och instansvariabler
Ali Ghodsi Variabler En variabel är en sorts behållare som man kan placera data i Man måste ange typ och namn för alla variabler.
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
int res2=Math.max(tal1,tal2);
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
William Sandqvist C:s minnesmodell.
Listor En lista är en föränderlig ordnad samling objekt.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Modulär programutveckling
Anders Sjögren Pekare. Anders Sjögren Skapa ett program som byter plats på två heltal Pekare.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Namnrum, räckvidd och rekursion Linda Mannila
Funktioner Linda Mannila Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Problemlösningsmetodik
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Föreläsning 4 Listor, tupler, och for-loopar. Listor En lista är en föränderlig ordnad samling objekt. Listor skapas med hakparenteser. lista = [12,13,14,15]
F6 - Pekare 1 Programmeringsteknik, 4p vt-00 Pekare & adresser Alla variabler är knutna till en viss adress i minnet int i; adressen till denna fås med.
F5 - Fält & strängar 1 Programmeringsteknik, 4p vt-00 Fält Många element av samma typ Typexempel : lista av heltal Gemensamt namn Individuella värden nås.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
Anders Sjögren Deklarationsområde och funktioner.
Karl-Henrik Hagdahl, 11 november Repetition Logikprogrammering: måndag 11 november 2002.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn.
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Anders Sjögren Enkelt program med funktion /* two_func.c - a program that uses two functions in one file */ /* from Stephen Prata C Primer Plus ISBN
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Anders Sjögren Funktioner något in och något annat ut.
KPP053, HT2015 MATLAB, Föreläsning 4
Presentationens avskrift:

F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare felsökning Större möjlighet till återanvändning

F4 - Funktioner & parametrar 2 Programmeringsteknik, 4p vt-00 Egna funktioner returtyp funktionsnamn(parameterlista) { deklarationer satser } kropp huvud

F4 - Funktioner & parametrar 3 Programmeringsteknik, 4p vt-00 exempel int maximum(int a, int b) { if (a > b) return a; else return b; } /* maximum */ returvärde Formella parametrar returtyp int x,y,z; x=2; y=3; z=4; z=maximum(x,y); Anrop :

F4 - Funktioner & parametrar 4 Programmeringsteknik, 4p vt-00 …funktioner Returtyp : allt vi sett hittills eller void –Restriktioner kommer senare Funktionsnamn - identifierare Parameterlista typ identifierare, flera separeras med komma –Saknas parametrar void Tumregel : en funktion max en sida

F4 - Funktioner & parametrar 5 Programmeringsteknik, 4p vt-00 return -satsen När satsen nås avbryts funktionen och återhopp sker Kan men behöver inte efterföljas av ett uttryck Ev. uttryck evalueras och resultatet skickas tillbaka Uttryckets värde konverteras om nödvändigt

F4 - Funktioner & parametrar 6 Programmeringsteknik, 4p vt-00...return Noll eller flera return-satser Om return saknas utförs alla satser i kroppen och därefter sker återhopp

F4 - Funktioner & parametrar 7 Programmeringsteknik, 4p vt-00 Prototyper Alla funktioner måste vara deklarerade innan de används Prototyp duger som deklaration Prototyp = funktionshuvudet (identifierarna i param.listan behöver ej vara med, typerna måste vara med) Funktionsdefinitionen fungerar som prototyp

F4 - Funktioner & parametrar 8 Programmeringsteknik, 4p vt-00 Funktionsanrop Ett program består av en eller flera funktionsdefinitioner åtminstone main() Programet startar alltid med main() När ett funktionsnamn förekommer sker ett anrop och funktionen exekveras

F4 - Funktioner & parametrar 9 Programmeringsteknik, 4p vt-00 Parameteröverföring Parametrarna ska överensstämma i typ och antal Varje argument evalueras och värdet kopieras till identifieraren i motsvarande position i funktionen Detta medför att ev. ändringar av parameterns värde i funktionen inte påverkar något i den miljö där anropet gjordes Exempel!

F4 - Funktioner & parametrar 10 Programmeringsteknik, 4p vt-00 Identifierares räckvidd void fun1(int a, int b) { int i,j;... } void fun2(int i, int j) { float a,c;... } void main(void) { float a; int i; fun1(i,i); fun2(a,i)... } existerar bara inom det block de är deklarerade

F4 - Funktioner & parametrar 11 Programmeringsteknik, 4p vt-00 Rekursion Rekursivt definierade problem n! = n·(n-1)! där 0!=1 och 1!=1 Funktioner kan anropa sig själva int nfac(int n) { if (n==0 || n==1) return 1; else return n*nfac(n-1); } /* nfac */

F4 - Funktioner & parametrar 12 Programmeringsteknik, 4p vt-00 Storage class Varje variabel & funktion har typ & ”lagrings”klass auto - default om inget anges, existerar i blocket ”lokala” extern - deklarerad utanför funktion, global till alla efterföljande funktioner -> sök någon annanstans, i samma eller annan fil (ex. s.218) register- minnesberoende static - en lokal variabel behåller sitt värde när ett block åter nås (ex. s.220)

F4 - Funktioner & parametrar 13 Programmeringsteknik, 4p vt-00

F4 - Funktioner & parametrar 14 Programmeringsteknik, 4p vt-00 HiLo - igen  Presentera spelet  Generera hemligt tal  Fråga användaren om gissning  Läs in gissning som är acceptabel  Om gissning = hemlig tal så skriv ”Helt rätt” annars skriv ut en ledtråd och upprepa  Spelet slut Upprepas -till rätt eller maxgissat

F4 - Funktioner & parametrar 15 Programmeringsteknik, 4p vt-00 Presentera spelet Syfte : med hjälp av utskrifter presentera spelet Indata : ingenting Utdata : ingenting Anrop : presentation();

F4 - Funktioner & parametrar 16 Programmeringsteknik, 4p vt-00 Acceptabel gissning Syfte : Kontrollera värdet mot givet intervall om fel skriv felmeddelande och upprepa tills ok Indata : värdet v (heltal) undre gräns minv (heltal) övre gräns maxv (heltal) Utdata : acceptabel gissning Anrop : gissning = valideraGissning(gissning,MIN,MAX);