|
Posté par barbu23
et le language concerné, c'est : Pascal.
|


|
Posté par barbu23
Bonjour:
Pouvez vous me dire pourquoi le programme suivant ne marche pas ?! Le voiçi ce programme: ![]() program colorier; uses wincrt; type couleur=(bleu,vert,jaune,rouge,gris); var coul1,coul2:couleur; begin coul1:=bleu; |
!!
...| Tu as définit un nouveau type couleur que l'on ne peut pas écrire puisqu'après tout tu sais pas ce que ça vaut toi même ! |
|
program colorier; uses wincrt; type couleur=(bleur,vert,jaune,rouge,gris); procedure affich_coul(col : couleur); begin case col of bleu : writeln('bleu'); vert : writelnt('vert'); jaune : writeln('jaune'); rouge : writeln('rouge'); gris: writeln('gris'); end; var coul1,coul2: couleur; begin coul1 :=bleu; coul2 := succ(coul1); coul1 := pred(coul2); procedure affich_coul; end. |
|
Posté par Pascal
PROGRAM Colors;
USES crt; TYPE couleur=(bleu,vert,jaune,rouge,gris); VAR Coul1, Coul2 : couleur; PROCEDURE Affiche_Couleur ( Col : Couleur ) ; BEGIN ...CASE Col OF ......bleu : Writeln('Bleu'); ......vert : Writeln('Vert'); ......jaune : Writeln('Jaune'); ......rouge : Writeln('Rouge); ......gris : Writeln('Gris'); ...END; END; BEGIN ...Coul1 = bleu; ...Coul2 = Succ(Coul1); ...Affiche_Couleur(Coul1); ...Affiche_Couleur(Coul1); END. |
Joker !
|
Posté par Joker62
Bé c'est simple, cannot read or write variable of this types
On ne peut pas écrire une variable de ce type |


|
Posté par Joker62
T'as vu ça un peu !
Desfois j'me dis quand même : David, t'es un mac ! |
|
type matrice = array[1..n,1..n] of real; procedure somme(m1,m2:matrice; var m3:matrice); var i,j:integer; begin for i:=1 to n do for j:=1 to n do m3[i,j]:=m1[i,j]+m2[i,j]; end; |

.
for i:=1 to n do for j:=1 to n do for k:=1 to n do m3[i,j] = m1[i,k] * m2[k,j]
|
, on fixe ensuite
, et on calcule
en parcourant
de
à
( for
to
do ) ..
, et on fixe ensuite
, et on calcule
en parcourant
de
à
( for
to
do ) ...
, on fixe ensuite
, et on calcule
en parcourant
de
à
( for
to
do ) ..
et on calcule
en parcourant
de
à
..
... on la calcule en parcourant
de
à
( for
to
do ).
for i:=1 to n do for j:=1 to n do for k:=1 to n do m3[i,j]:=0 m3[i,j]:= m3[i,j] + m1[i,k]*m2[k,j]
|
|
type matrice = array[1..n,1..n] of real; procedure prod_matrice(m1,m2:matrice;var m3:matrice); var i,j,k:integer; begin for i:=1 to n do for j:=1 to n do for k:=1 to n do begin m3[i,j] := 0; m3[i,j] := m3[i,j] + m1[i,k] * m2[k,j]; end;end; |
|
Posté par Dominique Lefebvre
Ouahh j'adore le "à l'intérieur de l'ordinateur" c'est cool! Moi qui croyais bêtement qu'à l'intérieur d'un ordinateur, il y avait des bouts de cuivre d'or et de silicium et des électrons qui bougent
|
|
Posté par barbu23
Voiçi comment celà foctionne "Flodelarab" , à l'interieur de l'ordinateur:
|
|
Posté par Joker
2 instructions dans ta dernière boucle
Nécessite donc un bloc Begin End; |
ça sert a rien.
, .
, il faut une autre boucle k qui va de 1 à n.
for i:=1 to n do for j:=1 to n do m3[i,j]:=0; for k:=1 to n do m3[i,j]:=m3[i,j] + m3[i,k]*m3[k,j];
|
| "Flodelarabe", tu n'as rien compris de ce que j't'ai expliqué plus haut |
|
Posté par Flodelarab
Et oui Dominique ! C'est une vue de l'esprit les petits electrons qui bougent dans l'ordinateur.
L'onde électrique va beaucoup plus vite. Heureusement d'ailleurs. Car les electrons, à raison de 10m/s, dans les fils mettrait trop de temps pour que le compte soit bon. |
|
Posté par Flodelarab
Oui les begin/end sont mal placés.
Mais c'est pas grave. Par contre, bonne idée pour la taille. Enfin, pour le calcul proprement dit, tu n'as pas l'impression de faire pareil avec 1 instruction et 1 variable de plus ? A quoi sert la variable "sum" ? |
Si tu veux mettre du code: Si tu veux retrouver ton indentation: Alors il faut mettre une balise CODE
|
Posté par Flodelarab
Tu as carrément viré l'initialisation ?
Alors du coup, le begin/end ne sert a rien. J'aurais aimé que vous vous intéressassiez à une solution en 2 boucles. Car si n=m=l=1000000000, je ne veux pas être là pour attendre la fin de la multiplication. Code:
|
|
Posté par Flodelarab
J'ai bien fait d'insister. Car pour le coup, je disais une grosse bêtise.
En essayant d'écrire la boucle, je me suis rendu compte que j'avais démonté une boucle, mais que je faisais bien 3 parcours comme tout le monde. |
|
Posté par Joker62
Je ne connais pas ces termes mais j'imagine quand même
STRUCT Finie { a : integer; c : caracter; } STRUCT Infinie { a : interger p : ^infinie; // pointeur vers une structure infinie } Enfin j'ai perdu mes notions de Pascal mais t'as compris C'est une espèce de liste chainée quoi |
-