الگوريتمي بنويسيد كه سه عدد از ورودي دريافت كرده مجموع
و ميانگين سه عدد را محاسبه و چاپ كند.
خواندن داده ها : a و b و c
انجام محاسبات: محاسبه مجموع و محاسبه میانگین
خروجي ها : چاپ مجموع و چاپ میانگین
0ـ شروع
1ـ سه عدد از ورودي بخوان
2ـ مجموع سه عدد را محاسبه و در sum قرار بده.
3ـ sum را بر سه تقسيم كرده،در ave قرار بده.
4ـ ave , sum را در خروجي چاپ كن.
5ـ پايان.
حل برنامه های شرطی
گاهی اوقات لازم است با مقایسه مقادیر داده های ورودی، اطلاعات خروجی،
متغیرها و... عملیاتی را در الگوریتم هدایت کرده ودستورالعمل های خاصی را
اجرا کنید یا روند اجرای الگوریتم را با اتخاذ تصمیمات مناسبی کنترل نمایید.
دراین صورت میتوانید از دستورات شرطی استفاده کنید .
مثال 1
برنامه ای بنویسید که یک عدد را بگیرد و زوج وفرد بودن عدد را نشان دهد.
0 ـ شروع
1 ـ n را بخوان
2 ـ R = n mod 2
3 ـ اگر R = 0 آنگاه "عدد زوج است " را نمایش بده
در غیر این صورت "عدد فرد است" را نمایش بده
4 ـ پایان
مثال 2
الگوریتمی بنویسید که سه عدد دلخواه را دریافت کرده وبزرگ ترین مقدار
را در بین آن ها تعیین کند و نمایش دهد.
0 ـ شروع
1 ـ a و b و c را بخوان
2 ـ sum <----- a
3 ـ اگر sum < b آنگاه sum <----- b
4 ـ اگر sum < c آنگاه sum <----- c
5 ـ sum را نمایش بده
6 ـ پایان
دستورالعمل های تکرار:
بخش دیگر درحلقه، دستورالعمل هایی هستندکه داخل حلقه تکرار می شوند.
این دستورالعمل ها با توجه به نیاز مسئله انتخاب می شوند.
مثال 1
الگوریتمی بنویسید که میانگین دمای شهررا در طول یک هفته محاسبه نموده
و نمایش دهد .
0 ـ شروع
1 ـ 1 ----->
2 ـ 0 -----> sum
3 ـ t را دریافت کن
4 ـ sum = sum + t
5 ـ n = n + 1
6 ـ اگر n <= 7 آنگاه به مرحله 3 برو
7 ـ sum / 30 را نمایش بده
8 ـ پایان
مثال 2
الگوریتمی بنویسید که 100 مضرب اول عدد 3 را بدست آورد و چاپ کند.
0 ـ شروع
1 ـ به ازای i= 1 to 100 انجام بده کار های زیر را
i * 3 را چاپ کن
3 ـ پایان
مثال 3
الگوریتمی بنویسید که اعداد 1 تا 10 را چاپ نماید.
0 ـ شروع
1 ـ 1 ------> i
2 ـ تازمانیکه i <= 10 انجام بده دستورات زیرا
چاپ کن i را
1 + i = i
3 ـ پایان
دستوالعمل های منطقی:
گاهی اوقات ممکن است لازم باشد در دستورالعمل های شرطی که در حل
یک الگوریتم به کار می روند بیش از یک شرط مورد برسی قرار گیرد و با توجه
به نتیجه برسی تمامی شرط ها ذکر شده سایر دستورالعمل هی اجرا شوند.
در چنین حالت هایی می توان از عملگر های منطقی برای ترکیب دو یا چند
شرطاستفاده کرد.
عملگر های منطقی عبارت اند از: (AND . و) ، ( OR . یا ) ، ( NOT . نقیص )
عمل کرد (AND . و )
T AND F = F
F AND T = F
F AND F = F
T AND T = T
عملکرد ( OR . یا )
T OR F = T
F OR T = T
T OR T = T
F OR F = F
عملکرد ( NOT . نقیض )
T = F
F = T
مثال 1
الگوریتمی بنویسید که مقدار مصرف برق یک مشترک دلخواه را دریافت کرده
وبر اساس شرط های زیر رتبه میزان مصرف وی را مشخص کند.
الف . بین 0 تا50 کم مصرف
ب . بین 50 تا 200 عادی
ج . از 200 به بالا پرمصرف
0 ـ شروع
1 ـ kw را دریافت کن
2 ـ اگر kw >= 0 و kw < 50 آنگاه " کم مصرف است " را نمایش بده
3 ـاگر kw >= 50 و kw < 200 آنگاه " عادی است " را نمایش بده
4 ـ اگر kw >200 آنگاه " پر مصرف است " را نمایش بده
5 ـ پایان
مثال 2
الگوریتمی بنویسید تا معدل یک دانش آموزرا دریافت کرده و رتبه وی را
بر اساس شرایطی که در ادامه می آید تعیین کند.
الف ـ درصورتی که میانگین نمرات وی بیشتر از 18 باشد، رتبه ممتاز است.
ب ـ درصورتی که میانگین نمرات بین 16 تا 18 باشد، رتبه ممتاز است.
ج ـدرصورتی که میانگین نمرات بین12 تا 16 باشد، رتبه متوسط است.
د ـ درصورت که میانگین نمرا کمتر از 12 باشد، رتبه ضعیف است.
0 ـ شروع
1 ـ n را دریافت کن
2 ـ اگر n > 18 باشد آنگاه "رتبه lممتاز است " را نمایش بده
3 ـ اگر n > 16 و n < = 18 باشد آنگاه " رتبه خوب است " را نمایش بده
4 ـ اگر n > 12 و n <= 16 باشد آنگاه " رتبه متوسط است " را نمایش بده
5 ـ اگر n < 12 باشد آنگاه " رتبه ضعیف است " رانمایش بده
6 ـ پایان
آرایه
الگوریتم های که تا کنون طراحی کرده اید داده ها را دریافت کرده وبلافاصله
مورد پردازش قرار می داد اما گاهی اوقات لازم است تا پردازش پس از ورود
تمامیا بخشی از اطلاعات انجام شود یا عملیاتی چون مرتب سازی یا جست
جویاطلاعات در داده های وارد شده انجام گیرد درمواردی هم حجم داده های
ورودیزیاد است وبرای زخیره سازی آنها باید متغیر های متعددی با نامهای
متفاوتاستفاده کرد وسپس از آنها در پردازش بهره برد که کاری دشوار است
ودراکثرموارد غیر ممکن خواهد بود؛ به عنوان مثال فرض کنید میخواهید
الگوریتمیبنویسیدکه داده های مربوط به مشخصات ونمرات 100 دانش آموز
یک مدرسه راذخیرهوپردازش نماید تعریف متغیر های مورد نیاز به این تعداد
عملاکار بسیاردشواریاست . در چنین مواری میتوانید ازآرایهاستفاده کنید:
آرایه مکان هایی از حافظه است که با یک نام شناسایی شده ودارای
اندیس هاییبرای اشاره به خانه های این آرایه است. در نتیجه آرایه را
می توان به صورت یکمتغیر با مکان های متعددی که داده های هم نوع
را در خود نگه می دارند، تعریفکرد . ادرس خانه های آرایه متوالی بوده و
در حافظه به صورت پشت سر هم قرارمی گیرند.
برای تعریف یک آرایه شما میتوانید از روش "متغیر a20 و ...... و a2 و a1 "
استفاده کنید.
مثال 1
الگوریتمی بنویسید که 20 عدد دلخواه را دریافت کرده ودر یک آرایه ذخیره
نماید سپس آنهارا از آخر به اول نمایش دهد.
0 ـ شروع
1 ـ متغیرهای a20 و .....و a3 و a2 و a1 را در نظر بگیرید
2 ـ 1------>i
3 ـ (a (i را دریافت کن
4 ـ 1 + i = i
5 ـ اگر i<= 20 آنگاه برو به مرحله 3
6 ـ 20 ------> i
7 ـ(a (i رانمایش بده
8 ـ 1 - i = i
9 ـ اگر i >= 1 آنگاه برو به مرحله 7
10 ـ پایان
مثال 2
الگوریتمی بنویسید که 10 عدد دلخواه از ورودی دریافت کرده وآنها را در یک
آرایه ذخیره کند سپس اعدادی که زوج است را نمایش بدهد.
0 ـ شروع
1 ـمتغیرهای a10 و .....و a3 و a2 و a1 را در نظر بگیرید
2 ـ 1------>i
3 ـ(a (i را دریافت کن
4 ـ 1 + i = i
5 ـاگر i<= 10 آنگاه برو به مرحله3
6 ـ1 - i = i
7 ـ اگر i > 0 آنگاه برو به 8 در غیر این صورت برو به 10
8 ـn =a (i) mod 2
9 ـ اگر n = 0 آنگاه "(a (i "نمایش بدهدر غیر این صورت برو به 6
10 ـ پایان
تمرین
1. الگوریتمی بنویسید که اعداد 1 تا 100 را نمایش دهد
2. الگوریتمی بنویسید که طول وعرض مسطتیلی را از ورودی دریافت کند
و محیط و مساحت آن را محاسبه وچاپ نماید.
3. الگوریتمی بنویسید که درآمد ماهانه تعدادی کارمند رادریافت کند، وبر
اساس تعرفه زیر مالیات آنها را محاسبه کرده، و چاپ نماید.
الف: کمتر از 40000 تومان بود مقدار مالیات 0
ب: بین 40000 تا 50000 تومان مقدار مالیات 7% نسبت به مازاد
ج: بیش از 50000 تومان مقدار مالیات 12% نسبت به مازاد
4. الگوریتمی بنویسید که دو عدد a و b را از ورودی دریافت کند و کلیه
اعداد زوج بین آنهارا در خروجی چاپ کند.
5. الگوریتمی بنویسید که نمرات داش آموزی را از ورودی گرفته ، و معدل
وی را محاسبه و چاپ کند.
6. الگوریتمی بنویسید که 20 عدد دلخواه را بصورت یک آرایه دریافت کرده
و بزرگترین وکوچیکترین عدد را در بین آنها محاسبه کند ونمایش دهد.