In many applications, like shape analysis, it is necessary to decompose an object contour into straight-line segments and circular arcs, because many man-made objects (especially machined parts) are composed of these two types of geometric entities. This paper presents a procedure for segmenting a planar curve into lines and arcs, in which the number of entities (or break points) of the curve is given. This procedure can be divided into two stages: (1) to obtain a starting set of break points, and determine the approximation functions (lines and arcs) for the data intervals that are separated by the break points; and (2) to adjust the break points until the error norm is locally minimized. The first stage is based on the detection of significant changes in curvature using the chain-code and differential chain-code techniques, and the second stage is an optimization curve/line fitting scheme. A computational comparison with a modified dynamic programming (MDP) approach shows that the proposed procedure obtains near optimal solutions (relative errors less than 1%) for all the test problems, and requires less than 1.2% of the computational time needed by the MDP approach.