الگوریتم نویسی

roqyeh

New Member
سلام دوستان
میشه راهنماییم کنید؟
الگوریتمی بنویسید که ده عدد را بخواند و مجموع اعدادی که رقم یکان ان ها سه یا چهار است را محاسبه و نمایش دهد.
ممنووووونم
 

the_king

مدیرکل انجمن
سلام دوستان
میشه راهنماییم کنید؟
الگوریتمی بنویسید که ده عدد را بخواند و مجموع اعدادی که رقم یکان ان ها سه یا چهار است را محاسبه و نمایش دهد.
ممنووووونم
1- در متغیر n و sum مقدار 0 قرار بده.
2- یک عدد از ورودی دریافت کن و در متغیر x قرار بده.
3- باقیمانده تقسیم x بر 10 را در متغیر m قرار بده.
4- اگر m برابر 3 یا برابر 4 بود مقدار x را به مقدار داخل sum اضافه کن.
5- مقدار n را یک واحد افزایش بده.
6- اگر مقدار n از 10 کوچکتر بود به مرحله 2 برو.
7- مقدار متغیر sum را نمایش بده.
 

roqyeh

New Member
1- در متغیر n و sum مقدار 0 قرار بده.
2- یک عدد از ورودی دریافت کن و در متغیر x قرار بده.
3- باقیمانده تقسیم x بر 10 را در متغیر m قرار بده.
4- اگر m برابر 3 یا برابر 4 بود مقدار x را به مقدار داخل sum اضافه کن.
5- مقدار n را یک واحد افزایش بده.
6- اگر مقدار n از 10 کوچکتر بود به مرحله 2 برو.
7- مقدار متغیر sum را نمایش بده.
اخه باید از a mod 10 استفاده بکنیم
الان این درست نمیشه ؟
1ده عدد را بخواند
2-اگر 3=(a mod 10) انگاه a+sum
درغیر این صورت اگر4 =(a mod 10) انگاه a+sum

این نمیشه؟
 

roqyeh

New Member
ی سوال دیگه هم دارم
برای یکان از a mod 10 استفاده میشه
برای دهگان چی استفاده میشه؟
 

the_king

مدیرکل انجمن
ی سوال دیگه هم دارم
برای یکان از a mod 10 استفاده میشه
برای دهگان چی استفاده میشه؟
اول a رو بر 10 تقسیم صحیح (بدون اعشار) می کنید تا رقم یکان حذف بشه و بعد برای حاصل از MOD 10 استفاده می کنید، یعنی a / 10) MOD 10) یا INT(a / 10) MOD 10 یا FLOOR(a / 10) MOD 10 و موارد مشابه. مهم اینه که اون a / 10 بدون اعشار و فقط قسمت صحیح بدون اعشارش ئه و گرد شدنی هم در کار نیست. FLOOR و INT رو به همین معنی بکار می برند.

اخه باید از a mod 10 استفاده بکنیم
الان این درست نمیشه ؟
1ده عدد را بخواند
2-اگر 3=(a mod 10) انگاه a+sum
درغیر این صورت اگر4 =(a mod 10) انگاه a+sum

این نمیشه؟
نه نمیشه، ده عدد را خواندید ولی روال بعدی تون فقط یک مرحله روی a ای است که معلوم نیست از کجا میاد. a فوقش می تونست یکی از اون 10 عدد باشه، روالی نیست که برای 10 عدد تکرار بشه.
MOD همون باقیمانده تقسیم ئه. MOD اسم عملگر یا تابعی ئه که باقیمانده تقسیم رو حساب می کنه.
ده عدد را بخواند یک روال کلی ئه، مثل صورت سوال میشه که. اگه در یک سطر بشه نوشت که دیگه الگوریتم نیست. محاسبات رو باید روی تک تک اعداد انجام بدید،.a که همینطوری ظاهر نمیشه.
آنگاه a + sum چی؟ a + sum کجا ثبت بشه؟ باید بگید که آنگاه a + sum در sum قرار بگیره.
 

roqyeh

New Member
اول a رو بر 10 تقسیم صحیح (بدون اعشار) می کنید تا رقم یکان حذف بشه و بعد برای حاصل از MOD 10 استفاده می کنید، یعنی a / 10) MOD 10) یا INT(a / 10) MOD 10 یا FLOOR(a / 10) MOD 10 و موارد مشابه. مهم اینه که اون a / 10 بدون اعشار و فقط قسمت صحیح بدون اعشارش ئه و گرد شدنی هم در کار نیست. FLOOR و INT رو به همین معنی بکار می برند.


نه نمیشه، ده عدد را خواندید ولی روال بعدی تون فقط یک مرحله روی a ای است که معلوم نیست از کجا میاد. a فوقش می تونست یکی از اون 10 عدد باشه، روالی نیست که برای 10 عدد تکرار بشه.
MOD همون باقیمانده تقسیم ئه. MOD اسم عملگر یا تابعی ئه که باقیمانده تقسیم رو حساب می کنه.
ده عدد را بخواند یک روال کلی ئه، مثل صورت سوال میشه که. اگه در یک سطر بشه نوشت که دیگه الگوریتم نیست. محاسبات رو باید روی تک تک اعداد انجام بدید،.a که همینطوری ظاهر نمیشه.
آنگاه a + sum چی؟ a + sum کجا ثبت بشه؟ باید بگید که آنگاه a + sum در sum قرار بگیره.
 

roqyeh

New Member
الان این فایل رو ببینید اشتباهه؟
 

پیوست ها

  • image.jpg
    image.jpg
    965.6 کیلوبایت · بازدیدها: 2

the_king

مدیرکل انجمن
الان این فایل رو ببینید اشتباهه؟
درسته، فقط الگوریتم خیلی بدی ئه. مراحل با ... نوشته نمیشه و طول الگوریتم رو هم نباید به تعداد ورودی ها ربط بدید، الگوریتم رو باید طوری بنویسید که اگه 10 عدد به 20 عدد تبدیل شد لازم نباشه 10 مرحله به الگوریتم اضافه کنید.
 

جدیدترین ارسال ها

بالا