کامپیوتر و IT و اینترنت

فصل 3 برنامه نیسی

صفحه 1:
مبانی کامپیوتر و برنامه سازی فصل سوم :الگوریتم

صفحه 2:
5 الگوریتم ۳ الگوریتم مجموعه محدودی از دستورالعملها است که اگر به ترتیب دنبال شوند موجت انجام کار خاصت مت ‎diay’‏ * هر الگوریتم باید دارای شرایط زیر باشد * ورودی : یک الگوریتم می تواند صفر یا چند ورودی داشته باشد كه از ‎DE Lure‏ تامین می گردد. خروجی : الگوریتم باید یک یا چند کمیت خروجی داشته باشد. قطعیت : هر دستورالعمل باید واضح و بدون ابهام باشد. گارانت ؛ هن دسورالعجل بابدقایل اجراباشند. مجدودیت: : در تمام حالات: الگوریتم باید پس از.طی مراجل محدودی خاتمه یابد.

صفحه 3:
:2 ۳ الگوریتم * در علم کامپیوتر, ما معمولا با یک مسئله مواجهیم كه بايد آن را حل كنيم. أبن مسئله مى تواند در زمیه های مختلفی همچون علمی, اقتضادی اضر فش ونم‌باشد معمولا برای حل یک مسئله, مراحل زیر طی می گردد تعریف مسئله بصورت جامع و دقیق (شامل تعریف ورودیها و خروجیها) بررسی راه حلهای مختلف برای حل مسئله انتخاب مناسبترین راه حل و تهیه یک الگوریتم برای آن آزمایش الگوریتم با داده های ورودی و اشکالزدایی آن تبدیل الگوریتم به یک زبان برنامه نویسی کامپیوتری (مانند ) یا ‎(Pascal‏ وارد كردن برنامه به کامپیوتر و تست و اشکالزدایی آن ‎٩‏ اینتفاده از برناجه

صفحه 4:
۱-۳ نحوه بیان الگور یتمها * چگونه می توانیم الگوریتمها را بیان کنیم؟ ۹ الكوريتمها بايد براى انساز قابل قهم و درک باشند و همه بتوانتد به راحتی بر نویسنده إريتم را دو ۴ معمولا الگوریتمها به یک زبان طبیعی مانند فارسی یا انگلیسی نوشته می شود. * این مستله باعث می شود که بعضی ابهامات در درک الگوریتمها پیش * وود کسیی | توافقات و تعريفها از قبل بين طراح و خواننده و ‎cle vung le ae Cale ya aa‏ ۰ 5 دننک هی هن از رای شب ‎ofa SPE Ca‏ کد شبه 0 تراك مان ارم 7 ستفاده می کنند (Flowchart) > I > aS | ‏بذکر‎ ‎ual ip planed soled Sites el 1 ‏ی بان انا‎ بتمها ب اتف منأسب بود.

صفحه 5:
مثال ساده: 8 به مسثله: مه صورت مرحله :به مرجله فك كنيد وآبرل به مراك كوجك تر بشكنيد.سبس به صورت دستورى, به كامبيوتر دستور | بدهید! ابه یکبار دیگز الگورینمدم کردن»چای :را پتوسیم 1 به آشپزخانه بروء * کتری را از آب پر کن. * کتری را روی گاز بگذار. * گاز را روشن کن. صبر کن تا آب جوش بیاید. * چای را درون قوری بریز. * قوری را از آب جوش پر کن. * قوری را روی کتری بگذار. به همین سادگی! ما معمولا جواب مسائل را میدانیم. فقط بلد نیستیم چطور آنها را به الگوریتم تبدیل کنیم

صفحه 6:
۲-۳ کار با الكوريتمها إلكوريتمي بتويسيد که ضرايب یب یک معادله درجه یک بصورت زیر را دریافت و ريشه ax +b=c ‏ای حل اين مسئله ابتدا بايد ضرائب 9 , 3 و > از کاربر دریافت و در خانه های‎ ۱ ‏حافظه ذخيرة‎ ‏برای اينکه بتوانیم بعدا به این خانه های حافظه مراجهه کنیم. به هریک از آنها یک‎ ‏نأم نسبت می دهیم. به هریک از اين نامها یک متغیر گفته می شود"‎ ‏دلیل این نامگذاری آنستکه مقادیر ذخیره شده در هریک از این خانه های حافظه‎ SB ‏می تواند تغییر‎ ‏‌گرچه انتخاب نام بعهده خو‌شماست و معي تواند هر چیزی باشد, ولی‎ oles ‏سب مشاه کرد ابن كار سيب مى شود‎ ola hat ‏و درک الکوریتم شماً معن 9 متنا ساير افراد نيز ساد کر‎ : ‏اکنون به قراردادهای زیر توجه کنید‎ ‏*_برای دریافت اطلاعات از کاربر از دستور بخوان استفاده می گردد.‎ ‏برای نوشتن اطلاعات در خروجی از دستور چاپ کن استفاده می گردد.‎ ‏برای انتساب یک مقدار به یک متفیر از علامت * استفاده می شود.‎

صفحه 7:
:۲-۳ شروع به کار با الگوریتمها 2( و هو راب خوان © + بو - © ,را چاپ كن

صفحه 8:
؟هدف الگوریتم, شکستن مسئله است

صفحه 9:
۲-۳ مکانیزم شرط * مکانیزم شرط هنگامی استفاده می شود که قصد داریم درستی يا نادرستی یک عبارت رابررسی کرده و متناسب با نتیجه بررسی شرط, عقليات خاصی رآ انجام دهیم و یا از آنجام بعضی عملیات صرفنظر *» شكل كلى اين دستور به شكل زير است اگر (عبارت شرطی) آنگاه دستورات * این دستور به شکل زیر نیز استفاده می شود: اگر (عبارت شرطی) آنگاه دستورات1 درغیر اینصورت دستورات 2

صفحه 10:
:: امثالی دیگر: *برنامه ای بنویسید که عددی را از ورودی بگیرد و مشخص کند زوج است یا فرد. *؟ ما جواب این مسئله را میدانیم. اما نمیدانیم پطور باید الگوریتم آنرا بنویسیم. من و شما میدانیم که هر عددی بر دو بخش پذیر باشد, زوج است. به همین سادگی. * یک عدد را بگیر * آن عدد را بر دو تقسیم کن و باقیمانده را در حافظه نگه دار * اگر باقی مانده صفر است (یعنی عدد ما بر دو بخش پذیر است) چاپ کن: "زوج" ۶ اگر باقی مانده صفر نیست, چاپ کن: "فرد"

صفحه 11:
برنامه بنویسید که 2 عدد را گرفته و عدد بزرگ تر را چاپ کند. ۴ و را ببخولن ‎b gla Si‏ بزرك تر بود انگاه:8 راجاب كن. «اكر 0 از 3 بزرگ تر بود انگاه ۵ راچاپ کن. *توقف کن

صفحه 12:
تمرينات: © * برنامه اى بنويسيد كه دو عدد را تفريق كند. * برنامه اى ينويسيد كه نمره دو تا از درس هاى دانش آموزی را گرفته. و معدل آن دو درس زا بدهد. (معدل<مجموع نمره ها تقسیم بر تعداد آنها) *؟برنامه ای بنویسید که یک عدد را بگیرد و مشخص کند آیا بر ۵ بخش پذیر هست یا خیر؟ (راهنمایی: از باقی مانده استفاده کنید.) *برنامه ای را بنویسید که اول یک عدد بگیرد. سپس عدد دوم را بگیرد و مشخص کند عدد اولی بر دومی بخش پذیر است يا خیر (راهنمایی: از باقی مانده استفاده کنید.)

صفحه 13:
کمی تفکوا!! *الگوریتم برنامه ای که اعداد کوچکتر از ۱۰ را در خروجی چاپ کند. *حالا اگه بجای 10 تا گفت 100 تا یا 1000 تا چی؟۲۲؟؟؟

صفحه 14:
۴-۳ مکانیزم حلقه تکرار * شرط در ابتدای حلقه که مکانیزم کلی آن به شکل زیر است : تا زمانیکه (شرط مورد نظر) دستورات 3 تا 9 را تکرارکن ‎css‏ ([8 ( * در اين حالت ایتدا شرط موردنظر بررسی می گردد؛ درصورتیکه شرط برقرار نباشد به اولین دستور پس از ۵ می رود. اما در صورتیکه شرط درست ارزیابی شود. دستورآت شماره 3 تا ۵ انجام می شوند و سپس مجددا مه انتداق علقه بارگشته ورعملبات فون:یا مجددا نکرار من کید.

صفحه 15:
در بعضی الگوریتمها لازم است که عملیات مشخصی چندین بار تکرار شوند. بعنوان مثال فرض کنید قصد داریم میانگین معدلهای 100 دانشجو را محاسبه کنیم. قطعاً 100 بار دستور خواندن و جمع کردن راه حل چندان مناسبی نیست. راه حل بهتر آنستکه بگونه اي به مجری الگوریتم بگوییم بنحوی عمل خواندن معدل و جمع زدن آنها را 100 بار تکرآر کند. حلقه تکرار مکانیزمی است که مجموعه ای از دستوزات را تا زمانیکه شرط خاصی برقرار باشد تکرار می کند. حلقه تکرار به دو شکل مورد استفاده قرار می گیرد

صفحه 16:
۴-۳ مکانیزم حلقه تکرار * شرط در انتهای حلقه که مکانیزم کلی آن به شکل زیر است : تكرار كن a)... ‎b) ...‏ تا زمانیکه (شرط مورد نظر) ‏* در اين روش ابتدا دستورات حلقه یکبار انجام می شوند و در پایان حلقه شرط بررسی می گردد. چنانچه شرط برقرار نبود به دستور بعدی می فده در صورت برفراز ‎gag‏ سط. عبددا به تدای علق تارم ‏دد. ‎

صفحه 17:
۴-۳ مکانیزم حلقه تکرار الگوریتمی بنویسید که یک عدد را دریافت و فاکتوریال آن را محاسبه و ‎Ni=1x2x3x... x (N-1)xN‏ الگوریتم ula Ln fact 1 ,i¢1 تا زمانیکها ) (0 < دستورات 45 را تکرار کن ‎fact x i « fact‏ i+ lei را چابکن OS ‏توقف‎

صفحه 18:
تن ۵-۳ آزمایش الگوریتم سه 1) رابخولن © 4 زو 4 1301 ©) تا زمانیکه( 0 > |) دستورات 2 را تکرار کن ‎fact x ie fact 4‏ ‎i+l<ei 6‏ 6 1368 را جايكن © توقف كن اجرای الگور ‎ely,‏

صفحه 19:
*الگوریتم برنامه ای که اعداد کوچکتر از ۱۰ را با هم جمع کند و حاصل را نمایش دهد.

صفحه 20:
*الگوریتم برنامه ای که اعداد زوج کوچکتر از 100 را در خروجی چاپ کند.

صفحه 21:
۶-۳ چند الگوریتم نمونه الگوریتمی بنویسید که ۵ عده را دریافت و حداکثر و حداقل آنها را چاپ را بخوان 0 را بخوان max « adad ‏و‎ ۲۱۱۴ ۰ 0 12 تا زمانیکه ( ۴ > ۱ ) دستورات 6 تا 8 را تکرار کن 0 را بخوان اگر ( ۳۴۵۷ < 2020) آنگاه 2020 ۰ ۳۱۵۱ در غير اينصورت اگر ( ۲۱۴ > 2030 ) آنگاه 2030 ۰ ۲۸۱5 a (2 3 1+ 1 [ ‎max‏ 5 ۲۱ را چابکن توقف کن

صفحه 22:
۶-۳ چند الگوریتم نمونه ‎sein a‏ 2 2030 را بسخوان © 2030 ۰ ۲۱۴ و 3030 ۰ ۲۱۵ 4 2 1 ‎C‏ تازمانیکه ( 0 > 1 ) دستورات © تا © را تکرار کن 6( 2030 را بسخوان م ‎max) S|‏ > 3030) آنكاه ‎max « adad‏ در غیر اینصورت اگر ( 06 > 3030 ) آنگاه 2030 ۰ ۲۵۱8 0 1 +1[ ۶2 2( ۲۵۷و ۲۱۲ را چلپکن ‎i=‏ ‏© توقف كن = ‎sacked‏ ‎wor =‏ اجرای الگوریتب» = ‎wit‏ ّ ۲

صفحه 23:
۶-۳ چند الگوریتم نمونه | بتمی بنویسید که یک عدد را دریافت و وارون آن را محا الكو ينمي بنويسين ‎b yak SiS‏ رب روت ‎cont‏ ‎a‏ 2080 را بخوان ‏2 اگر (0 > 2020 ) آنگاه ۰-2030 3 ‏در غير اينصورت 3030 > 2 ‎۱۷۵۲۵۵8 ۰0 (1 ‏2 . تازمانیکه ( 0 < 5 ) آنگاه دستورات 5 تا 7 را تکرار کن 3 10 ۴۵۵ 2 ۰ ۲۵۴۸۵۱8 ‏« 2110و ‎varoon « varoon x 10+ remain (5 varoon « -varoon olS&I (adad <0) 551 6 ‏و ۷۵۲۵۵0 را چابکن‎ 2030 (7 ‎oS ‏توقف‎ 6

صفحه 24:
۶-۳ چند الگوریتم نمونه سه ‏ 2020 را بخوان € اگر (0 > 3030 ) آنگاه ۰-3020 و در غير اينصورت 3030 > 3 1( ۰0 ۷۵۲۵۵۲ © تازمانیکه ( 0 ‎ <‏ ) آنگاه ستورات 9 تا م را تکرار کن 3 10 ۴8۵۵ 2 ۰ ۲6۳۵۵1۴ 4 3/10 و ‎varoon ۰۱۷۵۲۵۵5 ۷ 10 + ۲6۳۵۵۱ (5‏ © گر ( 0 > 2020 ) آتگاه ۰۰۷۵۲۵0۳ ‎varoon‏ 77 2030 و ۷۵۲۵۵6 را چاپکن ‎67S‏ = یی ‎Sas CE‏ ۰-0 اجرای الگوریتب» > مهما © = موی ‎OTe‏ 20/۶9 خروجی

صفحه 25:
(aa ۶-۳ چند الگوریتم نمونه الگوریتمی بنویسید که مقدار ‎X‏ و تعداد جملات را دریافت و سپس ‎SIN(X)‏ را با استفاده از فرمول زیر تخمین بزند: او 0 را بسخوان طزو و 1 هو ۰۱ ۳۵۷۵۲ و1 ‎sign‏ ‎jel‏ تازمانیکه ( 0 > [ ) دستورات 6 تا 5 را تكرار كن ‎fact — fact x 2i x (2i+1)‏ xPower « xPower x x? sign + -1 x sign sin — sin + sign x (xPower / fact) ] 1 + 1 50 را چاپکن توقف كن sing =x- x2. xy 3

صفحه 26:
6 درغي رابنصورت جاب كن "عدد اول ۶-۳ چند الگوریتم نمونه الكوريتمى بنويسيد كه يى:عدد را دزياقت وتعيين كتد كه آيا اول است يا ان خیر؟ 0 رلبخوان 700- 2020 primeSw<1si¢ 2 تازمانيكه ( 1ع /الا 011765 3100 +100 > 1 ) دستورات © تا © را تكرار كن اگر ر ۵ < | ۳۵۵ 2020 ) آتگاه ۵ ۰ ‎primeSw‏ [1 +1 اگر (1 < ‎(primesw‏ آنكاه جاب كن ‎a‏ اول است“ توقف

صفحه 27:
۶-۳ چند الگوریتم نمونه * الگوریتمی بنویسید که یک عدد صحیح مثبت در مبنای 10 را دریافت و سپس آن را به مبنای 0 ببرد. مبنای 9 نیز از کاربر دریافت می گردد. 0 و 9 را ببخوان i- 0, hasel<« 0 تازمانیکه ( 0 < 300 ) دستورات 4 تا 7 را تکرار کن ‎remain ۰ 3030 ۵۵ 0۵‏ hasel « hasel + remain x 10! ‎adad « adad/b‏ (تقسیم صحیح بر صحیح) ‎[ 1 + 1 ‏۱256۱ را چاپکن ‏توقف کن

صفحه 28:
أ ۶-۲ چند الگوریتم نمونه ۱ یسید که برای تعدادی مشترک این اطلاعات را بخواند : شماره حساب, موجود الكور يتم تسد > با واریز و شپس برای هر بزداشت با ‎iol‏ این اطلاعات را دریافت کل کد عمل (1 < برداشت, 2 = واریز) و مبلغ در نهایت برای هرمشترک , شماره حساب و موجودی نهایی را چاپ کند: 0 را بخوان 11 ۵ 3 تا زمانیکه ( 6 > ا) دستورات 4 تا 11 را تکرار کن 4( 50000276 و 00[00 و ۲6030 را بخولن [1 5 6_ تا زمانیکه ( ۲6030 > زا دستورات 7 تا 9 را تکرار کن 7( 008 و ۵01290 را بخولن mojodi « mojodi - mablagh oiS (code = 1) ‏اكر‎ ۵ درغیرایتصورت اگر ( 2 < 6006 ) آنگاه ‎mojodi « mojodi + mablagh‏ درغیراینصورت چاپ کن "کد اشتیاه است* jej+l a ‎mojodisshomare (2‏ را چایکن ‎iei+1 @ ‏6 توقف کن

صفحه 29:
a 0 3 0 6 6 ۶-۳ چند الگوریتم نمونه الگوریتمی بتویسید که معدل و کد جنسیت دانشجویان (پسران-۴ و دختران< ۶) یک کلاس را 2 افت و در پایان میانگین معدل پسران و میانگین معدل دختران و ميانكين معدل كل كلاس را ‎bn‏ ستو fCount < 0 5 fSum < 0 5 mCount « 0.5 mSum <0 ۳-1 تا زمانیکه ( ۵ > 1 ) دستورات 5 تا 7 را تکرار کن 6 و 2۷6۳996 را بخوان اگر ( 20 > 06م ) آنگاه fCount « fCount + 15 fSum + fSum + average در غیرایتصورت اگر ‎(code =m)‏ آنگاه mCount + mCount + 1.5 mSum > mSum + average ‏در غيراينصورت جاب كن "كد اشتباه است" و 1-1 ز‎ 11+ 1 fAve « fSum / fCount olS:l ( fCount > 0 ) ‏اگر‎ mAve « mSum / mCount olS:I ( mCount > 0 ) 451 totalAverage « (mSum + fSum) /n o-Sly | totalAverage 5 fAve 5 mAve OS ‏توقف‎

صفحه 30:
أ ۶-۲ چند الگوریتم نمونه الگوزیتمی بنویسید که برای تعدادی دا نا اره دا تعداد دروس را دریافت کند رای ۳ رس وی رات و سل وی مدای مار ان مره وی وم «امشجوى برثر كلامل هرا كن هه رد هه هت 4 _ تازمانیکه ( ‎٩‏ > ا) دستورات 5 تا 15 را تکرار کن 5 65306 ولأ و ۲6030 را بسخولن ۵ ی ‎yeas‏ ‏8 تازمانیکه ( ۲6020 > ز) دستورات 9 تا 12 را تکرار کن 9 ۲0۲0۴6 و ۷۵60 را بخوان ی ‎a2‏ فاص 0 که ‎(+٩‏ ‎average + sum /sumVahed 13‏ ‎(average > maxAvel ) {SI (14‏ آنگاه maxid2 ‏ی‎ « maxamél mmavNamel © name smaxdve? © moxfvel ‎maidl «id‏ هه درغیراینصورت اگر ( ۲0۵۵۷62 < 2۷7۵96) آنگاه ‏1 وک ما وه جوم ‎i‏ موم ۶ ۱9/۵1 و ۱۵۱۵61 و ۱۱۵۵۷۵ و ۱۵02 و 0۵7/۵62 و 0۵۷۸۷۵ را چابکن 3 توقف کن ‎

صفحه 31:
۶-۳ چند الگوریتم نمونه یس یسک بر سای امه ام و بسن هی هد سفت تدس مرف سيد وسقي را شي ‎Sue Sa Se‏ وم ‎oe eect ee Be‏ ام ی كل شهرماة سرد أكعتر ار 130 ‎ie FOU IO ye) Jade‏ 3اه کیک ‎wi oe‏ و ‎eas‏ ‎acy &‏ ‎fe‏ تامایک [ 24 ۱۳۵۶ )نوات 9:7 را تاکن رد ‎ee‏ م م ی ع 81 )10 ‎ri el som'e‏ وی اوه در غیر ایتصورت اگر ( 30 > 5:00 ) آنگاه 3 سم دنهس ۳ vermin nt Sedition ‏چا کم دام‎ aspect ‏خر اس‎ ‏لاع یچ‎

صفحه 32:
‎EE‏ ۲-۳ شروع به کار با الگوریتمها الگورنتمی سید یه ترا نک رها ادله درجه دوم بصورت زیر را دریافت و ربشه ‎ax? + bx +c=0 ‏روش حل معادله درجه دوم:‎ ‏6 - 2 | -۸ 0 <) + رو + فيو ‎۳۹ ‏- مر 2 ور دل <ل

صفحه 33:
۲-۳ شروع به کار با الگوریتمها ‎a‏ و تاو را بخولن ‎delta b?-4ac (2 ‎ibe ldelle ‏و‎ yb Vdelis (3 ‏د‎ 22 ‎ ‏% ‏6 6و یلا را چاپ کن ‏© توقف كن

39,000 تومان