Programme pyramide étoiles C#
作成日: 2024年12月30日
作成日: 2024年12月30日
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
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 :
h
.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)); } } }
Importation de l'espace de noms System
:
using System;
Ceci permet d'utiliser les classes de base comme Console
.
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.
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.do-while
: Continue à demander une saisie jusqu'à ce que l'utilisateur entre un nombre valide.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)); }
for
: Parcourt chaque niveau de la pyramide de 1 à h
.espaces
) : h - i
pour centrer les étoiles.etoiles
) : 2 * i - 1
pour assurer une pyramide symétrique.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.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.