تبليغاتX
سه برادر

یادداشتهای سه برادر نسل سومی





هشت وزیر 

(بحث سیاسی نیست)

کاملا علمی است.

سلام

معمای هشت وزیر یکی از تمرین های زیبا در برنامه نویسی هست. وقتی دوم دبیرستان بودم این معما را شنیدم. البته در همان بحث برنامه نویسی.  چند روز پیش دوباره این معما به ذهنم آمد.

صورت معمای هشت وزیر:

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

 

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

شروع می کنیم. ابتدا برای هر وزیر یک سطر در نظر می گیریم. یعنی هر وزیر می تواند در یک سطر قرار گیرد. پس سطر اول را به وزیر اول اختصاص می دهیم. این اولین وزیر هست پس می تواند در ستونهای ۱ تا ۸ قرار گیرد و توسط هیچ وزیری تهدید نشود. ابتدا این وزیر را در ستون اول از سطر اول قرار می دهیم.

وزیر دوم در سطر دوم. این وزیر در ستونهای اول و دوم نمی تواند قرار بگیر . چون این خانه های توسط وزیر اول تهدید می شود. پس مکانهایی که وزیر دوم می تواند قرار بگیرد  ستونهای ۳ تا ۸ از سطر دوم هست.

وهچنین وزیر های بعدی.

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

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

این عملیات توسط مغز انسان اگر بخواهد صورت گیرد برای پیدا کردن اولین حالت ممکن مدتها وقت می برد. اما  باکامپیوتر برنامه ای میتوان نوشت که 92 حالت درست را پیدا کند.

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

در اول هر حلقه مختصات جاری وزیر به یک تابع ارسال می شود و چک می کنم که آیا مکان جاری این وزیر توسط وزیرهای قبلی تهدید میشود یا نه. اگر مقدار 0 برگردانده شود یعنی وزیر نمی تواند در این خانه قرار گیرد و با یک دستور continue; حلقه را تکرار می کنیم تا وزیر را در ستون بعدی چک کند.

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

فرض کنیم که به وزیر 6 رسیدیم و هشت بار حلقه اجرا شد و هشت ستون را چک کرد و جای مناسبی برای وزیر شش پیدا نکرد . در این حالت برنامه به حلقه ی داخلی منتقل نمی شود و به حلقه ی قبل بر میگردد . وزیر 5 اگر در ستون درستی مانند ستون 4 باشد به ستون صحیح بعدی منتقل می شود و دوباره وزیر شش چک می شود. این عمل بازگشت مدتها تکرار میشود تا هر هشت وزیر در جای خود قرار گیرند.

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

واما قسمت مهم برنامه:

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

ما برای این کار یک تابع با سه آرگومان تعریف می کنیم. آرگومان اول برای گرفتن سطر جاری  . آرگومان دوم برای گرفتن ستون جاری و آرگومان سوم برای اینکه به تابع بگوییم تا چندمین وزیر قبل را چک کند. مثلا اگر میخواهیم مکانی را برای وزیر 5 چک کنیم  باید این مکان با مکان ثابت شده ی وزیرهای 1 تا 4 بررسی شود.

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

حال در هر بار اجرای حلقه مکان یک وزیر ثابت شده ی قبل را از یک آرایه میگیریم و در دو متغییر قرار میدهیم.

اکنون در اولین مرحله ی بررسی باید سطر و ستون را چک کنیم.

فرض کنید می خواهیم وزیر چهار را چک کنیم.

ابتدا سطر و ستون وزیر اول در دو متغییر قرار می دهیم. وزیر چهارم نباید در سطر و یا ستون وزیر اول باشد. اگر برابر بودند تابع مقدار صفر را به برنامه ارسال می کند.(بررسی بازوهای یک علامت بعلاوه)

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

با سه حلقه ی دیگر سه بازوی دیگر علامت ضرب را چک میکنیم.

در هر مرحله چک می کنیم که اگر مقادیر تولید شده با مقدار ارسال شده به تابع یکی بود مقدار صفر برگردانده شود.

اگر به انتهای تابع برسیم و مقداری برگردانده نشود یعنی اینکه وزیر جاری برخوردی نداشته است و مقدار 1 را بر می گرداند.

 

 

این توضیحات فقط در ذهن شما یک دید کلی و کامل بر روی حل این مساله ایجاد می کند. بقیه ی کارها با خود شماست.

سورس برنامه ای را که نوشتم در اینجا قرار دادم تا بتوانید آن را ببینید.

(برنامه در بورلند نوشته شده است. برای کامپایل آن در توربو سی باید چند جای آن را تغییر دهید و چند int را از برنامه حذف کنید. *می توانید خطاهای توربو را پیگیری کنید*)

لازم به ذکر است که برای حل مسائل به این شکل راه های زیادی وجود دارد.

اگر وقت شد در ارسال های بعدی برنامه را به صورت خط به خط توضیح خواهم داد.

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

(املای مطن نوشطه شده جند بار چک شده اصت. پس لتفا قلت های املایی را گذارش ندحید.)

با تشکر

سید امیر

 

نوشته شده توسط سید امیر | لینک ثابت | موضوع: برنامه نویسی |

سرعت دانلود باور نکردنی در سایت دانشگاه 

سلام

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

باورم نمیشه که سرعت دانلود ۴۰۰ کیلوبایت بر ثانیه هست.

همیشه با سرعت حد اکثر ۱۷ دانلود میکردم. اینبار اتفاقی روی یکی از سیستمها نشستم که سیستم اولی هست. سرعت دانلودم رسیده به ۴۴۲ k/s .

این هم عکس:

نوشته شده توسط سید امیر | لینک ثابت | موضوع: فناوری اطلاعات |

لاله واژگون 

 

لاله واژگون كه مردم بومي بويراحمد به اون گل اشك هم ميگن. اين عكس رو از باغچه توي خونه گرفتم .

 

 

لاله واژگون 

 

ExposureTime:

1/250 sec

FNumber:

f 5.6

FocalLength:

42 mm

 

نوشته شده توسط سید همت | لینک ثابت | موضوع: |

عصر حملات سایبر 

بسم الله

 

سلام

 

همیشه نوشتن اولین پست سخته.  آدم نمیدونه از کجا شروع کنه. ولی من از همین امروز شروع میکنم. یا همین امشب! الان ساعت ۱:۲۵ دقیقه ی بامداد روز ۲۶ بهمن سال ۱۳۸۶ هست. اگه خدا بخواهد انشاءلله فردا صبح دارم میرم نجف آباد تا ترم دوم دانشگاه را شروع کنم. ترم اول معدلم زیاد خوب نشد ولی خودم راضی بودم  .

از پس فردا باید بروم سر کلاس C++ .سی پلاس پلاس را دوست دارم اما از درس های اولیه دانشگاه مثل همین فیزیک و ریاضی و .. خیلی خوشم نمیاد. اما چه باید کرد؟؟؟؟

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

 مثلا میتوان کاری کرد که برق ورودی به یک دستگاه افزایش یابد و یا نوسان برق را آنقدر بالا برد که بیش از حد توان دستگاه شود و دستگاه از بین برود. در یک مثال ساده: اگر پاور كيس سيستم خود را کمی دست کاری کنید و کلید برق را از ۲۲۰ به ۱۱۰ تغییر دهید چند خازن عدسی پاور منفجر میشود. چون دکمه, جریان را به مداری می فرستد که برای برق ۱۱۰ ولت طراحی شده است و اگر به آن ورودی ۲۲۰ ولت بدهیم، قطعات دستگاه منفجر می شود!(البت نه انفجار از نوع هسته اي!)

( یک نمونه را اینجا بخوانید... )

اگر بتون این کار را از راه دور انجام داد چه می شود؟! یا کافیست بتوان با یک برنامه مخرب مسیر های انتقال اطلاعات را در CPU کامپیوتر جا به جا کرد در نتیجه سی پی یو داغ کرده و از بین می رود.

امروز هم که سالگرد اعلام حکم ارتداد سلمان رشدی توسط امام خمینی بود. شاید یک روز توانستم از پشت کامپیوتر حکم اعدام سلمان رشدی را اجرا کنم. ( این تنها خیال و آرزوی من است اما به این هم فکر میکنم که روزی کامپیوتر و اینترنت حتی در خیال و آرزوی مردم هم نمی آمد، هر چند كه يكي از عوامل پيشرفت صنعتي و هنري انسان همين قوه تخيل اوست، البته از قديم هم گفته اند آرزو بر جوانان عيب نيست!)

 

 

نوشته شده توسط سید امیر | لینک ثابت | موضوع: فناوری اطلاعات |

محرم،مداحی عربی - فارسی، جوان نورس و اینکه خدا بت نیست!! 

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

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

یه قسمتی که از زبان امام حسین علیه السلام میگه: عبدالله غلاما یافعا  // و قریش یعبدون الوثنین

ترجمه اش رو اینطوری نوشته بودن که: هرگز خداوند بت نیست// در حالی که قریش بت می پرستیدند!! چند بار که گوش دادم ، دیدم این دو قسمت ترجمه به هم نمی خورن! بعد از کمی دقت، با این سواد عربی نصفه نیمه ام ! متوجه شدم که مترجمین گرامی صدا و سیما، " عَبَدَ " رو " اَبَدَ " سماع نموده اند، و اون رو به معنای "هرگز" ترجمه کرده اند و بعدش هم " غلاما یافعا " رو به معنای بت ترجمه نموده اند!! در صورتی که غلاما یافعا به معنای جوان نورس و نوجوان تازه بالغ است! و ترجمه صحیح این بیت از شعر اینطوره : " (پدر من علی) خدا را عبادت می کرد در حالی که جوانی نورس بود، و در همان زمان قریش بت می پرستیدند!(دو بت لات و عزی را !)"

فایل صوتی این مداحی زیبا رو میتونید از اینجا و اینجا  دانلود کنید. این هم لینک فایل تصویری اون در یوتیوب

 

نوشته شده توسط سید ابراهیم | لینک ثابت | موضوع: نقد |

برف و نور 

 

شب برفی یاسوج - بلوار امام خمینی(ره)

 

Camera model: NIKON D40X

 
.Exposure time:  ۵ sec

ISO speed: ISO-۲۰۰

F-stop: f/5.3

Focal Length: ۱۸mm

نوشته شده توسط سید همت | لینک ثابت | موضوع: |

عکسهای برف در قم و حرم مطهر 

برف امروز مثل بیشتر شهرهای ایران، قم رو هم سفید پوش کرد. توی این 13 سالی که قم هستم، به جز سال 75 که یه برف سنگین اومد، دیگه یادم نمیاد برفی به این سنگینی اومده باشه. البته روشنه که "سنگینیة کل شیئ بحسبه! " .

 الان هم هوا به شدت سرده. مثل اکثر شهرهای ایران. این چند تا عکس رو ببینید، البته نه دوربین عکاسیش حرفه ئیه و نه عکاسش!

       

      

 

 

نوشته شده توسط سید ابراهیم | لینک ثابت | موضوع: |

اولین عکس 

 

 

بسم الله الرحمن الرحیم

سلام. تازه وارد دنیای عکاسی شدم. از این به بعد عکسامو میذارم. دوستان نظر بدن ممنون میشم.

این هم عکس یه شاخه انجیره که توی حیاط خونه پیداش کردم. سوژه دم دست تر از این نبود.

Camera model: NIKON D40X

 
.Exposure time: 1/125 sec

ISO speed: ISO-100

F-stop: f/5.3

Focal Length: 46mm

 

نوشته شده توسط سید همت | لینک ثابت | موضوع: |

علم بهتر است یا ثروت؟! 

علم بهتر است یا ثروت؟! شاید این عمومی ترین و کلیشه ای ترین موضوعی باشد که همه  ما لااقل یک بار انشائی در مورد آن نوشته و در کلاس درسمان خوانده ایم. نمی خواهم در مورد برتری علم یا ثروت داوری کنم و این شبهه چندین ساله را حل کنم! بلکه نکته ای را که می خواهم به آن اشاره کنم شکل و روش برگزاری کلاسهای درس ابتدایی و راهنمایی مان بود.

تا جائی که به خاطر دارم، از کلاس انشاء خوشم نمی آمد. معلمهای من معمولا فقط موضوع انشاء را روی تخته سیاه می نوشتند و از ما می خواستند پیرامون آن موضوع، انشائی بنویسیم؛ علم بهتر است یا ثروت، مقام شهیدان را توصیف کنید، درباره مقام معلم انشائی بنویسید، درباره 22 بهمن و پیروزی انقلاب ... ولی اشاره ای به روش نوشتن آن نمی کردند. به من یاد ندادند که نوشتن چیست و چگونه باید باشد و توی دانش آموز خردسال از کجا باید نوشتن(1) را شروع کنی . شاید خودم هم مقصر باشم، اما دلیلش هر چه که باشد، این روزها دستم به قلم نمی رود و به سختی می توانم قلمی بر کاغذ روان کنم.

اگر شما راهی برای روانی این قلم پیشنهاد کنید، با جان و دل خواهم شنید.

 

(1). یا به قول دخترک خردسالم: " نویسیدن "! هر روز قلم در دست، یا نقاشی می کشد و یا به قول خودش مقش نویسیده می کند! دایره لغاتش بد نیست، یک کلمه جدیدی را که یاد میگیرد، از آن، کلمات و اصطلاحات جدیدی می سازد. مثلا وقتی می گوئیم این کفش مردونه ست، میگه خب کفش من هم بچه یونه ست، و کفش مامان هم مامان یونه ست! کفش تو هم بابایونه ست!

در مورد استفاده از رایانه و تخصصهایش هم بعدا می نویسم. منتظر عکسها و نوشته های برادرانم باشید.

 

 

 

نوشته شده توسط سید ابراهیم | لینک ثابت | موضوع: نقد |

شروع 

بسم الله

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

نوشته شده توسط سید ابراهیم | لینک ثابت | موضوع: |