الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خوارزمية أود التأكد من صحة حلها

بدأه الإبداع غايتي في 4 ديسمبر 2010 · 9 رد · 1,155 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

أهلا وسهلا بالفريق العربي للبرمجة

في الحقيقة لدي خوارزميتين قمت بحلهم وأود التأكد هل تفكيري وطريقة حلي صحيحة أم لا.. منكم وجزاكم الله خير

الخوارزمية الأولى

اكتب خوارزمية لقراء 1000 علامة واطبع مجموعهم باستخدام for loop بإستخدام 3 متغيرات

محاولتي

var

int s

real sum,g

start

sum=0 (اعتبرتها قيمة أولية)

for(s=1 to 1000 s= s+1

}

read(g

sum=g+g(باعتبار أن الدرجة القديمة حلت محل الصفر يجمعها مع الدرجة الجديدة)

{

print (sum

end

الخوارزمية الثانية

ماناتج البرنامج التالي؟

var

int i,x

start

x=5

for(i=3 to 11 i=i+1

}

print x

print i

x= x+5

{

print x

end

لم أستطع إيجاد محاولة مقنعة لهذا البرنامج

أنتظر مساعدتكم

وجزاكم الله خيرا

1
#2

ما رأيك بتصغير الخط واستخدام وضع الكود ؟؟؟؟

int s
real sum,g
start
sum=0 (اعتبرتها قيمة أولية)
for(s=1 to 1000  s= s+1
}
read(g
sum=g+g(باعتبار أن الدرجة القديمة حلت محل الصفر يجمعها مع الدرجة الجديدة)
{
print (sum
end

التصحيح داخل اللووب ضعى

sum +=g;

الخوارزمية الثانية

var
int i,x
start
x=5
for(i=3 to 11  i=i+1)
{
print x
print i
x= x+5
}
print x
end

الناتج :

5 و3

10و4

|

|

x و10

فى النهايه x=40 !!!

بالتوفيق

تم تعديل هذه المشاركة بواسطة The expendable في 5 ديسمبر 2010 في 08:36

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#3

شکرا لأخی The expandable

اقتباس
السلام عليكم ورحمة الله وبركاته

و علیکم السلام و رحمة الله و برکاته

var
int s
real sum,g
start
sum=0 (اعتبرتها قيمة أولية)
for(s=1 to 1000 s= s+1)
{
read(g)
sum=sum+g(باعتبار أن الدرجة القديمة حلت محل الصفر يجمعها مع الدرجة الجديدة)
}
print (sum)
end

اقتباس
فى النهايه x=11

و بالنسبة لالخوارزمیة الثانیة ، فی النهایة x لیس 11 و هو 40 (علی حسب ما فهمت من الکود)

بالتوفیق

تم تعديل هذه المشاركة بواسطة u77431 في 5 ديسمبر 2010 في 02:41

#4

بالظبط اخى لم اقصد ذلك ... خطأ مطبعى blink.gif

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#5
اقتباس
التصحيح داخل اللووب ضعى

expand | plain text

sum +=g;

أخي أفهم من هذا التصحيح أنو بنفس التكرار أكتب sum=g + g

وإلا

أما بالنسبة للخوارزمية الثانية الشرح واااضح

وشكرا لك على هذا الشرح الوااافي وجزاك الله خيراا

اقتباس
شکرا لأخی The expandable

إقتباس

السلام عليكم ورحمة الله وبركاته

و علیکم السلام و رحمة الله و برکاته

expand | plain text

var

int s

real sum,g

start

sum=0 (اعتبرتها قيمة أولية)

for(s=1 to 1000 s= s+1)

{

read(g)

sum=sum+g(باعتبار أن الدرجة القديمة حلت محل الصفر يجمعها مع الدرجة الجديدة)

}

print (sum)

end

إقتباس

فى النهايه x=11

و بالنسبة لالخوارزمیة الثانیة ، فی النهایة x لیس 11 و هو 40 (علی حسب ما فهمت من الکود)

شكرا لكم وجزاكم الله خيراااا

بالضبط النهاية 11

اقتباس
بالظبط اخى لم اقصد ذلك ... خطأ مطبعى

لابأس كل ابن آدم خطأ

#6
اقتباس
بالضبط النهاية 11

فی النهایة i=11 و x=40 . :)

وفقک الله

تم تعديل هذه المشاركة بواسطة c77431 في 5 ديسمبر 2010 في 20:24

#7
اقتباس
فی النهایة i=11 و x=40 .

وفقک الله

النهاية x=11

#8

السلام علیک یا أخی...

الله أعلم.

هذه هی النتیجة فی جهازی

علی أی حال لیست النتیجة مهمة.

بارک الله فیک.

post-232933-048124100 1291576646_thumb.p

المرفقات
Untitled.png

تم تعديل هذه المشاركة بواسطة c77431 في 5 ديسمبر 2010 في 22:17

#9
اقتباس
السلام علیک یا أخی...

الله أعلم.

هذه هی النتیجة فی جهازی

علی أی حال لیست النتیجة مهمة.

بارک الله فیک.

ارفق صورة

صحيح أخ cc77431

كلامك صحيح وأنا جربت بنفسي ضبط صارت النتجة نفس نتيجتك تماما ونفس نتيجة الأخ The expendable

i= 11 و x= 45

والأن أنا لابأس علي فلم انتبه لخطأي ...

وجزاكم الله خيرااا..

#10

كيف تظهر قمية i متتالية و مقدار القفز i=i+2

من المفروض أن تكون قيم i

3 - 5 - 7 - 9 - 11

؟؟؟؟؟

مواضيع مشابهة