برد اصلی کامپیوتر که اجزای مختلف کامپیوتر را به هم متصل میکند و ارتباط میان قطعات مختلف را مدیریت میکند.
مترجم (Compiler) یک برنامه نرمافزاری است که کد منبع نوشتهشده به یک زبان برنامهنویسی سطح بالا را به زبان ماشین یا زبان اسمبلی تبدیل میکند تا کامپیوتر قادر به درک و اجرای آن باشد. مترجمها بهطور معمول برای تبدیل کدهای نوشتهشده توسط برنامهنویسان در زبانهای مانند C، C++، جاوا و پایتون به کدهای قابل اجرا در سطح سختافزار استفاده میشوند. این فرایند تبدیل کد به کد ماشین بهطور کامل در یک مرحله انجام میشود و پس از آن، برنامه میتواند بهطور مستقیم اجرا شود.
فرآیند کار مترجم شامل چند مرحله است: ابتدا کد منبع توسط مترجم تحلیل میشود تا ساختار دستورات و نحو آن شناسایی شود. سپس این کد به زبان میانهای تبدیل میشود که معمولاً به کد ماشین نزدیک است. در نهایت، این کد میانه به کد باینری نهایی تبدیل میشود که سیستمعامل میتواند آن را اجرا کند. در طول این فرآیند، مترجم معمولاً اشتباهات نحوی و منطقی در کد منبع را شناسایی کرده و گزارش میدهد.
مترجمها نسبت به مفسرها (Interpreter) تفاوت دارند. مفسرها کد را خط به خط اجرا میکنند و نیازی به ایجاد فایل اجرایی ندارند، اما مترجمها کد را بهطور کامل به کد اجرایی تبدیل میکنند. این ویژگی باعث میشود که برنامههای کامپایلشده معمولاً سریعتر از برنامههای مفسر شده اجرا شوند، زیرا کد ماشین از پیش آماده است و نیازی به تفسیر مجدد ندارد. اما فرآیند کامپایل زمانبر است و برای هر تغییر در کد منبع نیاز به کامپایل مجدد وجود دارد.
مترجمها معمولاً از ویژگیهای بهینهسازی برای افزایش سرعت و کاهش حجم کدهای خروجی استفاده میکنند. این بهینهسازیها میتوانند شامل کاهش تعداد دستورات، بهینهسازی مصرف حافظه و کاهش زمان اجرای برنامه باشند. بسیاری از مترجمهای مدرن، مانند GCC برای زبان C و C++، بهطور خودکار برخی از این بهینهسازیها را انجام میدهند تا برنامههای بهینه و سریعتری تولید کنند.
یکی از ویژگیهای مهم مترجمها این است که آنها کدهای سطح بالا را به زبانهایی تبدیل میکنند که میتوانند مستقیماً توسط پردازندهها اجرا شوند. بهعنوان مثال، برنامهای که به زبان C نوشته شده باشد، پس از کامپایل شدن به زبان اسمبلی یا کد ماشین تبدیل میشود که پردازنده قادر به اجرای آن است. این فرایند بهطور قابل توجهی باعث افزایش کارایی برنامهها در مقایسه با استفاده از زبانهای سطح بالا یا زبانهای مفسری میشود.
در نهایت، مترجمها بهعنوان ابزارهای حیاتی در توسعه نرمافزار شناخته میشوند که فرآیند تبدیل کدهای سطح بالا به زبان قابل فهم برای ماشین را تسهیل میکنند. این ابزارها نقش مهمی در اجرای دقیق و سریع برنامهها ایفا میکنند و باعث میشوند که برنامهنویسان بتوانند کدهای خود را بهطور کارآمدی برای اجرا در سیستمهای مختلف تهیه کنند. برای اطلاعات بیشتر در مورد مترجمها و نحوه عملکرد آنها در پردازش کدهای برنامهنویسی، میتوانید به سایت saeidsafaei.ir مراجعه کنید و از اسلایدهای محمد سعید صفایی بهره ببرید.
در این جلسه، در تکمیل مباحث جلسه دوم، به بررسی سلسله مراتب حافظه و نحوه اندازهگیری حافظه در سیستمهای کامپیوتری پرداخته میشود. همچنین، مفاهیم سیستم اعداد، مبناها و نحوه تبدیل مبنای دسیمال به دودویی و برعکس مورد بحث قرار خواهند گرفت. هدف این جلسه، درک اصول اندازهگیری و تبدیل دادهها در سیستمهای کامپیوتری است.
برد اصلی کامپیوتر که اجزای مختلف کامپیوتر را به هم متصل میکند و ارتباط میان قطعات مختلف را مدیریت میکند.
مقدار دادهای که میتواند از یک کانال دیجیتال در یک زمان مشخص منتقل شود.
بررسی خروجی یک متغیر از حافظه به دلیل اختصاص بیش از حد حافظه به دادهها. این خطا معمولاً زمانی اتفاق میافتد که پشته ذخیرهسازی بیش از ظرفیت خود باشد.
یادگیری ماشین برای امور مالی به استفاده از الگوریتمهای یادگیری ماشین برای پیشبینی روندهای بازار و مدیریت ریسک در صنعت مالی اطلاق میشود.
اتصالات با پهنای باند پایین که سرعت انتقال داده کمی دارند.
کاربردهای زیستشناسی مصنوعی به استفاده از مهندسی و علم زیستی برای طراحی و ایجاد موجودات یا فرآیندهای مصنوعی گفته میشود.
ورودی به دادههایی گفته میشود که به برنامه داده میشود تا پردازش شوند. ورودیها میتوانند به شکلهای مختلفی مانند اعداد، متغیرها یا فایلها وارد شوند.
آرایه چندبعدی آرایهای است که بیش از یک بعد دارد. به عنوان مثال، آرایههای دو بعدی یا سه بعدی برای ذخیره دادههای پیچیدهتر استفاده میشود.
الگوریتم مرتبسازی حبابی سادهترین الگوریتم مرتبسازی است که عناصر مجاور را مقایسه کرده و در صورت لزوم جابهجا میکند.
پورتهایی که به دلیل جلوگیری از ایجاد حلقههای شبکه غیرفعال شدهاند.
فاکتوریل یک عدد n با ضرب آن در تمام اعداد صحیح مثبت کوچکتر از خودش تعریف میشود. این مقادیر بهطور معمول برای محاسبات ریاضی یا بازگشتی استفاده میشوند.
روشی برای انجام محاسبات به طور همزمان و با استفاده از منابع مختلف مانند پردازندههای متعدد به منظور تسریع در اجرای برنامه.
بینشهای مبتنی بر هوش مصنوعی به استفاده از الگوریتمهای هوش مصنوعی برای تجزیه و تحلیل دادهها و استخراج الگوهای کاربردی و پیشبینی آینده اشاره دارد.
مراکز داده لبه به مراکز دادهای اطلاق میشود که در نزدیکی لبه شبکه قرار دارند و به پردازش دادهها نزدیک به کاربران کمک میکنند.
توزیع بار ترافیکی به طور یکنواخت بین منابع مختلف برای جلوگیری از ازدحام در یک مسیر خاص.
عملگرهای منطقی برای مقایسه و ارزیابی عبارات منطقی استفاده میشوند و میتوانند نتیجهای درست یا غلط را تولید کنند.
مقداردهی اولیه آرایه به معنای اختصاص مقادیر اولیه به اعضای آرایه هنگام تعریف آن است.
شهرهای هوشمند به شهرهایی اطلاق میشود که از فناوریهای پیشرفته مانند IoT و هوش مصنوعی برای بهبود کیفیت زندگی شهروندان استفاده میکنند.
نوسانات یا تغییرات در زمان تأخیر انتقال بستههای داده در شبکه.
شبکههای عصبی مصنوعی (ANN) به مدلهای ریاضی اشاره دارد که از ساختار مغز انسان الهام گرفتهاند و برای پردازش دادهها استفاده میشوند.
دستور if برای بررسی شرایط استفاده میشود. این دستور به کامپیوتر میگوید که اگر شرط خاصی برقرار باشد، یک بلوک کد خاص اجرا شود.
ساختارهایی در برنامهنویسی شیگرا هستند که دادهها و متدهای مربوط به آنها را به یک واحد منطقی گروهبندی میکنند.
یکی از نخستین شبکههای کامپیوتری که به عنوان پیشگام توسعه اینترنت شناخته میشود.
یونیکد سیستم کدگذاری است که از آن برای نمایش حروف و نمادهای مختلف زبانها در یک سیستم استفاده میشود.
محاسبات لبه در اینترنت اشیاء به انجام پردازش دادهها در دستگاههای لبه شبکه برای کاهش تأخیر و افزایش سرعت واکنش اطلاق میشود.
شبکهای که از سنسورهای بیسیمی تشکیل میشود که میتوان آنها را حمل کرده یا درون لباس تعبیه کرد.
فناوری پوشیدنی به دستگاههایی اطلاق میشود که به کاربران امکان میدهند تا بهطور پیوسته دادهها را جمعآوری و تجزیه و تحلیل کنند.
دیباگینگ به فرآیند پیدا کردن و رفع اشکالات در کد برنامه گفته میشود. این فرآیند برای اطمینان از صحت عملکرد الگوریتم و جلوگیری از بروز خطاها ضروری است.
اندازه آرایه به تعداد خانههای آن اشاره دارد که باید در هنگام تعریف آرایه مشخص شود.
در توپولوژی Ad-Hoc، از دستگاه جانبی استفاده نمیشود و هر کامپیوتر به نوعی نقش Access Point را ایفا میکند.
کاوش دادهها به فرآیند استخراج الگوها و اطلاعات مفید از مجموعههای بزرگ داده اشاره دارد.
سیستمهای فیزیکی-مجازی به سیستمهایی اطلاق میشود که از ترکیب نرمافزار و سختافزار برای کنترل و تعامل با دنیای فیزیکی استفاده میکنند.
کلمه کلیدی const در زبانهای برنامهنویسی برای تعریف متغیرهایی استفاده میشود که مقدار آنها ثابت است و نمیتوان در طول اجرای برنامه تغییر داد.
ماشینی است قابل برنامهریزی که از اجزای الکترونیکی و الکترومکانیکی تشکیل شده است و میتواند دادهها و دستورات را از محیط خارج دریافت کرده، آنها را پردازش کرده و نتایج را تحویل دهد.
تابع بازگشتی تابعی است که خود را در درون بدنه خود فراخوانی میکند. این نوع توابع معمولاً برای مسائل بازگشتی مانند محاسبه فاکتوریل یا دنباله فیبوناچی استفاده میشود.