• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
تعداد مطالب : 351
تعداد نظرات : 75
زمان آخرین مطلب : 6097روز قبل
کامپیوتر و اینترنت

آموزش فلش بخش هفتم
Frame چيست
هر فريم در Flash نشان دهنده چشم اندازي از فيلم است که در يک فاصله زماني نمايش پيدا ميکند . اگر شما به طور پيش فرض از 12 فريم در ثانيه استفاده کنيد هر فريم در يک دوازدهم فاصله زماني نمايش پيدا ميکند.

يادگيري انواع Frame :

نرم افزار Flash داراي دو نوع Frame است. فريم هاي معمولي و فريم هاي کليدي. اختلاف و شباهت بين دو نوع به شرح زیر می باشد:
- در زمان نمايش فيلم کليه فريم ها در زمانهاي مساوي نمايش داده ميشوند. ( مگر اينکه شما با نوشتن قطعه کد اسکريپت مشخص کنيد که يک فريم چه زماني طول بکشد تا نمايش يابد).
- آيتم هاي مختلف را فقط به فريم هاي کليدي ميتوان اضافه نمود. اين اهميت ندارد که چه چيزي را مي خواهيد اضافه کنيد، بلکه باید به یاد داشت که به فريم هاي کليدي ميتوان آيتم نيز اضافه نمود.

کليد هاي ميانبر براي Form ها :
دستور کليد ميانبر شرح
Frame F5 اضافه کردن يک يا چند فريم معمولي به محل مورد نظر
Remove frames Shift + F5 حذف فريم هاي انتخاب شده از Timeline
Key Frames F6 اضافه کردن يک فريم کليد که محدوديت فريم قبلي را دو برابر ميکند
Blank Key Frame F7 اضافه کردن يک فريم کليدي که محدوديت فريم کليدي قبلي را به همراه نخواهد داشت
Clear Key Frame Shift + F6 تبديل يک فريم کليدي به فريم معمولي




نکته :

قبل از اینکه فریم ها را به نقطه ای دیگر انتقال دهید ، بهتر است یک Motion Tween ساخته و سپس فریم را به نقطه ی دلخواه انتقال داد .

خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:34
کامپیوتر و اینترنت

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

Arrow Tool :

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

Sub Select Tool :

به وسيله اين ابزار ميتوان خطوطي که توسط ابزار Pen ترسیم شده اند را ويرايش و يا ترميم نمود.

Line Tool :

بوسيله اين ابزار ميتوان خط هاي گوناگون با نوع قلم متفاوت رسم کرد. ( اگر هنگام کار با اين ابزار کليد Shift را نگه داريم ميتوانيم خطهاي کاملاً عمودي و يا حتي 45 درجه رسم کنیم.

Lasso Tool :

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

Text Tool :

به وسيله اين ابزار ميتوان به Flash متن هايی را اضافه نمود.

Oval Tool :

به وسيله اين ابزار ميتوانيم بيضي رسم کنیم و اگر هنگام رسم کليد Shift را پايين نگه داريم ميتوانيم دايره رسم کنیم.

Rectangle Tool :

به وسيله اين ابزار ميتوان مستطيل رسم نمود ، اگر در هنگام رسم کليد Shift پايين نگه داشته شود ميتوان مربع رسم نمود.

Pencil Tool :

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

Brush Tool :

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

نکته :

با استفاده از ابزارهاي ديگری نیز می توان عملیات فوق را انجام داد ، ولی این ابزار کار را ساده تر انجام می دهد .

Free Transform Tool :

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

Fill transform Tool :

اين ابزار براي عوض کردن طيف اشيایی که توسط Flash رسم ميشوند به کار ميروند.

Ink Bottle Tool :

با استفاده از این ابزار می توان خطوط موجود در اشیاء Flash را رنگی نمود .

Paint Bucket Tool :

با استفاده از این ابزار می توان اشیایی که توسط Flash رسم شده اند را رنگی نمود و یا رنگ آنها را تغییر داد .

Eyedropper Tool :

به کمک اين ابزار ميتوان رنگ دلخواه خود را از يک تصوير يا شيء انتخاب نمود.

Eraser Tool :

این ابزار برای پاک کردن قسمتی از یک شی ء بکار می رود ، توسط Option های این ابزار می توان حالت پاک کردن را انتخاب نمود .

Hand Tool :

به کمک اين ابزار امکان جابجا کردن Work Space وجود دارد .

Zoom Tool :

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

Stroke Color :

با انتخاب اين گزينه جعبه رنگ باز ميشود و رنگ خطوط اشیاء به رنگ دلخواه در می آید .

Black and White :

با انتخاب اين گزينه خود Flash به طور اتوماتيک رنگ Stroke را مشکي و رنگ Fill را سفيد ميکند.

No Color :

با استفاده از اين گزينه در واقع هيچ رنگي براي کار خود انتخاب نميکنيد.

Swap Color :

با کمک اين گزينه ميتوان جاي Stroke را با جاي Fill عوض کرد.

Tools / Options :

در اين مکان کارايي و حالت مختلف بعضي از ابزار ها نمايش داده میشود که از بین آنها می توان مورد خاصی را انتخاب نمود .

Panels :

در واقع يک پانل يک جعبه محاوره اي است که نياز به بسته شدن ندارد. زماني که در پانل هاي Flash تغییراتی ايجاد ميکنيد، نیاز به بستن پانل ها نیست ، تغييرات فوراً اعمال ميشوند.

نکته :

ممکن است بعضي از پانل ها مخفي باشند ، توسط منوي Window ميتوان آنها را فعال نمود.

Properties Panel :

توسط اين پنل ميتوان مشخصات ابزار انتخاب شده را تعيين کرد. مثلاً در شکل زير ، پانل خصوصيات Text Tool را ميبينيد.

Color- Mixer Panel :

توسط اين Panel ميتوان رنگهاي دلخواه خود را براي استفاده در خطوط و داخل سطوح ايجاد نمود. زماني که رنگ مورد نظر خود را انتخاب ميکنيد اشياء جديد به اين رنگ در خواهند آمد.

Color Swatches Panel :

اين Panel محدوده ی رنگ بیشتری را به ما نشان می دهد .

Components Panel :

توسط اين Panel ميتوان عناصر واسطه اي را به فيلم اضافه نمود ،اين عناصر توسط يکسري کد اسکريپت کنترل ميشوند. اين عناصر به شما کمک ميکنند تا بتوانيد به سادگی فيلمهاي Flash تهيه کنيد.

Action Panel :

توسط اين Panel ميتوان جهت استفاده از اشیاء ، کد اسکريپت مورد نظر را به فريم هاي Timelines اضافه نمود. همچنین توسط اين زبان برنامه نويسي ميتوان حرکات اتوماتيک را به Flash اضافه کرد.
خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:34
کامپیوتر و اینترنت

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

Layer Names :

در اينجا نام لايه ها را مشاهده ميکنيد. براي تغيير نام یک لایه است روي آن دو بار کليک کرده و نام آن را عوض کنيد.

Add a layer :

براي ايجاد يک لايه جديد از اين گزينه استفاده ميشود.

Add a Motion Guide Layer :

اين گزينه شما را قادر ميسازد تا يک لایه ی راهنما ايجاد کنيد.بنابر اين ميتوان اشياء را در يک مسير حرکت داد که اين مسير الزاماً مستقيم نميباشد.

Add a Layer Folder :

توانايي شما را در افزودن پوشه هايي به سازماندهي لايه ها افزايش ميدهد.

Delete a Layer :

به وسيله اين آيکون ميتوان لايه مربوطه را حذف کرد.

Show or Hide Layer :

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

Lock or Unlock Layer :

با کليک کردن در اين ستون تمام لايه ها قفل شده و براي لايه ها و Frame ها امکان هيچ ويرايشي وجود ندارد. ( ميتوان تک تک لايه ها را نيز قفل کرد )

Show Layer as Outline :

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

دوشنبه 19/6/1386 - 22:33
کامپیوتر و اینترنت

آموزش فلش بخش چهارم
درک و يادگيري اصول پايه اي Flash
Flash داراي يک سري عناصر اوليه است که در طول کارتان شما را همراهي ميکند. شکل زير نماي اوليه اي از عناصر اوليه Flash ميباشد.

صفحه کاري ( Work Place ) در Flash :

صفحه کاري منطقه اي است که در آن قلم هاي Flash را ايجاد ميکنيد. این صفحه ی کاری در واقع آن منطقه سفيد رنگي است که در قسمت مياني پنجره Flash واقع شده است.

نکته :

به طور پيش فرض اندازه اين صفحه 550*400 پيکسل ميباشد. اطراف صفحه کاري بوسيله يک حاشیه خاکستري که محيط کاري است پوشانده شده است. اشياء روي محيط کاري ظاهر میشوند، مگر اينکه آنها را بر روي صفحه کاري منتقل کنيد.

Timeline :

Timeline ( خط زمان ) يکي از ابزار هاي Flash است که فريم هاي درون آن را کنترل ميکند. شکل زير قسمتهاي مختلف Timeline را به تصوير ميکشد.





Play head :

براي ديدن گزینه های Flash مورد نظر Play head را بوسيله اشاره گر ماوس بر روي این Flash بکشيد. بدين منظور شما ميتوانيد يک Frame دلخواه را بر روي Timeline کليک کنيد که آن به صورت اتوماتيک Play head ميشود.

Frame Number :

همان نما هاي شما براي کار کردن در Timeline ميباشند. Frame line شما را قادر ميسازد تا مکان صحیح اشیاء در فریم را مشخص کنید.

Timeline Menu :

از طريق اين متد ميتوان به تعداد گزينه هايي که براي تنظيم چگونگي مشاهده Timeline استفاده ميشوند دسترسي پيدا کرد.

Center Frame :

قسمت مرکزي قابل ديد در Timeline ميباشد.

Onion Skin View :

توسط اين گزينه ميتوان فريم هاي مختلف يک انميشن ترتيبي را مشاهده کرد. در واقع ميتوان تشکيل فريم هاي مياني را ملاحظه نمود.

Onion Skin Outline view :

اين گزينه نيز مانند Onion Skin View ميتواند تعداد فريم هاي اول تا آخر را نشان دهد .اما این گزینه بیشتر براي منحني ها استفاده ميشود.

Edit Multiple Frames :

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

Modify Onion Markers :

منويي را نمايش ميدهد که توسط آن شما ميتوان تعداد فريم هاي دلخواه را در Onion Skin View نمايش داد.

Current Frame :

در اين قسمت ساده فريم جاري نمايش پيدا ميکند.

Frame Rate :

این گزینه تعداد فريم هاي نمايش داده شده را نشان ميدهد.

Playback Time :

این گزینه مدت زمان سپري شدن فيلم را نشان ميدهد.

Scroll Bars :

بوسيله این گزینه ميتوان فريم هاي لايه هاي قبلي را مشاهده نمود.
خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:33
کامپیوتر و اینترنت

آموزش فلش بخش سوم
متحرک سازي در سايت وب
در گذشته در سايتهاي وب به علت اينکه انيميشن نداشتند ، بسیار خسته کننده به نظر می رسیدند. ولي نرم افزار Flash به آساني انيميشن را توسط فرآیندی به نام Tweening ايجاد ميکند. در اين مرحله شما به Flash نقطه آغاز و پايان ميدهيد و تصاوير بين اين دو نقطه به طور اتوماتيک به صورت فريم ( Frame ) ايجاد خواهند شد. مثلاً اگر يک تصوير کامپيوتري براي کامل شدن احتياج به 10 فريم داشته باشد تنها لازم است به آن دو فريم شروع و پايان را بدهيم ( فريم 1 و فريم 10) ، خود نرم افزار Flash فريم هاي ما بين آن را ميسازد.
علاوه بر آن ميتوانيد يک Motion Tween براي آن شيء بسازيد.

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

در Flash علاوه بر انيميشن هاي ساده ميتوانيد وب سايتهاي محاوره اي نیز بسازید. به عنوان مثال ميتوان فيلم فلشي را ايجاد کنيد که در آن فيلمهاي کوتاه و Track هاي موسيقي متعدد قابل انتخاب وجود داشته باشد زيرا Flash کاملاً شيء گرا ميباشد.

نکته :

در يک فيلم Flash منظور از محاوره اي بودن اين است که کاربر قادر به انتخاب کليپ هاي ويدئويي يا Track موسيقي دلخواه باشد.

تغيير شکل اشياء و متون متحرک :

يکي از تکنولوژي هاي انيميشن در Flash این است که به شما اجازه ی تغییر يک شکل به شکل ديگر را ميدهد ،به اين فرآیند Shape tween ميگويند. بدون شک متون متحرک را در سايت هاي مختلف مشاهده کرده ايد. اين متون درون یک جعبه از نقطه اي به نقطه ديگر حرکت ميکنند. از اين Effect در سرفصل روزنامه ها و تبليغات فروشگاهها استفاده ميشود. ايجاد يک متن متحرک در Flash کار بسیار ساده ای است . بدين منظور جهت رسیدن به نتیجه ی مطلوب باید تکنیک های فیلم سازی Flash را با هم ترکیب کنیم ، به این صورت که ابتدا یک Motion Tween ایجاد کرده ، بوسیله آن متنی را داخل جعبه از این سمت به آن سمت برده و سپس یک Mask اضافه می کنیم. توسط اين ماسک ميتوانيم متن داخل جعبه را کنترل کنيم. اين بدان معني است که شما قادر خواهيد بود هر قسمت از متن دلخواه خود را قابل مشاهده کنيد. ( توضيح بيشتر Mask در فصلهاي بعدي آمده است )
خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:33
کامپیوتر و اینترنت

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

نكته

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

دوشنبه 19/6/1386 - 22:32
کامپیوتر و اینترنت

آموزش فلش بخش اول


ماکرومديا فلش ( Macromedia Flash) يکي از بهترين نرم افزار هايي است که شما ميتوانيد جهت افزودن افکت های مخصوص و انیمیشن های کامپیوتری به وب سایت از آن استفاده کنید .در این جزوه سعی شده تمامی نکات با ذکر مثال و انیمیشن برای شما ارائه گردد . امید است این منبع جهت استفاده ی شما عزیزان مفید واقع شود.
برای مطالعه ی این دوره ی آموزشی نیاز است کاربران محترم آشنایی با سیستم عامل ویندوز داشته باشند .

ضمنا سیستم شما باید دارای مشخصات سخت افزاری ذیل باشد :

- حداقل سیستم مورد نیاز پنتیوم 233
- 16 مگابایت Ram
- حدود 600 مگا بایت فضای آزاد
- کارت گرافیکی 64 گیگا بایت

خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:32
کامپیوتر و اینترنت

آموزش زبان C بخش هفتاد چهارم


براي شروع لازم است در مورد مسائلي كه به ترتيب عنوانهاي آنها قيد مي شود ... علاوه بر توضيحات اين مقاله مطالعه وسيع و مداومي نيز داشته باشيد

البته لازم به ذكر است كه فرض اين مقاله بر اين است كه مشتري يا خود شما امكان و يا به صرفه بودن توليد نرم افزار را براورد و درمورد ان مطمئن هستيد.

حل هر مسئله و خصوصا برنامه هاي كامپيوتري مستلزم گذراندن 5 مرحله است كه در شكل نشان داده شده است


همانگونه كه از شكل مشخص است هرچه 4 مرحله اول دقيق تر انجام شود احتمال تكرار مراحل قبلي كمتر و بالطبع زمان و در پي ان هزينه توليد نرم افزار كاهش مي يابد . در ميان 5 مرحله تحليل مهمترين بخش است چراكه تعريف صورت مساله در تحليل انجام ميشود. نمي خواهم بحث را طولاني كنم .فقط اين قضيه را خاطر نشان مي كنم كه اهميت "تحليل " بقدري زياد است كه در خارج از كشور شركتها ي توليدكننده نرم افزار حتما داراري چندين تحليلگر ماهر هستند كه از ابتدا تا انتهاي پروژه هدف پروژه را كنترل و مسير انرا اصلاح ميكنند.

بعنوان يك حاشيه مي توان زمانبندي 5 مرحله را نيز بصورت زير ترسيم نمود كه با مراجعه به كتابها و نرم افرارهاي مختلف مي توانيد اين نمودار را دقيق تر كنيد .
الف ) تحليل

"فهم مساله نيمي از حل مساله مي باشد"

شما تاوقتي كه خودتان ندانيد چه مي خواهيد انجام دهيد نخواهيد توانست مساله را حل و بالطبع ديگر اعضاي گروه را رهبري كنيد .

پس قدم اول شناخت صورت مساله است .هدف از انجام اين قدم را مي توان پرداختن به 4 موضوع زير دانست

تعيين اطلاعاتي كه قابل مكانيزه كردن مي باشد
افرادي كه لازم است با اين ابزار(نرم افزارها) كار كنند.در پروژه هاي بزرگ اين مسئله شامل سلسله مراتب اولويت افراد نيز مي گردد
انتخاب نمونه هاي اصلي براي كار روي انها(فرمها پرونده ها اسناد و غيره.......)
ميزان گستردگي نمونه هاي انتخاب شده و همچنين كاهش ميزان پيچيدگي نرم افزار در موارد كم اهميت

براي انجام اين كار راههاي متععدي وجود دارد مانند :

مصاحبه : با يك يا چند كارشناس مسلط به كار (هر چند دركي از كامپيوتر نداشته باشند) صحبت كنيد . اين كار را گاه لازم است بطور مداوم تكرار كنيد تا مطمئن شويد كه مي دانيد چه مي خواهيد .
فرمهاي نظر سنجي : ممكن است برنامه اي قبلا نوشته شده باشد و يا ذهن يك جامعه (منظور مجموعه اي از افراد است ) نسبت به يك مسئله روشن باشد ، بهتر است نظر انها را در مورد نواقص سيستم قبلي(حتي ممكن است سيستم قبلي يك سيستم دستي باشد) و يا پيشنهاد سيستم جديد بدانيد .
مرور انچه كه هست : برخي موارد (بجز مواردي كه يك نرم افزار خاصي وجود دارد ) مي توانيد با مراجعه به انچه انجام شده(نرم افزارهاي قبلي) به بررسي نقاط ضعف و قوت نرم افزارها بپردازيد و از اين راه تحليل خود را محكم تر كنيد
مشاهده عيني : بايستي بطور مداوم با حضور در محل روند كار وانچه گفته مي شود را با انچه مي دانيد تركيب و مقايسه كنيد تا بتوانيد به نكات ريز و ظريفي كه وجود دارد پي ببريد . گاه نكته اي كه از ديد كارفرما بديهي است از ديد شما ناشناخته است
عكسبرداري و فيلمبرداري و يا ضبط صوت : انسان هيچگاه نمي تواند به حافظه خود جهت يادآوري اتكا كند . بهتر است از اين سه ابزار ساده و ارزان قيمت ( در مقايسه با نتايجي كه بدست مي آوريد ) استفاده كنيد تا در هنگام تحليل بتوانيد با مراجعه مكرر امكان خطا را كاهش دهيد
ثبت انچه بدست مي اوريد : مطالبي كه شما جمع اوري ميكنيد داراي ارزش زيادي هستند . انها را بطور مداوم دسته بندي و يادداشت كنيد . اينكار باعث مي گردد تا اولا براحتي در مراجعه بعدي مطلب را پيدا كنيد و ثانيا با حذف يك شخص خاص از پروژه (اخراج ، عدم تمايل به كار، بيماري و يا ....) كل پروژه از كار نيفتاد
همانگونه كه مي بينيد در اين مورد اين مساله نكات ظريف بسار زياد است .

از جمله تجربياتي كه من در حين كار متوجه شدم اينست كه وقتي من ميتوانم بگويم يك تحليل جامع و كامل ارائه كردم ويا در واقع صورت مساله را فهميدم كه بتوانم تك تك كارهاي مشتري را در سيستم دستي بدون اشكال خودم انجام دهم .

البته در حين مراحل تحقيق چند نكته را از ياد نبريد

پررو باشيد : از سه عامل پول ، پارتي و پررويي اگر دوتاي اول را نداريد حداقل سومي را داشته باشيد . البته اين به معناي بي ادب بودن نيست بلكه به معناي سمج بودن يا در اصطلاح ادبي "پشتكار داشتن " براي دست يافتن به مطلب مورد نظر است
ايجاد وحشت نكنيد : با فيلمبرداري و ضبط صدا و يا حتي يادداشتها كاري نكنيد كه كارمندان احساس كنند شما درحال جمع اوري مدرك عليه او هستيد

يك تحليل گر علاوه بر ارائه انچه كه وجوددارد بايد بتواند راهكارهاي اصلاح سيستم فعلي را نيز ارائه كند .

خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:31
کامپیوتر و اینترنت

آموزش زبان C بخش هفتاد سوم


اشاره گرها
C پاسكال
نام اشاره گر * نوع اشاره گر نوع اشاره گر ^ : نام اشاره گر
نكته : در زبان C هميشه بايد در هنگام ارسال آرايه ها به تابع آخرين عنصر آن معلوم باشد البته مي توان تمامي عناصر را هم معلوم كرد و يا آخرين عنصر را به تابع فرستاد .
در زبان C ميتوان اشاره گري از نوع آرايه تعريف كرد با استفاده از دستور Malloc بصورت زير
Int*P
P= ( int *)Malloc ( n* size of ( int))
با دو دستور بالا ابتدا اشاره گر p از نوع int ساخته شده سپس يك آرايه ي n عنصري از نوع int به p نسبت داده ميشود .
ارزش دهي اوليه اشاره گرها درC
; "رشته " = نام رشته Char *
نكته : ساختمان ها در زبان C معادل ركوردها در زبان پاسكال ميباشند .
C پاسكال
نام ساختمان struct record = نام ركورد
{ ;نوع فيلد : نام فيلد اول
; نام فيلد نوع فيلد ;نوع فيلد : نام فيلد دوم
; نام فيلد نوع فيلد '
' '
'
; نام فيلد نوع فيلد ;نوع فيلد : نام فيلد n ام
}; end;

در زبان پاسكال در ............. var ميتوان به صورت زير متغير هائي از نوع record تعريف كرد و در زبان C داريم .
; اسامي متغير ها نام ساختمان Str var
; نام ركورد : نام متغير نكته : در زيان C ميتوان متغير هاي ساختمان را بصورت زير تعريف كرد
نام ساختمان Struct
{
; نام فيلد نوع فيلد
; نام فيلد نوع فيلد
'
'
; نام فيلد نوع فيلد
نام متغير ها }
براي دسترسي به عناصر داده ها و ركورد ها داريم
C پاسكال
نام فيلد . نام ساختمان نام فيلد . نام ركورد
براي تعريف آرايه اي از ركورد ها و يا ساختمان ها به صورت زير عمل ميكنيم .
C پاسكال
نام ساختمان struct type
{ record= نام ركورد
; نام فيلد نوع فيلد ; نوع فيلد : نام فيلد
; نام فيلد نوع فيلد '
' '
' ; نوع فيلد : نام فيلد
; نام فيلد نوع فيلد end;
} var
; [n ] نام آرايه نام ساختمان Strust ; نام ركورد of [1..n] array : نام آرايه

C پاسكال
( نام رشته ) a to i = ; ( عددي براي چك كردن و نام عدد و نام رشته ) vul
دو دستور بالا در C و در پاسكال يك مقدار رشته اي را ميگيرد و به يك مقدار int تبديل ميكند .
نكته : ميتوان يك اشاره گر از نوع ساختمان داشته باشيم به صورت زير

C پاسكال
نام ساختمان strust
{
; نام فيلد نوع فيلد
; نام فيلد نوع فيلد
'
'
; نام فيلد نوع فيلد
; نام اشاره گرها * و نام متغير }
و بصورت زير هم ميتوان عمل كرد
; نام اشاره گر * نام ساختمان struct
نكته : اگر اشاره گر از نوع ساختمان داشته باشيم ميتوان براي دسترسي به عناصر ساختمان بصورت زير عمل كرد .
نام فيلد . ( نام اشاره گر *)
نام فيلد نام اشاره گر
در زبان C اين امكان وجود دارد كه ساختماني را به گونه اي تعريف كنيم كه طول عناصر آنرا بر حسب bit مشخص كرد .
C پاسكال
نام ساختمان struct
{
; طول فيلد : نام فيلد نوع فيلد
; طول فيلد : نام فيلد نوع فيلد
'
'
'
; طول فيلد : نام فيلد نوع فيلد
; نام اشاره گر * و نام متغير ها }
نكته : اگر يك ساختمان از نوع بيتي داشته باشيم : (1 نمي توان به آدرس آنها مراجعه كرد
(2 نمي توان بصورت آرايه تعريف شود
(3 تركيبي از ساختمان بيتي و معمولي ممكن است
يونيون ها : محلي از حافظه است كه توسط دو يا چند متغير به طور اشتراكي مورد استفاده قرار مي گيرد. عناصر يونيون ها تمامي از يك مدل حافظه شروع ميشوند .
در يونيون ها فضاي اشغال شده برابر است با فضاي مورد نياز براي بزرگترين فيلد .
C
نام يونيون union
{
; نام فيلد و نوع فيلد
'
'
; نام فيلد و نوع فيلد
; نام اشاره گرها * و نام متغير ها }
نكته : ميتوان هر يك از فيلد هاي يك union خود يك struct يا union ديگر نيز باشند .

C پاسكال
اسم جديد نوع موجود typedet type
انواع داده شمارشي :

C
نام نوع شمارشي enum
{
عنصر اول
عنصر دوم
'
'
عنصر n ام
; نام اشاره گرها * و نام متغير ها }
; نام متغير ها نام نوع شمارشي enum

نكته : مقدار عددي عنصر اول صفر و عنصر n ام مقدار عددي n را ميگيرد .
فايل ها : برابر تعريف يك متغير از نوع فايل داريم
C پاسكال
نام اشاره گر فايل * FILE var
نام ركورد مورد نظر of file : نام متغير فايل
و براي كار با فايل ها دستورات زير را داريم يا
; text :
C پاسكال
; ( "فرمت باز شدن" و " آدرس فايل" ) fopen = نام اشاره گر فايل
; ( نام اشاره گر فايل ) f close
; ( نام اشاره گر فايل ) rewind
تابع rewind باعث ميشود كه اشاره گر به ابتداي فايل اشاره كند .
; ( نام اشاره گر فايل و نام متغير كاراكتري ) putc
; ( " و " ) fputc
;( نام اشاره گر فايل ) getc= نام متغير كاراكتري
;( نام اشاره گر فايل ) fgetc= نام متغير كاراكتري
;( نام اشاره گر فايل و نام متغير رشته اي ) fputs
; ( نام اشاره گر فايل و طول آن و نام متغير رشته اي ) fgets
دستور زير چك ميكند كه آيا اشاره گر به انتهاي فايل رسيده است يا خير
اگر اشاره گر به انتها رسيده باشد مقدار 1 و در غير اينصورت صفر را بر ميگرداند.
; ( نام اشاره گر فايل ) fremove ( اگر انجام شود مقدار صفر و در غير اينصورت مقدار ديگر ارجاع ميشود . )
در زبان C تابعي وجود دارد كه اگر در هنگام كار با فايل اشكالي پيش آيد ارزش 1 و در غير اينصورت ارزش صفر را بر ميگرداند كه بصورت زير است .
; ( نام اشاره گر فايل ) ferror

C پاسكال
دستور زير باعث مي شود يك كاراكتر حرف كوچك به كاراكتر حرف بزرگ تبديل شود .
; ( نام متغير كاراكتري ) foupper= نام متغير كاراكتري
در زبان C ميتوان يك struct را درون فايل قرار داد و يا از آن خواند .
C
;( نام اشاره گر فايل و تعداد خواندن و (نام ساختمان Struct ) Sizeof و نام متغير ساختمان Fread (&
;( و " و " و " &) fwrite
پاسكال
; ( نام متغير فايل و نام متغير ركورد read(
;( نام متغير فايل و نام متغير ركوردWrite (
; ( نام متغير كاراكتري follower = نام متغير كاراكتري
دستور حذف يك كاراكتر را به حرف كوچك تبديل ميكند .

Linklist

C پاسكال
{ نام ساختمان struct ; نام ركورد ^ = نام اشاره گر
; نام فيلد نوع فيلد record = نام ركورد
" " نوع فيلد : اسم فيلد
" " " "
; نام فيلد نوع فيلد " "
; نام فيلد آدرس * نام ساختمان struct ; نوع فيلد : نام فيلد
}; ; نام اشاره گر : اسم فيلد آدرس
End;
نكته : در زبان C براي تعريف اشاره گر هاي خارجي داريم :
C پاسكال
; نام اشاره گر * نام ساختمان struct
براي ايجاد گره داريم
C پاسكال
((نام ساختمان struct)sizeof)Malloc ( *نام ساختمان struct)= نام اشاره گر ساختمان var ; نام ركورد : نام متغير
خداییش اگر خوشت اومد نظر بده

دوشنبه 19/6/1386 - 22:31
کامپیوتر و اینترنت
آموزش زبان C بخش هفتاد دوم
مقدمه
نمي دانم تا حالا به مشكل "زبانها" برخورد كرده ايد يا نه ... بنظر من تمامي زبانها در 99 درصد موارد شبيه به هم هستند ... اين مطلب پايه تحقيقي شد براي اينكه يكي از دوستان خوبمان بنام "اردلان شاهقلي " اين مطلب را تهيه و يكي از دوستان ديگرمان بنام سركار خانم "نادري " زحمت تايپ انرا بكشند ...
اميد وارم اين مطلب هر چند ناقص كمك خوبي براي يادگيري هر دو زبان باشد



وكيلي


زبان C زبان Pascal
;(عبارت 2& ",عبارت 1Scanf (" ;( ) read
; (عبارت 2 , " عبارت 1") Printf ; ( ) write
نكته : دستورات Scanf و Printf داراي دو عبارت اول و دوم ميباشند .
نكته : در دستور Scanf به جاي عبارت اول از كاراكترهاي كنترلي فرمت استفاده ميشود.
نكته : در دستور Scanf به جاي عبارت دوم (بعد از علامت & ) اسم متغيرهايي كه بايد خوانده شوند مي آيد . البته با توجه به كاراكترهاي كنترلي فرمت عبارت اول .
نكته : در دستور Printf به جاي عبارت 1 از كاراكترهاي كنترلي استفاده ميشود . ( البته در اين دستور ميتوان بسيار عبارت اول يك متن را به ............. قرار داد و ديگر احتياجي به عبارت دوم نيست ) در ضمن ميتوا ن از تركيب از حالت بالا هم استفاده كرد .
نكته : عبارت دوم در دستور Printf ............. اسم متغير به همراه بعضي از كاراكترهاي كنترلي ميباشد .
; ) & , " ln (" Scanf ;( )ln read
; ) , " ln (" Printf ; ( )ln write

جدول كاراكترهاي كنترلي دستورPrintf ( ) و( ) Scanf
كاراكتر توضيحات
\f موجب انتقال كنترل به صفحه جديد مي شود
\n موجب انتقال كنترل به خط جديد ميشود
\t به اندازه ي 8 كاراكتر فاصله ايجاد ميشود
\" چاپ دبل كتيشن
\' چاپ كتيشن
\O NULL ( رشته ي ....... )
\\ Back slash
\V انتقال كنترل به 8 سطر بعد
جدول كاراكترهاي كنترلي فرمت
كاراكتر توضيحات
%c كاراكتر
%d اعداد صحيح دهدهي مثبت و منفي
%i اعداد صحيح دهدهي مثبت و منفي
%e نمايش علمي عدد همراه با حرف e
%E نمايش علمي عدد همراه با حرف E


جدول كاراكترهاي كنترلي فرمت
كاراكتر توضيحات
%f نمايش اعداد اعشاري
%g نمايش اعداد اعشاري
%G نمايش اعداد اعشاري
%S رشته اي از كاراكترها
%p اشاره گرها

در زبان C براي ورود اطلاعات انواع ديگري از توابع را داريم كه معادل آنها همان read در پاسكال ميباشد. (readln) و .............دستور هم معادل Write موجود ميباشد.
C Pascal
getch ( );= نام متغير كاراكتري read( );
getche ( ); = نام متغير كاراكتري read( );
getchar ( ); = نام متغير كاراكتري read( );

Putch ( ) ; Write ( );
Putchar ( ) ; Write ( );

البته دستورات فوق فقط براي خواندن يك char ميباشند.
دو دستور زير برا دريافت و نوشتن string در C ميباشند .
; (نام متغير رشته اي) gets
; (نام متغير رشته اي) Puts

انواع داده ها برابر است با
C Pascal
int integer
Flout real
Char char
(آرايه اي از char ميباشد. ) string
Int boolean

معادل بعضي از دستورات Pascal در C در پائين آمده است .
C Pascal
= = =
= = :
! < >
<= <=
>= >=
!= not
&& And
|| or
++Xيا ++X inc(x)
X-- يا --X dic(x)
{ begin
} End;
} End.
} End
break; break;

C Pascal
(شرط ) if then شرط if 1)

{ begin


} end
Else else
{ begin


} end;
(عمليات ; شرط خاتمه ; مقادير اوليه= متغبرهاFor ( Do مقدار نهائي to مقدار اوليه = : متغير حلقه 2) For
{ begin




} end;
البته در زبان C حلقه ي for ميتواند هر كدام و با ................ تمام مراحل را ( عمليات يا شرط خاتمه با دستوارات انتساب نداشته باشد . )
در صورتي كه حلقه ي for به صورت زير نوشته شود مانند حلقه ي while در پاسكال عمل خواهد كرد .(بصورت بينهايت)
For (; ; )

C Pascal
) شرط ادامه ي حلقه While ( do شرط ادامه ي حلقه 1) while

{ Begin


} End;

do 2) repeat

; ( شرط ادامه ي حلقه While ( ;(شرط خروج از حلقه) until

(نام متغير) Switch of نام متغير 3) Case
{ begin :حالت اول
:{ حالت اول case
End ;
Break; begin: حالت دوم
}
:{ حالت دوم case end;
Break;
} : begin حالت n ام
:{ حالت case end;
Break; Else Begin
Defualt : End;
end;
}

}
همان طوري كه مي دانيد C تشكيل شده است از يك سري تابع و حتي برنامه ي اصلي آن هم يك تابع است كه بصورت زير آنرا مي نويسيم .
Void Main ( )
{

}
C مانند پاسكال داراي تابع مي باشد و اين توابع مي توانند كار رويه ها را هم انجام دهند .
C Pascal
; ( نام متغير ها / نوع متغير ها ) نام تابع نوع تابع ; ( نوع تابع : ( نام متغير ها ) نام تابع Function
{ begin


} End;
برابر تعريف آرايه ها در C داريم .
زبان Pascal
نوع آرايه of ] مقدار انتسابي .. مقدار ابتدائي [ Array : نام آرايه
زبان C
]طول هر خانه[ ] تعداد خانه هاي آن [ نام آرايه نوع آرايه

در زبان C اولين خانه ي آرايه ها داراي انديس صفر ميباشد .
در زبان C متغيري به نام string وجود ندارد و بجاي آن از آرايه اي از نوع char استفاده ميشود .
C پاسكال
Char x[ ]; x:string;
در زبان C آخرين خانه ي يك آرايه از char ها با '/0' پر خواهد شد . ( '/0' انتهاي يك string ميباشد . )
براي كپي كردن يك string در ديگري از تابع
C پاسكال
;( متغير دوم و نام متغير اول Strcpy( Pchar;: (متغير دوم ونام متغير اول strcopy (
در هر دو زبان مقدار متغير دوم و متغير اول كپي ميشود . ( البته دستور strcopy در unit، string زبان پاسكال قرار دارد .)
;( متغير دوم و نام متغير اول ) strcut ; Pchar : ( متغير دوم و نام متغير اول ) strcut
در هر دو زبان مقدار متغير دوم به انتهاي مقدار متغير اول مي چسبد و در متغير اول قرار مي گيرند . ( دستور فوق در unit string پاسكال قرار دارد . )

خداییش اگر خوشت اومد نظر بده
دوشنبه 19/6/1386 - 22:30
مورد توجه ترین های هفته اخیر
فعالترین ها در ماه گذشته
(0)فعالان 24 ساعت گذشته