Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac20;
- Uses Wincrt;
- Var
- f,f13,f7: Text;
- nb: Integer;
- Procedure creation (Var f,f13,f7:Text);
- Begin
- Assign (f,'C:\bac\prog\Exercices\Bac20\nombre.txt');
- Assign (f13,'C:\bac\prog\Exercices\Bac20\div13.txt');
- Assign (f7,'C:\bac\prog\Exercices\Bac20\div7.txt');
- End;
- Procedure remplir (Var f:Text;Var nb:Integer);
- Var
- ch,i: Integer;
- Begin
- Rewrite (f);
- Repeat
- Write ('Saisir le nombre d''entiers à saisir: ');
- Readln (nb);
- Until nb>=5;
- For i:=1 To nb Do
- Begin
- Writeln ('Saisir l''entier ',i,': ');
- Readln (ch);
- Writeln (f,ch);
- End;
- Close (f);
- End;
- Function divis7 (n:String): Boolean;
- Var
- s,sg,v,e: Integer;
- Begin
- s := 0;
- sg := -1;
- While Length(n)>=3 Do
- Begin
- Val(Copy(n,Length(n)-2,3),v,e);
- s := s+v*sg;
- sg := -sg;
- Delete (n,Length(n)-2,3);
- End;
- Val (n,v,e);
- s := s+v*sg;
- divis7 := Abs(s) Mod 7=0;
- End;
- Function divis13 (n:String): Boolean;
- Var
- s,sg,v,e: Integer;
- Begin
- s := 0;
- sg := -1;
- While Length(n)>=3 Do
- Begin
- Val(Copy(n,Length(n)-2,3),v,e);
- s := s+v*sg;
- sg := -sg;
- Delete (n,Length(n)-2,3);
- End;
- Val (n,v,e);
- s := s+v*sg;
- divis13 := Abs(s) Mod 13=0;
- End;
- Procedure division (Var f,f13,f7:Text;nb:Integer);
- Var
- ch: String;
- Begin
- Reset (f);
- Rewrite (f13);
- Rewrite (f7);
- While Not (Eof(f)) Do
- Begin
- Readln (f,ch);
- If divis13(ch) Then
- Writeln (f13,ch);
- If divis7(ch) Then
- Writeln (f7,ch);
- End;
- Close (f);
- Close (f13);
- Close (f7);
- End;
- Begin
- creation (f,f13,f7);
- remplir (f,nb);
- division (f,f13,f7,nb);
- End.
Add Comment
Please, Sign In to add comment