local Prob1 Prob2 Prob3 Main X X1 X2 X3 Cvt_feet_to_meters Feet Meters Meter_per_foot Feet_per_meter Meter_per_foot Feet_per_mile Meters_per_kilometer Miles_per_foot Miles_per_kilometer Init_glob Diff_meters Diff_yards Cvt_meters_to_feet in proc { Init_glob } Feet_per_meter = 3.28 Meter_per_foot = 1.0 / Feet_per_meter Feet_per_mile = 5280.0 Meters_per_kilometer = 1000.0 Miles_per_foot = 1.0 / Feet_per_mile Miles_per_kilometer = Miles_per_foot * Feet_per_meter * Meters_per_kilometer end proc { Prob1 Feet } { Show 'Feed the Buffer - under Oz menu' } { Show 'Then visit oz emulator - under Buffers menu' } { Show 'Then save the buffer - under File menu' } { Show 'Problem 1 output' } Meters = { Cvt_feet_to_meters Feet } { Show 'Feet = ' } { Show Feet } { Show 'Meters = ' } { Show Meters } end proc { Prob2 X } { Show 'Problem 2 output' } Diff_meters = 100.0 - { Cvt_feet_to_meters 100.0 * 3.0 } Diff_yards = { Cvt_meters_to_feet Diff_meters } / 3.0 {Show '100 meters is longer by '} {Show Diff_meters } {Show ' meters or ' } {Show Diff_yards } {Show ' yards'} end proc { Prob3 X } { Show 'Problem 3 output' } { Show '300 kilometers = ' } { Show 300.0 * Miles_per_kilometer } { Show ' miles' } end proc { Main X } { Show 'Oz output chapter '} { Init_glob } { Prob1 6.0 } { Prob2 X2} { Prob3 X3} end proc { Cvt_feet_to_meters Feet Meters } Meters = Feet * Meter_per_foot end proc { Cvt_meters_to_feet Meters Feet } Feet = Meters * Feet_per_meter end { Main X } end