dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/project-java-f15.docx · web viewnext, rearrange the...

21
دا ام خ ه ن ب ور پ ا ق رادی – ا م ان ون ج ش ن ی: دا ن مت ل ی ا اری ق ه ی اول: کدگد ورر پConsider the following encryption scheme to encode messages. Create a matrix with the letters of the alphabet as follows: 0 1 2 3 4 0 A B C D E 1 F G H I J 2 K L M N O 3 P Q/Z R S T 4 U V W X Y Then to encode any letter, create a string consisting of the row number followed by the column number. For example, the letter "G" becomes "11" and the letter "T" becomes "34". To encrypt a message, first convert each letter to its corresponding two-digit string. For example: GATES HILLMAN CENTER 1100340433 12132121220023 020423340432 Then, using a key word that does not have any repeated letters, create a grid of the digits using the numerical sequence of your converted message such that the number of columns is the same as the length of the key word. For example, if the keyword is CORTINA, we would have:

Upload: phamthuan

Post on 04-Aug-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

به نام خدا

پروژه ی اول: کدگذاری فایل متنی: دانشجویان مرادی – آقاپور

Consider the following encryption scheme to encode messages. Create a matrix with the letters of the alphabet as follows:

0 1 2 3 4

0 A B C D E

1 F G H I J

2 K L M N O

3 P Q/Z R S T

4 U V W X Y

Then to encode any letter, create a string consisting of the row number followed by the column number. For example, the letter "G" becomes "11" and the letter "T" becomes "34".

To encrypt a message, first convert each letter to its corresponding two-digit string. For example:

GATES HILLMAN CENTER

1100340433 12132121220023 020423340432

Then, using a key word that does not have any repeated letters, create a grid of the digits using the numerical sequence of your converted message such that the number of columns is the same as the length of the key word. For example, if the keyword is CORTINA, we would have:

C O R T I N A

1 1 0 0 3 4 0

4 3 3 1 2 1 3

2 1 2 1 2 2 0

0 2 3 0 2 0 4

2 3 3 4 0 4 3

Page 2: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

2

Next, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding columns of digits along with the letters. In our example, we would get

A C I N O R T

0 1 3 4 1 0 0

3 4 2 1 3 3 1

0 2 2 2 1 2 1

4 0 2 0 2 3 0

3 2 0 4 3 3 4

2

Finally, the message would be written as a sequence of digits, column by column (ignoring the letters at the top of each column):

03043 142022 32220 41204 13123 03233 01104

This is the final encoded message that is transmitted. In order to decode the message, the decrypter would have to work in reverse, as long as he or she knows the secret key word. Without this, cracking this code is much harder (but certainly not impossible).

Page 3: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

Barrel 1 Barrel 2 Barrel 3

 

 

 

 

0cm

100cm

50cm

پروژه ی دوم: ارتفاع آب در بشکه ها دانشجویان: محمدی-توسلی

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

,S=[0cm مشخص شده است(. مجموعه cm 100 تا 0cmشده است) روی هر بشکه فاصله از 10cm, 20cm, 30cm, 40cm, 50cm, 60cm, 70cm, 80cm, 90cm, 100cm].را در نظر بگیرید

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

های کناری دارد.

در هر کدام از بشکه یک سوراخ ایجاد می کنیم. سوراخ ایجاد شده در یکی از نقاط مجموعه باال ایجاد می شوند. زمانی که3 و بشکه 2، بشکه 1می باشد. سوراخ ها به ترتیب برای بشکه

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

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

در ارتفاع2 و شماره 1برای مثال شکل زیر اتصال بشکه ها را نشان می دهد، بشکه شماره سانتی40 در ارتفاع 3و 2 سانتی متری از طریق لوله به یکدیگر اتصال دارند، بشکه شماره 70

80cm، 60cm به ترتیب در ارتفاع 3 و بشکه 2، بشکه 1متری به یکدیگر اتصال دارند. در بشکه سوراخ ایجاد شده است20cmو

ورودی

داده های ورودی از طریق چند خط مطابق شکل زیر وارد می شوند. خط اول شامل دو عدد را مشخص می کند و عدد دوم ارتفاع اتصال بین2و 1می باشد که عدد اول ارتفاع اتصال بشکه

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

Page 4: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

باشد)ورودی زیر برای شکل باال صدقSکند. تمامی اعداد در ورودی باید یکی از اعداد مجموعه می کند(.

70 4080 60 20

خروجی

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

می باشد.3و عدد سوم نشان دهنده ارتفاع آب موجود در بشکه 2بشکه

70 40 20

:از جدول زیر برای تست برنامه خود استفاده کنید

Tset case 1OutputInput

80 80 8065 6580 95 100

45 30 2570 3045 95 25

0 20 2050 00 100 20

15 10 1015 590 40 10

30 20 2070 030 20 25

0 0 0100 1000 0 0

Page 5: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

پروژه ی سوم: اعداد زشت دانشجویان:سلیمانخانی-زکی زاده حدس بزنید چه اتفeeاقی! می شه برخی از اعداد رو بهشون گفت نازیبا. همه اعداد شیک و مجلسی نیستند

prime)توی ریاضیات به اعدادی که تنها فeeاکتور اول . اعداد زشت واقعا توی ریاضیات وجود دارند! افتادهfactor e) اینکه چرا بهشون می گن زشت و چه گناهی! باشه می گن اعداد زشت۵ و یا ۳ یا ۲اون ها اعداد

:طبق تعریف ما اعداد زیر زشت هستند. دارن رو می تونید بعداً پیگیری کنید. عدد زشت هستند۱۰ اولین ۱۲ و ۱۰، ۹، ۸، ۶، ۵، ۴، ۳، ۲، ۱

امین عeدد زشeت رو در زمeان مناسeب بeرای مeا مشeeخصnتوی این سوال شما یه برنامه می نویسید که میلی ثانیه حل کند. 150. برنامه ی شما باید نمونه ی مورد سوال را در کمتر از می کنه

:ورودی مسالهً. در هر خط این فایل یه عدد قرار داره. تا عدد طبیعی استk یک فایل شامل تعeeداد خطeeوط فایeeل نهایتeeا

کeeه بeeرای تسeeتاعeeداد طeeبیعی(. تا عدد ورودی به عنوان تست داریم۱۰۰یعنی نهایتاً . ) خط می باشد۱۰۰. هستند ۲۰۰۰۰ تا ۱ بین استفاده می شن

:خروجی مسالهخروجیمحتوای فایل

3711

Ugly number 3 is 3Ugly number 7 is 8Ugly number 11 is 15

است. 11 کوچکترین عدد زشت بعد از 15در اینجا

Page 6: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

پروژه ی چهارم: اعداد دوجهته - دانشجویان:علیخانی-چراغی

طوریb دوجهته است اگر نمایش عدد در مبنای bمی گوییم که یک عدد طبیعی مثبت نسبت به پایه ی در12321باشد که رقمها را از هر جهت )چپ یا راست( بخوانیم به عدد یکسانی برسیم. مثالً عدد

و بیشتر یک عدد دو جهته است. روش دو جهته کردن یک عدد بدین صورت است که اگر عدد4مبناهای دوجهته نباشد، عدد و معکوس آنرا با هم جمع می کنیم. اینکار را آنقدر تکرار می کنیم تا وقتی که به یک

به صورت زیر به یک عدد دوجهته تبدیل می10 در مبنای 87عدد دو جهته برسیم. به عنوان مثال عدد گردد:

87+78 =165 165+561=726 726+627=1353 1353+3531=4884

این که بتوان با این روش همه ی اعداد را دوجهته کرد ثابت نشده است. اما تمام اعداد دهدهی زیر تا دو میلیون196 تمام آنها دوجهته شدند. پردازش عدد 196 آزمایش شده اند و به جز عدد 10000

رقم انجام شده است ولی هنوز دو جهته نشده است.

به شما داده می شود. ابتدا10 تا 2روش آزمایش برنامه بدین صورت است که پنج عدد در مبناهای بین بار تکرار می کند.10خود عدد و سپس مبنای آن داده می گردد. برنامه ی شما دوجهته کردن عدد را تا

را چاپ کنید. بهnone بار عدد دوجهته شد. نتیجه را چاپ کنید. در غیر این صورت کلمه ی 10اگر در این مثالهای زیر توجه کنید:

خروجیورودی87,1048841211,31122113112,4233332196,10none

Page 7: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

پروژه ی پنجم: اعداد فیباینری میرزایی و گنجی در۱۰ = ۲+۸ در سیستم باینری معeادل عeدد ۱۰۱۰به عنوان مثال عدد . اعداد باینری رو حتماً می شناسید

از اعeeداد سeeری… و ۸، ۴، ۲، ۱در تعریeeف اعeeداد فیبeeاینری بeeه جeeای ضeeرب در . سیسeeتم ده دهی است:یعنی اعداد دنباله زیر. استفاده می کنیمفیبوناتچی

.… و ۲۱، ۱۳، ۸، ۵، ۳، ۲، ۱

اعeeداد. )هeeای ابتeeدایی اعeeداد فیبونeeاتچی رو در نظeeر نگرفeeتیم۱البته همون طور که می دونید ما یه دونeeه از در همeون مثeeال بeرای(. بeه دسeeت میeeادn-1 و n ام از جمeeع جملeeه n+1در این سeeری جملeeه : فیبوناتچی: شما به صورت زیر عمل می کنیدفیباینری در سیستم ۱۰۱۰محاسبه

1*5+0*0+1*2+0*1 = 7. می باشد۷ برابر با ۱۰۱۰ فیباینرییعنی معادل ده دهی عدد

رو می شeeه بeeه۱۰مثالً عeeدد . نشون دادفیباینرینمایش ( یا بیشتر از یک)هر عدد ده دهی رو می شه با یک فیبeeاینریما برای نمeeایش اعeeداد . نشون داد۱۱۱۰ که می شه ۲+۳+۵و یا ۱۰۰۱۰ که می شه ۲+۸صورت

کeه معeادل ۲+۸در مثeال گفتeeه شeده مeا از نمeایش . همیشه از نمایش با اعداد بزرگتر اسeتفاده می کeeنیم. استفاده می کنیم۱۰۰۱۰ش می شه فیباینری

فیبeeاینریمی خوایم که یه برنامه بنویسید که دو تeeا عeeدد ! تا االن احتماال فهمیدین که از شما چی می خوایم برنامeeه رو هeر جeوری دوسeeت داریeد. معتبر اون ها رو حسeeاب و چeاپ کنهفیباینریمعتبر رو بگیره و جمع

.بنویسید:خروجی مساله/ ورودی خروجیورودی

100101

The sum is: 10100

100001000

The sum is: 100000

1000010000

The sum is: 100100

Page 8: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

Emam

Saadi

Shohada

bahman

Emam

Saadi

Shohada

bahman

شبکه : این در گام درجه 2حداکثر شبکه است Disconnected این

پروژه ی ششم: باالترین درجه اتصال در میدان های شهر : هاشمی فتح اللهی ابراهیمی

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

دارد هر دو به یکدیگر اتصال دارند.

را به صورت حداقل خیابان مeeورد نیeeاز بeeرای رفتن از یeeکحداقل درجه گامبرای هر دو میدان را بeeهحداکثر درجه گام های ش$$بکهمیدان به میدان دیگر تعریف می کنیم. برای یک شبکه،

در شبکه تعریeeف می ماکسیمم درجه از بین حداقل درجه گام ها به ازای هر دو میدان صورت کنیم)در واقع از بین حداقل درجه گام ها بین هر دو میدان در شبکه، مقeدار ماکسeeیمم را انتخeeابمی کeeنیم(. اگeeر بeeرای دو میeeدان در شeeبکه هیچ مسeeیری نتeeوان یeeافت شeeبکه را بeeه صeeورت "

DISCONNECTED.تعریف می کنیم "

را پیeeدا کeeنیم. در زیeeر دو مثeeالحداکثر درجه گ$$ام ه$$ای ش$$بکهدر این سوال ما می خواهیم مختلف نشان داده شده است.

ورودی

≥P(2 خط اول دو عدد در بردارد : p≤20که نشان دهنده تعداد از میدان های شهر است و عدد ، ) R(R≥1 االeeمت چپ بeeنشان دهنده تعداد از ارتباطات در شبکه است. مثال در شکل س)دان و4eeمی میدان و دو اتصال وجود دارد.4 اتصال وجود دارد. در شکل سمت راست 4

ارتباطات را تعریف می کند. هر ازتباط به صورت زوج های دوتایی از نام میدان هeeاRخط بعدی تعریف می شود)از اول خط به صورت جفت جفت در نظر بگیرید(. نام شeeهرها منحصeeر بeeه فeeرد است و هیچ فضای خالی در داخل یک نام وجود ندارد. نام هر میدان با یک خط فاصله از هم جeeدا می شوند. چون یک شخص ممکن است بیش از یک ارتباط داشته باشد پس یک نام ممکن اسeeت

بیش از یکبار در این خط ذکر شود

خروجی

Page 9: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

برای شبکه مورد نظر در ورودی حداکثر درجeeه گeeام هeeای شeeبکه را چeeاپ می کeeنیم. اگeeر شeeبکهDisconnected“ است کلمه DISCONNECTED.را چاپ می کنیم ”

ورودیخروجیNetwork: 24 4

Saadi Bahman Emam Bahman Shohada Emam Bahman Shohada

Network: DISCONNECTED4 2Saadi Emam Shohada Bahman

به نمونه ی آزمایشی زیر توجه کنید:

Test case 1OutputInput

Network: 24 4Saadi Bahman Bahman Emam Emam Shohada Saadi Shohada

Network: 36 5Khayam Saadi Bahman Saadi Bahman Keshvari Bahman Shoada Madar Bahman

Network: 24 4Saadi Bahman Emam Bahman Shohada Emam Bahman Shohada

Network: DISCONNECTED4 2Saadi Emam Shohada Bahman

Network: 611 14Golha Defa Defa Milad Milad Enghelab Enghelab Shohada Enghelab Saadi Saadi Shohada Saadi Bahman Milad Keshvari Keshvari Bahman Keshvari Madar Madar Bahman Bahman Emam Emam Shohada Emam Arghavan

Page 10: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

پروژه ی هفتم: معادالت درجه دو محمدی زاد و رستمی

به شما داده می شود و شما با توجهAx2+Bxy+Cy2+DX+EY+F=0در این سوال یک تابع درجه ی دوم به فرم شکل معادله را تعیین می کنید. به شکل و جدول زیر توجه کنید: F تا Aبه مقادیر

B=0 و A=CدایرهB=0 هم عالمت و غیر مساوی، C و AبیضیB=0 هستند و 0 برابر C یا Aیکی از سهمیB=0 یکی نیست و C و Aعالمت هذلولی

عالوه بر تعیین نوع معادله باید اطالعاتی راجع به شکل آن نیز به دست بیاورید. به عنوان مثال برای دایره به صورت زیر مربع کامل را انجام می دهیم و مرکز و شعاع دایره را تعیین می کنیم:x2+y2+4x-6y-3=0ی

است. برای بیضی زیر نیز بدین صورت عمل می4( قرار دارد و شعاع آن برابر 2,3که مرکز دایره در )-کنیم:

(x−3)2

36−

( y−2 )2

9=1

6 یعنی 36( قرار دارد و اندازه ی قطر بزرگ آن از حاصلضرب مجذور 3,2مرکز بیضی فوق در محل ) به2 در عدد 3 یعنی 9 به دست می آید. اندازه ی قطر کوچک آن نیز از حاصلضرب مجذور 2در عدد

هستند. در مورد هذلولی هم6 و 12دست می آید. لذا، قطرهای بزرگ و کوچک بیضی به ترتیب برابر روال مشابهی طی می شود. در زیر دو مثال از فرم استاندارد هذلولی داده شده است:

(x−3)2

1− ( y−2 )2

3=1 ( y−2 )2

1−(x−3)2

3=1

آنرا نصف می کند.x=3( و خط 3,2 مثبت است، لذا نقطه ی کانونی )C منفی و Aدر مثال سمت راست، عمود منصف آن است. فرم استانداردy=2 منفی است و خط C مثبت و Aدر معادله ی سمت چپ

سهمی نیز شبیه یکی از صورتهای زیر است:

(x−3)2=12( y−1) ( y−1)2=12(x−3)

Page 11: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

محور تقارنy=1 است، لذا خط A=0( است. در سهمی سمت راست 3,2مرکز هر دو سهمی برابر ) محور تقارن است. x=3 است و خط C=0است. در معادله ی سمت چپ،

به شما داده2 خط ورودی به شما داده می شود. در هر خط یک معادله ی درجه 5برای امتحان برنامه می شود. شما باید نوع معادله و اطالعات فوق را در مورد آن چاپ کنید. به مثالهای زیر توجه کنید:

خروجیورودیx^2+y^2+4x-6y-3=0Circle, (-2,3), 4

x^2+4y^2-6x-16y-11=0Ellipse, (3,2),122x^2+2y^2+8x+12y-6=0Circle, (-2,-3),4

پروژه ی هشتم: بازی زندگی حاطمی - زمانی

n*nاین بازی توسط کامپیوتر انجام می شeeود. تعeeدادی سeلول بصeeورت یeeک مeeاتریس وجود دارند. بعضی از سeeلول هeeا زنeeده )رنeeگ زرد( و بعضeeی مeeرده )رنeeگ خاکسeeتری( هستند. بعد از گذشت یک واحد زمانی )مثالً یک ثانیه( وضعیت سلولها ها طبق قeeوانین زیر عوض می شود. بازی با یک هسته ی اولیه شروع می شود و مراحل رشد و نمو و

مرگ و میر سلول باید مرحله به مرحله نشان داده شود.

همسایه ی زنده دارد یا هیچ همسایه ی زنده ای ندارد، از1هر سلول زنده که تنهایی می میرد.

ای4هر سلول زنده ای کهeeد از کمبودهeeته باشeeده داشeeیا بیشتر همسایه ی زن ناشی از جمعیت زیاد می میرد.

همسایه ی زنده، به حیات خود ادامه می دهد. 3 یا 2هر سلول زنده با همسایه ی زنده داشته باشد، به دنیا می آید )یا زنده می3هر سلول مرده که

شود(

مراحل رشد و نمو از چپ به راست نشان داده شده اند.

حالت جالب که منجر به تولید اشکال زیبا بشود را پیدا کنید و به کاربر اجازه10حداقل دهید که آنها را بارگذاری کند. باید زمان بین تغییر حالتها قابل کنترل باشد )مثل آهسته،

در نظeeر بگیریeeد. امeeا اسeتفاده از40 در 20معمeeولی و سeریع(. حeeداقل سeایز آرایeeه را اندازه های خیلی بزرگتر توصیه می شود. تعداد همسایه ها در مرزها کمتر است.

پروژه ی نهم: حمله ی اعداد اول

Page 12: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

در این بازی یک عدد طبیعی با سرعت ثابت از باالی پنجره به سمت پایین حeeرکت می کند و کاربر باید عاملهای اول موجود در آنرا با کلیک روی دکمeeه هeeای مناسeeب

،ee،3 2پیدا کند. در قسمت پایین برنامه تعدادی دکمه وجود دارد کeeه شeeامل اعeeداد 5 ee،7 ee،11 ee،13 اربر24 و ... هستند. مثالً اگر عددeeبه سمت پایین حرکت کند و ک

4، عeeدد بeeه 3 تبدیل می شود. بعد از زدن دکمeeه ی 12 را بزند، عدد به 2دکمه ی 1 و بعeeد بeeه 2 را بزند تا عدد بeeه 2تبدیل می شود. کاربر باید دو بار دیگر دکمه ی تبدیل شود و عدد بعدی شروع به حرکت کند.

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

( بگذرد، بازی خاتمه پیدا می کند. 5قسمت از بازی از یک حد مشخص )مثالً

ایده بگیرید. tetrisدر مورد گرافیک بازی می توانید از بازی معروف

پروژه ی دهم: پازل دستی اعداد

به صورت تصادفی در آنها چیeeده15 تا 1 خانه است که اعداد 16این بازی شامل شده اند و یکی از خانه ها خالی است. کاربر باید با جابجایی خانeeه خeeالی اعeeداد را مرتب کند. بeeرای آشeنایی بیشeتر می توانیeد یکی از ویجتهeای وینeدوز را ببینیeد. در صورت امکان از یک تصویر به جای اعداد استفاده کنیeeد. برنامeeه بایeeد قeeابلیت ثبت

5بهترین رکوردها )از لحاظ زمانی( را داشته باشد. هم چنین کاربر بایeeد بتوانeeد تeeا حرکت به عقب برگردد.

پروژه ی یازدهم: مخفی کردن تصویر

را بازbmp و یک فایل متنی وجود دارند. شما باید فاییل bmpدر این پروژه یک فایل کنید و در اطالعات مربوط به پیکسلها فایل متنی را جایگذاری کنید. بدین ترتیب که

0 بایت است. هر بایت یک عدد بین 3 بیت یا 24هر پیکسل رنگی شامل سه رنگ و 1 است که میزان رنگ مربوطه را مشخص می کند. کدام از بایتها می توانند 255تا

باشد، کم ارزش155بیت را در خود حمل کنند. به عنوان مثال، اگر کد رنگ برابر را در این رنگ جایگذاری کنیم، باید کم0 است. اگر ما بخواهیم بیت 1ترین بیت برابر

تغییر می کند. اما اگر بیت154 قرار دهیم. لذا کد رنگ به 0ارزشترین بیت را برابر باشد، تغییری در کد این رنگ نمی دهیم. 1مورد نظر ما برای کدگذاری

Page 13: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

در حالت کلی، ما فایل متنی را به صورت کاراکتر به کاراکتر می خوانیم. هر کاراکتر بیت است و هر کدام از بیتها در یک کد رنگ قرار می گیرند. لذا، برای8شامل

کدگذاری سه کاراکتر به هشت پیکسل رنگی نیاز مند هستیم.

پروژه ی دوازدهم: بازی سودوکو

پنجاه پازل مختلف قرار دارند که از آسان به سeeخت مeeرتب شeeدهsudoku.txtدر فایل در این فایل نشانگر جاهای خالی هستند که باید برنامه شما آنرا پیدا کند.0اند. اعداد

برنامه ای بنویسید که یکی از این پازلها را انتخاب و نمایش دهد و سپس آنرا حل کند.

پروژه ی سیزدهم: فیلتر بلوم

در این پروژه فیلتر بلeوم را پیeاده می کنیeeد. فیلeتر بلeوم بeه درد پایگeاه داده هeای خیلی بزرگ می خورد و مشخص می کند که آیا داده ی مورد نظر در پایگاه داده موجود اسeeت یا نه. اما مشکلی که دارد این است که ممکن است فیلتر اعالم کند یک داده در پایگاه داده موجود است در حالی که این گونه نیست. البته بر عکس آن امکان پeeذیر نیسeeت. یعنی، اگر فیلتر بگوید که داده در پایگاه داده موجود نیست قطعاً درسeت خواهeeد بeeود.

نکته ی بعدی این که می توانید دقت فیلتر را کنترل کنید.

فیلتر بلوم دارای یک آرایه از بیتها است که در ابتدا همه ی آنها برابر صفر هسeeتند. هeeر می دهیمHashبار که یک داده را وارد پایگاه داده کنیم، داده را به یک تابع درهم سeeازی

” تنظیم1تا یک عدد تولید شود. حال، تمام بیتهای متناظر بeeا عeeدد در آرایeeه را برابeeر “ می کنیم. اگر بخواهیم وجود یک داده در پایگاه داده را چک کنیم بدین صورت عمل می

داده را محاسبه می کنیم. اگر بیتهای متناظر در آرایه تنظیم شeeده بودنeeدHashکنیم که به احتمال خیلی زیاد داده در پایگاه داده موجود است. اگر هنگام ورود داده بeeه پایگeeاه

آن طوری باشد که تمام مکانهای متناظر قبالً تنظیم شده باشند می گوییمHashداده، که برخورد رخ داده است. مشکل عدم دقت فیلeeتر بلeeوم همین امکeeان وقeeوع برخeeورد است. کلمات وارد شده در پایگاه داده از نوع رشته هستند. لطفاً برای مشخص کردن

به اینجانب مراجعه کنید. Hashتابع

پروژه ی چهاردهم: بازی آواری

بازی آواری یکی از بازیهای بومیان آفریقeeا اسeت کeeه از طریeeق سeeنگ و سeeطل انجeeام A مال بeeازیکن ۶ تا ۱ سنگ است. سطلهای ۴۸ سطل و ۱۲می شود. این بازی شامل

اسeeت. هeeدف این بeeازی این اسeeت کeeه سeeنگهایB مeeال بeeازیکن ۱۲ تeeا 7و سeeطلهای سeeنگ جمeeع کنeeد می توانeeد پیشeeنهاد۲۴بیشتری جمع آوری شود. اگر بازیکنی بیشeeتر از

خاتمه ی بازی را بدهد. یا می توان بازی را تا وقتی کeeه نتeeوان سeeنگ دیگeeری را خeeارج سنگ است. ۴کرد ادامه داد. در ابتدا هر کدام از سطلها دارای

Page 14: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

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

شکل زیر دقت کنید:

را انتخاب و سنگهای آنرا پخش کرده است. ۴ سطل Bدر اینجا، بازیگر

قانون دوم: پس از این که بازیگر سنگهای خود را پخش نمود، اگر آخرین خانeeه ای کeeه بeeود، آن۳ یeeا ۲به آن سنگ اضافه کرده است متعلق به حریف بeeود و تعeeداد سeeنگهای

سeنگها را بeeرای خeeود بeeر می دارد. سeپس، بeeه خانeeه ی قبلی نگeاه می کنeeد. اگeر تعeداد

Page 15: dir.ilam.ac.irdir.ilam.ac.ir/mozafar/jv/f15/Project-Java-f15.docx · Web viewNext, rearrange the grid so that the letters of the key word are in alphabetical order, shifting the corresponding

یا سه بود آنها را بر می دارد. اینکار را آنقدر تکeeرار می کeeنیم۲سنگهای این سطل هم نباشد. به شکل زیر دقت کنید:۳ یا ۲که به خانه ای برسیم که تعداد سنگهای

قانون سوم: اگر سطلی که سنگهای آنeeرا برداشeeته اید دوازده سeeنگ یeeا بیشeeتر داشeeته باشد، در اینصورت می توان یک دور در تمام خانه ها سeeنگ قeeرار داد. امeeا حeeق نداریeeد

سنگ دوازدهم را در سطل خالی شده بگذارید و از آن سطل صرفنظر کنید.

قانون چهارم: حق ندارید در یک حرکت تمeeام سeeطلهای حریeeف را خeeالی کنیeeد. انجeeاماینکار به منزله ی قبول شکست از طرف شما است.

قانون پنجم: اگر ادامه ی بازی عاقالنه نباشد یا امکان برداشتن سeeنگ دیگeeری نباشeeد، دو طرف می توانند بازی را خاتمه دهند و کسی کeeه سeeنگ بیشeeتری جمeeع کeeرده اسeت

برنده است.