تبلیغات
Pro4 programming

نویسنده :Pourya Alinezhad
تاریخ:1392/08/1-23:53

تمرین matlab (فصل نمودارها)

برای دانلود بر روی این لینک کلیک کنید.


نویسنده :Pourya Alinezhad
تاریخ:1389/09/10-22:43

matlab e-books





نویسنده :Pourya Alinezhad
تاریخ:1389/06/15-13:50

استایل (CSS) چیست؟

CSS مخفف کلمه Cascading Style Sheets می باشند.

زبان HTML برای ایجاد یك سیستم كد سازی جهانی به وجود آمد تا بوسیله آن بتوان صفحات وب را بدون توجه به نوع كامپیوتر طراحی كرد. خاصیت مهم HTML قالب بندی ساختاری می‌باشد ولی متاسفانه به طراحان قابلیت کنترل در همه زوایای صفحه را نمی‌دهد. برای قالب بندی و ایجاد افکت های بیشتر از CSS استفاده می‌کنیم.
در واقع
CSS این امکان را ایجاد می‌کند تا طراح بتواند چندین مشخصه در طراحی صفحه را به یکباره تعیین کند بعنوان مثال خصوصیات تمامی تگهای h1 موجود در صفحه اعم از اندازه، فونت و رنگ را مشخص نماید. و یا مشخصات ظاهری چندین صفحه را در یك فایل CSS تعیین نماید.

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




نویسنده :Pourya Alinezhad
تاریخ:1389/06/15-12:36

تفاوت عمده ی XML و HTML:

XML برای حمل داده ها طراحی شده است و این در حالی است که به عنوان یک جایگزین برای HTML تعریف نشده است. در حقیقت XML و HTML برای اهدافی مختلف طراحی شده اند
• XML
برای این طراحی شده است که داده ها را توصیف کند و بیشتر بر این مسئله تاکید دارد که بگوید داده ها واقعا چه چیزهایی هستند.
• HTML
برای این طراحی شد که نحوه ی نمایش داده ها را بیان کند و بر این تاکید دارد که داده ها چگونه به نظر برسند.
• HTML
برای نحوه ی نمایش داده هاست درحالی که XML برای توصیف داده ها بکار می رود.

 

 

Xml  چیست؟

 

• XML رایگان و قابل توسعه است.
تگ های XML از پیش تعریف شده نیستند و شما باید درخور نیاز خود تگ های مد نظرتان را تعریف کنید.
• XML
مکملی برای HTML است.
• XML
یک تکنولوژی مستقل از Platform و سخت افزار و نرم افزار، برای انتقال داده می باشد.
• XML
آینده ی برنامه نویسی و توسعه صفحات وب می باشد.
• XML
به زودی یک تکنولوژی فراگیر خواهد شد.
• XML
می تواند داده ها را از تگ های HTML جدا کند.
با XML داده های شما می توانند بیرون از HTML ذخیره شوند.
از XML برای تبادل داده ها بین سیستم های ناهماهنگ استفاده می شود.
با کمک XML داده های مالی و تجاری می توانند در اینترنت مبادله شوند.
با کمک XML می توان داده ها را توسط متونی بسیار ساده Share کرد.
با کمک XML داده ها می توانند در فایل های متنی بسیار ساده ذخیره شوند.
باXML داده های شما می توانند برای کاربران بسیاری قابل دسترس باشند.
با XML می توان زبان های جدیدی را ابداع نمود.
• XML
مادر تکنولوژی WAP و WML می باشد.
امکان این مسئله بسیار زیاد است که در آینده تمامی برنامه های کاربردی از XML برای تبادل داده های خود استفاده کنند.

 

XML برای کمک به ذخیره سازی ، سازماندهی و انتقال داده ها طراحی شده است. به این دلیل که از متنی بسیار ساده برای نوشتن کمک می گیرد و به آسانی می تواند به اینترنت فرستاده شود و توسط نرم افزارهای مختلف بر روی platform های مختلف نگه داری شود. XML طراحی شده است که به مردم امکان بدهد به آسانی داده های خود را جابجا کنند. در این 5 سال اخیر، حدود صدها زبان نشات گرفته از XML (که همه مجموعه ای از Element های از پیش تعریف شده می باشند) بوجود آمدند.
برای مثال فرض کنید که می خواهید یک تحقیق در مورد نسل ها و شجره ی افراد داشته باشید. برای جستجو در میان بسیاری از رکوردها، مطمئنا نیاز به یک ساختار مرتب و از پیش تعریف شده خواهید داشت و داشتن آن همه اطلاعات فقط در یک فایل متنی ساده کافی نخواهد بود.

حال برای این تحقیق شما می توانید از یکی از شاخه های زبان
XML به نام Genealogical Data Communication استفاده کنید. در این زبان تگ های مخصوص بسیاری برای ذخیره سازی نام ها، تاریخ ها، ازدواج ها و... وجود دارد. با استفاده از GEDCOM بسیاری از مردم در سرتاسر جهان می توانند از پایگاه های داده برای نسل ها و شجره ها استفاده کنند.

زبان های منشعب از
XML مثل GEDCOM به برنامه های کاربردی XML شهرت دارند. (این نام تا حدی با بدشانسی روبرو بوده است، به این دلیل که بسته های نرم افزاری نیز برنامه های کاربردی خوانده می شوند، ولی در کل ایده ی این نامگذاری بیشتر به برنامه های کاربردی XML متمایل بوده است).
هم اکنون صدها برنامه ی کاربردی
XML موجود است که به گروه های مختلف مردم اجازه ی ارتباط برقرار کردن و تبادل داده ها را می دهد. در اینجا لیستی از این برنامه های کاربردی وجود دارد:

Application Vulnerability Description Language-AVDL
Bank Internet Payment System -BIPS
Banking Industry Technology Secretariat -BITS
Common Business Library -xCBL
Connexions Markup Language -CNXML
Electronic Business XML plan -ebXML
Extensible Access Control Markup Language-XACML
Financial Exchange -IFX
Financial Information eXchange protocol -FIX
Financial Products Markup Language-FpML
Genealogical Data Communication -GEDCOM
Geography Markup Language-GML
Global Justice's Justice XML Data Dictionary -JXDD
Human Resources Background Checks and Payroll Deductions Language -HR-XML
Product Data Markup Language-PDML
Schools Interoperability Framework -SIF
Telecommunications Interchange Markup -TIM
The Text Encoding Initiative -TEI
Windows Rights Management Services -RMS
XML Common Biometric Format -XCBF
XML Process Definition Language-XPDL




نویسنده :Pourya Alinezhad
تاریخ:1389/06/15-12:34

XHTML چیست ؟


• XHTML مخفف eXtensible HyperText Markup Language می باشد.

• XHTML به عنوان یک جایگزین برای HTML طراحی شده است.

• XHTML بسیار شبیه HTML است.

• XHTML کمی از HTML خشک تر و مرتب تر است.

• XHTML یک HTML تعریف شده برای برنامه های کاربردی XML ی می باشد.

• XHTML از طرف W3C تائید شده می باشد.

دلیل پیدایش XHTML :

تمامی توسعه دهندگان روزی به این نتیجه رسیدند كه بسیاری از صفحات وب ساختار HTML مناسبی ندارند. زبان نشانه گذاری xml نیز به این دلیل بوجود آمد كه بتواند داده‌ها را به درستی نشانه‌گذاری كند و نتیجه‌ آن خوانا بودن سند شد.
امروزه تكنولوژی های مرورگرهای مختلفی موجود است مثلاً برخی از مرورگرها اینترنت را بر روی pc ها و برخی بر روی موبایلها فراهم می كنند و نكته ای كه بسیار قابل توجه می‌باشد. این است كه این مرورگرها فاقد منابعی هستند كه قدرت ترجمه‌ی بالایی را به آنها می‌دهد.
بنابراین، با تركیب HTML و XML و قدرت‌های آنها، یك زبان نشانه‌گذاری جدیدی به نام XHTML بوجود آمد.




نویسنده :Pourya Alinezhad
تاریخ:1389/06/6-13:50

برنامه نویس و مهندس

یک برنامه‌نویس و یک مهندس در یک مسافرت طولانى هوائى کنار یکدیگر در ... نشسته بودند.

برنامه‌نویس رو به مهندس کرد و گفت: مایلى با همدیگر بازى کنیم؟

مهندس که می‌خواست استراحت کند محترمانه عذر خواست و رویش را به طرف پنجره برگرداند و پتو را روى خودش کشید.

برنامه‌نویس دوباره گفت: بازى سرگرم‌کننده‌اى است. من از شما یک سوال می‌پرسم و اگر شما جوابش را نمی‌دانستید ۵ دلار به من بدهید. بعد شما از من یک سوال می‌کنید و اگر من جوابش را نمی‌دانستم من٥ دلار به شما می‌دهم.

مهندس مجدداً معذرت خواست و چشمهایش را روى هم گذاشت تا خوابش ببرد.

این بار، برنامه‌نویس پیشنهاد دیگرى داد. گفت: خوب، اگر شما سوال مرا جواب ندادید ۵ دلار بدهید ولى اگر من نتوانستم سوال شما را جواب دهم ٥٠ دلار به شما می‌دهم.

این پیشنهاد چرت مهندس را پاره کرد و رضایت داد که با برنامه‌نویس بازى کند.

برنامه‌نویس نخستین سوال را مطرح کرد: «فاصله زمین تا ماه چقدر است؟»

مهندس بدون اینکه کلمه‌اى بر زبان آورد دست در جیبش کرد و ۵ دلار به برنامه‌نویس داد. حالا نوبت خودش بود.

مهندس گفت: «آن چیست که وقتى از تپه بالا می‌رود ۳ پا دارد و وقتى پائین می‌آید ۴ پا؟»

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

مهندس مودبانه ٥٠ دلار را گرفت و رویش را برگرداند تا دوباره بخوابد. برنامه‌نویس بعد از کمى مکث، او را تکان داد و گفت: «خوب، جواب سوالت چه بود؟»

مهندس دوباره بدون اینکه کلمه‌اى بر زبان آورد دست در جیبش کرد و ۵ دلار به برنامه‌نویس داد و رویش را برگرداند و خوابید.



نوع مطلب : متفرقه 

نویسنده :Pourya Alinezhad
تاریخ:1389/05/29-13:26

pi

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

من از کتاب حساب دیفرانسیل و انتگرالِ " جورج توماس و راس فینی " پیداشون کردم.

 

 :فرمول های مجموع جملات نامتناهی

  

    Pi = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 . . . = 4 / Pi

    Pi = 1/1^2 + 1/2^2 + 1/3^2 +1/4^2 + 1/5^2 . . . = (Pi^2) / 6      

 

فرمول آرک تانژانت :

            Pi = 4 * Atn1))

 

فرمول اویلر:

            Pi = 20 * Atn(1/7) + 8 * Atn3/79) )

 

:فرول گاووس

            Pi = 48 * Atn(1/18) + 32 * Atn(1/57) - 20 * Atn(1/239 )

 

فرمول ماچین:

            Pi = 16 * Atn(1/5) - 4 * Atn1/239))

   

   

سری توانی آرک تانژانت:

            Atn(X) = X - X^3 /3 + X^5 /5 - X^7 /7 + X^9 /9 . . .

  

Ramanujan فرمول:

 

                1                  1103     27493      1     1*3      53883       1*3     1*3*5*7

        ----------------  =  ------ + ---------     --     ----  +  ---------   ------     ----------- + . .  .

          2*pi*Sqr(2)        99^2     99^6       2     4^2      99^10       2*4     4^2+8^2

برنامه ی نوشته شده که از فرمول آرک تانژانت استفاده می کند را از اینجا دانلود کنید.

pi




نویسنده :Pourya Alinezhad
تاریخ:1389/05/24-14:06

Electerical field drawer

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

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

1-ھر خط مماس بر خط ھای میدان در یک نقطه با خط میدان در آن نقطه موازی است.

2- میدان به وجود آمده در یک نقطه از فضا با اندازه ی میدان در آن نقطه رابطه ی مستقیم دارد.

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

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

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

field




نویسنده :Pourya Alinezhad
تاریخ:1389/05/24-13:56

بازی دوز

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

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

چه طوری برای کامپیوتر قرص ها، صفحه ی بازی، نوبت بازی کنندگان، طریقه ی تشخیص برنده و .. را شبیه سازی کنیم؟

برنامه ی نوشته شده را از اینجا دانلود کنید و بازی کنید. این بازی که نوشتم رو احتمالا دو تا از پسرعموهای کوچیکترم که الان 4 و 1 سالشونه در آینده بازی کنند.به هر حال از زمان ما تا آینده تغییرات زیاده! اون بازی دوز ما کجا و این برنامه ی کامپیوتری دوز کجا؟

دوز




نویسنده :Pourya Alinezhad
تاریخ:1389/05/8-20:51

وقتی ماشین حساب مهندسی کم می آورد!

امروز یکی از هم کلاسی هام از من خواست تا براش مقدار دقیق عبارت cos(3.141583304) را محاسبه کنم. خودش با ماشین حساب مهندسی حساب کرده بود و عدد منفی یک رو جواب گرفته بود.خوب من هم با ماشین حساب خودم امتحان کردم عدد منفی یک رو جواب گرفتم.البته همون طور که واضحه این عدد همان عدد pi تا  8 رقم اعشار است.حالا سوال اینجاست که چرا هم cos(pi)  و هم cos (3.141583304)  دارای یک جواب اند!

خوب معلومه دیگه!ماشین حساب ارقام رو گرد می کنه.تازه این ماشین حساب من تا 9 رقم اعشار بیشتر رو حساب نمی کند و بقیه ی ارقام رو تا 1099± به صورت نماد علمی نمایش می دهد.حالا ما چی کار کنیم!چه جوری مقدار دقیق این عبارت رو به دست بیاوریم؟ اولین چیزی که به ذهنم رسید این بود که برنامه ای بنویسم که عددx  را بگیره و cos(x) را حساب کنه.چه جوری؟ دو راه داشت.اولین راه استفاده از توابع همراه با کامپایلر بود که مثلا در اینجا من از torbo c++ استفاده کردم .می تونستم تابع cos() از سرفایل <math.h> برای نوشتن این برنامه استفاده کنم.اما این تابع هم مقدار دقیق رو به دست نمیدهد چون برای نوشتن همین تابع از سری تیلور تابع cos (x) با تعداد جمله های محدود استفاده شده است.

خوب پس من باید برنامه ای بنویسم که سری تیلور تابع cos(_) را تا تعداد جمله ی دلخواه به دست بیاورد و البته با خطای و دقتی که ما می خواهیم.خوب قبلش یک گوشه ی چشمی هم به matlab می اندازیم تا ببینیم چقدر دقیق برامون حساب می کنه.همون طور که در شکل 2 می بینید مقدار cos(3.141583304) را تا 60 رقم اعشار با matlab  حساب کردم که مقدار...-.99999999995629263000 رو جواب داد.در ادامه به این نتیجه می رسیم که این مقدار زیاد هم دقیق نیست!

این برنامه رو نوشتم و مقدار این عبارت رو تا 50 رقم اعشار حساب کردم و برای این کار 200 جمله ی اول سری cos(x) را حساب کردم.مقدار این بود :

 Cos( 3.141583304 ) = -.9999999999562925850654407521516198700002

در کامپیوتر من که 32 بیتی این عدد دقیق ترین عددی است که می توان به دست آورد.چون دقیقترین نوع داده ای که برای ذخیره ی این عدد می توانم تعریف کنم از نوع  long double است و این نوع دقتی بیشتر از این را به دست نمی دهد.در ادامه وقتی برنامه ی نوشته شده توسط خودم را طوری تغییر دادم تا مقدار cos(x) را تا جملاتی حساب کند که یبه عددی برسیم که باmatlab  به دست آمده بود و به این نتیجه رسیدم که matlab فقط 25 جمله از سری تیلور را حساب می کند!      دانلود برنامه 




نویسنده :Pourya Alinezhad
تاریخ:1389/04/22-12:50

Windows Win32 API Programming Using C++\C

قبل از این یک مقاله ی کامل درباره ی توابعAPI در زبان های سطح بالا نوشته بودم که از این جا می توانید دانلود کنید.اما بعد از اون تعداد زیادی از مراجعه کننده گان به وبلاگم مطلبی درباره ی کاربرد این توابع در زبان های c++/cخواسته بودند.من هم این مقاله ی آموزشی رو درباره ی برنامه نویسی با توابع API در ویندوز 32 بیتی نوشته ام.این را هم بگویم که این مقاله تنها مرجع فارسی درباره ی این توابع است.برای دانلود اینجا کلیک کنید.






نویسنده :Pourya Alinezhad
تاریخ:1389/04/16-22:04

رانگه کوتا مرتبه دو و چهار

خوب بلاخره امتحانام تموم شد و برگشتم.


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


نوع مطلب : متفرقه 

نویسنده :Pourya Alinezhad
تاریخ:1389/04/16-21:54

pspice - creating netlists

خوب فایل مقاله ی آموزشی که تو پست قبلی گذاشته بودم رو جدا آپلود کردم  تا کسانی که فقط فایل اصلی رو می خواهند و با توابع API  آشنایی دارند دیگه مجبور نشوند همه ی فایل رو دانلود کنند.اینجا کلیک کنید.(در ضمن بگم که فقط دانشجویان و مهندسان برق)

نوع مطلب : متفرقه 

نویسنده :Pourya Alinezhad
تاریخ:1389/01/23-16:21

PSpice

مهندسان و دانشجویان برق بخوانند.....

یک مقاله ی آموزشی برای ساختن برنامه هایی که فهرست شبکه (netlist) دلخواه ما را به وجود بیاورند.netlist ها فایل هایی اند که اطلاعات مدار رسم شده ی ما را به صورت فایل متنی ذخیره می کنند.این اطلاعات شامل نام و تعداد شاخه ها و قطعات و پین ها  و نوع قطعات و ولتاژ و جریان شاخه ها و انواع تحلیل های انجام شده و نمودار های رسم شده و ....هستند.حال اگر ما بخواهیم netlist ای متناسب با کار خودمان به وجود بیاوریم باید بتوانیم برنامه ی آن را بنویسیم و آن را در محیط Capture و یا خارج ازآن ، اجرا کنیم. (برای مثال netlist ای که فقط نام عناصر پسیو و پین ها ی عناصر اکتیو و شاخه های متصل به آنها را ذخیره کند و یا netlist ای که فقط نام عناصر دیجیتال را در خود ذخیره کند.)

برای دانلود اینجا کلیک کنید.




نویسنده :Pourya Alinezhad
تاریخ:1388/12/3-15:20

Tabulation method

اول پست قبلی را بخوانید بعدش بیایید اینجا…

برای پروژه ی مدار منطقی می خواستم برنامه ی قبلی رو (مبدل کدها) رو بنویسم.خوب نوشتمش.اما یه جورایی ازش خوشم نیومد.بیشتر به درد برنامه نویسی و مخصوصا اسمبلی می خورد.برای همین این برنامه رو نوشتم.

خوب تو درس مدار منطقی (فصل سوم-کتاب مانور) برای ساده سازی توابع بولین دو راه پیشنهاد شده.یکی استفاده از جدول Karnaugh  که برای توابعی با تعداد متغیر کمتر از 5 تا به درد می خوره. و دومین روش که برنامه اش رو نوشتم،( Quine-McCluskey ) که برای توابعی با تعداد متغییر های زیاد به کار

 می رود.

خوب قبل از شروع به نوشتن این برنامه یه search کردم تا ببینم قبلا این برنامه نوشته شده یا نه؟

قبل از من چند نفر این برنامه رو نوشته بودند (به زبان های Delphi و Qbasicو vb)  اما هر کدوم مشکلات و یا محدودیت هایی داشتند.کار با برنامه ای که به زبان Qbasic  نوشته شده بود بسیار مشکل بود و اصلا User friendly  نبود.و فقط توانایی مینیمم کردن توابعی با تعداد متغییر کمتر از 26 را داشت.(به دلیل عدم توانایی اخذ حافظه از سیستم برای توابعی با تعداد متغیر بیشتر)

برنامه ای که با vb  نوشته شده بود کاملا classified بود و توسط آقای Allaedin Hallak در دانشگاه  Computer Science, University of Science & Technology نوشته شده بود.این برنامه از

 list-link برای اخذ حافظه از سیستم استفاده می کرد و نسبتا برنامه ی خوبی بود.اما یه مشکل بزرگ داشت!! الگوریتمش غلط بود.اولش که این برنامه رو دیدم ناامید شدم و با خودم گفتم که دیگه نوشتن یک برنامه که قبلا نوشته شده فایده ای نداره اما وقتی چند تا عدد (Minterm) به برنامه دادم و دیدم که Error  داد یه جورایی خوشحال شدم.(مشکل برنامه عدم توانای در تشخیص انتخاب های نخستینی که تکرار شده بودند است.) خوب پس با این که برنامه رو خیلی خوب نوشته بود ولی برنامه ای که غلط باشه که به درد نمی خوره!!!! در ضمن در این برنامه برای وارد کردن اعداد راه مناسبی پیش بینی نشده بود،یعنی کاربر برای وارد کردن 2000  مینترم باید همه ی آنها را یکی یکی وارد می کرد (خیلی خسته کننده است! و امکان اشتباه در ورود اعداد بالا می باشد).تازه بالفرض که هر 2000 تاش رو وارد می کردیم و فقط یک عدد رو اشتباهی دو بار وارد می کردیم.حالا تازه برنامه error می داد که عدد تکراری وارد شده،کاربر باید بشینه و همه ی اعدادی رو که وارد کرده رو از اول بینه تا اون عدد تکراری پیدا بشه.خلاصه   اصول مهندسی نرم افزار رعایت نشده بود.

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

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

1-توانایی برنامه در اخذ حافظه از سیستم برای توابعی تا 180 متغییر.(فکرش رو کنید برای تابع 180 متغیره باید 2^180=1.5324955408658888583583470271503e54 خانه ی حافظه برای ذخیره ی متغییر ها (مینترم ها) از سیستم اخذ شود.تازه عدد بالا رو باید ضرب در 2 هم کنیم.(برای ذخیره ی هر متغییر از نوع عدد صحیح 2 بایت فضا لازم است.)

2-توانایی وارد کردم بازه ای از اعداد.برای مثال برای وارد کردن مینترم های 1000 تا 2000 لازم نیست که این اعداد را تک تک وارد کنیم.در این برنامه دو راه برای ورود داده ها پیش بینی شده است.

3-هوشمند بودن برنامه.این برنامه قابلیت تشخیش و کنترل ورودیها را دارد.کاربر فقط توانایی وارد کردن اعداد در بازه ی مشخص را دارد.همچنین برنامه وارد کردن اعداد تکراری را نمی پذیرد.(امتحان کنید.!)

امکان وارد کردن کاراکتر های غیر مجاز (مانند حروف الفبا و یا اعداد اعشاری) از کاربر گرفته شده و برنامه اجرازه ی وارد کردن این ورودی ها را نمی دهد.

نوشتن این برنامه حدود 10 روز زمان برد و 2 روز هم از چشم درد افتاده بودم تو خونه!!

خوب برای  دانلود برنامه اینجا کلیک کنید.(فایل اجرایی هر سه برنامه ی دیگر نیز در این پوشه وجود دارد)

 

 






  • تعداد صفحات :4
  • 1  
  • 2  
  • 3  
  • 4