Programme pyramide étoiles C#

Tạo vào: 30 tháng 12, 2024

Trả lời bằng OpenAI 01 bởi OpenAI01

Câu hỏi

Dessiner une pyramide
Ecrire un programme c# qui :
o déclare une variable entière h,
o demande à l’utilisateur de saisir un nombre strictement positif h correspondant aux nombres d'étoiles se trouvant à la base de la pyramide (n=h/2= hauteur de la pyramide)
o affiche une pyramide d'étoiles.


Par exemple, h=4; on obtient l’affichage suivant :

*

***

*****

*******


static void Main(string[] args)
{

// A compléter ...
}

Suy nghĩ

Réfléchir aux calculs

Je suis en train de déterminer que h représente la hauteur en étoiles, et la base a 2h - 1 étoiles.

Clarifiant les relations

Il semble que h est le nombre d'étoiles à la base, tandis que n = h / 2 représente la hauteur, indiquant une disproportion apparente avec l'exemple fourni.

Éclaircir le concept

Il semble que h représente la hauteur, et la base a 2h - 1 étoiles, ce qui réconcilie l'exemple donné.

Réévaluant les spécifications

Je suis en train de penser que h représente peut-être la hauteur, avec une base de 2h - 1 étoiles, pour maintenir la symétrie avec une hauteur de 4 niveaux.

Clarifier les choix

Je suis en train de clarifier que h représente la hauteur et base a 2*h - 1 étoiles, tout en considérant les instructions de l'utilisateur pour une cohérence maximale.

Dresser la grille

Je note que chaque ligne du bas a des espaces égaux au nombre d'étoiles dans la ligne d'en dessous, créant ainsi une pyramide symétrique.

Éclaircir l'interprétation

Je suis en train de résoudre la confusion en interprétant h comme la hauteur, en clarifiant les exigences et en vérifiant que chaque ligne de la pyramide a des étoiles et des espaces en quantité appropriée.

Écrire une méthode principale

Je vois que la méthode principale en C# demande un entier positif, puis imprime une pyramide symétrique avec les étoiles et les espaces.

Réflexion pendant 11 secondes

Trả lời

Voici un programme en C# qui permet de dessiner une pyramide d'étoiles en fonction de la hauteur saisie par l'utilisateur. Le programme suit les étapes suivantes :

  1. Déclaration de la variable entière h.
  2. Demande à l’utilisateur de saisir un nombre strictement positif pour la hauteur de la pyramide.
  3. Affiche la pyramide d'étoiles en respectant la hauteur et la symétrie.

Code complet :

using System; class Program { static void Main(string[] args) { int h; // Boucle pour s'assurer que l'utilisateur saisit un nombre strictement positif do { Console.Write("Entrez un nombre entier strictement positif pour la hauteur de la pyramide : "); // Tente de lire et convertir l'entrée en entier if (!int.TryParse(Console.ReadLine(), out h) || h <= 0) { Console.WriteLine("Entrée invalide. Veuillez saisir un nombre entier strictement positif."); } } while (h <= 0); // Boucle pour chaque niveau de la pyramide for (int i = 1; i <= h; i++) { // Calcul du nombre d'espaces avant les étoiles pour centrer la pyramide int espaces = h - i; // Calcul du nombre d'étoiles à afficher pour le niveau actuel int etoiles = 2 * i - 1; // Affichage des espaces Console.Write(new string(' ', espaces)); // Affichage des étoiles suivi d'un retour à la ligne Console.WriteLine(new string('*', etoiles)); } } }

Explications détaillées :

  1. Importation de l'espace de noms System :

    using System;

    Ceci permet d'utiliser les classes de base comme Console.

  2. Déclaration de la classe Program et de la méthode Main :

    class Program { static void Main(string[] args) { // Code ici } }

    La méthode Main est le point d'entrée de l'application.

  3. Saisie et validation de la hauteur h :

    int h; do { Console.Write("Entrez un nombre entier strictement positif pour la hauteur de la pyramide : "); if (!int.TryParse(Console.ReadLine(), out h) || h <= 0) { Console.WriteLine("Entrée invalide. Veuillez saisir un nombre entier strictement positif."); } } while (h <= 0);
    • int.TryParse : Tente de convertir l'entrée utilisateur en entier. Si la conversion échoue ou si h n'est pas strictement positif, un message d'erreur est affiché et la saisie est redemandée.
    • Boucle do-while : Continue à demander une saisie jusqu'à ce que l'utilisateur entre un nombre valide.
  4. Affichage de la pyramide :

    for (int i = 1; i <= h; i++) { int espaces = h - i; int etoiles = 2 * i - 1; Console.Write(new string(' ', espaces)); Console.WriteLine(new string('*', etoiles)); }
    • Boucle for : Parcourt chaque niveau de la pyramide de 1 à h.
    • Calcul des espaces et des étoiles :
      • Espaces (espaces) : h - i pour centrer les étoiles.
      • Étoiles (etoiles) : 2 * i - 1 pour assurer une pyramide symétrique.
    • Affichage :
      • new string(' ', espaces) : Crée une chaîne d'espaces pour le centrage.
      • new string('*', etoiles) : Crée une chaîne d'étoiles correspondant au niveau actuel.
      • Console.WriteLine : Affiche les étoiles suivies d'un retour à la ligne.

Exemple d'exécution :

Si l'utilisateur saisit 4, le programme affichera :

   *
  ***
 *****
*******

Chaque ligne est centrée en fonction de la hauteur de la pyramide, créant ainsi une forme pyramidale harmonieuse.

Chia sẻ Q&A này