-
سلام
بهنام جان این حلقه ها برنامه رو کوچکتر و خوندنش رو راحت تر می کنند ، شما اگر به الگوی من نگاه کنید و با یکمی تلاش می تونید از دستور if,else به جای حلقه ها استفاده کنید که یه کم برنامه بزرگتر میشه و امکان خطا بیشتر ...
اون بخشپذیری بر 3 که من از حلقه استفاده نکردم ؟
فقط گفتم عدد رو بگیر
اگر باقیمانده تقسیمش بر 3 شد صفر
بنویس ok
وگرنه بنویس nokey
فقط از اعمال پهار گانه استفاده شده ...
این برنامه هم برای بخشپذیری بر 3 از روش جمع مجموع ارقام و بدون استفاده از حلقه ها که یه کم لقمه رو دور سرمون در حقیقت چرخوندیم ( اون تیکه آخرش رو که با قرمز مشخص کردم خودم برای زیبایی برنامه اضافه کردم که خودت میتونی حذفش کنی ...)
کد:
program divisiblethree;
uses wincrt;
var
num,r,s:longint;
label
1;
begin
write('Please enter a number:');
readln(num);
1:if num>0 then
begin
r:=num mod 10;
s:=s+r;
num:=num div 10;
goto 1;
end;
if (s mod 3)=0 then
write('sum of numbers is ',s,' and this number is divisible')
else
write('sum of numbers is ',s,' and this number is not divisible');
end.
-
خوب تمام جوابهايي كه دوست خوبم K R I M I داد قبول اما ... اما .... اصلاً به تمان رسوندن 2 عددو درك مي كني ؟ اقا اگه b عدد طبيعي باشه a^bا يعني a رو b بار در خودش ضرب كن اگه b عدد گيا مثل m/n باشه به صورت ريشه nام a^m تعريف مي كنيم، بماند حالا ريشه Nام يعني چي امما شما چي تعريفي واسه توان غير گوياي يه عد حقيقي داري؟ واقعاً مي توني بدون احضار هيچ تايع از پيش تعريف شدهايي تو يه زبان برنامه نويسي صرفاً با 4 عمل اصلي ريشه غير گوياي يه عدد حقيقي رو حساب كني ؟ من كه خيلي مشطاقم نظرتو در اين باره بدونم.
-
من که با یه مثال کنترل کردم درست دراومد حالا تو مشکالت کجاست