Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {https://cdn.discordapp.com/attachments/440593885740269568/831246181837307955/image0.jpg}
- Program revision2;
- Uses Wincrt;
- Var
- f: Text;
- Function premier (ch:String): Boolean;
- Var
- r,n,e,i: Integer;
- Begin
- Val (ch,n,e);
- r := 0;
- For i:=1 To n Do
- If n Mod i=0 Then
- r := r+1;
- premier := r=2;
- End;
- Function convert_2(ch:String): String;
- Var
- c: String;
- n,e: Integer;
- Begin
- Val (ch,n,e);
- ch := '';
- Repeat
- Str (n Mod 2,c);
- ch := c+ch;
- n := n Div 2;
- Until (n=0);
- convert_2 := ch;
- End;
- Function convert16 (ch:String): String;
- Var
- c: String;
- n,e: Integer;
- Begin
- Val (ch,n,e);
- writeln (ch);
- ch:='';
- Repeat
- If (n Mod 16)>=10 Then
- Begin
- ch := Chr(55+n Mod 16)+ch;
- n := n Div 16;
- End
- Else
- Begin
- Str (n Mod 16,c);
- ch := c+ch;
- n := n Div 16;
- End;
- Until n=0;
- convert16 := ch;
- End;
- Function comptage0 (ch:String): Integer;
- Var
- r,i: Integer;
- Begin
- r := 0;
- For i:=1 To Length(ch) Do
- If ch[i]='0' Then
- r := r+1;
- comptage0 := r;
- End;
- Function valide (ch:String): Boolean;
- Var
- ch1,ch2,ch3: String;
- Begin
- ch1 := Copy (ch,1,3);
- ch2 := Copy (ch,4,5);
- ch3 := Copy (ch,9,5);
- If (premier (ch1)) And (comptage0(convert_2(ch2))>8) And ((Pos('E',convert16(ch3))<>0) Or (Pos('F'
- ,
- convert16(ch3))<>0) Or (Pos('D',convert16(ch3))<>0)) Then
- valide := True
- Else
- valide := False;
- End;
- Procedure traitement (Var f:Text);
- Var
- ch: String;
- Begin
- Reset (f);
- While Not (Eof (f)) Do
- Begin
- Readln (f,ch);
- If valide (ch) Then
- Writeln (ch,': code valide')
- Else
- Writeln (ch,': code déjà utilisé');
- End;
- Close (f);
- End;
- Begin
- Assign (f,'c:\bac\code.txt');
- traitement (f);
- End.
Add Comment
Please, Sign In to add comment