تالار روانشناسی و مشاوره آنلاین ازدواج، خانواده، تحصیلی همیاری
زمان کنونی:  مهمان عزیز خوش‌آمدید. (ورودعضــویت)

تالار همیاری نسبت به محتویات تبلیغات مسئولیتی ندارد.

کانال رسمی همیاری در تلگرام ads مشاوره قبل از ازداج مشاوره قبل از ازدواج




اموزش الگوریتم نویسی زمان کنونی: 
کاربران در حال بازدید این موضوع: برای دسترسی به این بخش باید ورود کنید
نویسنده:andromeda
آخرین ارسال:andromeda
پاسخ ها 19

صفحه‌ها (2): صفحه 2 از 2 نخستنخست 12

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

حالت موضوعی | حالت خطی
  1. ارسال:11#
    سلام به همه دوستان
    شرمنده که یکم دیر بخش تازه رو ارسال کردم
    امروز یک کوچولو درباره ی دستورات شرطی حرف می زنیم و بعد هم آرایه.
    اگر دقت کنید در مثال های قبلی هم از شرط استفاده کردیم!!!
    تعریف شرط رو همه می دونیم مثالش هم مشهور است:
    اگر هوا بارانی باشد به بیرون نمی روم.
    غالبا دستور های شرطی از دو قسمت تشکیل می شوند.یکی درصورتی که شرط برقرار باشد عملی یا اعمالی انجام می شود و دیگری زمانی که شرط برقرار نباشد ممکن است عمل یا اعمالی دیگرد انجام پذیرد.
    شکل دستوری هم فعلا در اینجا ما اینگونه فرض می کنیم:
    then(شرط)if
    دستور یا دستورات
    else
    دستور یا دستورات

    نکته:باز هم دقت کنید اگر بیش از یک دستور داشته باشیم باید از بلوک{}استفاده کنیم.
    آرایه ها

    آرایه مثل چی می ماند؟!
    ارایه مثل خانه های کنار هم یک کوچه است که هر کدام ظرفیت تعداد مشخصی جمعیت دارند دارای پلاک و ادرس و نام هستند.
    تعریف:خانه های پشت سرهم از حافظه که همنوع بوده و توسط یک اسم معرفی می شود.
    [طول ارایه]اسم ارایه
    مثلا تعداد خانه های ارایه 5 تا باشد یا 10000.
    می توان به طریق مختلف هر کدام از این خانه ها را صدا زد.با اندیس اعداد یا کاراکتر.
    مثال:

    الگوریتمی بنویسید که یک ارایه حداکثر 100عنصری را از ورودی دریافت کرده ،سپس آن را در خروجی نمایش دهد
    حل:
    شروع
    [100]a
    i=1
    بخوان(n)
    مادامی که (i<=n)تکرار کن
    {
    بخوان (a[i])
    i=i+1
    }
    i=1
    مادامی که(i<=n)تکرار کن
    {
    چاپ کن(a[i](
    i=i+1
    }
    پایان


     
    پاسخ با نقل و قول

  2. ارسال:12#
    هرکسی دوست دارد حل بفرماید
    1-الگوریتمی بنویسید که سه عدد از ورودی دریافت کند،کوچک ترین عدد رایافته در خروجی نمایش دهد
    2-الگوریتمی بنویسید که nعدد ازکاربر دریافت کرده و درهربار بخشپذیری عدد را بر5و3 بررسی نماید وخروجی مطلوب را تولید کند
    3-الگوریتمی بنویسید که nعدد دریافت کرده سپس کوچک ترین و بزرگ ترین عدد را چاپ نماید.
    فعلا همین 3تا کافیه

    نکات تکمیلی
    در شرط گذاری ابتدا برنامه شرط را بررسی می کند اگر مقدارش درست بود دستورات مربوطه را اجرا می کند در غیر این صورت به خط بعدی می رود(خطوط بعد از دستورات شرط)
    گاهی لازم است اگر شرط اولی اجرا شد دیگر باقی شروط بررسی نشود که در این حالت از else if
    استفاده می کنیم.

    اگر جایی رو متوجه نشدید بگید بیشتر توضیح بدم.که البته با حل مثال با همه ی گفته ها اشنا خواهید شد

    دلتان پرنور،سرتان خوش باد
    پاسخ با نقل و قول

  3. ارسال:13#
    اين مسائل به ظاهر آسان هستند اما نكات ظريفي دارند كه اگر به انها توجه نكنيد خروجي مطلوب را نخواهيد داشت 
    پاسخ با نقل و قول

  4. ارسال:14#
    سلام
    شماره 1
    شروع
    [3]a
    i=1
    بخوان(3)
    مادامی که i<3
    {
    بخوان(]a[i)
    i=i+1
    }
    مادامی که i<3
    چاپ کن(]a[i)
    i=i+1
    }
    پایان
    شماره دو
    اینو بلد نیستم

    شماره سه
    شروع
    ]n[a
    i=1
    بخوان(n)
    مادامی که i<nو i>n
    {
    بخوان(]a[i)
    i=i+1
    }
    مادامی که i<nوi>n
    چاپ کن(]a[i)
    i=i+1
    }
    پایان
    پاسخ با نقل و قول

  5. ارسال:15#
    حل مسئله اول
    اگر بخواهیم مثال فیزیکی بزنیم همانند این است که چند مداد در قد های مختلف یکی یکی به شما می دهند.اولین مدادی که در دست دارید معیار شما برای مقایسه با مداد های بعدی می شود.اگر مداد بعدی کوچک تر(یا بزرگتر،بسته به درخواست مسئله)ازمعیار شما بود،مداد قبلی را کنار گذشته و مداد جدید را به عنوان معیار جدید در نظر
    می گیریم.به همین سادگی...
    همانطور که گفتم برای هر مسئله چند الگوریتم میتوان نوشت.برای مسئله اول چون تعداد کم هست نیازی نیست به خودتان سختی بدهید و از ارایه استفاده کنید!
    اما من برای یادگیری بیشتر هر دو روش را براتون می نویسم
    شروع
    بخوان(a,b,c)
    min=a
    اگر(min>b)بود انگاه
    min=b
    اگر(min>c)بود انگاه
    min=c
    چاپ کن(min)
    پایان
    _________________

    1@ شروع
    2@ a[3]
    3@ i=0
    4@ مادامی که (i<3)تکرار کن
    {
    5@ بخوان(a[i])
    6@ i=i+1
    }
    7@ min=a[0]
    8@ i=1
    9@ مادامی که(i<3)تکرار کن
    {
    10@ اگر(a[i]<min)بود انگاه
    11@ min=a[i]
    12@ i=i+1
    }
    چاپ کن (min)
    پایان

    ______________________________
    توضیحات حل دوم:
    خط2-یعنی لیست،سه خانه دارد
    خط3-اصولا خانه های ارایه از صفر شمارش می شوند
    خط4-اگر i=0باشددیگر i<=3اشتباه است
    چون حلقه 4 مرتبه تکرار می شود.درصورتی که ما 3 خانه داریم!

     
    پاسخ با نقل و قول

  6. ارسال:16#
    حل مسئله دوم:
    کمی توضیح!!!
    وقتی ما می خواهیم 2 عدد را برهم تقسیم کنیم انقدر تقسیم را ادامه می دهیم تا باقیمانده صفر و خارج قسمت اگر هم شد ،اعشار باشد.
    اما در برنامه نویسی 2 نوع تقسیم داریم.هر دو تقسیم را تا جایی ادامه می دهند که دیگر باقی مانده کوچک شود و نتوان تقسیم را انجام داد و به عبارتی به اعشار نیاز دارد.در اینجا توقف می کند.
    در زبان پاسکالmodباقی مانده را از این تقسیم نشان می دهد و divخارج قسمت صحیح را...
    مثلا:5mod 2==1
    5 div 2==2
    علامت =! یعنی نامساوی
    علامت && یعنی هر دو شرط همزمان درست باشد.اگر یکی نادرست باشد شرط برقرار نخواهد بود.

    در مورد صورت مسئله هم باید بگم ،عددی ممکن است فقط بر3 بخشپذیر باشد،ممکن است فقط بر 5 بخشپذیر باشد،ممکن است بر هر دو بخشپذیر باشد یا اصلا برهیچ کدام قابل تقسیم نباشد!
    پس باید تمام حالات را در نظر بگیریم

    شروع
    i=1
    بخوان(n)
    مادامی که(i<=n)تکرار کن
    {
    بخوان(num)
    اگر (num mod 5==0) بود انگاه
    چاپ کن(بر5 بخشپذیر است)
    اگر(num mod 3==0) بود انگاه
    چاپ کن(بر3 بخش پذیر است)
    اگر(num mod5!=0 && num mod 3!=0)بود انگاه
    چاپ کن (به هیچکدام بخش پذیر نیست)
    i=i+1
    }
    پایان


     
    پاسخ با نقل و قول

  7. ارسال:17#
    حل مسئله سوم:
    همانند مسئله اول رفتار می کنیم!فقط این بار یک متغیر و یک شرط برای بزرگ ترین عدد نیاز داریم.
    شروع
    i=0
    بخوان(n)
    a[n]
    مادامی که (i<n)تکرار کن
    {
    بخوان(a[i])
    i=i+1
    }
    i=1
    min=a[0]
    max=a[0]
    مادامی که (i<n)تکرار کن
    {
    اگر(a[i]<min)بود انگاه
    min=a[i]
    اگر (a[i]>max)انگاه
    max=a[i]
    i=i+1
    }
    چاپ کن(min)
    چاپ کن(max)
    پایان
    پاسخ با نقل و قول

  8. ارسال:18#
    تا من اینارو یاد بگیرم موهام سفید شده
    خیلی سخته
    پاسخ با نقل و قول

  9. ارسال:19#
    اصلا سخت نیست.فقط نیاز به تمرین داره...
    پاسخ با نقل و قول

صفحه‌ها (2): صفحه 2 از 2 نخستنخست 12

کاربران دعوت شده

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •