این زبان در دهه۱۹۵۰ در شرکت آیبیام توسط ۲۵ نفر از دانشمندان برجستهٔ رایانه طراحی شد. فرترن اولین زبان برنامه نویسی سطح بالا است. نسخههای اخیر فرترن بر خلاف نسخههای قدیمی دارای قابلیتهای شیگرایی هستند. فرترن دومین زبانی بود که از سوی انسی (ANSI) استاندارد شد تکامل آن را میتوان در نسخههای پرشمار بعدی آن دید (فرترن ۶۶، فرترن۷۷، فرترن ۹۰، فرترن۹۵ و فرترن ۲۰۰۳). در فرترن سازگاری میان هر نسخه با نسخه پیشین همچنان حفظ شد. از نسخههای جدید آن میتوان به ویژوال فرترن اشاره کرد.
فرترن نخستین زبان برنامهنویسی سطح بالا است. این زبان دهههایی چند پرکاربردترین زبان رایانهای در زمینه فیزیک و اقتصادسنجی بود. فرترن اکنون نیز بهصورت گسترده در محاسبات علمی و محاسبات عددی بکار برده میشود.
از مزیتهای فرترن «تعریف متغیر در این زبان» است. در فرترن مانندسایر زبانهای سطح بالا مثل پاسکال یا سی، صحیح یا اعشاری بودن متغیر باید تعریف شود. البته در این زبان به طور قراردادی متغیرهایی که با یکی از حروف زیر آغاز می شوند صحیح فرض میشوند و سایر متغیرها اعشاری در نظر گرفته میشوند.
📌زبان برنامهنویسی سطح بالا
زبان برنامهنویسی سطح بالا یا زبان برنامهنویسی بلندتر از زبانی است که نسبت به زبان برنامهنویسی سطح پایین راحتتر قابل استفاده و قابل حمل بین سیستمهای متفاوت و دارای انتزاع بیشتری هستند. چنین زبانهایی عموماً از عملیات CPU مانند مدلهای دسترسی به حافظه و مدیریت حوزه دور هستند.
زبان برنامهنویسی سطح بالا یا زبان برنامهنویسی بلندتر از زبانی است که نسبت به زبان برنامهنویسی سطح پایین راحتتر قابل استفاده و قابل حمل بین سیستمهای متفاوت و دارای انتزاع بیشتری هستند. چنین زبانهایی عموماً از عملیات CPU مانند مدلهای دسترسی به حافظه و مدیریت حوزه دور هستند.
📌مشخصات زبانهای سطح بالا
عبارت زبانهای سطح بالا بدین معنی نیست که این زبان نسبت به زبانهای سطح پایین برتر هستند بلکه اگر شما میزان اطلاع از نحوه عملکرد رایانهها را به عنوان ملاک در نظر بگیرید برعکس این مطلب درست است. عبارت زبان سطح بالا در حقیقت به معنای دوری این زبانها از زبان ماشین است. به جای کار کردن با ثباتها، آدرسهای حافظه، و فراخوانی پشته زبان برنامهنویسی سطح بالا از متغیرها، آرایهها، و عبارات پیچیده ریاضی و منطقی استفاده مینماید. این زبانها مستقیماً مانند زبان اسمبلی به زبان ماشین ترجمه نمیگردند. ویژگیهای دیگر همانند توابع کار با رشتهها، مفاهیم شیگرایی، و کار با ورودی و خروجی در فایلها در آنها وجود دارد.
به بیان دیگر در حالی که زبان برنامهنویسی سطح بالا برنامهنویسی را آسانتر مینماید اما زبان برنامهنویسی سطح پایین برنامههای بهینهتری تولید میکند. در یک زبان سطح بالا این امکان را فراهم میسازد تا اجزای پیچیده را به اجزای سادهتر اما هنوز پیچیده تقسیم نموده تا برنامهنویس را از انجام کارهای پیچیده بازدارد. به این دلیل برنامههایی که نیاز به کار با سرعت بالا و بهینهتر دارند باید با زبان سطح پایین نوشته شود حتی اگر زبان سطح بالا این کار را سادهتر سازد.
زبانهای سطح بالا پر کاربردترین ودر عین حال جذابترین و کاربردیترین محیطهای برنامه نویسی را شامل میشوند، چرا که محیط آن کاربر پسند(User Friendly) بوده و یادگیری اصطلاحات و مفاهیم آن در محیط و قالبی گرافیکی به کاربر ارائه میشود، برنامه نویسان به راحتی به یادگیری دستورهای و قواعد آن به دلیل اینکه به زبان محاوره ایی و انگلیسی نزدیک است میپردازند، اینگونه زبانها از سرعت کمتری نسبت به زبانهای سطح میانی و پایین برخوردار میباشد، به دلیل اینکه دستورهای بایستی به زبان قابل فهم برای ماشین تبدیل گردند که این خود زمان بر میباشد، ولی در عین حال فضای کمتری اشغال میکنند که نمونه ایی از این زبانها، زبانهای برنامه نویسی پاسکال، C، ویژوال، دلفی، فرترن و جاوا میباشند.
امروزه با توجه به ساختار پیچیده ریزپردازندهها کامپایلرهای پیشرفته با استفاده از تکنیکهای بهینهسازی برنامههای بهتری از برنامههای نوشته شده با دست فراهم مینمایند.
عبارت زبانهای سطح بالا بدین معنی نیست که این زبان نسبت به زبانهای سطح پایین برتر هستند بلکه اگر شما میزان اطلاع از نحوه عملکرد رایانهها را به عنوان ملاک در نظر بگیرید برعکس این مطلب درست است. عبارت زبان سطح بالا در حقیقت به معنای دوری این زبانها از زبان ماشین است. به جای کار کردن با ثباتها، آدرسهای حافظه، و فراخوانی پشته زبان برنامهنویسی سطح بالا از متغیرها، آرایهها، و عبارات پیچیده ریاضی و منطقی استفاده مینماید. این زبانها مستقیماً مانند زبان اسمبلی به زبان ماشین ترجمه نمیگردند. ویژگیهای دیگر همانند توابع کار با رشتهها، مفاهیم شیگرایی، و کار با ورودی و خروجی در فایلها در آنها وجود دارد.
به بیان دیگر در حالی که زبان برنامهنویسی سطح بالا برنامهنویسی را آسانتر مینماید اما زبان برنامهنویسی سطح پایین برنامههای بهینهتری تولید میکند. در یک زبان سطح بالا این امکان را فراهم میسازد تا اجزای پیچیده را به اجزای سادهتر اما هنوز پیچیده تقسیم نموده تا برنامهنویس را از انجام کارهای پیچیده بازدارد. به این دلیل برنامههایی که نیاز به کار با سرعت بالا و بهینهتر دارند باید با زبان سطح پایین نوشته شود حتی اگر زبان سطح بالا این کار را سادهتر سازد.
زبانهای سطح بالا پر کاربردترین ودر عین حال جذابترین و کاربردیترین محیطهای برنامه نویسی را شامل میشوند، چرا که محیط آن کاربر پسند(User Friendly) بوده و یادگیری اصطلاحات و مفاهیم آن در محیط و قالبی گرافیکی به کاربر ارائه میشود، برنامه نویسان به راحتی به یادگیری دستورهای و قواعد آن به دلیل اینکه به زبان محاوره ایی و انگلیسی نزدیک است میپردازند، اینگونه زبانها از سرعت کمتری نسبت به زبانهای سطح میانی و پایین برخوردار میباشد، به دلیل اینکه دستورهای بایستی به زبان قابل فهم برای ماشین تبدیل گردند که این خود زمان بر میباشد، ولی در عین حال فضای کمتری اشغال میکنند که نمونه ایی از این زبانها، زبانهای برنامه نویسی پاسکال، C، ویژوال، دلفی، فرترن و جاوا میباشند.
امروزه با توجه به ساختار پیچیده ریزپردازندهها کامپایلرهای پیشرفته با استفاده از تکنیکهای بهینهسازی برنامههای بهتری از برنامههای نوشته شده با دست فراهم مینمایند.
دوستان عزیز در خدمت شما هستیم همچنان با قسمت ششم عیدانه ی علوم کامپیوتری
امروز قصد داریم درباره ی یکی از دروس دیگر صحبت کنیم . درسی که یکی از موضوعات نسبتا مهم در نرم افزار به حساب میاد و دانشجویان علوم کامپیوتر می تونن اون رو به عنوان یکی از کهاد های رشته ی مهندسی نرم افزار انتخاب کنند و بگذرونند . البته بخشی از این درس به عنوان قسمتی از درس "اصول سیستم های کامپیوتری " جزء دروس اصلی رشته ی علوم کامپیوتر هست که 4 واحد هم داره . بیشتر سعی میکنیم که امروز درباره ی همین قسمت صحبت کنیم و نکات بسیار کلی درباره ی قسمت های دیگر خواهیم گفت
امروز قصد داریم درباره ی یکی از دروس دیگر صحبت کنیم . درسی که یکی از موضوعات نسبتا مهم در نرم افزار به حساب میاد و دانشجویان علوم کامپیوتر می تونن اون رو به عنوان یکی از کهاد های رشته ی مهندسی نرم افزار انتخاب کنند و بگذرونند . البته بخشی از این درس به عنوان قسمتی از درس "اصول سیستم های کامپیوتری " جزء دروس اصلی رشته ی علوم کامپیوتر هست که 4 واحد هم داره . بیشتر سعی میکنیم که امروز درباره ی همین قسمت صحبت کنیم و نکات بسیار کلی درباره ی قسمت های دیگر خواهیم گفت
از جمله بخش های مهم این درس و موضوع میشه به موارد زیر اشاره کرد :
1- سیستم اعداد باینری(دودویی)
2- گیت های منطقی
3- جبر بول
4- ساده سازی توابع بول
5- مدار های منطقی ترکیبی
6- مدارهای منطقی ترتیبی
7- مدار های منطقی سنکرون و آسنکرون
8- مدار های ترکیبی MSI و PLD
9- ثبات ها
10- مدار های مجتمع دیجیتال
البته ممکنه در کتاب های مختلف عناوین فرق کنه و یا مطالب بیشتر یا کمتری وجود داشته باشه .. اینها کلیات بود که خدمت شما عرض کردیم ..حالا بخشی از این فهرست به عنوان درس اصول سیستم های کامپیوتری برای دانشجویان رشته ی علوم کامپیوتر ارائه میشه . البته این درس(اصول سیستم های کامپیوتری) شامل بخش های دیگری هم هست مثل "معماری کامپیوتر" که انشاءالله بیشتر در قسمت های بعدی راجع بهشون صحبت خواهیم کرد .
1- سیستم اعداد باینری(دودویی)
2- گیت های منطقی
3- جبر بول
4- ساده سازی توابع بول
5- مدار های منطقی ترکیبی
6- مدارهای منطقی ترتیبی
7- مدار های منطقی سنکرون و آسنکرون
8- مدار های ترکیبی MSI و PLD
9- ثبات ها
10- مدار های مجتمع دیجیتال
البته ممکنه در کتاب های مختلف عناوین فرق کنه و یا مطالب بیشتر یا کمتری وجود داشته باشه .. اینها کلیات بود که خدمت شما عرض کردیم ..حالا بخشی از این فهرست به عنوان درس اصول سیستم های کامپیوتری برای دانشجویان رشته ی علوم کامپیوتر ارائه میشه . البته این درس(اصول سیستم های کامپیوتری) شامل بخش های دیگری هم هست مثل "معماری کامپیوتر" که انشاءالله بیشتر در قسمت های بعدی راجع بهشون صحبت خواهیم کرد .
از جمله منابع مهم و مفیدی که میتونیم برای این درس معرفی کنیم عبارت هستند از : 👇👇
دیکدر : دستگاه، مدار، مبدل، نرم افزار، الگوریتم یا شخصی است که پیام/اطلاعات کدگذاری شده توسط کدگذار را به حالت اولش باز میگرداند به طوری که اطلاعات اصلی را میتوان بازیابی کرد.
به عبارتی ، یک دیکدر ، یک مدار ترکیبی است که اطلاعات دودویی را از طریق n خط ورودی دریافت می کند و آن را حداکثر به 2 به توان n خط خروجی مستقل تبدیل می کند .یک دیکدر n در 2 به توان n ، تولید کننده ی مینترم ها خواهد بود .
به عبارتی ، یک دیکدر ، یک مدار ترکیبی است که اطلاعات دودویی را از طریق n خط ورودی دریافت می کند و آن را حداکثر به 2 به توان n خط خروجی مستقل تبدیل می کند .یک دیکدر n در 2 به توان n ، تولید کننده ی مینترم ها خواهد بود .
مالتی پلکسر : مالتی پلکسر یک مدار ترکیبی است که اطلاعات یکی از 2 به توان n داده ی ورودی را بر یک خط خروجی هدایت می کند . مالتی پلکسری که دارای 2 به توان n خط ورودی است ، دارای n انتخاب گر است .
مدار های ترکیبی
یک مدار ترکیبی ، از تعدادی گیت منطقی متصل به هم ساخته شده که دارای تعدادی ورودی و خروجی است . n متغیر دودویی ورودی ، از یک یک منبع خارجی سرچشمه گرفته و m متغیر دودویی خروجی هم به یک مقصد خارجی می رود . هرکدام از خروجی ها را می توان توسط یک رابطه یک رابطه ی جبر بولی بر اساس ورودی ها نوشت . می توان عملکرد یک مدار ترکیبی را با جدول درستی نشان داد.
یک مدار ترکیبی ، از تعدادی گیت منطقی متصل به هم ساخته شده که دارای تعدادی ورودی و خروجی است . n متغیر دودویی ورودی ، از یک یک منبع خارجی سرچشمه گرفته و m متغیر دودویی خروجی هم به یک مقصد خارجی می رود . هرکدام از خروجی ها را می توان توسط یک رابطه یک رابطه ی جبر بولی بر اساس ورودی ها نوشت . می توان عملکرد یک مدار ترکیبی را با جدول درستی نشان داد.