Explications:
Ce texte répondra à la question 1:
Pour un do/while, c'est un peu plus compliqué : la conversion ne peut pas être directe dans tout les cas. Parce que pour une boucle do/while, on réalise toujours au moins une itération. On peut donc convertir une boucle for en do/while que si la condition est vraie pour les valeurs testées à l'entrée dans la boucle.
Et celle la pour la deuxième:
Parce que pour une boucle do/while, on réalise toujours au moins une itération. On peut donc convertir une boucle for en do/while que si la condition est vraie pour les valeurs testées à l'entrée dans la boucle.