مباني كامپيوتر و برنامه نويسي(از صفر شروع مي كنيم)

moongirl

عضو جدید
سلام به همه دوستان خصوصا برو بچه هايي كه:
- ورودي هاي جديد رشته مهندسي فناوري اطلاعات هستن و مي خوان مثبت بازي در بيارن و درسا رو جلو جلو بخونن
- كسايي كه ميخوان با رشته مهندسي فناوري اطلاعات بيشتر آشنا بشن

توي اين سلسله تاپيك ها تصميم دارم دروسيروكه از چارت دروس عمومي رسمي و يا به صورت غير رسمي خارج شدن و مختص رشته ماست رو توضيح بدم (البته همون چيزايي كه خودم توي دانشگاه مي خونم) البته برخي از اين دروس ( شما بخونين همشون) با دروس رشته مهندسي كامپيوتر گرايش نرم افزار يكسانه پس نه تنها از دوتان مهندس آي تي كمك و راهنمايي مي خوام كه دست ياري به سوي مهندسان نرم افزار هم دراز مي كنم
باشد كه توفيق خدا شامل حال ما شود
سارا:gol:
 

moongirl

عضو جدید
درس اول- تاريخچه كامپيوتر

درس اول- تاريخچه كامپيوتر

براي هر مهندسي كه با كامپيوتر سر و كار داره مهمه كه كلياتي رو در مورد تاريخچه كامپيوتر بدونه:
- ولين كامپيوتر الكترونيكي در سال 1930 توسط دكتر آتاناسوف در دانشگاه ايالت آيوا ساخته شد اين كامپيوتر به منظور كمك به محاسبات رياضي طراحي شده بود.
- اولين كامپيوتر بزرگ ( super computer) در سال 1946 در دانشگاه پنسيلوانيا و با سرمايه ارتش امريكا ساخته شد. اين كامپيوتر همه منظوره ديجيتال الكترونيك كه ENIAC نام داشت در ابعاد 30*50 فوت بود و 30تن وزن داشت. هدف از ساخت اين ابركامپيوتر محاسبه جدول پرتابه ها‏- پيش گويي وضع آب و هوا و محاسبات مربوط به انرژي اتمي بود.
 

moongirl

عضو جدید
نسل هاي كامپيوتر

نسل هاي كامپيوتر

نسل اول: در كامپيوترهاي نسل اول از لامپ خلا به عنوان عنصر الكترونيكي پايه استفاده ميشد به گونه اي كه در اولين كامپيوترها 19000لامپ خلا وجود داشت و حجمي بالغ بر 9015 متر مربع رو اشغال مي كرد (حتي تصورش هم سخته). انرژي مصرفي لامپ ها و انرزي لازم براي تهويه و خنك كننده ها چيزي حدود 130 كيلووات بود
نسل دوم: در كامپيوترهاي نسل دوم از ترانزيستورها و حلقه هاي كوچك مغناطيسي Magic core استفاده مي شد. حلقه هاي مغناطيسي نقش حافظه رو در كامپيوتر بر عهده داشتند.... حضور اين دو عنصر سبب كوچكتر و ارزان ترشدن رايانه ها شد.
نسل سوم: كامپيوترها روز به روز كوچكتر‏ و ارزان تر مي شد. سرعت پردازش و حافظه ذخيره سازي اطلاعات افزايش مي يافت
نسل چهارم: در كامپيوترهاي نسل چهارم استفاده ازريز پردازنده ها microproccessor سبب كوچكتر شدن كامپيوتر ها و نيز بالاتر رفتن سرعت پردازش اطلاعات و حجم ذخيره سازي اطلاعات گرديد.
نسل پنجم: ماشين هاي هوشمند و ربات ها
 

moongirl

عضو جدید
در ســــال 1642 ، پـــاسكال رياضي دان ماشينـــي را طراحــي كـــرد كه بطور اتوماتيك با استفــــاده از تعـــدادي چرخ كهدر مكانهاي ده گانه ( ده مرحله اي ) قرار مي گيرند و موقـــعيت آنها در يكپنجره بعنوان عدد محاسبــه شده و نشان داده مي شد. ديگران بعـــدا"تغييراتـــي درايــن ماشيــن جهت بكــار بــردن ضــرب و تقـــسيمايجـاد كردند .در 1801 ، Jacquard فرانسوي ماشين بافندگــي راطــراحي كــرد كه بـــا استفــاده از يكي ســـري كارد كه سوراخهايي باشكلهاي مختلف روي آن تعبيه شده بود مي توانست شكل و الگوي ( نقشه )بافندگي را تعيين كند . در 20 سال بعد Charles Babbage انگليســـي از ايدهكارت هاي سوراخ دار در ذخيره و ايجاد دستور العمل هاي مربوط به ماشـــينحساب و محاسبه جداول كشتيراني استفـــاده كرد و در واقـــع او بعنـــوانكســـي كه اســـاس كا مپيـــوتر را بـــرنامـــه ريزي كــرد شنـــاختــهمي شـــود .در 1880 Census ، Herman Hollerith & و Powers امريكائي يك ماشين شمارش و كـــا مپيــــوتري كه با كارت هاي ســـوراخ دار ( Punch Card ) كار ميكرد را طراحي كردنــــد كـــه توســـط سيستمهاي كهاز سوراخ ها عبـــور كـــرده وضـــمن تماس با جيـــوه و سپس ثبت اطلاعاترو ي صفحه نمايـــش را انجـام مي داد . Hollerith سپـس اختراع را ثبت و يكشـركت ( Computer Tabulating Recording Company ) را تشكيـــل داد كه درســـال 1924 تغييــر نام داد وبـــه IBM مشهـــور شد.
در 1944 ، IBM ، Marki ماشيـــن كامپيوتر الكترونيكي ( ENIAC ) كه سرعت بالا داشت ساخته شد كــه محـــاسبات 20 ساعتـــي كامپيوتر هاي قـــبلي را كه براي محاسبات در زمان جنگ جهاني II ساختـــه شـــده بود در 30 ثانيه انجــام مي داد در اين راستا ، توليد كنندگان ENIAC كامپيوتر ديگري ساختند ( UNIVAC ) كه توان ذخيره دستور العمل هاي خود را نيز داشت .( Universal Automatic Compution ) اين كامپيوترها از 18000 تيوب خلاء كه بسيار بزرگ بود ساختـــه شـــده بـــود و در ضمن صرف برق زيــاد ، حـــرارت زيـــادي ايجاد و در نتيجه خيـــلي قــابل استفــاده نبـــود .

 

moongirl

عضو جدید
مـــشكل توسعــه كامپيوتر بااختراع ترانزيستور ( آمپلي فاير كـوچك نيمه هادي Solid- State ) در سال 1974 حـل شد ايــــن اختراع باعــث ســاخت كامپيــوتر ديجيتال شد كه بطورديــجيتال اطلاعــات و دستـــورالعمــل را ذخيره و استفـــاده كنـــند وتنهـــا مشكل آن تعداد زيـــاد تــرانزيستـــورها و مــداراتي بــود كهجـــهت ســـاخت كامپيـــوترلازم بود . با ساخت ( IC ) Integrated Circuit ، مشكل اندازه كامپيوترها به تدريج حل شد و ساخت كامـــپيوتر هاي مينيامكـــان پذير شـــد كه با رشد LSI ( 10 هزار تا 20 هزار ترانزيستور ) و VLSI ( Very LargeScale Integrated Circuit ) (تا يك ميليون ترانـــزيستوركــه تمام مدارك و ترانزيستــورهاي ضروري در يك چيپ سيليكون كوچك قرار ميگرفت) در جهت ســـاخت Microcomputer و PC هاي معمولي بـــا CPU هاي كوچكگسترش يافت و اين در واقــع تا اواخـــر دهه 1970 به حد قابل قـــبوليرسيد . تا سال 1970 استفاده كنندگان كامپيـــوتر مي بايست با زبانبــرنامه نـــويسي آشنايي داشته باشند تا از كامپيوتر استفـــاده كنــند وفقط سازمانهاي بزرگ حكـــومتي و بانكها امكان تهيه كامپيوتر را داشـــتند . در حالي كه تا سال 1980 كامپيوترهاي كوچك با قـــدرت بالا كه بسيار راحتقـــابل استفاده و بهره برداري بودند ســـاخته شــد و در واقـــع يككامپيوتر شخصي ( ميكرو كامپيوتر ) كه ساخته شد دهها برابر مشخصات بهتـرينسبت به Mainframe هاي سالـــهاي قبـــل از آن داشت . آنچه از آن بهبـــعد بدست آمد ، قدرت و سرعت و حافظه بالاتر بود كه با رشد سخت افزار وهمچنين توسعه نــرم افـــزارهاي جديد ، كامپيوترهائي طراحي شــد كه امكانمحاسبات ، آناليز اطلاعات ، ذخيره اطلاعات و انواع كارهاي گرافـــيكي وطـــراحي و بـــرنامه ريزي را فراهم آورد .بعنوان مقايسه از اولين سريهايIBM ، (IBM 360) كه كوچكترين مدل آن مــدل 30 بــود حافظه ، غير قابلتوسعه 64k داشت كه با سرعتي برابر 100 هزار دستور العمل در ثانيه ، قيمتيحدود 200000 $ داشت و بــا چنـــد تن وزن تجهيزات اتاق كاملي با تهويههـــواي خـــاص نياز داشت . در حالي كه فقط در سال 1986 IBM - PC با قيمتيكـــمتر از 1000 $ و اندازه يك تلويزيون ، حافظه هاي 128k و قابل توسعه وسرعتـــي برابــر 300000 دستـــورالعمل در ثانيه را داشــت و هم اكنــون PC هاي كوچـك با حـــافظه هايي بيش از 64M مگابايت سرعتي بيشتر از چنـــدميليـــون دستورالعمل در ثانيه را داراست .
 

moongirl

عضو جدید
درس دوم - آشنايي با سخت افزار

درس دوم - آشنايي با سخت افزار

همونطوركه خدمتتون عرض كردم دروس رشته مهندسي فناوري اطلاعات به طور فاجعه انگيزي همون دروس رشته نرم افزاره ولي اين دليل نميشه كه قيد سخت افزار رو از ريشه بزنيم.... براي هركسي كه حتي يك استفاده كننده عادي كامپيوتر است و كار تخصصي با اون انجام نمي ده لازم است كه كلياتي در مورد سخت افزار بدونه (چه برسه به شما دوست مهندس)
درس اين جلسه رو شروع مي كنيم:
به طور كلي كامپيوتر هاي امروزي شامل قطعات زير هستند:
1- دستگاههاي ورودي
2- حافظه هاي جانبي
3- حافظه هاي اصلي
4- واحد پردازشگر مركزي
5- دستگاههاي خروجي
 

moongirl

عضو جدید
حافظه اصلي

حافظه اصلي

حافظه:
از محل هاي پشت سر همي كه سلول نام دارد حافظه تشكيل مي شود. هر يك از اين سلول ها آدرس منحصر به فرد خود را دارد.

حافظه هاي اصلي:
داده ها‏ برنامه ها و نتايج به صورت موقت در حافظه اصلي ذخيره مي شوند.
حافظه اصليخود به دو دسته مهم RAM و ROM تقسيم مي گردد.

RAM:
كه مخفف Read Access Memory است اطلاعات را به صورت موقت در خود ذخيزره مي نمايد. زمانيكه كامپيوتر روشن مي گردد برنامه هاي لازم روي RAM لود مي شوند و به هنگام خاموش شدن كامپيوتر اطلاعات روي آن پاك مي شوند.
ROM:
كه مخفف Read Only Memory است اطلاعات را به صورت دائمي ذخيره مي كند و قابليت تغيير دادن اطلاعات ذخيره شده در آن وجود ندارد. در ROM دستوراتي كه به محض روشن شدن كامپيوتر لازم است توسط شركت سازنده ذخيره مي گردد.
 

moongirl

عضو جدید
در مورد ROM بيشتر بدانيم

در مورد ROM بيشتر بدانيم

حافظه ROM يک نوع مدار مجتمع (IC) است که در زمان ساخت داده هائی در آن ذخيره می گردد. اين نوع از حافظه ها علاوه بر استفاده در کامپيوترهای شخصی در ساير دستگاههای الکترونيکی نيز بخدمت گرفته می شوند. حافظه های ROM از لحاظ تکنولوژی استفاده شده، دارای انواع زير می باشند:
·ROM
·PROM
·EPROM
·EEPROM
·FlashMemory
هر يک از مدل های فوق دارای ويژگی های منحصربفرد خود می باشند . حافظه های فوق در موارد زيردارای ويژگی مشابه می باشند:
داده های ذخيره شده در اين نوع تراشه ها " غير فرار " بوده و پس از خاموش شدن منبع تامين انرژی اطلاعات خود را از دست نمی دهند.
داده های ذخيره شده در اين نوع از حافظه ها غير قابل تغيير بوده و يا اعمال تغييرات در آنها مستلزم انجام عمليات خاصی است.
 

moongirl

عضو جدید

Read-Only Memory
حافظه ROM از تراشه هائی شامل شبکه ای از سطر و ستون تشکيل شده است ( نظير حافظه RAM) . هر سطر وستون در يک نقظه يکديگر را قطع می نمايند. تراشه های ROM دارای تفاوت اساسی با تراشه های RAM می باشند. حافظه RAM از " ترانزيستور " بمنظور فعال و يا غيرفعال نمودن دستيابی به يک " خازن " در نقاط برخورد سطر و ستون ، استفاده می نمايند.در صورتيکه تراشه های ROM از يک " ديود" (Diode) استفاده می نمايد. در صورتيکه خطوط مربوطه "يک" باشند برای اتصال از ديود استفاده شده و اگر مقدار "صفر" باشد خطوط به يکديگر متصل نخواهند شد. ديود، صرفاً امکان حرکت " جريان " را در يک جهت ايجاد کرده و دارای يک نفطه آستانه خاص است . اين نقطه اصطلاحاً Forward breakover ناميده می شود. نقطه فوق ميزان جريان مورد نياز برای عبور توسط ديود را مشخص می کند. در تراشه ای مبتنی بر سيليکون نظير پردازنده ها و حافظه ، ولتاژ Forwardbreakover تقريباً معادل شش دهم ولت است .با بهره گيری از ويژگی منحصر بفرد ديود يک تراشه ROM قادر به ارسال يک شارژ بالاتر از Forward breakover و پايين تر از ستون متناسب با سطر انتخابی ground شده در يک سلول خاص است .در صورتيکه ديود در سلول مورد نظر ارائه گردد، شارژ هدايت شده (از طريق Ground ) و با توجه به سيستم باينری ( صفر و يک )، سلول يک خوانده می شود ( مقدار آن 1 خواهد بود) در صورتيکه مقدار سلول صفر باشد در محل برخورد سطر و ستون ديودی وجود نداشته و شارژ در ستون ، به سطر مورد نظر منتقل نخواهد شد.
 

moongirl

عضو جدید
PROM

PROM

Programmabe Rom
این نوع حافظه ها در ابتدای ساخت خالی هستند و باید با دادههایی که می خواهید برنامه ریزی کنید پر شوند. برای اولین بار در اواخر سال 1970 به وسیلهشرکت Tenas Instruments ساخته شد ودر اندازه های مختلف 1 کیلو بایت تا 2 مگابایت وبیشتر هستند که شماره شناسایی آنها 27nnnn می باشد كه عدد 27 شماره شناسایی چیپهای PROM می باشد و nnnn اندازه این چیپ بر حسب بایت.
اگر چه می گوییم اینحافظه ها در ابتدای ساخت خالی هستند اما به طور تکنیکی دارای مقدار 1 می باشند . بنابراین یک PROM خالی می تواند برنامه ریزی شده باشد و ما می توانیم بر روی آنبنویسیم . برای نوشتن به دستگاه مخصوص که ROM Programer یا سوزاننده (Burner) نامدارد ، نیاز داریم.
برخی اوقات شنیده اید که به چیپ های ROM نیز Burning (یعنیسوزان) می گویند ، زیرا هر بیت باینری یک فیوز است که سالم بودن آن نشانگر یک و درغیراین صورت صفر می باشد.
بهتر است که بدانید اکثر چیپ ها با 5 ولت جریانفعال می شوند و هنگامی که ما برنامه ای را بر روی چیپ های PROM می نویسیم یااصطلاحا Program می نمائیم جریانی بیشتر از 5 ولت که معمولا 12 ولت است اعمال میکنیم که این باعث سوختن فیوزهای آدرسهایی می شود که ما می خواهیم . باید توجه داشتهباشید که ما می توانیم یک را صفر تبدیل کنیم ولی برعکس آن ممکن نیست.به اینچیپ ها OTP (One Time Programmable) نیز می گویند .
 

moongirl

عضو جدید
EPROM

EPROM

erasable programmable read-only memory
نیز یک نوع عمومی از PROM می باشد که قابلیت پاک شدن و دوباره برنامه ریزی راداراست . بر روی این چیپها یک بلور کوارتز قرار دارد که مستقیما بر روی die قراردارد. این چیپها با شماره 27xxxx شناسایی می شوند و به وسیله برنامه یا به طورفیزیکی می توان آنها را پاک کرد.هدف از قرار دادن بلور کوارتز این استکه اشعه فرا بنفش به die برسد ، زیرا چیپ EPROM با تابش اشعه فرا بنفش پاک می شود. اشعه فرا بنفش باعث ایجاد یک واکنش شیمیایی می شود که که فیوزها را پشت سر هم ذوبمی کند ، بنابراین تمام صفرها به یک تبدیل می شوند و چیپ به حالت اولیه خود باز میگردد. برای این کار باید ، اشعه فرا بنفش را در طول موج 2537 انگستروم و با شدتیکنواخت 12000 uv/cm2 و در مدت 5 تا 15 دقیقه باشد.
یک دستگاه پاک کننده EPROM ،یک تولید کننده امواج فرا بنفش است که دارای یک فضای بسته و یک کشو میباشد و در بالای کشو تولید کننده امواج فرا بنفش قرار دارد و چیپها درون کشو قرار می گیرند.

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

moongirl

عضو جدید
EEPROM

EEPROM

Electrically Erasable Programmable Read-Only Memory )E2PROM(
یک نوع دیگر از چیپهای ROM ، چیپهای EPROM که Flash ROM نیز نامیده می شوند . در سال 1983George Perlegosاز شرکت اینتل، اینتل دل 2816 را ساخت که به مانند EPROM ها بود و با این تفاوت که قابل پاک شدن و برنامه ریزی توسط مدارها - سیگنال های الکتریکی- هستند که برروی آنها نصب می شوند و وسایل و ابزار خاصی نیاز ندارند.
این چیپ ها به وسیلهشماره های 29xxxx و 28xxxx شناخته می شوند . هم اکنون در مادربردهای کامپیوتر ازچیپهای EEPROM استفاده میشود. این بدان معنی است که BIOS مادربرد خود را می توانیدبه وسیله دریافت نسخه به روز درآمده از شرکت سازنده ، به روز رسانی نمائید.
EEPROM نیز ، حروف اختصاری عبارت Electrically EPROM است .و همان طور که از تسمش بر می آید . قابل پاک کردن به وسیله است .

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

moongirl

عضو جدید
واحد پردازش مرکزی

واحد پردازش مرکزی

مدت زمان انجام یک کار بوسیله کامپیوتر، به عوامل متعددی بستگی دارد که اولین آنها ، سرعت پردازشگر Processor کامپیوتر است . پردازشگر یک تراشه الکترونیکی کوچک در قلب کامپیوتر بوده و سرعت آن بر حسب مگاهرتز MHz سنجیده می شود . هر چه مقدار این پارامتر بیشتر باشد ، پردازشگر سریعتر خواهد بود و در نتیجه قادر خواهد بود ، محاسبات بیشتری را در هر ثانیه انجام دهد . سرعت پردازشگر به عنوان یکی از مشخصه های یک کامپیوتر به قدری در تعیین کارآیی آن اهمیت دارد که معمولا به عنوان یکی از اجزای تشکیل دهنده نام کامپیوتر از آن یاد می شود . تراشه پردازشگر و اجزای الکترونیکی که آن را پشتیبانی می کنند ، مجموعا به عنوان واحد پردازش مرکزی یا CPU شناخته می شوند .
واحد پردازش مرکزی با حروف اختصاری CPU -Central Processing Unit واحد محاسباتی و کنترلی کامپیوتر است که دستورالعمل ها را تفسیر و اجرا میکند. کامپیوترهای بزرگ و مینی کامپیوتر های قدیمی بردهایی پر از مدارهای مجتمع داشته اند که عمل واحد پردازش مرکزی را انجام داده است. واحدهای پردازش مرکزی ، تراشه هایی که ریز پردازنده نامیده میشوند ، امکان ساخت کامپیوترهای شخصی و ایستگاههای کاری را میسر ساخته اند. در اصطلاح عامیانه CPU به عنوان مغز کامپیوتر شناخته میشود.
 

dariosh242

عضو جدید
سلام

سلام

ضمن تشکر از توضیحات جالب دوستان اگه اجازه بدین یه پرانتز کوچولو این وسط بنده باز کنم.
با توجه به این مسئله که رشته IT کلاً یک رشته جدید بحساب میاد شناخت کمی نسبت به این رشته وجود داره. کلاً این رشته از دو قسمت کلی تشکیل شده یک بخش که مبانی اون کامپیوتری و اکثراً نرم افزاریه و بخش بعدی زیر ساخت هاست که مبتنی بر مهندسی برق و بیشتر گرایش مخابرات است. بعنوان مثال رشته بنده در ارشد ICT با گرایش مخابرات امنه که از درسهای این گرایش میتونم ( فرایندهای تصادفی، رمز نگاری ، تئوری اطلاعات و کودینگ ، DSP ، شبکه های کامپیوتری پیشرفته ، معماری پیشرفته کامپیوترها ، امنیت شبکه های کامپیوتری و اصول مخابرات و مخابرات سلولی و سیار ، مدلسازی ، پایگاه داده پیشرفته و ...... ) رو نام ببرم که اگه توجه کنید همچینم نرم افزاری نیست :D:redface:
 

elahe_dieu

عضو جدید
کاربر ممتاز
یک قسمتی اش هم مدیریت است که برای من خیلی جالبه
میتونی تبدیل به یک مدیر با سواد و به روز بشی که هدف منه
کارهاتو میتونی با کامپیوتر مدیریت و برنامه ریزی کنی ;)
 

moongirl

عضو جدید
نرم افزار

نرم افزار

نرم افزار وجه غیر قابل لمس به کارگیری کامپیوتر می باشد . نرم افزار یک نام عام است که به تمام برنامه ها ( که خود مجموعه ای از دستورالعملها می باشند ) اطلاق شده و نحوه رفتار کامپیوتر را تعیین می کنند . هنگامیکه سخن از نرم افزار به میان می آید منظور مجموعه ای از صفر و یک هایی است که برای سخت افزار قابل خواندن باشد اما برای یک برنامه نویس لازم نیست که با زبان برنامه نویسی ماشین آشنا باشد اکثر نرم افزارهایی که شاید خود شما هم نام آنها را شنیده باشید این قابلیت را دارند که دستورالعملها را به زبان ماشین تبدیل نمایند( مانند زبان C ) . ضمن اینکه هر نرم افزار قابلیت های خاص خود را دارد که کار کردن با آنها را سخت یا آسان می کند . برخی از نرم افزارها هم الزاما به زبان ماشین نوشته می شوند( مانند زبان اسمبلی ). به طور کلی هر نرم افزار به یکی از دو دسته نرم افزارهای سیستمی و نرم افزارهای کاربردی تعلق دارد .
نرم افزار (Soft ware ) یا برنامه های کامپیوتری دستور العملهایی هستند که باعث کار کردن سخت افزار (Hardware) میشوند. نرم افزار سیستم ( سیستمهای عامل ) که کار کامپیوتر را کنترل میکنند و برنامه های کاربردی مانند برنامه های واژه پردازی صفحه گسترده ها ، پایگاه داده ها که وظایف را برای کاربران کامپیوتر انجام میدهند ، دو نوع اصلی نرم افزار هستند. نرم افزار شبکه که باعث ارتباط گروهی از کامپیوتر ها میشود و نرم افزار برنامه نویسی که ابزار هایی را برای نوشتن برنامه ها در اختیار برنامه نویسان قرار میدهد دو گروه اضافی دیگر هستند.
منبع: aftab
 

moongirl

عضو جدید
جلسه دوم- آشنایی با زبان پاسکال

جلسه دوم- آشنایی با زبان پاسکال

زبان برنامه‌نویسی رایانه ای‌ پاسکال یکی از زبان‌های مشهور برنامه‌نویسی سطح بالای متداول است. این زبان توسط دانشمند رایانه‌ی سوئیسی به نام نیکلاوس ورث (Niklaus Wirth) پروفسور دانشگاه پولى تكنيك زوريخ/سوييس در اوایل سال‌های ۱۹۷۰ توسعه یافته و نام آن از نام بلز پاسکال، ریاضی‌دان فرانسوی، الهام گرفته شده است.
استاندارد این زبان برنامه‌نویسی در سال ۱۹۸۳ نوشته شده است و دو سازمان IEEE و ANSI آن را تائید کرده‌اند. هم اکنون این زبان بیش‌تر به‌عنوان زبان برنامه‌نویسی‌ آموزشی برای مبتدیان در دانشگاه‌ها تدریس می‌شود. سادگی و تجرید خوب این زبان امکان برنامه‌نویسی راحت بدون نیاز به آگاهی از ساختارهای پیچیده‌ی زیرین سیستم عامل را می‌دهد.
از خصوصیات این زبان می توان به سادگی‌ فراگیری‌ آن اشاره کرد.
پاسکال نیز مانند بسیاری از زبان‌های برنامه‌نویسی دیگر دارای کامپایلرهای زیادی است که از معروف‌ترین آنها می‌توان به کامپایلر توربو پاسکال (Turbo Pascal) که متعلق به شرکت بورلند (Borland) است اشاره کرد. شرکت بورلند از پاسکال شی‌گرا به‌عنوان زبان برنامه‌نویسی محیط توسعه نرم‌افزار خود به نام دلفی استفاده کرده است.
 

moongirl

عضو جدید
توربو پاسکال

توربو پاسکال

[FONT=&quot]كامپايلر مشهور پاسكال، كه توربو[/FONT][FONT=&quot] پاسكال نام داشت در سال 1983 معرفى شد. توربو پاسكال هميشه در بين زبان هاى برنامه نويسى از فروش بسيار بالايى برخوردار بود[/FONT][FONT=&quot]. [/FONT][FONT=&quot]
توربو پاسكال مفهوم جديدى را به نام Integrated Development Environment و يا به طور خلاصه IDE را معرفى كرد. IDE يعنى محيط برنامه نويسى مجتمع. در واقع شما در اين محيط مى توانيد كد را اديت كنيد (در يك ويرايشگر هماهنگ با WordStar)، كامپايلر را آغاز كنيد، خطاها را ببنيد، و به خطهايى كه حاوى آن خط ها است برويد. البته اين مساله هم اكنون بسيار بى معنى به نظر مى آيد، اما در گذشته لازم بود كه شما از اديتور بيرون برويد و به DOS برگرديد و سپس كامپايلر را به صورت خط فرمانى آغاز كنيد، سپس شماره خطهاى خط را يادداشت كنيد، دوباره ويرايشگر را باز كنيد و به خطهاى حاوى خطا برويد و دوباره همه چيز را از اول دوباره انجام دهيد .......
به علاوه بورلند توربوپاسكال را فقط 49 دلار مى فروخت، در حالى كه مايكروسافت كامپايلر پاسكال خود را چند صد دلار به فروش مى رساند. تداوم موفقيت چندساله توربو پاسكال سبب شد كه در آمدهاى مايكروسافت از فروش كامپايلر پاسكال بسيار كاهش ياد.
[/FONT]
 

moongirl

عضو جدید
مزايا و معايب زبان برنامه نويسی پاسکال

مزايا و معايب زبان برنامه نويسی پاسکال

تاکنون دهها زبان برنامه نويسی مختلف در جهان به وجود آمده و از بين رفته اند که هر يک از آنها داراي مزايا و معايبي بوده اند ، زبان پاسکال نيز همانند ديگر زبانهاي برنامه نويسی داراي مزايا و معايبي است . مزاياي زبان پاسکال از معايب آن بيشتر است و اين امر باعث دوام چند دهه اي آن شده است . از مهمترين مزاياي پاسکال ، قابل فهم بودن دستورات آن مي باشد ، چرا که دستورات پاسکال به زبان محاوره اي نزديک هستند . مزيت ديگر زبان پاسکال ، داشتن توابع کتابخانه اي است که باعث ايجاد سرعت و سهولت در برنامه نويسي مي گردد . توابع کتابخانه اي در حقيقت زير برنامه هايي هستند که از قبل نوشته شده اند و شما مي توانيد از آنها در برنامه هايتان استفاده کنيد . براي مثال اگر بخواهيد قدرمطلق عددي را به دست آوريد مي توانيد از تابع مربوطه که از قبل نوشته شده است ، استفاده کنيد . همچنين از ديگر مزيتهاي زبان پاسکال پشتيباني از انواع اطلاعات مي باشد و اين مزيتي است که باعت برتري زبان پاسکال نسبت به بسياري از زبانهاي برنامه نويسي مي گردد . زبان پاسکال از اعداد صحيح ، اعداد اعشاري ، کاراکترها ، مجموعه ها ، آرايه ها و . . . پشتيباني مي کند . ساخت يافته (structure base) بودن زبان پاسکال نيز از مهمترين مزاياي آن است . برنامه ساخت يافته به برنامه اي گفته مي شود که از بلوکهاي پي در پي يا متداخل تشکيل شده باشد .
برنامه نويسي ساخت يافته داراي مزاياي متفاوتي است :
·
    • با توجه به اينکه برنامه به قسمتهاي کوچک تر تقسيم بندي مي گردد ، بنابراين اشکال زدايي (debugging) آن ساده تر خواهد بود .
    • خوانايي و درک برنامه ساده تر مي گردد.
    • اعمال تغييرات در برنامه ساده تر انجام مي گيرد.
آخرين مزيتي را که می توان مورد اشاره قرار داد ، داشتن محيط مجتمع برنامه نويسي است که به طور خلاصه به آن IDE گفته مي شود . مترجم پاسکال قابليت ترجمه برنامه ها را در دو حالت مجتمع و خط فرمان دارا مي باشد . در حالت اول می توان برنامه را درون ويراستار مخصوص پاسکال نوشته و اجرا کرد . اين ويراستار داراي امکانات ويرايشي متعددي مي باشد که موجب ايجاد سرعت و سهولت در نوشتن برنامه مي گردد . در حالت دوم مي توان برنامه را با استفاده از هر ويراستاري تهيه نموده سپس عمل ترجمه را از طريق خط فرمان سيستم عامل ويندوز انجام داد. پس از ذکر مزاياي زبان پاسکال بهتر است به معايب آن اشاره داشته باشيم . نداشتن قابليت انعطاف ، نداشتن قابليت انتقال و عدم امکان تعريف رکورد با طول متغير ، از جمله معايب اين زبان هستن
 

abc_ramak

عضو جدید
کاربر ممتاز
رسید به جاهای خوب خوبش :D
آخ که چقده من این پاسکال رو دوسش دارم :)
از این به بعد رو حتما هستم ;)
 

moongirl

عضو جدید
اجزاي تشکيل دهنده يک برنامه

اجزاي تشکيل دهنده يک برنامه

يک برنامه به زبان پاسکال از قسمت هاي مختلفي تشکيل مي شود . کوچک ترين واحدهاي معني دار در زبان پاسکال توکن ( Token ) ناميده مي شود که عبارت اند از :
1 - حروف : حروف الفباي بزرگ ( از A تا Z ) و حروف الفباي کوچک ( a تا z )
2 - ارقام مبناي 10 : ارقام 0 تا 9
3 - ارقام مبناي 16 : ارقام 0 تا 9 و حروف A تا F و يا a تا f
4 - کاراکترهاي تکي : + ، - ، / ، * ، = و . . .
5 - جفت کاراکترها : مانند <> ، => ، =< ، = و . . .
6 - شناسه ( Identifier ) : از شناسه ها براي نام گذاري استفاده مي شود . شناسه ترکيبي از حروف ، ارقام و کاراکتر زير خط (-) است که مي تواند داراي طول دلخواهي باشد اما پاسکال فقط 63 کاراکتر اول را در نظر خواهد گرفت . شناسه حتما بايد با يک حرف يا علام زير خط (-) آغاز شود . شناسه هاي به دو دسته تقسيم مي شوند :
·
    • الف ) شناسه هاي استاندارد : اين شناسه ها از قبل در پاسکال تعريف شده اند براي نمونه مي توان به Write و Read اشاره نمود .
    • ب ) شناسه هاي غير استاندارد : اين شناسه ها به وسيله کاربر به طور مجزا تعريف مي شوند به همين دليل به آن ها User defined گفته مي شود .
لازم به ذکر است که پاسکال در تعريف شناسه ها تفاوتي ميان حروف بزرگ و کوچک قائل نمي شود بنابراين شناسه هاي counter و COUNTER با يکديگر معادل اند .
7 - برچسب ( label ) : از برچسب براي مشخص نمودن خطوط خاصي از برنامه استفاده مي شود . با استفاده از دستور goto مي توان کنترل برنامه را به خط مشخصي از برنامه منتقل نمود . برچسب ها مي توانند عدد صحيح در محدوده 0 تا 9999 و يا يک شناسه باشد .
8 - اعداد : اعداد مي توانند حقيقي يا صحيح ، مثبت يا منفي باشند . هرکدام به چند نوع تقسيم مي شوند . بايد توجه داشت که اعداد صحيح مي توانند از نوع هگزادسيمال نيز باشند که در اين صورت بايد اولا با علامت $ شروع شوند و ثانيا طول آن نبايد از هشت رقم هگزادسيمال بيشتر باشد بنابراين محدوده قابل قبول براي اعداد صحيح هگزادسيمال از 00000000$ تا FFFFFFFF$ است و در ضمن نبايد شامل علامت + يا – باشند .
9 - ثابت هاي رشته اي ( string constants ) : ثابت رشته اي ، عبارت از تعدادي کاراکتر است که درون دو علامت آپوستروف ( ' ) قرار مي گيرند . استفاده از کاراکترهاي کنترلي ( کاراکترهايي که داراي کد ASCII تا 30 مي باشند ) در يک ثابت رشته اي مجاز است اما استفاده از کاراکترهاي آپوستروف ( ' ) و carriage Return ( <cr> ) غيرمجاز است . همچنين در صورتي که از علامت # به همراه يک عدد مثبت بين 0 تا 255 استفاده شود باعث جايگزيني کاراکتر متناظر با عدد مربوط در جدول کدهاي ASCII خواهد شد . کلمات رزرو شده ( Reserved words ) : به مجموعه اي از کاراکترها اطلاق مي شود که براي پاسکال داراي معناي خاصي مي باشند و هرگز نمي توان از آن ها به عنوان شناسه غيراستاندارد استفاده نمود .
 

moongirl

عضو جدید
ساختار کلي برنامه در زبان پاسکال

ساختار کلي برنامه در زبان پاسکال

اجزاي اصلي يک برنامه به زبان پاسکال عبارت اند از :
عنوان برنامه (
program Heading )
قسمت اطلاعات (
Data section )
قسمت دستورالعمل ها (
code section )

1 - عنوان برنامه شامل دو قسمت زير است
الف ) نام برنامه (
program Name )
ب ) فرمان هاي کامپايلر (
compilerDirectives )
اين قسمت که به عنوان اولين بخش از ساختمان يک برنامه در نظر گرفته مي شود محل قرار گرفتن نام برنامه به همراه پارامترهاي ورودي و خروجي و همچنين فرمان هاي کامپايلر که کنترل عمل کامپايل شدن برنامه را برعهده دارند مي باشد . قسمت هاي الف و ب هر دو اختياري بوده ، وجود آن ها باعث روشن شدن هر چه بيشتر وظيفه برنامه و شرايط ترجمه آن به زبان ماشين مي باشد .

2 - قسمت اطلاعات (
Data section )
اين قسمت خود شامل 4 قسمت ديگر مي باشد که عبارت اند از :
الف ) اعلان ثابت ها
ConstantDeclaration
ب ) اعلان انواع اطلاعات
ج ) اعلان
متغيرهاVariableDeclatration
د ) اعلان برچسب ها LabelDeclatration

3 - در اين قسمت دستورات به ترتيب اجرا مرحله به مرحله گنجانيده مي شوند . اين قطعه ، همواره شامل بلوک اصلي برنامه ( Main program Block ) بوده و مي تواند در صورت لزوم شامل پروسيجرها و توابع نيز باشند . در بلوک اصلي برنامه که خود با کلمه رزرو شده begin شروع و با end ختم مي گردد . دستورات عملياتي مانند نسبت دادن مقادير معلوم به متغيرها ، فراخواني پروسيجرها و توابع اجراي حلقه هاي مختلف و غيره انجام مي شود . اين قسمت خود شامل سه قسمت ديگر مي باشد که عبارت اند از :
الف )
پروسيجرها ( procedures )
ب )
توابع ( function )
ج ) بلوک اصلي برنامه
 

moongirl

عضو جدید
عنوان برنامه

عنوان برنامه

- عنوان برنامه در توربو پاسکال اختیاری است اما در پاسکال استاندارد حتما باید لحاظ شود.
- نام برنامه بعد از کلمه ذخیره شده program ظاهر می شود و هدف اسم گذاری برنامه ای است که می خواهیم بنویسیم. اسم برنامه یک شناسه است لذا از قواعد اسم گذاری شناسه ها تبعیت می کند.
- پارامترهای عملیاتی که بعد از اسم برنامه ظاهر می شوند وضعیت ورودی و خروجی بودن را مشخص می کنند.
syntax diagram را توی word کشیدم ولی متاسفانه هرکاریش کردم نتونستم کپی کنم ضمیمه این پست می کنم اگر کسی خواست نگاه کنه. ضمنا اگر کسی می دونه بگه چه جوری میشه یه همچین چیزی رو از word اینجا کپی کرد.
 

پیوست ها

  • Doc1.doc
    25 کیلوبایت · بازدیدها: 0

moongirl

عضو جدید
قسمت اطلاعات

قسمت اطلاعات

قسمت اطلاعات در واقع بخش اعلان برنامه است که در آن همه ثابت ها، متغیرها، زیربرنامه ها و انواع داده اعلان می شوند.
 

moongirl

عضو جدید
بخش اعلان – ثابت ها (Constants)

بخش اعلان – ثابت ها (Constants)

یک ثابت نام شناسه ای است که در آغاز یک برنامه، یک مقدار در آن جایگزین می شود و نمی توان مقدار آن را در برنامه به وسیله یک دستور تغییر داد
CONST
; <identifier1> = <value1>​
; <identifier2> =<value2>
 

moongirl

عضو جدید
بخش اعلان – متغیرها (Variables)

بخش اعلان – متغیرها (Variables)

متغیر نحلی از حافظه است که دارای نوع و اسم می باشد. نوع متغیر همان نوع داده بوده و اسم متغیر از قواعد اسم گذاری شناسه ها تبعیت می کند.​
VAR
;<identifier1> : <datatype1>​
;<identifier2> :<datatype2>
 

پیوست ها

  • syntax-diagram.doc
    28 کیلوبایت · بازدیدها: 0

moongirl

عضو جدید
من فلوچارت های حلقه ای را نفهمیدم . در مورد این ها هم بنویس .
دوست عزیز شرمندم که جوابتونو خیلی دیر می نویسم...
راستش فلوچارتهای حلقه ای را راحت تر زمانی آموزش می بینی که بتونی حلقه ها را به راحتی بنویسی. یعنی آن زمان که ساختار for, wile و repeat رو بلد باشی اما:
وقتی شما با تکرار یک روند خاص در یک برنامه مواجه می شید درواقع یک حلقه با یک (لوپ) برخورد کردید. گمون می کنم تشخیص حلقه ها خیلی ساده باشه. مثل مجموع n عدد که می دونی باید اول یکی یکی اونها را بخونی و بعد یکی یکی اونها رو با مقداری به اسم مجموع اعداد جمع کنی. در واقع شما یه حلقه داری.
توی حلقه ها اولین چیزی که مهم است این که بتونی تشخیص بدی که آیا تعداد تکرار حلقه مشخص است یا نه؟یعنی آیا می دونی چندبار می خوای عملیات رو تکرار کنی؟ توی مثال بالا قطعا تعداد تکرارهای ما مشخص است و می دانیم که حلقه به تعداد n بار انجام می گیرد.
اگر تعداد حلقه های مشخص بود در برنامه نویسی از ساختار for استفاده می کنیم و در زسم فلوچارت ان باید متغیری به نام اندیس حلقه را مشخص کنید که با هر بار انجام حلقه یک واحد به آن اضافه شود و شرط خروج از حلقه برابر شدن آن اندیس حلقه با تعداد تکرارهای نهایی باشد.
ولی اگر تعداد تکرارها مشخص نبود در برنامه نویسی پاسکال از دو ساختار while و repeat استفاده می کنیم و در رسم فلوچارت شرط خروج از حلقه را زمانی تعیین می کنیم که شرطی برخلاف میل ما صورت گرفته باشد (مثلا عدد مورد نظرمون از یک عدد خاص بزرگتر شده باشد)
نمی دونم تونستم مفهومو برسونم یا نه؟ بازم اگر فکر کردی لازمه جایی توضیح بیشتری داده بشه من در خدمتم
 
بالا