هوالعلیم مبانی برنامهسازی ()40151 )Fundamentals of Programming (Pascal دانشکده مهندسی کامپیوتر دانشگاه صنعتی مدرس :صادق دری نوگورانی شریف تمرین سری 2 1 مهلت ارسال تمرین:جمعه 1 ،اردیبهشت توضیحات اولیه آخرین مهلت تحویل تمرین اول ،ساعت 95:32روز جمعه 1 ،اردیبهشت 1521می باشد. تمرین به صورت انفرادی میباشد. بعد از نوشتن تمرینها ،فایلهای .pasتمرین خود را در یک فولدر با نام HW2_STDIDقرار دهید. ( STDIDشماره دانشجویی شما می باشد) .این فولدر را zipکنید .فایل فشرده شده را به آدرس [email protected]ارسال نمایید( .از فرستادن جواب تمرین به گروه پستی جدا خودداری کنید) عنوان ایمیل باید به صورت HW2_STDIDباشد .که STDIDشماره دانشجویی شما می باشد. فرستادن کل یا قسمتی از برنامه تان برای افراد دیگر ،یا استفاده از کل یا قسمتی از برنامه فردی دیگر به نام خود ،تقلب محسوب میشود. در صورت مشاهده تقلب ،به میزان نمره سوال ،نمره منفی تعلق خواهد گرفت ( .یعنی اگر نمره سوال 92نمره بود ،نمره -92برای هر 9نفر منظور خواهد شد) در صورتی که در 9سوال از یک تمرین تقلب علمی مشاهده شود ،نمره تمرین هر 9نفر ،صفر خواهد شد .پس لطفا کپ نزنید! پس از اتمام زمان ارسال تمرین ،تا 4روز می توانید تمرین خود را ارسال کنید .هر روز تاخیر در ارسال برنامه %92 ،از نمره شما کسر خواهد شد. اگر هر گونه ابهام یا مشکل در مورد تمرین داشتید که فکر میکنید پاسخ آن برای همه مفید خواهد بود ،لطفا آن را به گروه پستی درس ارسال کنید .در غیر این صورت به آدرس [email protected]بفرستید. با تشکر از آقایان سجاد فوالدی ،محمد چگینی و سعید براتی 1 1 تمرین های عملی ( – 1آرایه) برنامه ای بنویسید که کاربر طول و اعضای یک آرایه را وارد کند و سپس برنامه اعضای خانه های شماره زوج را به صورت صعودی و اعضای خانه های شماره فرد را به صورت نزولی مرتب کند .سپس جواب را چاپ کند. (این برنامه را در قالب 5رویه بنویسید که برنامه اصلی آنها را فرا میخواند .رویه اول برای خواندن آرایه ،رویه دوم برای مرتب کردن و رویه سوم برای چاپ نتایج به کار میرود) ( 12نمره) ورودی نمونه خروجی صحیح 1 3 14 8 2 3 14 3 2 3 1 8 8 3 14 94 71 52 23 74 32 24 39 83 71 3 39 24 32 52 23 74 14 83 8 94 ( -9آرایه) برنامه ای بنویسید که ابتدا 5عدد صحیح n ،mو pرا از ورودی دریافت کرده و سپس مقادیر صحیح دو ماتریس Aو ( Bکه ماتریس m*n ،Aو ماتریس n*k ،Bاست) را از ورودی دریافت کند .سپس حاصلضرب این دو ماتریس (که m*kمیشود) را در خروجی چاپ نمایید به طوری که هر سطر ماتریس در یک خط جداگانه چاپ شود. (این برنامه را در قالب 5رویه بنویسید ،رویه اول برای دریافت ورودی ،رویه دوم برای محاسبه حاصلضرب و رویه سوم برای چاپ خروجی استفاده شود) ( 92نمره) ورودی نمونه خروجی صحیح 23 51 8 32 7 8 -4 5 242 1623 0341 23 16 03 52 222 78 -4 5 10 01 ( -5تابع) یک تابع بازگشتی بنویسید که تعداد تکرار عضوی را در یک آرایه Nتایی بیابد( .مقدار بیشینه ،N 122می باشد) ( برنامه ای که ابتدا ،Nسپس عنصر مورد نظر و در نهایت اعضای آرایه را از ورودی دریافت میکند .تعداد تکرار عنصر را در آرایه پیدا نموده و در خروجی نمایش میدهد 92( ).نمره) ;Type Matrix= Array[1..100] of Real ;Function count(A:Matrix;size:Integer;element:Integer):Integer ورودی نمونه خروجی صحیح 5 4 12443 12 5 435235758545 2 5 ) و سپس n+1سطر از مثلث ( -4رویه) رویه ای بنویسید که ابتدا عدد nرا از ورودی بخواند ( خیام-پاسکال را در خروجی چاپ کند 93( .نمره) راهنمایی :برای این کار از یک آرایه استفاده کنید .با فرض ،n=4مراحل کار به صورت زیر است: 1 1 1 1 1 9 1 1 5 5 1 4 6 4 1 ورودی نمونه خروجی صحیح 1 2 1 3 3 1 4 6 4 1 5 1 1 1 1 1 ( -3الگوریتم مرتب سازی) برنامه ای بنویسید که یک Nرا به عنوان سایز ورودی دو آرایه دریافت کند .سپس 2Nعنصر هر آرایه را به صورت مرتب شده از ورودی بخواند .حال خروجی این 2Nعنصر را به صورت مرتب شده در خروجی چاپ کند( .به این کار اصطالحا ادغام Merge -گفته میشود) (عملیات ادغام را در قالب یک رویه با نام mergeبنویسید) ( 93نمره) خروجی صحیح 1233456789 ورودی نمونه 5 13456 23789 تمارین امتیازی (الگوریتمها) -6برنامه ای بنوسید که Nرا دریافت کند ،سپس Nعدد را از ورودی بخواهد و در یک آرایه قرار دهد .بیشینه مقدار 122 ، Nخواهد بود .سپس با استفاده از الگوریتم ،1Insertion Sortآرایه را از بزرگ به کوچک مرتب کنید 13( .نمره) ورودی نمونه خروجی صحیح -4 0 2 9 11 -3 6 12 12 5 -4 9 2 0 11 4 12 6 -3 12 en.wikipedia.org/wiki/Insertion_sort 1 -7برنامه ای بنویسید که ابتدا عدد Nرا دریافت کند .سپس Nعدد بعد از آن را از ورودی دریافت کند .با استفاده از یک رویه ،اعداد تکراری را از آرایه حذف کنید .آرایه جدید که عضو تکراری ندارد را چاپ کنید. همچینین با پیغام مناسب ،اعدادی که حذف شده اند و تعداد تکرار آنها را نیز چاپ کنید 13( .نمره) توجه داشته باشید که بیشینه مقدار 922 ،Nاست. خروجی صحیح -4 2 12 45 Repeats of Numbers: 2:3 12 -1 6 2 5 4 7 8 0 Repeats of Numbers: -1 : 2 5:4 ورودی نمونه 6 -4 2 12 2 45 2 12 -1 6 -1 2 5 4 7 5 8 5 5 0
© Copyright 2026 Paperzz