プログラミングは思考の表現

ある目的を達成するために、それを実現する一連の動作を決め、その部品となるコンピュータへの命令を選択し、それらの正しい組み合わせを論理的に考えるのがプログラミング的思考です。
文章からアルゴリズムを考える

囚人Aと囚人Bとして取り調べを受けています。囚人A、Bの両人は、2人とも自白したときは懲役10年の罪になり、2人とも自白しないときは両方とも無罪として釈放されます。取調官は2人の囚人に対し、次の取引をもちかけました。「相棒が黙秘しているときに、捜査に協力して犯行を自白すれば5年の刑に軽くするが、黙秘しているほうは20年の刑に重くする」 さて、自分が囚人Aだったらどうしますか? (囚人のジレンマ)
図解からアルゴリズムを考える

親(大人)1人、子供2人の家族が、小さなボートで川を渡ろうとしています。かなり小さいボートなので、一度に乗れるのは大人1人だけか子供2人までです。大人と子供は一緒に乗ることができません。2人の子供を含め全員がボートを漕げるとして、どうすれば家族全員が向こう岸に渡れるでしょうか? (川渡りの問題)