تبليغاتX
 
??? براي ديدن کليه ي مطالب به آرشيو وبلاگ مراجعه نماييد ???
.: سیستم عامل جدید ایرانیان( نسخه جدید ) :.
سیستم عامل جدید ایرانیان( نسخه جدید )

آرشيو وبلاگ ايميل مدير صفحه نخست
سايت رسمي سايت شرکت فراخوان ها
درباره ما

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

آمار و اطلاعات بازديدکننده

پيدا کردن اطلاعات از روي آيپي شخص


آمار و سامانه امنيتي وب
رتبه ما در گوگل
Time spent here:

لوگوي شرکت

IRWin گروه نرم افزاري


لوگوي دوستان
Persian Sage Veracity Is The Best Policy

نظر سنجي

آرشيو پيوند ها

دوستان در اين سايت


توجه:
تعداد علامت ? در کنار لينکها نمايان گر امتياز وب نسب به وبهاي ديگر از نظر مفيد بودن اطلاعات و کميت و کيفيت آن است .
تعداد: ?(?) متوسط - ??(?) خوب -???)(?) عالي


√√√اینترنت آفلاین
√√√خليج العربي
√√√Arabian gulf
√√بزرگ ترين بانک نرم افزاري
√√√وبلاگ فناوری اطلاعات سایپا دیزل
√√√ارائه دهنده بهترین مقالات و اخبار در ضمینه موبایل و کامپیوتر
√√√باشگاه پرسپولیس
√√√تاپ دانلود
√√√طراحی رایگان قالب وحرفه ای ترین قالب ها
√√كليـپ هاي خارجي وايراني جالب وخــ ف ن
√√√سایت تخصصی کامپیوتر و موبایل
√√√Datissa
√√√تبلیغات مجانی !!!
√√√بزرگترین مرکز موبایل ایرانیان
√√√.:مرکز دانلود :. Download Portal
√√√ گالری عکس و دنیای موبایل
√√√شب مهتابی(گالری عکس هنرمندان و بازیگران سینما)
√√√سايت تخصصي آموزش نرم افزار اتوكد
√√√هر چي بخواي بيا تو
√√√راز اشک
√√√ بیابان را سراسر مه گرفته است
√√√.:*عمومی*:.
√√√پیتزا کفش
√دانلود،سفارش لوگو رایگان
√√√تبلیغات رایگان برای شما
√√√.:زندگی در صدف خویش گهر ساختن است:.
√√√بهترین سایت دانلود ایرانیان
√√√بهترین برنامه های کاربردی
√√irm30
√√ویروس ایرانی
√√√سایت رسمی گروه نرم افزاری IRwin
√√اختر آسمان ادب پارسی
√√√فناوری روز _DATA20
√√هر چی بخوای...میگی نه نگاه کن!!
√√*هک*.*موزیک*موبایل*.آموزشی
√Iranian E-Shop
√√سايبر مصطفي
√√انـدیـشــــه ای نــــــو
√√√مرجع لینکهای فارسی
√√√وبلاگ مرکزی
√√قاطی پاطی
√√آموزش تخصصی کامپیوتر...
√√√عکسهای خ ف ن ایران
√√√.:*ِامير مكزيكي*:.
√√اهدنا الصراط المستقیم
√بهترین های اینترنت
√√مجله ایران
√√MTC
√√در جستجوی حقیقت
√√شعرها (شاعره)
√مرکز دانلود رایگان کتابهای فارسی
√√√سایتی برای ایرانی های سرافراز
√بزگترین مرجع عکسهای متحرک در ایران
√:: باشگاه اینترنتی!کلیک کن::
√√گروه وب لاگ هاي رضاگستر
√√شرک و فیونا
√اصطلاحات مخفف سخت افزار و شبکه و...
√√برنامه نويسي
√√√ایده و فناوری انفورماتیک
√√√مسیحیت
√√√سلام دنیا
√ دنیایی عجیب از دانلود
√√دهکده تخصصی آموزشی ایرانیان
√WebLink
√√** sina-h39 ***
√** تولدي دوباره ***
√√راه زندگي
√√√شعرهاي عاشقانه
√√توقف ممنوع
√√خلوت دل
√√√راه زندگي
√وبلاگِ مريم ها
√از ناله هاي مرگ تا نغمه هاي زندگي
√footbaleirooni
√√روياي خاکستري
√√طراح حرفه اي قالب وبلاگ
√سرگرمي و موضوع آزاد
√وبلاگ مذهبي
√دانلود كليپ و موزيك
√√√گم شدن در خاطرات
√√شبستان
√ آزادي بيان
√DESERTER
√√جهان صفر و يک
√√آموزش برنامه نويسي #c
√... & Visual Basic
√آموزش برنامه نويسي
√√ قالب وبلاگ+لوگو و بنر فلش=رايگان
√ترفند برنامه رجستري ويندوز و ...
√√هک
√√قالب وبلاگ
√√كدقالب زيبا
√√اينترنت را بدون محدوديت ببينيد
√√قالب وبلاگ ::کد جاوا
√√هک ويروس وکرمهاي کامپيوتر
√مغز متفکر کامپيوتر
√√ميکروپروسسورها و الکترونيک
√√.: Delphi :.
√√.: برنامه نويسي :.
√کانادا از نگاه يک مهاجر
√√(بچه ناف آباده (بزودي قطع 3000درخت
√√آخرين اخبار کامپيوتر ، نرم افزار ، سخت افزار ، بازي ، موبايل ، الکترونيک
√طراحي وبسايت و وبلاگ
√√عکسها و زندگي نامه سوپراستارهاي ايران
√جديدترين هاي موسيقي جهان
√نماي آخر 25 فريم

تبليغات

حتما از سايت رسمي ما (www.IR-Win.IR)  ديدن فرماييد. هر آنچه که دوست داريد از ما بخواهيد؟.

 




نسيم كوير 

پرشين کد بهترين سايت تخصصي آموزش اتوکد به زبان فارسي 


دومين خودرو خورشيدي دانشگاه تهران براي حضور در مسابقات جهاني آماده مي‌شود.

تيم خودرو خورشيدي دانشكده فني دانشگاه تهران پس از ساخت نخستين خودرو خورشيدي خاورميانه، با بهينه‌سازي اين طرح، «غزال ايراني – 2» را براي مسابقات خودروهاي خورشيدي آفريقا در تابستان و رالي بزرگ استراليا در سال آينده آماده مي‌كنند.

به گزارش خبرنگار علمي خبرگزاري دانشجويان ايران(ايسنا)، «غزال ايراني – 1» اگرچه با بداقبالي، بخت حضور در رالي خودروهاي خورشيدي استراليا را در مهرماه 84 از دست داد و سال بعد هم به دليل نقص فني و مشكلاتي كه شايد تا حد زيادي ناشي از محدوديتهاي مالي بود نتوانست در مسابقات خودروهاي خورشيدي تايوان نمايش تمام‌عيار و مطلوبي از قابليت‌هايش داشته باشد اما نفس ساخت چنين خودرويي با امكانات محدود موجود در كشور و فرستادن آن به آوردگاه خودروهاي پر زرق و برق غربي و صد البته ويژگي‌هاي بارز و نوآورانه‌اش آن‌چنان چشمگير بود كه تحسين رييس استراليايي فدراسيون جهاني خودروهاي خورشيدي و حتي رقباي آمريكايي اين تيم در موسسه‌ فن‌آوري ماساچوست (MIT) را برانگيخت؛ به طوري كه از اين تيم به عنوان تنها تيم آسيايي براي حضور در يك پروژه‌ بين‌المللي طراحي و ساخت خودرو هيبريدي كه با حضور 20 تيم برتر دنيا در آن دانشگاه برگزار شد، دعوت كردند كه البته با كارشكني هاي‌ سفارت آمريكا در صدور رواديد براي سفر دانشجويان، اين فرصت از تيم گرفته شد.

از آغاز پروژه‌ خودرو خورشيدي دانشگاه تهران حدود چهار سال مي‌گذرد و بيشتر دانشجوياني كه در ساخت غزال ايراني - 1 مشاركت داشتند با پايان تحصيلاتشان، تيم را ترك كرده‌اند و امروز دانشجوياني تازه نفس با اميد و اراده‌اي مضاعف بر پايه‌ تجربه‌ افتخارآميز آنها طرح خودرو خورشيدي غزال را پي گرفته‌اند.

تيم جديد در حال حاضر مشغول ساخت نمونه‌ پيشرفته‌تر اين خودرو با نام غزال ايراني – 2 است و سعي دارند آن را براي مسابقه جهاني خودروهاي خورشيدي كه شهريورماه امسال در آفريقا برگزار مي‌شود، آماده كنند.

دكتر كارن ابري‌نيا، استاديار دانشكده مهندسي مكانيك دانشگاه تهران و مدير پروژه خودرو خورشيدي در گفت‌و‌گو با ايسنا درباره‌ي روند شكل‌گيري اين پروژه گفت: ايده اين پروژه از چندين سال مطرح بود و حتي شش سال پيش پيشنهادي به وزارت صنايع داديم كه گفتند ساخت چنين خودرويي در اولويت نيست در حالي كه با توجه به اين كه كشور ما هميشه با مساله انرژي مواجه بوده و منابع نفتي ما به هر حال تمام شدني است و از سوي ديگر كشوري هستيم كه ساعات آفتابي خيلي زيادي داريم بايد از اين منبع نامحدود انرژي استفاده مي‌كنيم. بر همين اساس در سال 83 استارت اين پروژه را با تعدادي از دانشجويان كه علاقمند به كارهاي خارج كلاس بودند زديم و خوشبختانه دانشجوها با انگيزه زيادي كه داشتند بدون اين كه پولي وارد شود پروژه را آغاز كردند.

وي افزود: در اوايل سال 1384، عليرغم بدبيني ها و سوال‌هايي که در آن زمان نسبت به عملي بودن چنين پروژه‌اي مطرح مي‌شد اجراي اين طرح را با حمايت شركت ايران خودرو آغاز كرديم. ساخت بخشهاي مختلف خودرو از قبيل شاسي، ترمز، سيستم تعليق، فرمان، توپي چرخها و غيره تا شهريورماه 84 به انجام رسيد با اين حال به دليل مشكلاتي كه در انتقال خودرو پيش آمد به مسابقات رالي استراليا نرسيديم و بعد از آن در بهار 85 يك تور داخلي از تهران تا اصفهان برگزار كرديم و در شهريور آن سال در مسابقات بين المللي خودروهاي خورشيدي در تايوان شركت كرديم.

دكتر ابري‌نيا خاطرنشان كرد: خودرو خورشيدي غزال در اين مسابقات رتبه هشتم را كسب كرد اما تجربه بسيار خوبي پيدا كرديم و در مقايسه با ساير خودروها فهميديم وزن 250 كيلوگرم خودرو، زياد است و موتور خودرو ضعيف و راندمان سلول‌هاي خورشيدي كم است اين است كه تصميم گرفتيم خودرو ديگري بسازيم كه وزن آن حدود 100 كيلوگرم كمتر بوده و به موتور و باتري با تكنولوژي جديد و سلول‌هاي خورشيد با بازده بالاتر مجهز است كه اجراي اين پروژه مستلزم حمايت‌هاي مالي است كه اميدواريم بتوانيم با جذب به موقع اعتبارات لازم در رالي 2009 استراليا و پيش از آن در مسابقاتي كه شهريور ماه امسال در آفريقا برگزار مي‌شود، شركت كنيم.
«غزال ايراني - 1» در تور اصفهان «غزال ايراني - 1» در تور اصفهان



ادامه مطلب

نوشته شده توسط محمد قبادی در شنبه بیست و یکم اردیبهشت 1387


از این پس می توانید با استفاده از دمین زیر وارد وبلاگ ما گردید.

http://www.irwin.dom.ir/

 



ادامه مطلب

نوشته شده توسط محمد قبادی در پنجشنبه نوزدهم اردیبهشت 1387


سلام دوستان عزیز...

در این پست برنامه ای را میخواهم به شما معرفی کنم که به وسیله اون میتونین فایلهای JAR موبایل را روی کامپیوتر اجرا کنید.

اسم برنامه SJBox هست که در انتهای پست میتونین دانلودش کنید. برنامه رو نصب کنید و روی هر فایل JAR که دوبل کلیک کنید ، برنامه اجرا شده و حاصل اجرای فایل JAR را مشاده خواهید کرد.

 دانلود برنامه

 منبع: برنامه نویس



ادامه مطلب

نوشته شده توسط محمد قبادی در پنجشنبه نوزدهم اردیبهشت 1387


قسمت نوزدهم:

سربارگذاری عملگر ها (Operator OverLoading)
به تعریف مجدد راه و روش اجرای عملگر ها توسط ما ، سربارگذاری عملگرها گفته می شود. فرض كنید می خواهید عدد 2 را به یك مقدار datetime اضافه كنید. خطای زیر حاصل خواهد شد:

جالب بود اگر می توانستیم عدد 2 را به datetime اضافه كنیم و نتیجه ی آن تعداد روزهای مشخص بعلاوه ی دو می بود. اینگونه توانایی ها را می توان بوسیله ی operator overloading ایجاد كرد.

تنها عملگر های زیر را می توان overload كرد:

نحوه ی انجام اینكار نیز در حالت كلی به صورت زیر است:

به مثال زیر توجه كنید:

در مثال فوق عملگر + دوبار overload شده است. یكبار توسط آن می توان یك عدد صحیح را به یك تاریخ اضافه كرد و بار دیگر یك یك تاریخ را می توان به عدد صحیح افزود.


موارد زیر را هنگام سربارگذاری عملگرها به خاطر داشته باشید:

1- تنها اپراتورهای ذكر شده را می توان overload كرد. اپراتورهایی مانند new,typeof, sizeof و غیره را نمی توان سربارگذاری نمود.
2- خروجی متدهای بكار گرفته شده در سربارگذاری عملگر ها نمی تواند void باشد.
3- حداقل یكی از آرگومانهای بكار گرفته شده در متدی كه برای overloading عملگرها بكار می رود باید از نوع كلاس حاوی متد باشد.
4- متدهای مربوطه باید به صورت public و static تعریف شوند.
5- هنگامی كه اپراتور < را سربارگذاری می كنید باید جفت متناظر آن یعنی > را هم سربارگذاری نمایید.
6- هنگامیكه برای مثال + را overload می كنید خودبخود =+ نیز overload شده است و نیازی به كدنویسی برای آن نیست.


یكی از موارد جالب بكار گیری سربارگذاری عملگرها در برنامه نویسی سه بعدی و ساختن كلاسی برای انجام عملیات ماتریسی و برداری می باشد.

قسمت بیستم:

Delegates
در سی شارپ روشی مطمئن و typesafe را برای بكار گیری مفهوم function pointer ارائه می دهند. یكی از ابتدایی ترین استفاده های function pointers پیاده سازی callback می باشد. اما در ابتدا لازم است تا با اصول اولیه ی كاری آن آشنا شویم.

مثال یك :
یك delegate چگونه تعریف و استفاده می شود؟
Delegate یك شیء است كه بیانگر یك تابع می باشد بنابراین می تواند بعنوان آرگومان ورودی یك تابع دیگر و یا عضوی از یك كلاس بكار رود.
در زبان "function-pointer" ، Func1() اشاره گری به Func2() را بعنوان پارامتر دریافت كرده و نهایتا آنرا فراخوانی می كند.
در زبان "delegate" ، Func1() یك شیء delegate از Func2() را دریافت كرده و سپس آنرا فراخوانی می كند.
در مثال زیر از دو تابع برای شرح این مطلب سود جسته شده است:
Func1() از delegate استفاده می كند.
Func2() یك delegate است.

( شماره گذاری خطوط ، در كد زیر ، صرفا برای راحت تر شدن توضیحات در مورد آنها است و لزومی به تایپ آنها در برنامه ی اصلی نیست. )

LINE 02
یك شیء delegate را برای Func2 تعریف می كند.

LINE 04-06
تابعی را تعریف كرده است كه آرگومان ورودی آن از نوع Delg است.

LINE 07-09
تابعی را تعریف می كند كه باید به صورت delegate به تابع دیگر فرستاده شود.

LINE 10-14
تابع Main اجرای برنامه را با ایجاد یك شیء delegate برای Func2 آغاز كرده و سپس تابع Func1 را فراخوانی می كند.

مثال 2:
چگونه می توان از delegates در كارهای عملی استفاده كرد؟

طرح یك مساله:
شخصی تقاضای ثبت نام در یك مؤسسه ی آموزشی و همچنین تقاضای كاریابی در یك شركت را داده است. هر كدام از این نهادها روشی خاص خود را برای ارزیابی شخص دارند.

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

پیاده سازی (با استفاده از سی شارپ):
ما delegate‌ایی را تعریف می كنیم كه بیانگر اینترفیسی است كه به شركت و آموزشگاه اجازه ی چك كردن شخص را می دهد.
سه كلاس school و company و person را تعریف می نماییم.
كلاس test را برای آزمودن این موارد ایجاد می كنیم.

LINE 03
Delegate مورد نیاز را تعریف می كند.

LINE 04-23
كلاس person را تعریف می كند. این كلاس تابعی پابلیك را ارائه می دهد كه آرگومان ورودی آن از نوع GetChecker می باشد.

LINE 24-30
كلاس school را تعریف می كند و سپس تابعی را كه delegate است ارائه می دهد.

LINE 31-37
كلاس company را تعریف می كند و سپس تابعی را كه delegate است ارائه می دهد.

LINE 38-36
كلاس test را پیاده سازی می نماید. سپس یك شیء شخص ساخته می شود. در ادامه new GetChecker(School.SchoolCheck) و new GetChecker(Company.CompanyCheck) شیء ایی را ایجاد می كند از نوع delegate مورد نیاز و آنرا به تابع CheckMe می فرستد. خروجی نتیجه ی ارزیابی این شخص می باشد.

اگر چك كردن اشخاص بیشتری نیاز باشد به این صورت عمل می شود:

مثال 3 :
Delegates در تعامل بین دات نت فریم ورك و سی شارپ چه نقشی دارد؟

طرح یك مساله:
نمایش دادن میزان پیشرفت خواندن یك فایل هنگامی كه حجم فایل بسیار زیاد است.

راه حل ( با استفاده از سی شارپ):
در مثال زیر از كلاس FileReader برای خواندن یك فایل حجیم استفاده شده است. هنگامیكه برنامه مشغول خواندن فایل است 'Still reading.. را نمایش می دهد و در پایان 'Finished reading..'. را عرضه می كند.
برای اینكار از فضای نام System.IO استفاده شده است. این فضای نام حاوی delegate ایی مهیا شده برای ما می باشد. بدین ترتیب می توانیم به دات نت فریم ورك بگوییم كه ما تابعی را تعریف كرده ایم كه او می تواند آنرا فراخوانی كند.
سؤال: چه نیازی وجود دارد تا دات نت فریم ورك تابع ما را فراخوانی و اجرا كند؟ با استفاده از تابع ما كه دات نت فریم آنرا صدا خواهد زد در طول خواندن فایل به ما گفته می شود كه بله! من هنوز مشغول خواندن هستم! به این عملیات Callback نیز گفته می شود. به اینكار پردازش asynchronous نیز می گویند!

LINE 02
فضای نام System.IO را به برنامه ملحق می كند. این فضای نام به صورت خودكار حاوی تعریف delegate زیر می باشد:

public delegate void AsyncCallback (IAsyncResult ar);

LINE 03-10
تعریف كلاس

LINE 06
شیء delegate را تعریف می كند.

LINE 07-10
سازنده ی كلاس را پیاده سازی می كنند. در اینجا ما تصمیم گرفته ایم كه بافری حاوی 256 بایت را در هر لحظه بخوانیم.

LINE 09
شیء delegate نمونه سازی شده است.

LINE 18-23
readFile را پیاده سازی می كند.

LINE 12-16
نحوه ی استفاده از شیء IAsyncResult را بیان می كند.

LINE 12
sInput.EndRead(result) تعداد بایتهای خوانده شده را بر می گرداند. این خواندن تاجایی كه تعداد بایتهای خوانده شده صفر است ادامه پیدا می كند و در اینجا 'Finished reading..' اعلام می گردد.



ادامه مطلب

نوشته شده توسط محمد قبادی در سه شنبه هفدهم اردیبهشت 1387


قبل از بررسی تفاوت بین كلاسها بین ++C و #C ابتدا خاصیت های عمومی یك كلاس را بررسی كرده سپس به بررسی تفاوت بین این دو زبان قدرتمند خواهیم پرداخت.

تعریف. كلاس در حالت ساده مجموعه ای از خواص(attributes) و روش ها (methodes) است كه در رابطه با هم هدف مشتركی را دنبال می كنند و خدماتی را ارائه می كنند. البته این تعریف در حد یك تعریف علمی می باشد ولی ذكر این نكته ضروری است كه اكثر تعاریف در شی گرایی در طبیعت وجود دارد و در ساده ترین حالت برای تعریف یك كلاس می توان از تعریف انسان استفاده كرد كه  این بحث در این مقاله نمی گنجد. در هر حال ما به تعریف فوق اكتفا كرده و بحث را ادامه می دهیم.

خواص ها و روش ها كه در تعریف كلاس ارائه شد می تواند نحوه دسترسی متفاوتی مانند public و private و protected داشته باشد كه برای برنامه نویسان ++C نیازی به توضیح نیست.

تفاوت در تعریف یك كلاس:
چنانچه در مقاله لایه ها در #C نیز اشاره شد یك كلاس در یك برنامه #C در داخل یك لایه تعریف خواهد شد(اجباری نیست). تعریف یك كلاس در #C تفاوتهایی با ++C دارد كه سعی خواهیم كرد این تفاوت ها را با چند مثال توضیح دهیم.

فرض كنید كلاس زیر در ++C تعریف شده است كه این كلاس را به یك كلاس #C تبدیل خواهیم كرد.

تفاوت اول:
بر خلاف ++C در #C تعریف و نحوه عملكرد یك تابع یا Method در خود تعریف كلاس قرار داده می شود. در ++C غالبا تعریف كلاس در فایل .h و بدنه توابع در فایل .cpp قرار می گرفت. البته ذكر این نكته ضروری است كه می توان همین عمل را در .h نیز قرار داد ولی در یك برنامه بزرگ این عمل كنترل برنامه را از دست برنامه نویس خارج كرده و همچنین مشكلات دیگری را برای برنامه نویسان ایجاد می كند كه برنامه نویسان ++C با این مشكلات آشنا هستند.

تفاوت دوم:
بر خلاف ++C در #C یك دسته از متغییرها را نمی توان بصورت public یا private و ... تعریف كرد و برای هر متغییر باید نحوه دسترسی به آن نیز مشخص شود.

تفاوت سوم:
بر خلاف ++C در #C تابع destructor وجود ندارد و خود #C مسئول از بین بردن یك شی می باشد كه این از بین بردن با توجه به محدوده تعریف این شی انجام می شود. البته تعریف destructor وجود دارد ولی نمی توان destructor را فراخوانی كرد . در ++C فراخوانی Destructor با استفاده از عملگر delete قابل انجام بود ولی چون #C مدیریت object ها را خود بعهده می گیرد شی ایجاد شده نمیتواند توسط برنامه خراب شود. این مطلب در مقالات بعدی مورد بررسی قرار خواهد گرفت.
با توجه به تفاوتهای ذكر شده می توان این كلاس را به صورت زیر برای یك كلاس #C ارائه كرد.

ایجاد یك كلاس در ++C و #C
در موقع استفاده از یك كلاس اگر از default constructor برای ایجاد یك كلاس استفاده می شود در C# باید constructor بصورت void فراخوانی شود ( مانند توابع void معمولی)

به مثال زیر دقت كنید:

ذكر این نكته ضروری است كه در #C وقتی كلاسی تعریف می شود در واقع اشاره گر به آن كلاس معرفی می شود بنابراین با تعریف CTest    a كلاسی از CTest ایجاد نمی شود و فقط یك اشاره گر از CTest تعریف می شود و برای ایجاد یك كلاس استفاده از عملگر new اجباری است.

ولی در ++C  تعریف CTest     a به منزله ایجاد یك كلاس و فراخوانی Default Constructor می باشد.



ادامه مطلب

نوشته شده توسط محمد قبادی در سه شنبه هفدهم اردیبهشت 1387


دوستان خوبم سلام

حتما از قابلیت ها و قدرت زبان C خیلی چیزها شنیده اید. باید بگویم این گفته هم درست و هم نادرست است. چون نوع برنامه ا یكه میخواهیم بنویسیم تعیین می كند كه كدام زبان برای ا ین برنامه مناسب تر است. زبان C از قدرتمندترین زبانهاست كه سالهاست در صنایع و تجارت و خیلی چیزهای دیگر مورد استفاده قرار گرفته است. زبان C یك زبان سطح میانی میباشد. یعنی نه سطح بالاست(مانند پاسكال)و نه سطح پایین (مانند زبان اسمبلی). بلكه قابلیتهای هر دو اینها را دارد. به همین دلیل هم است كه زبان C برای نوشتن برنامه های سیستمی مانند سیستم عامل و كامپایلر و... بسیار مناسب است. بطوری كه قدرمندترین و پر كاربردترین سیستمهای عامل جهان را با این زبان یا با كمك این زبان نوشته اند. مثلا یونیكس را كاملا با این زبان نوشته اند و در ویندوز هم از C و اسمبلی (تا جایی كه میدانم) استفاده كرده اند.من به تمام كسانی كه می خواهند در علم كامپیوتر متخصص شوند و تمام كسانی كه میخواهند با برنامه های فوق العاده دیگران را متحیر كنند توصیه می كنم كه زبان C را یاد بگیرند. مقدمه چینی كافیه و بهتره بریم به موضوع اصلی. قبل از هر چیز چند نكته در موردC هست كه باید رعایت شوند:

1- دستورات زبان C به حروف كوچك و بزرگ حساس هستند و تمام كلمات كلیدی این زبان با حروف كوچك هستند.( case sensitive )
2- حداكثر طول یك دستور 255 كاراكتر است.
3- تمامی دستورات به ; ختم می شوند.(سمی كولون)
4- توضیحات در C بین //(برای یك خط) و /* ..... */ (برای چند خط) قرار می گیرند.

ساختار یك برنامه ساده درC بصورت زیر می باشد:

 كاراكترهای } و { نشان دهنده آغاز و پایان یك بلو ك میباشند. البته این ساختار خیلی ساده است و در جلسه های آینده این ساختار را گسترش خواهیم داد.

انواع داده ها در C :
داده های صحیح(integer):   برای تعریف از كلمه كلیدی int استفاده می كنیم.
داده های اعشاری(float): برای تعریف از كلمه كلیدی floatاستفاده می كنیم.
داده های اعشاری با دقت مضاعف: برای تعریف از كلمه كلیدی double استفاده می كنیم.
داده های كاراكتری: برای تعریف از كلمه كلیدی char استفاده می كنیم.
داده تهی: برای تعریف از كلمه كلیدی void استفاده می كنیم.
برای تعریف رشته ها در C نیز از char استفاده میكنیم .البته رشته در C وجود ندارد و ما از آرایه كاراكتری برای تعریف رشته استفاده می كنیم. كاراكتر ها در C بین گیومه(‘ ‘) و رشته ها بین كوتیشن(“ “)قرار می گیرند.

نحوه تعریف متغیرها:
هر متغیر از یكی از انواع بالا تعریف میشود. البته نوع تهی برای تعریف توابع و نوع برگشتی آنها وقتی كه نمی خواهیم چیزی برگشت دهند به كار می رود. برای تعریف متغیرها می توان از حروف كوچك و بزرگ انگلیسی و ارقام صفر تا نه استفاده كرد به شرطی كه نام متغیر با عدد شروع نشود. شكل كلی تعریف متغیر به صورت زیر می باشد:

;نام متغیر  نوع

 برای مثال:

خط اول متغیر a را از نوع صحیح، خط دوم متغیرهای a و bو c را از نوع اعشاری و خط آخر ch را از نوع كاراكتری تعریف می كند . خط سوم علاوه بر تعریف متغیر a مقدار 5 را نیز در آن قرار می دهد همچنین متغیر b18 را نیز بدون مقدار تعریف میكند.

عملگرهای زبان C :

(عملگرهای محاسباتی)

مثال

مفهوم

عملگر

x+y

عمل جمع

+

x-y                       و     -x

تفریق و منفی

-