unit vehicleunit; interface const MaxSpeed=255; type Tvehicle=class {класс "средство передвижения"} fPassCount:byte;//вместимость пассажиров 0..255 fSpeed:byte;//текущая скорость,только положительная protected constructor Create(Speed,PassCount:byte);virtual; procedure TakePassanger;virtual;//вместить пассажиров procedure MoveFaster;virtual;//увеличение скорости procedure MoveSlower;virtual; //уменьшение скорости end; implementation constructor Tvehicle.Create(Speed, PassCount: byte); begin fSpeed:=Speed; fPassCount:=PassCount; end; procedure Tvehicle.TakePassanger; begin randomize; fPassCount:=random(10); writeln('PassCount:',fpasscount); end; procedure Tvehicle.MoveFaster; begin randomize; fSpeed:=random(256); if fSpeed+1<=MaxSpeed then Inc(fSpeed) else fSpeed:=MaxSpeed; writeln('after_movefaster'); writeln('speed_now (km/h):',fspeed); end; procedure Tvehicle.MoveSlower; begin if fSpeed<>0 then fSpeed:=fSpeed-1 else fSpeed:=0; writeln('after_moveslower'); writeln('speed_now (km/h):',fspeed); end; end.