10 January 8, 2004
algorithm algorithm algorithm
(unit testing) (integrated testing) (acceptance testing)
Big-Bang (incremental development)
(goto
goto DO 50 I=1,COUNT IF (ERROR1) GO TO 60 IF (ERROR2) GO TO 60 50 CONTINUE 60 {Code for Error1 handling} GO TO 80 70 {Code for Error2 handling} 80 CONTINUE
I = I while I <= TableSize and Table(I) <> Target do I = I + 1 if I > TableSize then {code for Target not found} else {code for Target found} for I=1 to TableSize do if Table(i) = Target then goto Found NotFound: {code for Target not found} Found: {code for Target found}
Procedure FillPowersArray(var Base:integer;var Powers:array of integer); Powers[1]:=Base; Powers[2]:=Base*Base; Powers[3]:=Base*Base*Base; Powers[4]:=Base*Base*Base*Base; Powers[5]:=Base*Base*Base*Base*Base; Powers[6]:=Base*Base*Base*Base*Base*Base; Powers[7]:=Base*Base*Base*Base*Base*Base*Base; Powers[8]:=Base*Base*Base*Base*Base*Base*Base*Base; end{procedure FillPowerArray}: Procedure FillPowersArray(var Base:integer;var Powers:array of integer); var Index:integer; Powers[1]:=Base; for Index :=2 to 8 do Powers[Index]:=Powers[Index-1]*Base; end{procedure FillPowerArray}:
function IntegerFromHex(HexDigit:char):integer; var ASCIIValue:integer; ASCIIValue:=chr(HexDigit); if ASCIIValue < 58 then IntegerFromHex := ASCIIValue 48; else IntegerFromHex := ASCIIValue 55; end; {function IntegerFromHex} function IntegerFromHex(HexDigit:char):integer; case HexDigit of 0 :IntegerFromHex := 0; 1 :IntegerFromHex := 1; 2 :IntegerFromHex := 2; 3 :IntegerFromHex := 3; 4 :IntegerFromHex := 4; 5 :IntegerFromHex := 5; 6 :IntegerFromHex := 6; 7 :IntegerFromHex := 7; 8 :IntegerFromHex := 8; 9 :IntegerFromHex := 9; A :IntegerFromHex := 10; B :IntegerFromHex := 11; C :IntegerFromHex := 12; D :IntegerFromHex := 13; E :IntegerFromHex := 14; F :IntegerFromHex := 15; end{case} end;{function IntegerFromHex}
JIS X0201 8 1 2
(1) procedure Mode1(A:array[1..N] of integer;n:integer; var Mode,ModeFrequency:integer); var I,TempFreq:integer; Mode := A[1]; ModeFrequency := 1; TempFreq := 1; for I:= 2 to N do if A[I] <> A[I-1] then TempFreq := 1 else TempFreq := TempFreq + 1; if TempFreq > ModeFrequency then ModeFrequency := TempFreq; Mode := A[I] end end {for} end{procedure Mode1}
(2) procedure Mode2(A:array[1..N] of integer;n:integer;var Mode,ModeFrequency:integer); var I:integer; Mode := A[1]; ModeFrequence := 1; TempFreq := 1; for I:= 2 to N do if A[I] = A[I-ModeFrequency] then Mode := A[I]; ModeFrequency := ModeFrequency + 1; end {if} end {for} end{procedure Mode2}
2 (1) DistanceRecord = record yards:integer; Feet:integer; Inches:integer end; function D1isLonger(Distance1,Distance2:DistanceRecord):boolean; D1isLonger := false; if (Distance1.Yards = Distance2.Yards) and (Distance1.Feet >Distance2.Feet) then D1isLonger := true else if (Distance1.Feet = Distance2.Feet) and (Distance1.Inches > Distance2.Inches) then D1isLonger := true end {function D1isLonger}
2 (2) DistanceRecord = record yards:integer; Feet:integer; Inches:integer end; function D1isLonger(Distance1,Distance2:DistanceRecord):boolean; var TotalDistance1,TotalDistance2:integer; TotalDistance1 := (Distance1.Yards * 36) + (Distance1.Feet * 12) + Distance1.Inches; TotalDistance2 := (Distance2.Yards * 36) + (Distance2.Feet * 12) + Distance2.Inches; D1isLonger := TiotalDistance1 > TotalDistance2 end {function D1isLonger}
OHP
Next := 1; while (not eoln) and (Next <= Maxlength) do end read(instring[next]); Next := Next + 1 end; readln; for Next := Next to Maxlength do Instring[Next] := Blank