Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mark Dixon, School of Computing SOFT 120Page 1 1. User Defined Procedures.

Similar presentations


Presentation on theme: "Mark Dixon, School of Computing SOFT 120Page 1 1. User Defined Procedures."— Presentation transcript:

1 Mark Dixon, School of Computing SOFT 120Page 1 1. User Defined Procedures

2 Mark Dixon, School of Computing SOFT 120Page 2 Large Projects/Programs This Module is about: –concepts, methods, techniques for large projects Aims (in order of importance): 1.to learn how to learn (independent study) 2.to learn how to program 3.to learn Delphi

3 Mark Dixon, School of Computing SOFT 120Page 3 Example: Fetal Monitoring During birth – CTG monitor used to record –Fetal heart rate –Uterine contractions Introduced in 1960s Problems –Difficult to learn how to interpret features –Difficult to interpret –Easy to miss features when tired –Labour ward: 8 – 16 births at once

4 Mark Dixon, School of Computing SOFT 120Page 4 Example: Fetal Monitoring Don’t panic – 3 years work, 17 years experience Safety critical and real time Two parts: –Feature Identification (me) –Decision making Feature Identification – Research Prototype –31 modules Core module –135 pages of code (Courier New 10, landscape, 1cm) –5769 lines of code (excludes blank lines)

5 Mark Dixon, School of Computing SOFT 120Page 5 What is a Procedure? Group of statements Identified by unique name Almost all computer code procedures –mirror real life procedures

6 Mark Dixon, School of Computing SOFT 120Page 6 Purposes of Procedures Code reuse: same code used in many places Break up long code: large chunks of code are difficult to understand and maintain

7 Mark Dixon, School of Computing SOFT 120Page 7

8 Mark Dixon, School of Computing SOFT 120Page 8

9 Mark Dixon, School of Computing SOFT 120Page 9 procedure DrawFace(); begin frmFace.imgMain.Canvas.Refresh; frmFace.imgMain.Canvas.Ellipse(50,25,150,125); if frmFace.chkNose.Checked then begin frmFace.imgMain.Canvas.MoveTo(100,60); frmFace.imgMain.Canvas.LineTo(100,80); end; if frmFace.optMood.ItemIndex = 0 then begin frmFace.imgMain.Canvas.Arc(60,70,140,100,60,85,140,85); end else begin frmFace.imgMain.Canvas.Arc(60,85,140,115,140,100,60,100); end; if frmFace.optEyes.ItemIndex = 0 then begin frmFace.imgMain.Canvas.Ellipse(90,40,70,60); frmFace.imgMain.Canvas.Ellipse(110,40,130,60); end else begin frmFace.imgMain.Canvas.MoveTo(90,50); frmFace.imgMain.Canvas.LineTo(70,50); frmFace.imgMain.Canvas.MoveTo(110,50); frmFace.imgMain.Canvas.LineTo(130,50); end; procedure TfrmFace.chkNoseClick(Sender: TObject); begin DrawFace; end; procedure TfrmFace.optMoodClick(Sender: TObject); begin DrawFace; end; procedure TfrmFace.optEyesClick(Sender: TObject); begin DrawFace; end; 30 lines of code 1 line of code

10 Mark Dixon, School of Computing SOFT 120Page 10 procedure DrawFace(); procedure DrawNose(); begin if frmFace.chkNose.Checked then begin frmFace.imgMain.Canvas.MoveTo(100,60); frmFace.imgMain.Canvas.LineTo(100,80); end; procedure DrawMouth(); begin if frmFace.optMood.ItemIndex = 0 then begin frmFace.imgMain.Canvas.Arc(60,70,140,100,60,85,140,85); end else begin frmFace.imgMain.Canvas.Arc(60,85,140,115,140,100,60,100); end; procedure DrawEyes(); begin if frmFace.optEyes.ItemIndex = 0 then begin frmFace.imgMain.Canvas.Ellipse(90,40,70,60); frmFace.imgMain.Canvas.Ellipse(110,40,130,60); end else begin frmFace.imgMain.Canvas.MoveTo(90,50); frmFace.imgMain.Canvas.LineTo(70,50); frmFace.imgMain.Canvas.MoveTo(110,50); frmFace.imgMain.Canvas.LineTo(130,50); end; begin frmFace.imgMain.Canvas.Refresh; frmFace.imgMain.Canvas.Ellipse(50,25,150,125); DrawNose; DrawMouth; DrawEyes; end; DrawFace Draw Mouth Draw Nose Draw Eyes Module Hierarchy Chart

11 Mark Dixon, School of Computing SOFT 120Page 11 Example: Fetal Monitoring Total of 148 procedures and functions: –119 procedures –29 functions Module Hierarchy Chart –75 nodes shown –Split into three pages Page A – 23 nodes Page B – 28 nodes Page C – 24 nodes


Download ppt "Mark Dixon, School of Computing SOFT 120Page 1 1. User Defined Procedures."

Similar presentations


Ads by Google