0% found this document useful (0 votes)
20 views3 pages

Mid Prep 01 SampleSolution

Uploaded by

sajjad.ab2020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views3 pages

Mid Prep 01 SampleSolution

Uploaded by

sajjad.ab2020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

‫برای این ار وجود دارد؟‬ ‫)‪ (private‬تع ف کن م‪ .

‬چه دﻻ‬ ‫– در تع ف ک ﻼس‪ ،‬ف لدهای آن را ه طور خصو‬


‫اوﻻ توان م هن ام مقدارد ه این ف لدها اعت ارسن های ﻻزم را انجام ده م تا از ناسازاری دادههای داخل اش اء جلوگ ی کن م‪.‬‬
‫ثان ا ا ر تغی ی در نحوه پ ادهسازی آن ا انجام ده م ن ازی ه تغی تمام کدهای استفاده کننده نخواهد بود‪.‬‬

‫ﭘﺮﺳﺶ ‪ – ۲‬ک رشته را مطلوب نام م ا ر تمام ارا های غ عددی آن را حذف کن م‪ ،‬خواندن رشته ا مانده از چپ و راست‬
‫ً‬
‫ن جه کسا داشته اشد‪ .‬مث رشته ”‪ “a0gd9gg 8s890s‬این خاص ت را دارد چون ا حذف ارا های غ عددی ه‬
‫”‪ “098890‬ت د ل شود که خواندن آن از چپ و راست ک ن جه دارد‪ .‬ا ر رشتهای هیچ ارا عددی نداشته اشد هم مطلوب‬
‫ازگش ه نام ‪ matloob‬بن س د که ک رشته ه عنوان ارام گ د و تعی کند مطلوب است ا نه‪ .‬توان د برای‬ ‫است‪ .‬تا‬
‫خوانا ب ش از توابع م استفاده کن د اما در نوش هیچ ک از توابع از حلقه استفاده نکن د‪.‬‬

‫{ )‪bool isdigit(char c‬‬


‫;'‪return c >= '0' && c <= '9‬‬
‫}‬

‫{ )‪bool matloob(string s‬‬


‫)‪if (s.length() == 0‬‬
‫;‪return true‬‬
‫))]‪if (!isdigit(s[0‬‬
‫;))‪return matloob(s.substr(1‬‬
‫))]‪if (!isdigit(s[s.length()-1‬‬
‫;))‪return matloob(s.substr(0, s.length()-1‬‬
‫;))‪return s[0] == s[s.length()-1] && matloob(s.substr(1, s.length()-2‬‬
‫}‬
‫طب عتا جزئ ات پ ادهسازی تواند متفاوت اشد‪.‬‬

‫ازگش بن س د که ک بردار از اعداد صحیﺢ مث ت ه همراه ک عدد هدف ه عنوان ارام گ د و در صورت‬ ‫ﭘﺮﺳﺶ ‪ – ۳‬تا‬
‫‪.‬‬
‫وجود‪ ،‬ز رمجموعهای از اعداد بردار را بن سد که مجم ع آن ا مساوی عدد هدف شود در صورت ن از توان د ارام های اضافه ن‬
‫برای تابع تع ف کن د‪.‬‬

‫{ )‪bool subset_sum(vector<int>& set, int target, vector<int>& subset, int i = 0‬‬


‫{ )‪if (target == 0‬‬
‫)‪for (int i = 0; i < subset.size(); i++‬‬
‫;' ' << ]‪cout << subset[i‬‬
‫;‪cout << endl‬‬
‫;‪return true‬‬
‫}‬
‫))(‪if (i >= set.size‬‬
‫;‪return false‬‬

‫;)]‪subset.push_back(set[i‬‬
‫))‪if (subset_sum(set, target - set[i], subset, i+1‬‬
‫;‪return true‬‬
‫;)(‪subset.pop_back‬‬

‫;)‪return subset_sum(set, target, subset, i+1‬‬


‫}‬
‫طب عتا جزئ ات پ ادهسازی تواند متفاوت اشد‪.‬‬
‫ﭘﺮﺳﺶ ‪ – ۴‬فرض کن د قرار است ک نرمافزار فروش این ن‬

‫د بال و‬
‫موس تول د کن م‪ .‬در این نرمافزار آلبومهای موس و ا‬
‫تکآهنگها ه طور آنﻼین فروخته شوند‪ .‬در ج ان تول د این‬
‫نرمافزار ا د اطﻼعات آلبومهای موس را در برنامه مدلسازی‬
‫کن م‪ .‬ش ل مقا ل نمونهای از جلد ل ح ف دهی ک آلبوم موس را‬
‫پرشيد‬ ‫نما ش دهد‪ .‬چه ﻼس ا ﻼسها مرت ط ا آلبوم موس تع ف‬
‫کن د؟ ف لدهای این ﻼس)ها( را مشخص کن د )همراه ا تا پ‬
‫آن ا(‪ .‬ن ازی ه تع ف سازندهها ا متدها ن ست‪.‬‬
‫تهيه و پخش‪ :‬خالتور رکوردز – ‪١۴٠٠‬‬

‫راه حل پ شن ادی این است که ک ﻼس برای نگ داری هر ک از ترانهها و ک ﻼس برای نگ داری اطﻼعات ل آلبوم تع ف شود‪.‬‬
‫هر آلبوم ل س از ترانههای خود را نگه دارد‪:‬‬
‫ا ر برای خواننده و ا ترانه ا‬
‫{ ‪class Track‬‬
‫‪public:‬‬
‫ﻼس جدا تع ف شده بود‬
‫‪// ...‬‬ ‫هم درست است‬
‫‪private:‬‬
‫;‪string onvan‬‬
‫;‪string taraane_saraa‬‬
‫;‪int duration‬‬
‫;}‬

‫{ ‪class Album‬‬
‫‪public:‬‬
‫‪// ...‬‬
‫‪private:‬‬
‫;‪string onvan‬‬ ‫‪Track* also‬‬
‫;‪string artist‬‬ ‫‪works‬‬
‫;‪string producer‬‬
‫;‪int year‬‬
‫;‪vector<Track> tracks‬‬
‫}‬
‫ را شان دهد که برای ار ا نقاط در فضای دو عدی تع ف‬Point ‫ – قطعه برنامهی مقا ل نمونهای از استفاده از ﻼس‬۵ ‫ﭘﺮﺳﺶ‬
.(‫ )ن ازی ه نوش دنهی متدها ن ست‬.‫ را بن س د‬Point ‫( ﻼس‬public) ‫ خش عمو‬.‫شده است‬

Point p(10, 2.3);


Point q;
p.translate(12.4, -3.1);
Point r = p.rotate(q, 30);
cout << p.x() << p.y() << endl;

class Point {
public:
Point(double x, double y);
Point();
void translate(double dx, double dy);
Point rotate(Point p, double angle);
double x(); double y();
private:
// ...
};

.‫ا توضیﺢ ده د‬ ‫آن ا را مشخص کن د و مخت‬. ‫ خطای زمان ام ا ل است‬۴ ‫ – برنامهی ز ر حاوی‬۶ ‫ﭘﺮﺳﺶ‬
#include <string>
#include <iostream>
using namespace std;

class book {
public:
void book() { pages = 0; } ‫سازنده ن تواند تا پ ازگشت داشته اشد‬
void set_name(string& n) { title = n; }
string get_title() { return title; }
bool equals(const book& b) const { return title == b.title; }
int pages;
private:
string title;
};

int main() {
book b1(30, “Hungry Horrace”); ‫چن سازندهای ندار م‬
book b2;
b2.pages = 260;
b2.title = “Three Weeks in the Bucket”; ‫ه ف لد خصو مجاز ن ست‬ ‫دس‬
if (b1.equals(m2))
cout << “equal\n”;
if (b1 != b2) ‫عمل ر = ه طور پ شفرض برای ﻼسها تع ف شده است‬
cout << “not equal\n”;
}

You might also like