An important direction of improving the process of algorithmization training is developing interactive declarative programming environments. The purpose of the study is to develop a tutoring system on programming, which allows describing and checking techniques and strategies of solving combinatorial problems in an obvious way. The proposed programming system allows a user to describe conditions of a problem and a solving strategy in a natural way, carries out automatic searching for solutions and their assessing, and performs visual simulation of solutions in order to confirm their correctness. Programming a problem switches from the level of direct planning actions to the level of choosing a strategy of allocating resources and jobs. An example of solving a problem is provided.