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

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

زبان برنامه نویسی سی پلاس پلاس یکی از زبان های سطح میانی و شی گرا است این زبان برای بهبود زبان سی طراحی شده بود چرا که در زبان سی امکان استفاده از شی گرایی وجود نداشت و این در حالی بود که بی‌یارنه استراس‌تروپ ریاضی‌دان دانمارکی در سال ۱۹۷۹ در آزمایشگاه‌های بل توانست این زبان را اختراع کند و این زبان امروزه در تولید نرم افزار و صنعت بازی و همچنین در سخت افزار و سیستم عامل از محبوبیت بالایی برخوردار است.

امروزه زبان سی پلاس پلاس بعنوان یک درس مشترک در تمامی رشته های مهندسی برای دانشجویان ارائه می شود، چه رشته های تخصصی کامپیوتر و فناوری اطلاعات و چه رشته های مهندسی برق، مهندسی مکانیک و سایر رشته های فنی مهندسی این یکی از درس هایی است که به صورت یک درس 3 واحدی برای دانشجوها الزام می باشد.

زبان سی پلاس پلاس یک زبان سطح میانی می باشد که هم به زبان انسان نزدیک است و هم به زبان ماشین و همین امر باعث شده است به عنوان یک زبان رسمی در دانشگاه ها تدریس شود

یکی از دلایلی که 80 درصد دانشجویان در این درس نمره ی خوبی کسب نمی کنند و یا کلا این درس را پاس نمی کنند عدم آشنایی آنها با برنامه نویسی است و این امر باعث شده است که دانشجویان این درس را در ترم های پایانی انتخاب کنند. یا بیشتر دانشجویان به دعا و زیارت توسل می شوند تا یک نمره ی 10 از این درس دریافت کنند و تنها بتوانند آن را پاس کنند. در حالی که اگر با برنامه نویسی دوست باشید شاید هیچ وقت آن را رها نکنید.

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

سوالاتی که در اینجا حل می شوند در 95 درصد از امتحانات دانشجویان وجود دارد و می توانید خیلی راحت نمره ی عالی از این درس بگیرید.

سوال 1 : برنامه ای بنویسید که دو عدد a و b را از ورودی دریافت کرده و عدد بزرگتر را چاپ کند.

 

#include <iostream>
using namespace std;

int main() 
{
	int a, max=0, n;
	cout << "How much number : ";
	cin >> n;
	for (int i; i<=n; i++) {
		
		cout << i << " - Enter number: ";
		cin >> a;
		max = a > max ? a : max;
	}
	cout << "Maximum : " << max;
}

 

سوال 2 : برنامه ای بنویسید که تعدادی (نامشخص) عدد را از کاربر دریافت کرده و بزرگترین آنها را نمایش دهد.

 

#include <iostream>
using namespace std;

int main() 
{
	int a;
	cout << "Enter number: ";
	cin >> a;
	if (a%2 == 0) {
		cout << "Number is Even.";
	} else {
		cout << "Number is Odd.";
	}
}

 

 

سوال 3 : برنامه ای بنویسید که زوج یا فرد بودن یک عدد را تشخیص داده و آن را چاپ کند.

 

#include <iostream>
using namespace std;

int main() 
{
	int a, n, Odd=0, Even=0;
	cout << "How many numbers: ";
	cin >> n;
	for (int i=0; i<n; i++) {
		cout << (i+1) << "-Enter numbers: ";
		cin >> a;
		if (a%2 == 0) {
			Even++;
		} else {
			Odd++;
		}
	}
	cout << endl << "Even numbers: " << Even;
	cout << endl << "Odd numbers: " << Odd;
}

 

 

سوال 4 : برنامه ای بنویسید که اعدادی را از ورودی دریافت کند و تعداد زوج و فرد آنها را چاپ کند.

 

#include <iostream>
using namespace std;

int main() 
{
	int n;
	cout << "Enter the number: ";
	cin >> n;
	for (int i=1; i<=n; i++) {
		if (!(n%i)) {
			cout << endl << i;
		}
	}
}

 

 

سوال 5 : برنامه ای بنویسد که مقسوم علیه های یک عدد را در خروجی چاپ کند.

 

#include <iostream>
using namespace std;

int main() 
{
	int n;
	int j=1;
	cout << "Enter the number: ";
	cin >> n;
	for (int i = 0; i <= n/2; i++) {
		if (!(n%i)) {
			cout << endl << i;
			j++;
		}
	}
	cout << endl << n;
	cout << endl << "Counter: " << j;
}

 

 

سوال 6 : برنامه ای بنویسید که تعداد مقسوم علیه های یک عدد را در خروجی چاپ کند.

 

#include <iostream>
using namespace std;

int main() 
{
	int n;
	int j=1;
	cout << "Enter the number: ";
	cin >> n;
	for (int i = 1; i <= n/2; i++) {
		if (!(n%i)) {
			cout << i << ", ";
		} 
	}
	cout << n;
	cout << endl << "Counter: " << j;
}

 

 

سوال 6-1 : برنامه فوق را با استفاده از تابع بازنویسی می کنیم.

در کد زیر توانستیم هسته ی اصلی برنامه را از تابع main خارج کرده و آن را بصورت جداگانه در یک تابع بنویسیم و آن را در بدنه اصلی برنامه فراخوانی کنیم.

مزیت استفاده از تابع این است که می توان آن را برای دفعات خیلی زیاد در جاهای مختلف تنها با صدا زدن نام تایع و ارسال مقدار به ورودی تابع به عنوان آرگومان از آن استفاده کرد.

 

#include <iostream>
using namespace std;

// Function
int fdiv(int n) {
	int j = 1;
	for (int i = 1; i <= n/2; i++) {
		if (!(n%i)) {
			j++;
		}
	}
	return(j);
}


int main() 
{
	int n;
	cout << "Enter the number: ";
	cin >> n;
	cout << "div Counter: " << fdiv(n);
	
}


	

 

 

سوال 7 : برنامه ای بنویسید که عدد وارد شده را دریافت و اگر عدد اول بود پیغام مناسب را چاپ کند.برنامه فوق را با استفاده از تابع بازنویسی می کنیم.

 

#include <iostream>
using namespace std;

int main() 
{
	int n, j=1;
	cout << "Enter the number: ";
	cin >> n;
	for (int i=1; i<=n/2; i++) {
		if (!(n%i)) {
			j++;
		}
	}
	if (j <= 2) {
		cout << "This is Prime.";
	} else {
		cout << "Not Prime.";
	}
	
}

 

 

سوال 7-1 : برنامه فوق را با استفاده از تابع بازنویسی می کنیم.

 

#include <iostream>
using namespace std;

// Function
int fprime(int n) {
	int j=0;
	for (int i=2; i<=n/2; i++) {
		if (!(n%i)) {
			j++;
		}
	}
	return(j);
}


int main() 
{
	int n;
	cout << "Enter the number: ";
	cin >> n;
	cout << (fprime(n) ? "Not Prime." : "Is Prime.");
}

 

 

سوال 8 : برنامه ای بنویسید که اگر کاربر یک عدد را وارد کرد تمامی اعداد اول کوچک تر از آن را پیدا و چاپ کند.

 

#include <iostream>
using namespace std;

int main()
{
	int n;
	int counter;
	cout << "Enter the number: ";
	cin >> n;
	for (int i=1; i<n; i++) {
		counter = 0;
		for (int j=2; j<=i/2; j++) {
			if (!(i%j)) {
				counter++;
			}
		}
		if (!counter) {
			cout << endl << i;
		}
	}

}

 

 

سوال 8-1 : برنامه فوق را با استفاده از تابع بازنویسی می کنیم.

 

#include <iostream>
using namespace std;


// Function
int fprime(int n) {
	int j=0;
	for (int i=1; i<=n/2; i++) {
		if (!(n%i)) {
			j++;
		}
	}
	return(j);
}


int main()
{
	int n;
	int counter;
	cout << "Enter the number: ";
	cin >> n;
	for (int i=1; i<n; i++) {
		if (!fprime(i)) {
			cout << endl << i;
		}
	}
}

 

 

عدد تام چیست : عدد تام عددی است که مجموع مقسوم علیه های کوچکتر از خودش برابر با خود آن عدد باشد.

مثلا عدد 6 یک عدد تام است (6 = 3 + 2 + 1)

سوال 9 : برنامه ای بنویسید که عدد تام را پیدا و آن را چاپ کند.

 

#include <iostream>
using namespace std;

int main()
{
	int n;
	int sum = 0;
	cout << "Enter the number: ";
	cin >> n;
	for (int i=1; i<=n/2; i++) {
		if (!(n%i)) {
			sum += i;
		}
	}

	if (sum == n) {
		cout << n << " Is Tom";
	} else {
		cout << n << " Is Not Tom";
	}

}

 

 

سوال 10 : برنامه ای بنویسید که یک عدد n را از کاربر دریافت کرده و تمامی اعداد تام کوچکتر از آن را چاپ کند.

برای این کار نیاز به یک حلقه بیرونی داریم که اعداد را به ترتیب از 1 تا n بشمارد و هر بار عدد شمارش شده وارد حلقه داخلی شود و تعداد مقسوم علیه های کوچکتر از آن را محاسبه کند.

 

#include <iostream>
using namespace std;

int main()
{
	int n;
	int sum, num;
	cout << "Enter the number: ";
	cin >> num;
	for (n = 1; n < num; n++) {
		sum=0;
		for (int i=1; i <= n/2; i++) {
			if (!(n%i)) {
				sum += i;
			}
		}
		if (sum == n) {
			cout << endl << n;
		}
	}
}

 

تمرین برای شما :

آیا می توانید سوال 10 را با استفاده از نوشتن تابع حل کنید ؟

اگر توانستید سوال را حل کنید لطفا آن را در کامنت برای دوستان به اشتراک بزارید.

اگر این مقاله برای شما مفید بود ما را با دیدگاه های ارزشمندتان یاری کنید.

  • صفرویک
  • آگوست 7, 2022
  • 1
  • 491 بازدید
  • C & C++

1 دیدگاه

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