ساختارهایی در برنامهنویسی شیگرا هستند که دادهها و متدهای مربوط به آنها را به یک واحد منطقی گروهبندی میکنند.
Argument در برنامهنویسی به مقادیری اطلاق میشود که به یک تابع یا روش به عنوان ورودی داده میشوند تا آن تابع بتواند عملیات خاصی را روی آنها انجام دهد. به عبارت دیگر، Argument یا آرگومان همان دادهای است که به تابع یا متد ارسال میشود تا در فرآیند اجرای تابع از آن استفاده شود. آرگومانها میتوانند از انواع مختلف دادهها مانند عدد صحیح، رشته، آرایهها و حتی شیء باشند.
آرگومانها معمولاً در زمان فراخوانی یک تابع به آن ارسال میشوند. در بسیاری از زبانهای برنامهنویسی مانند C، Python، Java و JavaScript، نحوه ارسال آرگومانها به تابع و نحوه مدیریت آنها ممکن است متفاوت باشد.
در زبان C، یک تابع میتواند به مقادیر ورودی (آرگومانها) به دو صورت عبور بهصورت مقدار (By Value) یا عبور بهصورت اشارهگر (By Reference) دسترسی پیدا کند:
#include <stdio.h> void printSum(int a, int b) {
printf("Sum: %d\n", a + b); } int main() {
int x = 5, y = 10;
printSum(x, y); // ارسال مقادیر به تابع
return 0; } در این مثال، دو آرگومان x و y به تابع printSum ارسال میشوند. این دو آرگومان در تابع بهطور مستقل از متغیرهای اصلی کپی میشوند و هیچ تغییر مستقیمی به متغیرهای اصلی وارد نمیشود.
در زبان Python نیز میتوان آرگومانها را به تابع ارسال کرد، اما تفاوتهایی در نحوه ارسال دادهها وجود دارد. در Python، آرگومانها میتوانند بهصورت مقدار یا ارجاع (reference) ارسال شوند. بهعنوان مثال، اگر یک لیست به عنوان آرگومان به تابع ارسال شود، تغییرات در داخل تابع ممکن است بر روی لیست اصلی تأثیر بگذارد:
def modify_list(lst):
lst.append(4) # تغییر دادههای لیست numbers = [1, 2, 3] modify_list(numbers) print(numbers) # [1, 2, 3, 4] در اینجا، چون numbers یک لیست است، تغییرات در داخل تابع مستقیماً بر روی لیست اصلی اعمال میشود.
همچنین در زبان Java، آرگومانها به روش مشابهی ارسال میشوند. با این حال، نوع دادههای ارسال شده (مانند آرگومانهای پایهای یا آرگومانهای شیء) تفاوتهایی در نحوه انتقال آنها ایجاد میکند. آرگومانها میتوانند بهصورت مقدار یا ارجاع ارسال شوند.
public class Main {
public static void printMessage(String message) {
System.out.println(message);
}
public static void main(String[] args) {
String msg = "Hello, World!";
printMessage(msg); // ارسال آرگومان به تابع
} } در این مثال، یک آرگومان از نوع String به تابع printMessage ارسال میشود.
بهطور کلی، ارسال و دریافت آرگومانها در توابع باعث میشود که کد برنامه انعطافپذیرتر و قابل استفاده مجدد باشد. علاوه بر این، ارسال آرگومانها میتواند به بهینهسازی عملکرد برنامهها کمک کند، زیرا دادهها میتوانند بهطور مؤثر بین توابع مختلف انتقال یابند.
برای یادگیری مفاهیم مشابه و دیدن مقالات بیشتر، میتوانید از سایت saeidsafaei.ir و مقالات محمد سعید صفایی استفاده کنید.
در این مبحث، به بررسی انواع توابع، شامل توابع کتابخانهای و توابع ساخت کاربر پرداخته میشود و نحوه اعلان، تعریف و استفاده از آنها مورد بحث قرار میگیرد. همچنین، به مفاهیم متغیرهای محلی و توابع محلی، تفاوت آرگومان و پارامتر و نحوه عملکرد تابع اصلی پرداخته خواهد شد. هدف این جلسه، آشنایی با نحوه استفاده از توابع در برنامهنویسی و درک دقیق ارتباطات میان متغیرها و توابع است.
ساختارهایی در برنامهنویسی شیگرا هستند که دادهها و متدهای مربوط به آنها را به یک واحد منطقی گروهبندی میکنند.
اضافهبارگذاری تابع به معنای تعریف چندین تابع با نام یکسان اما با پارامترهای مختلف است. این ویژگی به توابع این امکان را میدهد که با انواع مختلف ورودی کار کنند.
رایانههای کوانتومی از اصول فیزیک کوانتومی برای حل مسائل پیچیدهای که برای رایانههای سنتی غیرممکن هستند استفاده میکنند.
عملیات Dereferencing زمانی است که از یک اشارهگر برای دسترسی به مقدار دادهای که آن اشارهگر به آن اشاره دارد، استفاده میشود.
بلاکچین برای هویت دیجیتال به استفاده از فناوری بلاکچین برای ایجاد سیستمهای هویت دیجیتال غیرمتمرکز و ایمن اطلاق میشود.
پردازش سیگنال دیجیتال (DSP) به استفاده از الگوریتمها برای تجزیه و تحلیل و پردازش سیگنالهای دیجیتال برای کاربردهای مختلف اطلاق میشود.
اتصالات با پهنای باند پایین که سرعت انتقال داده کمی دارند.
رابط عصبی به فناوریهایی اطلاق میشود که امکان برقراری ارتباط بین مغز انسان و دستگاههای خارجی را فراهم میکند.
این واژه به سیستمهایی اطلاق میشود که دادههای خارجی را برای قراردادهای هوشمند در بلاکچین فراهم میکنند. این دادهها میتوانند شامل قیمتها، وضعیت آب و هوا، یا دیگر دادههای خارجی باشند.
حافظه استاتیک حافظهای است که در زمان کامپایل برنامه تخصیص مییابد و پس از آن تغییر نمیکند.
دادهای که توسط یک لایه از لایه بالاتر دریافت میشود تا پردازش یا انتقال یابد.
میزان دادهای که در واحد زمان توسط یک دستگاه فیزیکی قابل ارسال یا دریافت باشد، معمولاً بر حسب بیت بر ثانیه (bps) اندازهگیری میشود.
یکپارچگی چند پلتفرمی به استفاده از سیستمها و ابزارهایی اطلاق میشود که امکان همکاری و ارتباط دادهها و سرویسها را در پلتفرمهای مختلف فراهم میکنند.
الگوریتمهای ژنتیک به روشهای محاسباتی اطلاق میشود که از فرآیندهای طبیعی تکامل برای حل مسائل پیچیده استفاده میکنند.
دروازه منطقی NOR که عملیات معکوس دروازه OR را انجام میدهد.
مقداری ثابت که به عنوان مرجع برای محاسبه هزینه لینک در پروتکلهای OSPF استفاده میشود.
مکانیزمی در زبانهای برنامهنویسی مانند C++ که به شما اجازه میدهد تا به آدرسهای حافظه اشاره کنید.
فرآیندی که در آن هر لایه از مدل OSI اطلاعات کنترلی را به دادهها اضافه میکند تا آنها را برای لایه پایینتر آماده کند.
نوعی مسیریابی که علاوه بر شمارش تعداد هاپها، مسیر دقیق عبوری دادهها را نیز ثبت میکند.
توسعه بلاکچینهای قابل تعامل به این معنا است که بلاکچینهای مختلف میتوانند به راحتی با یکدیگر تعامل داشته باشند.
کامپیوترهای بزرگ که میتوانند صدها یا هزاران کاربر را به صورت همزمان پشتیبانی کنند و برای سازمانهای بزرگ مناسب هستند.
سیستمهای حمل و نقل هوشمند به استفاده از فناوریهای نوین برای بهبود فرآیندهای حمل و نقل و مدیریت ترافیک اطلاق میشود.
یونیکد سیستم کدگذاری است که از آن برای نمایش حروف و نمادهای مختلف زبانها در یک سیستم استفاده میشود.
حافظه اولیه، که معمولاً شامل RAM و حافظه کش است، برای ذخیرهسازی دادههای در حال پردازش استفاده میشود.
مقدار مشخصی از آدرسهای IP که به یک شبکه خاص اختصاص داده میشود و برای تقسیمبندی شبکهها به زیرشبکههای مختلف استفاده میشود.
چتباتها برنامههایی هستند که برای شبیهسازی مکالمات انسانی در سرویسهای آنلاین طراحی شدهاند.
توکنهای بلاکچین به واحدهای دیجیتالی اطلاق میشود که در شبکههای بلاکچین برای انجام تراکنشها و ذخیرهسازی دادهها استفاده میشوند.
دنباله فیبوناچی به سریای از اعداد گفته میشود که در آن هر عدد جمع دو عدد قبلی خود است. این دنباله معمولاً برای بررسی الگوریتمهای بازگشتی استفاده میشود.
پارامترها مقادیری هستند که به یک تابع داده میشوند و به عنوان ورودی تابع عمل میکنند.
مجموعهای از دادهها است که به صورت ساختار یافته ذخیره شده و به راحتی میتوان به آنها دسترسی داشت.
شبکههای مولد رقابتی (GANs) دو شبکه عصبی را برای تولید دادههای جدید از دادههای واقعی به کار میگیرد.
دستگاههایی در شبکه بیسیم که به دلیل موانع فیزیکی یا محدودیتهای برد سیگنال نمیتوانند سیگنالهای یکدیگر را بشنوند.
خودروهای خودران به خودروهایی اطلاق میشود که میتوانند بدون دخالت انسان حرکت کنند و تصمیمات رانندگی را اتخاذ کنند.
صف ساختار دادهای است که دادهها را به صورت FIFO (First In, First Out) ذخیره میکند. اولین داده وارد شده، اولین دادهای است که از صف برداشته میشود.
یکپارچگی هوش مصنوعی در پردازش ابری به استفاده از مدلهای هوش مصنوعی برای تجزیه و تحلیل دادهها در سرویسهای ابری اطلاق میشود.