Programme pascal qui d'affiche un triangle
Mamoun Miladi
-
rikooo -
rikooo -
Bonjour,
salut a tous j'ai un problème dans un exercice dans mon livre
il me demande de faire un programme et d'enduire un analyse dans programme pascal qui permet d'affiché un triangle isocèle formé d'étoiles de n ligne (n = donné par le clavier )
un exemple pour comprendre
n=8
*
***
*****
*******
*********
***********
*************
***************
s'il vous plaie j'ai besoin de votre aide et merci
votre nouveau ami mam :(
salut a tous j'ai un problème dans un exercice dans mon livre
il me demande de faire un programme et d'enduire un analyse dans programme pascal qui permet d'affiché un triangle isocèle formé d'étoiles de n ligne (n = donné par le clavier )
un exemple pour comprendre
n=8
*
***
*****
*******
*********
***********
*************
***************
s'il vous plaie j'ai besoin de votre aide et merci
votre nouveau ami mam :(
A voir également:
- Ecrire un algorithme qui permet d'afficher le triangle
- Ecrire en gras sur whatsapp - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Ecrire en miroir - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
4 réponses
bjr jesper k ceci va taider c le programme
ligne:integer;
a, b: integer;
begin
writeln('nbre ligne'); read(ligne);
for a:=1 to ligne do
begin
for b:=1 to a do
write('*');
writeln;
end
end.
jespere k c pas trop trop tard
en revange je recherche comment faire la figure ci dessous
*
* *
** **
* *
*
ligne:integer;
a, b: integer;
begin
writeln('nbre ligne'); read(ligne);
for a:=1 to ligne do
begin
for b:=1 to a do
write('*');
writeln;
end
end.
jespere k c pas trop trop tard
en revange je recherche comment faire la figure ci dessous
*
* *
** **
* *
*
Tu dois utiliser une boucle (ou de la récursivité), regarde ce cours :
https://pascal.developpez.com/cours/cyberzoide/chap6.php3
https://pascal.developpez.com/cours/cyberzoide/chap6.php3
Voici pour les "losanges" même si ça n'en est pas vraiment...
program losange; procedure f(n:integer); var i:integer; begin for i:=1 to n do write(' '); write('*'); end; procedure g(n,nmax:integer); begin f(nmax-n); f(2*n); writeln; end; procedure h(n,nmax:integer); begin if (n<nmax) then begin g(n,nmax); h(n+1,nmax); g(n,nmax); end else g(n,nmax); end; var n:integer; BEGIN for n:=0 to 5 do begin writeln('n=',n); h(0,n); writeln; end; END.
bonsoir voila ce que tu veux
ligne:integer;
a, b: integer;
begin
writeln('nbre ligne un nombre impaire'); read(ligne);
for a:=1 to (ligne div 2 )+1 do
begin
for b:=1 to a do
write('*');
writeln;
end;
for k:=ligne div2 +2 to ligne do
begin
for i:=ligne div 2 downto 1 do
write('*');
writeln;
end ;
end.
ligne:integer;
a, b: integer;
begin
writeln('nbre ligne un nombre impaire'); read(ligne);
for a:=1 to (ligne div 2 )+1 do
begin
for b:=1 to a do
write('*');
writeln;
end;
for k:=ligne div2 +2 to ligne do
begin
for i:=ligne div 2 downto 1 do
write('*');
writeln;
end ;
end.
Néanmoins pour n=2, ceci marchera :
uses wincrt ;
var ch: string ;
procedure affichage (ch1,ch2: string ) ;
begin
if ch1 <> '' then
begin
writeln (ch1,ch2) ;
affichage (copy ( ch1,1,length (ch1) -1 ) , copy (ch2,2,length (ch2) -1)) ;
writeln (ch1,ch2) ;
end ;
end ;
begin
writeln ('saisir ch : '); readln (ch ) ;
writeln ;
affichage (ch,ch) ;
end .