Programme en pascal??????
Fermé
liza22
-
29 déc. 2008 à 17:57
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 3 janv. 2009 à 01:39
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 3 janv. 2009 à 01:39
A voir également:
- Programme en pascal??????
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Turbo pascal download - Télécharger - Édition & Programmation
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- My pascal - Télécharger - Édition & Programmation
18 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
1 janv. 2009 à 17:30
1 janv. 2009 à 17:30
program SansTitre; // uses KX;
const a=5; b=5;
type colonne=array[1..a] of real;
matrice=array[1..b] of colonne;
procedure RemplirColonne(var c:colonne);
var i,partiel,total:integer;
begin
total:=100;
for i:=1 to (a-1) do
begin
partiel:=random(total);
total:=total-partiel;
c[i]:=real(partiel)/100;
end;
c[a]:=real(total)/100;
end;
procedure RemplirMatrice(var m:matrice);
var j:integer;
begin
for j:=1 to b do
RemplirColonne(m[j]);
end;
procedure AfficherMatrice(m:matrice);
var i,j:integer;
begin
for j:=1 to b do
begin
for i:=1 to a do
write(m[i,j]:5:2);
writeln;
end;
end;
var m:matrice;
begin
randomize;
RemplirMatrice(m);
AfficherMatrice(m);
writeln; write('Fin du programme. Appuyer sur Entree'); readln;
end.
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
2 janv. 2009 à 23:44
2 janv. 2009 à 23:44
program SansTitre; // uses KX;
const a=5; b=5;
type colonne=array[1..a] of real;
matrice=array[1..b] of colonne;
procedure RemplirColonne(var c:colonne);
var i,partiel,total:integer;
begin
total:=100;
for i:=1 to (a-1) do
begin
partiel:=random(total);
total:=total-partiel;
c[i]:=real(partiel)/100;
end;
c[a]:=real(total)/100;
end;
procedure RemplirMatrice(var m:matrice);
var j:integer;
begin
for j:=1 to b do
RemplirColonne(m[j]);
end;
procedure AfficherMatrice(m:matrice);
var i,j:integer;
begin
for j:=1 to b do
begin
for i:=1 to a do
write(m[i,j]:5:2);
writeln;
end;
end;
function Moyenne(c:colonne):real;
var i:integer;
begin
result:=0;
for i:=1 to a do
result:=result+c[i];
result:=result/a;
end;
function SommeCarre(c:colonne):real;
var i:integer;
begin
result:=0;
for i:=1 to a do
result:=result+sqr(c[i]);
end;
function EcartType(c:colonne):real;
begin
result:=sqrt(SommeCarre(c)-sqr(Moyenne(c)))/a
end;
var m:matrice; i:integer;
begin
randomize;
RemplirMatrice(m);
AfficherMatrice(m);
for i:=1 to b do
begin
writeln;
writeln('Colonne ',i);
writeln('Moyenne : ',Moyenne(m[i]):0:4);
writeln('Ecart-T : ',EcartType(m[i]):0:4);
end;
writeln; write('Fin du programme. Appuyer sur Entree'); readln;
end.
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 00:29
3 janv. 2009 à 00:29
Je suis désolé mais moi j'obtiens une moyenne de 0.20 (normal puisque la somme est de 1)
Et un écart type compris entre 0.13 et 0.19...
Ton problème ne vient pas du code... Qu'utilises-tu comme compilateur ?
Et un écart type compris entre 0.13 et 0.19...
Ton problème ne vient pas du code... Qu'utilises-tu comme compilateur ?
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 01:07
3 janv. 2009 à 01:07
Voilà pour Dev-Pascal : http://www.bloodshed.net/dev/devpas192.exe
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
2 janv. 2009 à 17:55
2 janv. 2009 à 17:55
Le code est bon, j'arrive à le faire marcher sans problème et j'obtiens ce genre de résultat :
0.08 0.43 0.06 0.48 0.31 0.68 0.53 0.52 0.14 0.05 0.18 0.02 0.21 0.00 0.24 0.05 0.00 0.15 0.35 0.28 0.01 0.02 0.06 0.03 0.09Qu'est ce que tu utilises comme compilateur ?
le programme ne marche pas (des erreurs),et je n'arrive pas a resouler,l'erreur c'est :
Invalid type cast................
Invalid type cast................
merci merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii , c'est le programme s'a marche, j'ai enlever le mot real l'à :
*******
c[i]:=real(partiel)/100;
end;
c[a]:=real(total)/100;
end;
*************
*******
c[i]:=real(partiel)/100;
end;
c[a]:=real(total)/100;
end;
*************
maintenant la 2 eme partie :
comment fait aussi afficher Xbar et l'ecart type de chaque colonne ,(les resultat toujour deux nombre apres la virgules) , bien sur apres afficher la matrice il affiche Xbar et l'ecart type de chaque colonne......????
comment fait aussi afficher Xbar et l'ecart type de chaque colonne ,(les resultat toujour deux nombre apres la virgules) , bien sur apres afficher la matrice il affiche Xbar et l'ecart type de chaque colonne......????
xbar=1/5 ∑x i.
l'ecart type=racine de 1/5 ∑(xi-xbar)puissance de 2.
l'ecart type=racine de 1/5 ∑(xi-xbar)puissance de 2.
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
2 janv. 2009 à 19:49
2 janv. 2009 à 19:49
Petite remarque : écart type=racine_carré( somme_des_carrés - carré_de_la_moyenne)/n
function Moyenne(c:colonne):real;
var i:integer;
begin
result:=0;
for i:=1 to a do
result:=result+c[i];
result:=result/a;
end;
function SommeCarre(c:colonne):real;
var i:integer;
begin
result:=0;
for i:=1 to a do
result:=result+sqr(c[i]);
end;
function EcartType(c:colonne):real;
begin
result:=sqrt(SommeCarre(c)-sqr(Moyenne(c)))/a
end;
il faut toujour deux nombre apres la virgules dans les resultats...........
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 00:10
3 janv. 2009 à 00:10
Pour le faire marcher, il faut enlever les real comme tu l'as déjà fait...
Pour les 2 chiffres après la virgule remplace les :0:4 par :0:2 et c'est tout...
Pour les 2 chiffres après la virgule remplace les :0:4 par :0:2 et c'est tout...
oui j'ai fait comme tu ma dait mais les resultats de moyenne et l'ecart type qui sont apparu sont faut pourquoi........mon dieu j'arrive a etre fou.......
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 00:21
3 janv. 2009 à 00:21
Probablement parce que la formule que j'ai implémenté n'est pas la même que celle que tu donnais...
Essaye de refaire tes calculs manuellement mais avec ma formule (qui est la bonne)
Essaye de refaire tes calculs manuellement mais avec ma formule (qui est la bonne)
je ne sais pas comment savoir le compilateur mais je utilise le turbo pascal...
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 00:54
3 janv. 2009 à 00:54
Turbo Pascal c'est ça ton compilateur...
Moi j'utilise Dev-Pascal... Et je ne sais pas quelles sont les différences entre les deux !
Mais normalement il ne devrait pas y avoir de telles absurdités...
J'ai trouvé une petite erreur même si ça ne devrait pas changer grand chose...
Moi j'utilise Dev-Pascal... Et je ne sais pas quelles sont les différences entre les deux !
Mais normalement il ne devrait pas y avoir de telles absurdités...
J'ai trouvé une petite erreur même si ça ne devrait pas changer grand chose...
procedure AfficherMatrice(m:matrice);
var i,j:integer;
begin
for j:=1 to b do
begin
for i:=1 to a do
write(m[j][i]:5:2);
writeln;
end;
end;Si ce n'est toujours pas ça il faudrait que tu essayes avec autre chose que Turbo Pascal...
waw c'est tres bien il marche bien ,merci beaucoup........ ,mais j_ai un question comment tu as arrivee a savoir tous ca et savoir maitriser le pascal..................merci...................merci........
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
3 janv. 2009 à 01:39
3 janv. 2009 à 01:39
Je suis en licence d'informatique...
Le Pascal est le premier langage que l'on apprend, alors forcément c'est celui que je connais le mieux !
Pour le reste on suit des cours d'algorithmique, ton exercice ne m'a donc pas trop posé problème...
Bonne continuation.
Le Pascal est le premier langage que l'on apprend, alors forcément c'est celui que je connais le mieux !
Pour le reste on suit des cours d'algorithmique, ton exercice ne m'a donc pas trop posé problème...
Bonne continuation.