مبانی سی پلاس پلاس

به وبسایت سامینتک خوش آمدید.
در صورت تمایل می‌توانید به صفحه ی دانلود کتاب آموزش زبان سی پلاس پلاس به کمک این لینک بروید و در آنجا کتاب را دانلود کنید. علاوه بر کتاب الکترونیکی دکتر ولی زاده، برای مشاهده ی نمونه سوال هایی از دکتر بگ محمدی هم می توانید از این لینک استفاده کنید.

 

تمرین های مبانی برنامه نویسی (سی پلاس پلاس)

۱- برنامه ای بنویسید که میانگین سه عدد ۵ و ۶ و ۷ را محاسبه و چاپ کند.
لینک پاسخ

۲- برنامه ای بنویسید که سه عدد را دریافت کرده و در هم ضرب کند و نتیجه ی ضرب را هم به صورت صحیح و هم به صورت اعشاری نمایش بدهد.
لینک پاسخ

۳-برنامه ای بنویسید که پنج عدد از ورودی دریافت کرده و ماکسیمم و مینیمم آن ها را پیدا کند.
لینک پاسخ

۴- برنامه ای بنویسید که پنج عدد از ورودی دریافت کرده و دو عدد بزرگتر را پیدا کرده و چاپ کند.
لینک پاسخ

۵- برنامه ای که معدل دانشجو را بخواند و متناسب با آن جملاتی چاپ کند:
اگر بالاتر یا مساوی از ۱۸ باشد بنویسد شما دانشجوی بسیار خوبی هستید،
اگر بین ۱۵ تا ۱۸ باشد بنویسد شما دانشجوی خوبی هستید،
اگر بین ۱۲ تا ۱۵ باشد بنویسد شما دانشجوی نرمال هستید،
اگر پایین تر ۱۲ باشد بنویسد شما دانشجوی ضعیفی هستید.
لینک پاسخ

۶- برنامه ای بنویسید که n عدد را از ورودی دریافت کرده و تعداد عدادی که بر ۳ بخش پذیر است و تعداد اعداد زوج را بشمارد.
لینک پاسخ

۷- برنامه ای بنویسید که n عدد را دریافت کند و مجموع اعدادی که در مکان های فرد هست را چاپ کند.

۸- برنامه ای بنویسید که n عدد را دریافت کند و مجموع اعدادی که در مکان های فرد و زوج هست را چاپ کند. (اختیاری)

۹- برنامه ای بنویسید که دو عدد دریافت کرده و با استفاده از تابع بزرگ‌ترین مقسوم علیه مشترک (ب م م) و کوچک‌ترین مضرب مشترک (ک م م) آن‌ها را محاسبه کند.

۱۰- برنامه ای بنویسید که n عدد را از ورودی دریافت کند و با استفاده از تابع حاصل جمع و حاصل ضرب ارقام آن ها را محاسبه و چاپ کند.

۱۱- برنامه ای بنویسید که با استفاده از تابع چک کند عدد آیینه است یا نه؟ مثلا عدد ۱۲۳۲۱ آیینه است.

۱۲- برنامه‌ای بنویسید که ده عدد را دریافت کند و اعدادی که فاصله‌ی آن‌ها از مرکز با هم برابر است را با هم جمع کرده و چاپ کند.

۱۳- برنامه ای بنویسید که یک ماتریس صحیح ۵*۵ را دریافت کند و عملیات زیر را بروی این ماتریس انجام دهد،
۱. بزرگ‌ترین عدد هر سطر و ستون را چاپ کند،
۲. ترانهاده‌ی ماتریس را چاپ کند.

 

سوالات امتحان مستمر مبانی سی پلاس پلاس دکتر ولی‌زاده

۱. برنامه‌ای بنویسید که n را از ورودی بخواند و سری زیر را محاسبه کند.

S=1/n!+(n-1)!/2+3/(n-2)! … + 1

(توضیحات تکمیلی: این سری تا زمانی پیدا می‌کند که به عدد یک برسیم، اما عامل محدود کننده‌ی دیگر فاکتوریل است! یعنی تا زمانی اعضا را با هم جمع می‌کنیم که در محاسباتمان به فاکتوریل یک عدد منفی نرسیم! پس ممکن است این سری به ۱ منتهی نشود! و باید شرط دوم را لحاظ کنیم)
لینک پاسخ

۲. برنامه‌ای بنویسید که شکل زیر را چاپ کند.

1
1 2 1
1 2 3 2 1

1 2 3 4 5 6 7 8 7 6 5 4 3 2 1

لینک پاسخ

۳. برنامه‌ای بنویسید که تمام مضارب کوچک‌تر از ۱۰۰۰ عدد ۳ را پیدا کند به طوری که آن عدد حاصلضرب یک عدد اول در ۳ باشد (مثل ۲۱ و ۳۳)

 

نمونه سوالات آموزشی برای برنامه نویسی (سی پلاس پلاس)

۱. برنامه‌ای بنویسید که n را از ورودی بخواند و سری‌های زیر را چاپ کند:

a) 1+2+3+4+5+ … +n
b) 1-2+3-4+ … +-n
c) 1+2-3-4+5+6-7-8+ … +-n
d) 1+1/2+1/3+ … +1/n
d) 1+1/2+3+1/4+5+ … + n
e) 1+2!/2+3!/3+4!/4+ … +n!/n
f) 2^1/1!+2^2/2!+2^3/3!+ … + 2^n/n
g)1+1+2+3+5+8+13+21+34+ …. +n

۲. برنامه‌ای بنویسید که n را از ورودی بخواند و الگوهای زیر را چاپ کند. (در مثال های زیر n=5 است)

الف
a
ab
abc
abcd
abcde

ب
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1

ج
*****
****
***
**
*
**
***
****
*****

د
****#****#****#****#****#

راهنمایی: تعداد کل کاراکترها n*n است. کاراکترهایی که در مکان های بخش پذیر بر n هستند # و در غیر این‌صورت * هستند.

۳. برنامه‌ای بنویسید که n را از ورودی دریافت کند و چک کند که آیا عدد کامل است یا نه؟
عدد کامل (عدد تام) عددی است که جمع مقسوم علیه‌های کوچکتر از خودش با خودش برابر است. مانند ۶=۱+۲+۳

۴. تابعی بنویسید که n را بگیرد و تعداد صفرها و تعداد یک های آن عدد را برگرداند.
راهنمایی: این تابع دو خروجی دارد!

 

چند تمرین در رابطه با آرایه (یک بعدی)

Fill an array
۰. تابعی بنویسید که چند عدد را از کاربر بگیرد و آن اعداد را در یک آرایه ذخیره کند و آرایه را برگرداند.

int[] fillArray(int size);

Remove an item from array
۱. تابعی بنویسید که یک آرایه عددی و عدد i را از ورودی آرگومان بگیرد و i امین عضو آرایه را حذف کند و آرایه ی جدید را برگرداند.

int[] removeItem(int[] a, int size, int i);

Searching an item in array
۲. تابعی بنویسید که یک آرایه عددی و عدد n را از ورودی آرگومان بگیرد و عدد n را در آرایه جستجو کند و اندیس عضو پیدا شده را برگرداند.

int search(int[] a, int size, int n);

Insert an item to array
۳. تابعی بنویسید که یک آرایه عددی و عدد n و یک اندیس مانند i را از ورودی آرگومان بگیرد و عدد n را در مکان i ام آرایه اضافه کند و آرایه‌ی جدید را برگرداند.

int[] insert(int[] a, int size, int n, int i);

Display an array
۴. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و کل اعضای آن را چاپ کند.

void printArray(int[] a, int size);

Reverse an array
۵. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و آن را برعکس کند و آرایه‌ی جدید را برگرداند. مثلا برعکس آرایه‌ی {1,2,3,4} می‌شود آرایه‌ی {4,3,2,1}

int[] reverseArray(int[] a, int size);

Sort an array
۶. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و آن را از کوچک به بزرگ مرتب کند و آرایه‌ی جدید را برگرداند.

int[] sort(int[] a, int size);

Find max of array
۷. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و اندیس عضو ماکسیمم آن را برگرداند.

int max(int[] a, int size);

Find min of array
۸. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و اندیس عضو مینیمم آن را برگرداند.

int min(int[] a, int size);

Sum of array
۹. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و جمع تمام اعضای آن را برگرداند.

int sum(int[] a, int size);

count of non-zero
۱۰. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد تعداد اعضای غیر صفر آن را برگرداند.

int countOfNonZero(int[] a, int size);

Copy an array
۱۱. تابعی بنویسید که یک آرایه عددی را از ورودی آرگومان بگیرد و یک کپی از آن آرایه را برگرداند.

int[] copyArray(int[] a, int size);

Merge two array
۱۲. تابعی بنویسید که دو آرایه عددی را از ورودی آرگومان بگیرد و دو آرایه را با هم ادغام کرده و آرایه‌ی جدید را برگرداند.

int[] mergeArray(int[] a, int sizeA, int[] b, int sizeB);

 

چند تمرین در رابطه با آرایه دو بعدی (ماتریس)

۱. تابعی بنویسید که تساوی دو ماتریس را چک کند.

bool isEqual(int[][] a, int Ai, int Aj, int[] b, int Bi, int Bj);

۲. تابعی بنویسید که تعداد اعضای صفر ماتریس را برگرداند.

int zeroCount(int[][] a, int Ai, int Aj);

۳. تابعی بنویسید که دو ماتریس را با هم جمع کند و ماتریس حاصل را برگرداند. (هر عضو از ماتریس A با عضو متناظرش در ماتریس B جمع می‌شود)

int[][] arraySum(int[][] a, int Ai, int Aj, int[] b, int Bi, int Bj);

۴. تابعی بنویسید که دو ماتریس را در هم ضرب کند. (ضرب ماتریسی)

int[][] arrayProduct(int[][] a, int Ai, int Aj, int[] b, int Bi, int Bj);

۵. تابعی بنویسید که یک مقدار را بگیرد و آن را در ماتریس جستجو کرده و اندیس (i و j) عضو پیدا شده را برگرداند. از ارسال آرگومان با ارجاع (یا اشاره‌گرها) استفاده کنید.

void arraySearch(int[][] a, int Ai, int Aj, int s, int& i, int& j);

 

کلاس خارج از برنامه
روز چهارشنبه 25 آذر ساعت 12:30 در سایت کلاس برگذار شد.

 

مهلت تحویل تمرین
فقط روزهای دوشنبه ساعت ۱۲:۰۰ تا ۱۳:۳۰
آخرین تمرین باقی مانده (رشته) در تاریخ ۲۸ دی (دوشنبه ساعت ۱۲) تحویل گرفته می‌شود.

 

نکات مثبت
*تحویل سر وقت تعیین شده
*نوشتن برنامه های کوتاه و منظم و با رعایت فاصله ها در کدنویسی (کدهای دندانه ای یا تو رفته)
*مستندسازی (در برنامه هایتان از نام های با معنی و قابل درک برای توابع و متغیر ها استفاده کنید و سعی کنید جلوی هر دستور توضیحات آن را بنویسید)
*برنامه های کاربر پسند(مثلا وقتی که از کاربر ورودی میخواهید پیام مناسب و کاملی را چاپ کنید و …)

2 thoughts on “مبانی سی پلاس پلاس

    1. سلام، ممنونم
      همونطور که میدونین کامپایلرهای سی پلاس پلاس با رسیدن به خط آخر تابع main برنامه رو قطع میکنن و اگر ما توی صفحه چیزی چاپ کرده باشیم، مهلت دیدن اون رو از ما میگیره! و سریع قطع میشه!
      اما اگه تابع getch رو آخر برنامه بنویسیم، کامپایلر با رسیدن به این خط منتظر دریافت یک کلید از صفحه کلید میشه و تا یه دکمه رو فشار ندیم برنامه قطع نمیشه و ما تو این مدت راحت میتونیم خروجی رو مشاهده کنیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *




Enter Captcha Here :