انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: فاکتوریل ( حل شد )  (دفعات بازدید: 1003 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
فاکتوریل ( حل شد )
« : 27 بهمن 1402، 05:03 ب‌ظ »
درود

درحال تمرین بش هستم.یک برنامه نوشتم که با دریافت عدد فاکتوریل اون رو حساب میکنه.ولی مقادیر بزرگ رو یا صفر میکنه یا منفی!!
دلیلش چیه؟؟
کد برنامه :
#!/usr/bin/bash


fact=1
read -p "enter yout factor: " n
for ((i=1;i<=${n};i++))
do
    fact=$((fact * i))

done
echo -e "\nyour fact is ${fact}\n"

به عنوان مثال با دریافت عدد ۴۵ این خروجی رو میده:
-8797348664486920192

چرا ؟
« آخرین ویرایش: 27 بهمن 1402، 05:48 ب‌ظ توسط learner:~$ »
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1271
  • جنسیت : پسر
پاسخ : فاکتوریل
« پاسخ #1 : 27 بهمن 1402، 05:26 ب‌ظ »
ظرف نگه‌داری کوچیکه، متغیر خیلی بزرگه، سرریز کرده.

از bc برای محاسبات اینچنینی استفاده کنید.


اینجا را برای آشنایی با سرریز عدد صحیح ببینید.


برای مسائلی به این شکل، آزمون و خطا و یادگیری مفاهیم، پایتون انتخاب بهتریه تا bash


آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : فاکتوریل
« پاسخ #2 : 27 بهمن 1402، 05:47 ب‌ظ »
ظرف نگه‌داری کوچیکه، متغیر خیلی بزرگه، سرریز کرده.

از bc برای محاسبات اینچنینی استفاده کنید.


اینجا را برای آشنایی با سرریز عدد صحیح ببینید.


برای مسائلی به این شکل، آزمون و خطا و یادگیری مفاهیم، پایتون انتخاب بهتریه تا bash
درود مممنونم از لطف شما
من هیچ وقت با پایتون حال نکردم و همیشه از نحوش فراری بودم و زیاد از زبان های سطح بالا خوشم نمیاد جز بعضی ها
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
پاسخ : فاکتوریل
« پاسخ #3 : 27 بهمن 1402، 11:33 ب‌ظ »
درود مممنونم از لطف شما
من هیچ وقت با پایتون حال نکردم و همیشه از نحوش فراری بودم و زیاد از زبان های سطح بالا خوشم نمیاد جز بعضی ها
پایتون سطح بالا نیست. بش هم زبان اسکریپت نویسیه.
« آخرین ویرایش: 27 بهمن 1402، 11:36 ب‌ظ توسط Tmha Programmer »

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : فاکتوریل ( حل شد )
« پاسخ #4 : 28 بهمن 1402، 03:22 ب‌ظ »
پایتون سطح بالا نیست.
پایتون یک زبان برنامه‌نویسی سطح بالاست.

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
پاسخ : فاکتوریل ( حل شد )
« پاسخ #5 : 28 بهمن 1402، 04:22 ب‌ظ »
پایتون سطح بالا نیست.
پایتون یک زبان برنامه‌نویسی سطح بالاست.
بله من اشتباه کردم درست ولی مثلا از C که سطح بالا نیست :)

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : فاکتوریل
« پاسخ #6 : 28 بهمن 1402، 07:31 ب‌ظ »
درود مممنونم از لطف شما
من هیچ وقت با پایتون حال نکردم و همیشه از نحوش فراری بودم و زیاد از زبان های سطح بالا خوشم نمیاد جز بعضی ها
پایتون سطح بالا نیست. بش هم زبان اسکریپت نویسیه.
پایتون هم یک زبان اسکریپتی هست و درضمن سطح بالا
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : فاکتوریل ( حل شد )
« پاسخ #7 : 28 بهمن 1402، 08:19 ب‌ظ »
بله من اشتباه کردم درست ولی مثلا از C که سطح بالا نیست :)
پایتون از سی سطح‌بالاتره. احتمالا هنوز سطح‌بندی‌ها رو در برنامه‌نویسی متوجه نشدید: لینک

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
پاسخ : فاکتوریل ( حل شد )
« پاسخ #8 : 28 بهمن 1402، 08:32 ب‌ظ »
بله من اشتباه کردم درست ولی مثلا از C که سطح بالا نیست :)
پایتون از سی سطح‌بالاتره. احتمالا هنوز سطح‌بندی‌ها رو در برنامه‌نویسی متوجه نشدید: لینک
آره بلعکس متوجه شدم.
درود مممنونم از لطف شما
من هیچ وقت با پایتون حال نکردم و همیشه از نحوش فراری بودم و زیاد از زبان های سطح بالا خوشم نمیاد جز بعضی ها
پایتون سطح بالا نیست. بش هم زبان اسکریپت نویسیه.
پایتون هم یک زبان اسکریپتی هست و درضمن سطح بالا
اسکریپت نویسی یکی از کاربرد هاشه.

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : فاکتوریل ( حل شد )
« پاسخ #9 : 28 بهمن 1402، 08:57 ب‌ظ »
پایتون سطح بالا نیست.
پایتون یک زبان برنامه‌نویسی سطح بالاست.
بله من اشتباه کردم درست ولی مثلا از C که سطح بالا نیست :)
سی در مقایسه با اینها و از نظر خیلی ها سطح پایینه ولی زبان سی سطح میانی هست
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین aFard

  • High Sr. Member
  • *
  • ارسال: 638
  • جنسیت : پسر
  • از دوستاران لینوکس
    • ویرگول من
پاسخ : فاکتوریل ( حل شد )
« پاسخ #10 : 29 بهمن 1402، 02:02 ب‌ظ »
در جواب به طاها ، برعکس نه بلعکس!
ببینید هرچی زبان برنامه نویسی به زبان ماشین نزدیک تر باشه سطحش پایین تره ، شما در یک ساختمان در نظر داشته باشید که زبان ماشین در طبقه ی همکفه و در هر طبقه یک مترجم هست که کد رو برای طبقه ی پایین به زبان اون ترجمه میکنه ، هرچی زبان طبقه ی بالاتری داشته باشه از زبان ماشین دورتره ، پایتون زبان سطح بالایی هستش
Its The legendery alireza138812