Ecriture de procédure et fontion en pascal
Fermé
bild
Messages postés
52
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
12 janvier 2017
-
26 juil. 2008 à 18:35
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 27 juil. 2008 à 20:02
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 27 juil. 2008 à 20:02
A voir également:
- Ecriture de procédure et fontion en pascal
- Écriture facebook - Guide
- Ecriture instagram - Guide
- Turbo pascal download - Télécharger - Édition & Programmation
- Ecriture disney - Forum Internet / Réseaux sociaux
- Ecriture snap ✓ - Forum Messagerie
3 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
26 juil. 2008 à 20:27
26 juil. 2008 à 20:27
Le code peut être amélioré, (j'essaierai de le faire à la suite) mais pour te compléter voici :
La confiance n'exclut pas le contrôle
const Nmax=31; // 2^31 limite du type integer !
type Binaire=array[1..Nmax] of byte;
procedure DecToBin(Dec:integer;var Bin:Binaire);
var i,Q,R:integer;
s:string;
begin
s:='';
for i:=1 to Nmax do Bin[i]:=0;
repeat
Q:=Dec div 2 ;
R:=Dec mod 2;
if R=0 then s:=s+'0'
else s:=s+'1';
Dec:=Q;
until Q=0;
for i:=1 to length(s) do
if s[i]='1' then Bin[Nmax-i+1]:=1;
end;
var Bin:Binaire;
i:integer;
begin
DecToBin(13,Bin);
for i:=1 to Nmax do write(Bin[i]);
writeln; write('Fin du programme. Appuyer sur Entree'); readln;
end.--
La confiance n'exclut pas le contrôle
bild
Messages postés
52
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
12 janvier 2017
27 juil. 2008 à 17:27
27 juil. 2008 à 17:27
merci la procedure decompbin
pour les fontion decalage j'ai cherche ceux -ci
a gauche
fonction decalageg(var nbbin: nbrebinaire):integer;
const N=10;
var nbbin:nbrebinaire
i:integer;
BEGIN
i:=N;
nbin[pos N]:=nbin[pos N-1];
nbin[pos 1]:=0;i;=i+1];
end;
end;
A DROITE
fonction decalD(var nbbin:nbrebinaire):integer;
N=10;
var
nbbin:nbrebinaire;
i:integer;
BEGIN
i:=1;
nbbin[pos 2]:=nbbin[pos 3];
nbbin[pos N ]:=0;
end;
end;
pour les fontion decalage j'ai cherche ceux -ci
a gauche
fonction decalageg(var nbbin: nbrebinaire):integer;
const N=10;
var nbbin:nbrebinaire
i:integer;
BEGIN
i:=N;
nbin[pos N]:=nbin[pos N-1];
nbin[pos 1]:=0;i;=i+1];
end;
end;
A DROITE
fonction decalD(var nbbin:nbrebinaire):integer;
N=10;
var
nbbin:nbrebinaire;
i:integer;
BEGIN
i:=1;
nbbin[pos 2]:=nbbin[pos 3];
nbbin[pos N ]:=0;
end;
end;
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
27 juil. 2008 à 20:02
27 juil. 2008 à 20:02
Je ne suis pas sûr d'avoir compris quel était le but des fonctions de décalage...
S'agissait-il des opérations de multiplication et division par 2 ?
S'agissait-il des opérations de multiplication et division par 2 ?
const Nmax=31; // 2^31 limite du type integer !
type Binaire=array[1..Nmax] of byte;
function DecaleGauche(var Bin:Binaire):byte;
var i:integer;
begin
result:=Bin[1];
for i:=1 to Nmax-1 do
Bin[i]:=Bin[i+1];
Bin[Nmax]:=0;
end;
function DecaleDroite(var Bin:Binaire):byte;
var i:integer;
begin
result:=Bin[Nmax];
for i:=Nmax downto 2 do
Bin[i]:=Bin[i-1];
Bin[1]:=0;
end;
26 juil. 2008 à 20:40
const Nmax=31; // 2^31 limite du type integer ! type Binaire=array[1..Nmax] of byte; procedure DecToBin(Dec:integer;var Bin:Binaire); var i:integer; begin for i:=Nmax downto 1 do begin Bin[i]:=Dec mod 2; Dec:=Dec div 2; end; end;--La confiance n'exclut pas le contrôle