مبانی کامپیوتر و برنامهسازی
دانشگاه قم ـ دانشکده علوم پایه
رشته ریاضی کاربردی
نیمسال اول سال تحصیلی 85 ـ 86
نمرات نهایی
دریافت فایل
تمرینها
موعد تحویل
روز امتحان پایانترم، 11 بهمن 85
نحوه تحویل
بر روی برگه (ترجیحا)، یا CD و یا دیسکت
لیست تمرینها
|
برنامهای بنویسید که یک عدد Integer را از کاربر دریافت کرده و عکس آن را در خروجی نمایش دهد. (مثلا با گرفتن عدد 23147 عدد 74132 را نمایش دهد.) |
1 |
|
برنامهای بنویسید که مختصات دو نقطه از یک خط را دریافت کرده و معادله خط را بهصورت y = ax + b نمایش دهد. |
2 |
|
برنامهای بنویسید که عدد صحیح N را از کاربر دریافت کرده و دنباله 0 تا N را به شکل زیر نمایش دهد: 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 19 ,18 ,17 ,16 ,15 ,14 ,13 ,12 ,11 ,10 20 ,21 ,22 ,23 ,24 ,25 ... N |
3 |
|
یک function به نام Top بنویسید که يک عدد حقيقي را دريافت کند و به کمک عملیات ریاضی، سقف آن را برگرداند (سقف يک عدد حقيقي، کوچکترين عدد صحيح بزرگتر از آن عدد است). |
4 |
|
تابعي به نام Digits بنویسید که يک عدد صحيح را دريافت کرده و تعداد رقمهاي آن را برگرداند. |
5 |
|
آرایهای دو بعدی تعریف کنید که محدوده اندیسهای آن از طریق 4 ثابت به نامهای Min1 و Max1 و Min2 و Max2 تعیین میشود. سپس مقدار هر خانه از آرایه را برابر ضرب دو اندیس آن قرار دهید و جدول ضرب حاصل را به صورتی شکیل نمایش دهید. |
6 |
|
(اختیاری ـ نمره اضافه) تابعي به نام PowerOfTwo بنویسید که يک عدد صحيح را دريافت کند و مشخص کند که آيا اين عدد تواني از 2 است يا خير. |
7 |
|
(اختیاری ـ نمره اضافه) برنامهای بنویسید که یک عدد Integer را از کاربر دریافت کرده و آن را به عاملهاي اول تجزيه كند. |
8 |
پروژه پایانترم
موعد تحویل
روز امتحان پایانترم، 11 بهمن 85
نحوه تحویل
بر روی CD (ترجیحا) و یا دیسکت
لیست و نحوه توزیع پروژهها
|
برنامهای بنویسید که امکان بازی XO را در یک تخته 3x3 برای دو کاربر فراهم کند و برنده را معرفی کند. برنامه باید هر بار تخته را با مهرههای X و O و مکانهای خالی را نیز با اعداد بین 1 تا 9 نمایش دهد و مشخص کند نوبت کدام بازیکن است. هر بازیکن در نوبت خود یک عدد از مکانهای خالی را وارد میکند و برنامه باید شکل جدید تخته و موقعیت بازی را دوباره بازسازی کند. |
(نوذری، موسیزاده)(احمدپور، تقیخانی) |
1 |
|
برنامهای بنویسید که امکان بازی XO را در یک تخته 3x3 بین کامپیوتر و یک کاربر فراهم کند و برنده را معرفی کند. برنامه باید ابتدا مشخص کند چه کسی بازی را آغاز میکند و هر بار تخته را با مهرههای X و O و مکانهای خالی را نیز با اعداد بین 1 تا 9 نمایش دهد. بازیکن در نوبت خود یک عدد از مکانهای خالی را وارد میکند و برنامه باید شکل جدید تخته و موقعیت بازی را دوباره بازسازی کند. |
ـــ |
2 |
|
معمولا بين
ساكنين يك اتاق دانشجویی مرسوم است كه هرگاه خريدي براي اتاق انجام شد
(مثلا خريد ميوه)، يكي از دانشجويان آن را میپردازد و در انتهاي هر
ماه يا هر ترم، مجموع هزينههاي اتاق محاسبه و به نسبت مساوي بین افراد
تقسيم میشود. مثلا فرض كنيد در يك اتاق چهار دانشجو به نامهاي علي،
سلمان، محمد و اميد ساكن هستند. ليست مخارج چند روز آنها به اين صورت
است (پرداختكننده هزينه ــ مبلغ هزينه به تومان): (علي ــ 1800)،
(محمد ــ 3000)، (اميد ــ 2200)، (اميد ــ 300)، (علي ــ 1000)، (سلمان
ــ 700) |
(ع.ولی، ز.ولی) |
3 |
|
برنامهاي بنويسيد که در يک صفحه شطرنج که در آن فقط مهرههاي وزير قرار دارند، ابتدا از کاربر بخواهد که تعداد مهرهها (حداکثر 12 مهره) و موقعیت هر مهره (سطر و ستون) را وارد کند. سپس برنامه باید مشخص کند که کدام زوج از وزيرهاي اين صفحه يکديگر را تهديد ميکنند. يک زوج وزير همديگر را تهديد ميکنند اگر همسطر، همستون و يا همقطر باشند. به عنوان مثال اگر چینش مهرهها به صورت زير باشد: 1 .
. 2 . . . . در آن صورت
هفت زوج وزير زير يکديگر را تهديد ميکنند: |
(حسینی رکنآبادی، سالارکیا، عروجلو) |
4 |
|
برنامهاي بنويسيد كه با دریافت عدد n (حداکثر 100)، به تعداد n سهتايي c، x و y دريافت كند كه مقدار اول يك كاراكتر و دو مقدار بعدی مختصات در صفحه نمايش است. سپس همه كاراكترهاي داده شده را در مختصات داده شده براي هر كاراكتر به نمايش در آورد. راهنمايي: براي نوشتن اين برنامه ابتدا يك ركورد به نام CharPoint تعريف كنيد و سپس يك آرايه به نام list از نوع CharPoint كه در واقع ليست نقاط و مختصات آنها را تشكيل ميدهد. |
(صالحی، صانعی، حسینی میرکآبادی) |
5 |
|
برنامهاي بنويسيد كه با گرفتن يك عبارت رياضي، نتيجه محاسبه آن را چاپ نمايد. یک عبارت ریاضی مجموعهاي از اعداد اعشاري مثبت يا منفي، عملگرهاي +، -، ×، /، پرانتز باز و بسته و توابع مثلثاتي شامل sin، cos، و tan ميباشد. در صورتي كه عبارت قابل محاسبه نيست، پيغام مناسب داده شود. اولویتهای ریاضی نیز باید رعایت شوند (اول پرانتز، بعد علامت منفی، بعد ضرب و تقسیم، بعد جمع و تفریق). مثالهایی از عباراتی که برنامه باید بتواند حساب کند: sin
(3.5 + 2.54 / 12) |
(عیسینیا، قرباننیا، میرزاامینی، زمانی) |
6 |
|
برنامهاي بنويسيد كه امکان بازی فکربکر را برای کاربر فراهم کند، به این ترتیب که ابتدا کامپیوتر یک ترکیب 6 تایی غیرتکراری از بین 10 رنگ آبی، سبز، زرد، قرمز، نارنجی، بنفش، طوسی، نقرهای، قهوهای و طلایی را انتخاب میکند و به کاربر اجازه میدهد که ترکیب را حدس بزند و هر بار کامپیوتر به ازای هر رنگ درست ولی در غیر جایگاه، یک مهره سفید و به ازای هر رنگ درست و در جایگاه، یک مهره سیاه نمایش میدهد. کاربر حداکثر 16 بار فرصت حدسزدن دارد و الا کامپیوتر پیروز میشود. |
(چهرقانی، جورابیان) |
7 |
|
برنامهاي بنويسيد كه امکان بازی فکربکر را برای کامپیوتر فراهم کند، به این ترتیب که ابتدا کاربر یک ترکیب 4 تایی غیرتکراری از بین 6 رنگ آبی، سبز، زرد، قرمز، نارنجی و بنفش را انتخاب میکند و سپس کامپیوتر ترکیب را حدس میزند و هر بار کاربر به ازای هر رنگ درست ولی در غیر جایگاه، یک مهره سفید و به ازای هر رنگ درست و در جایگاه، یک مهره سیاه اعلام میکند. کامپیوتر حداکثر 10 بار فرصت حدسزدن دارد و الا کاربر پیروز میشود. |
(فرحزاد، آقامیری، ملایی، عرب بافرانی) |
8 |
|
دوست شما
تعدادي نقطه روي محور حقيقي x ها ميگذارد. شما بايد کمترين تعداد
پارهخط به طول 1 روي محور رسم کنيد طوري که هر نقطه دوست شما روي
حداقل يکي از اين پارهخطها قرار گيرد. مثلا فرض کنيد دوست شما 10
نقطه به مختصات زير را روی محور حقيقي x ها مشخص کرده است: |
(اختردانش، اسلامینیا، مقدمنژاد) |
9 |
|
مرتبسازی
(Sorting) مجموعهای از اعداد را به سه روش Bubble Sort، Heap Sort و
Insertion Sort به طور کامل توضیح دهید و برای هر روش یک برنامه پاسکال
بنویسید که 10 عدد زیر را مرتب کند: |
(کهریزی، اربابصادفی) |
10 |
|
مرتبسازی
(Sorting) مجموعهای از اعداد را به دو روش Merge Sort و Shell Sort به
طور کامل توضیح دهید و برای هر روش یک برنامه پاسکال بنویسید که 10 عدد
زیر را مرتب کند: |
(ترابی، قاسمی) |
11 |
|
مرتبسازی
(Sorting) مجموعهای از اعداد را به دو روش Selection Sort و Shaker
Sort به طور کامل توضیح دهید و برای هر روش یک برنامه پاسکال بنویسید
که 10 عدد زیر را مرتب کند: |
(حیدری، علوی) |
12 |
|
مرتبسازی
(Sorting) مجموعهای از اعداد را به روش Quick Sort به طور کامل توضیح
دهید و برای این روش یک برنامه پاسکال بنویسید که 10 عدد زیر را مرتب
کند: |
(شعبانی) |
13 |
|
پشته و صف و کاربرد آنها را توضیح دهید و یک برنامه پاسکال بنویسید که یک پشته و یک صف هر کدام به ظرفیت 20 خانه ایجاد کند و کارکرد آنها را نشان دهد. |
(سبحانی، هاشمیان) |
14 |
دریافت فایل