صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

خاطراتی برای یلدا بازی وبلاگی

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


تن ماهی


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


User-Defined Conversions تبدیل تعریف شده توسط کاربر

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

نحوه این کار دارای ساختار زیر است .نحوه تعریف تبدیل implicit and explicit یکسان است فقط با کلمه implicit and explicit متمایز می شوند .

علاوه بر آن سطح دسترسی public  و static  باید باشد .

به ساختار زیر دقت کنید .



1-required  : همانطور که در بالا اشاره شد این بخش باید public static  باشد

2-کلمه کلیدی implicit and explicit ، به اضافه operator  فرقی نمی کند تبدیل ما صریح باشد یا ضمنی

3-  target  : قرار است که تبدیل هدف ما چه باشد ، یعنی نوع مورد نظر ما را همان target  تبدیل خواهد شد .

4-source  :   در واقع منبع تبدیل است ، یعنی قرار است چه داده ای تبدیل شود .

5- return ObjectOfTargetType: مقداری که باید برگردد ، یا همان مقدار برگشتی که باید از نوع همان داده مشخص شده در target  باشد.

 

اکنون به مثال زیر دقت کنید که چگونه متغیری از نوع person  به نوع عددی تبدیل می شود .



محدودیتهای تبدیل تعریف شده توسط کاربر

 

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

1-تبدیل تعریف شده توسط کاربر فقط برای کلاسها و ساختارها کاربر دارد.به عبارتی حتما درون کلاس یا ساختار تعریف می شوند .

2-شما نمی توانید این قانون را برای تبدیلات استاندارد اعمال کنید مثلا در مقاله قبل ذکر کردیم که برخی تبدیلات را براحتی می توان تبدیل کرد پس نیازی به تعریف تبدیل خاص نیست .

3-پنج حالت زیر در مورد تبدیلات باید رعایت شود فرض کنیم s  یک منبع تبدیل یا همان source type  و T  یک نوع هدف target type متفاوت باشند

 

 *-S  و T  باید از دو نوع متفاوت باشند.

*- S  و T  نباید هیچ رابطه وراثت باهم داشته باشند .

*-S  و یا T  نباید اینترفیسی از یک object  دیگر باشند .

 

به مثال زیر دقت کنید .



یک کلاس person  داریم که در این کلاس 2 تبدیل تعریف شده داریم ، در تبدیل اول هر گاه پارامتر ما از نوع کلاس person  باشد به متغیر عددی تبدیل می شود

اما در تبدیل دوم پارامتر عددی به نوع کلاس person  تبدیل می شود .

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




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

 

Person Info: bill, 25

چرا ؟ چون ما مشخص کردیم که هر وقت شی person  به خواهد به مقدار عددی تبدیل شود پارامتر p.Age  ارسال شود .

 

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

 

Person Info: Nemo, 35

علت ترقی کشورهای توسعه یافته با خاطره ای از پروفسور حسابی

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

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


" دانشگاه شیکاگو بسیار پیشرفته بود. مهم تر از هر چیزی آزمایشگاه های متعدد و معتبر آن بود. من در لابراتوار بسیار پیشرفته اپتیک، مشغول به کار شدم. در خوابگاه دانشگاه هم اتاق مجهزی برای اقامت، به من داده بودند. از نظر وسایل رفاهی، مثل اتاق یک هتل بسیار خوب بود. آدم باورش نمی شد، این اتاق در دانشگاه باشد. معلوم بود که همه چیز را، برای دلگرمی محققین و اساتید، فراهم کرده بودند. نکته خیلی مهم و حائز اهمیت، آزمایشگاه ها و چگونگی تجهیزات آن بود. یک نمونه از آن مربوط به میزی    می شد، که در آن آزمایشگاه به من داده بودند، این میز کشوی کوچکی داشت، از روی کنجکاوی آنرا بیرون کشیدم، و با کمال تعجب، چشمم به یک دسته چک افتاد. دسته چک را برداشتم، و متوجه شدم تمام برگه های آن امضا شده است. فوراً آنرا نزد پروفسوری که رئیس آزمایشگاه ها و استاد راهنمای خودم بود بردم.چک را به او دادم، و گفتم: ببخشید استاد، که بی خبر مزاحم شدم. موضوع بسیار مهمی اتفاق افتاده است، ظاهراً این دسته چک مربوط به پژوهشگر قبلی بوده، و در کشوی میز من جا مانده است، واضافه کردم، مواظب باشید، چون تمام برگ های آن امضا شده است، یک وقت گم نشود.
پروفسور با لبخند تعجب آوری، به من گفت: این دسته چک را دانشگاه برای شما، مانند تمام پژوهشگران دیگر دانشگاه، آماده کرده است، تا اگر در هنگام آزمایش ها به تجهیزاتی نیاز داشتید، بدون معطلی به کمپانی سازنده تجهیزات اطلاع بدهید.آن تجهیزات را، برای شما می آورند و راه می اندازند و بعد فاکتوری به شما می دهند. شما هم مبلغ فاکتور شده را روی چک می نویسید و تحویل کمپانی می دهید. به این ترتیب آزمایش های شما با سرعت بیشتری پیش می روند.
توضیح پروفسور مرا شگفت زده کرد و از ایشان پرسیدم: بسیار خوب، ولی این جا اشکالی وجود دارد، و آن امضای چک های سفید است؛ اگر کسی از این چک سوء استفاده کرد، شما چه خواهید کرد؟
 با لبخند بسیار آموزنده یی چنین پاسخ داد: بله، حق با شماست. ولی باید قبول کنید، که درصد پیشرفتی که ما در سال بر اساس این اعتماد به دست می آوریم، قابل مقایسه با خطایی که ممکن است اتفاق بیفتد، نیست.
« این نکته، تذکر یک واقعیت بزرگ و آموزنده بود. نکته یی ساده که متاسفانه ما در کشورمان، نسبت به آن بی توجه هستیم.»
یک روز که در آزمایشگاه مشغول به کار بودم، دیدم همین پروفسور از دور مرا به شکلی غیر معمول، نگاه می کند. وقتی متوجه شد، که من از طرز دقت او نسبت به خودم متعجب شده ام، با لبخندی بسیار جذابی کنارم آمد، و گفت: آقای دکتر حسابی، شما تازگی ها چقدر صورتتان شبیه افراد آرزومند شده است؟ آیا به دنبال چیزی می گردید، یا گم گشته خاصی دارید؟
من که از توجه پروفسور تعجب کرده بودم با حالت قدرشناسی گفتم: بله، من مشغول تجربه ی نظریه ی خودم، در مورد عبور نور از مجاورت ماده هستم، برای همین، اگر یک فلز با چگالی زیاد، مثل شمش طلا با عیار بالا داشتم، از آزمایش های متعدد، روی فلز های معمولی خلاص می شدم، و نتایج بهتری را در فرصت کمتری به دست می آوردم؛ البته این یک آرزوست.
او به محض شندیدن خواسته ام، گفت: پس چرا به من نمی گویید؟
گفتم آخر خواسته من، چیز عملی نیست. من با شمش آلومینیوم، میله برنز و میله آهنی تجربیاتی داشته ام، ولی نتایج کافی نگرفته ام و می دانم که دستیابی به خواسته ام غیز ممکن است.
پروفسور وقتی حرف های مرا شنید از ته دل خنده یی کرد و اشاره کرد که همراه او بروم. با پروفسور به اتاق تلفنخانه دانشگاه آمدیم. پروفسور با لبخند و شوق، به خانمی که تلفنچی و کارمند جوان آنجا بود، سفارش شمش طلا داد و خداحافظی کرد، و رفت. من که هنوزباورم نمی شد، فکر می کردم پروفسور قصد شوخی دارد و سربه سرم می گذارد. با نومیدی به تعطیلات آخر هفته رفتم. در واقع 72 ساعت بعد، یعنی روز دوشنبه که به آزمایشگاه آمدم، دیدم جعبه ای روز میز آزمایشگاه است. یادداشتی هم از طرف همان خانم تلفنچی، روی جعبه قرار داشت، که نوشته بود:« امیدوارم این شمش طلا ، به طول 25 سانتی متر، و با قطر 5سانتی متر با عیار بسیار بالایی به میزان 24، که تقاضا کرده اید، نتایج بسیار خوبی برای کار تحقیقی شما، بدست دهد.»
با ناباوری، ولی اشتیاق و امید به آینده یی روشن کارم شروع کردم.شب و روز مطالعه و آزمایش می کردم تا بهترین نتایج را بدست آورم.حالا دیگر نظریه ام شکل گرفته بود و مبتنی بر تحقیقات علمی عمیق و گسترده یی شده بود.
بعد از یکسال که آزمایش های بسیار جالبی را با نتایج بسیار ارزشمندی به دست آورده بودم، نزد آن خانم آوردم و شمش طلا خرده شده و تکه تکه را که هزار جور آزمایش روی آن انجام داده بودم را داخل یک جعبه روی میز خانم تلفنچی گذاشتم. به محض اینکه چشمش به من افتاد مرا شناخت و با لبخند پر مهر و امیدی، از من پرسید: آیا از تحقیقات خود، نتایج لازم را بدست آوردید؟فوراً پاسخ دادم: بلی، نتایج بسیار عالی و شایان توجهی، بدست آوردم. به همین دلیل نزد شما آمده ام که شمش را پس بدهم، ولی بسیار نگران هستم زیرا این شمش، دیگر آن شمش اولی نیست، ودر جعبه را باز کردم و شمش تکه تکه شده را به او نشان دادم و پرسیدم حالا باید چه کار کنم؟ چون قسمتی از این شمش را بریده ام، سوهان زده ام و طبیعتاً مقداری از طلاها دور ریخته شده است. خانم تلفنچی با همان روی خوش لبخند بیش تری زد و به من گفت: اصلاً مهم نیست، نتایج آزمایش شما برای ما مهم است.مسئولیت پس دادن این شمش با من است.
وقتی با قدم های آرام و تفکری ژرف از آنچه گذشته است، به خوابگاه می آمدم، به این مهم رسیدم، که علت ترقی کشورهای توسعه یافته، همین اطمینان خاطر و احترام  کارکنان مراکز تحقیقاتی می باشد و بس، یعنی کافیست شما در یک مرکز آموزشی، دانشگاهی و یا تحقیقاتی کار کنید، دیگر فرقی نمی کند که شما تلفنچی باشید یا استاد، مجموعه آن مراکز در کشور های پیشرفته دارای احترام هستند و بسیار طبیعی است که وقتی دست یک پژوهشگری در امر تحقیقات و یا تمام تجهیزات باز باشد و دارای احترامی شایسته باشد، حاصلی به جز توسعه علمی در پی نخواهد داشت."

منبع: کتاب استاد عشق