unit carunit; interface uses vehicleunit; type TCar = class(Tvehicle) protected fMark: string; {для хранения марки автомобиля } fColor:string; constructor Create(Speed,PassCount:byte;Color,Mark:string); procedure TakeColor; procedure TakeMark; procedure MoveFaster;override; procedure MoveSlower;override; procedure TakePassanger;override; end; implementation constructor TCar.Create(Speed,PassCount:byte;Color,Mark:string); begin inherited Create(Speed,PassCount);//вызов конструктора базового класса fMark:=Mark; fcolor:=color; end; procedure TCar.TakeColor; var Col:string; begin writeln('vibor_color_(white,black,red or green):'); readln(Col); writeln('car_color:',Col); end; procedure TCar.TakeMark; var M:string; begin writeln('vibor_seriy_(Honda,Ferrari,Bentley,Cadillac,Ford,Lada,Skoda):'); readln(M); writeln('car_seriy:',M); end; procedure TCar.MoveFaster; begin randomize; fSpeed:=random(251); if fSpeed+5<=MaxSpeed then Inc(fSpeed,5) else if fSpeed+4<=MaxSpeed then Inc(fSpeed,4) else if fSpeed+3<=MaxSpeed then Inc(fSpeed,3) else if fSpeed+2<=MaxSpeed then Inc(fSpeed,2) else if fSpeed+1<=MaxSpeed then Inc(fSpeed) else fSpeed:=MaxSpeed; writeln('after_movefaster'); writeln('speed_now (km/h):',fSpeed); end; procedure TCar.MoveSlower; begin if fSpeed>=5 then fSpeed:=fSpeed-5 else fSpeed:=0; writeln('after_moveslower'); writeln('speed_now (km/h):',fSpeed); end; procedure TCar.TakePassanger; begin fPassCount:=5; writeln('PassCount:',fPasscount); end; end.