منتديات الجلفة لكل الجزائريين و العرب - عرض مشاركة واحدة - موضوع مميز ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
عرض مشاركة واحدة
قديم 2012-11-03, 19:31   رقم المشاركة : 4
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

التمرين الثاني

امكانية استعمال MOD et DIV

كود:
PROGRAM SOMME;
uses wincrt;
var n:integer;
function s(n:integer):integer;
begin
if n<10 then
 s:=n 
else 
s:=N MOD 10+s(n div 10);
end;
begin
repeat
readln(n);
until n>=0;
writeln(s(n));
end.
Une solution itérative

كود:
Programme somme ;
Uses wincrt ;
Var
N,s :integer ;
Begin
Readln(n) ;
Repeat 
S :=s+s mod 10 ;
N := n div 10 ;
Until n=0 ;
Writeln(s) ;
باستعمال chaine

كود:
Program somme ;
Uses wincrt ;
Var
N,s,i,d,e :integer ;
ch:string;
Begin
Readln(n) ;
str(n,ch);
for i:=1 to length(ch) do
begin
val(ch[i],d,e);
s:=s+d;
end;
writeln(s);
end.
Une solution récursive
كود:
Program somme ;
Uses wincrt ;
Var
N:integer ;
ch:string;
function som(s:string):integer;
var
   d,e:integer;
begin
if length(s)=1 then
begin
   val(s,d,e);
   som:=d;
end
   else
   begin
       val(s[1],d,e);
       som:=d+som(copy(s,2,length(s)-1));
   end;
end;


Begin
Readln(n) ;
str(n,ch);
writeln(som(ch));
end.









رد مع اقتباس