تعریف رشته در متلب (دستور strcmp متلب)|آموزش تصویری (جلسه سی و پنج)

تعریف رشته در متلب
تعریف رشته در متلب

در این دوره آنلاین آموزش متلب به صورت رایگان با سری آموزش‌های نرم افزار متلب در خدمت شما هستیم. در واقع آنچه که شما به طور کاملا عملی برای استفاده در انجام پروژه متلب نیاز دارید در این جلسات ارائه خواهد شد.

در جلسه گذشته از آموزش مقدماتی متلب در رابطه با دستور abs و angle در متلب صحبت کردیم. در این جلسه قصد داریم درباره دستور strcmp صحبت کنیم.

مفهوم دستور strcmp

مفهوم رشته در متلب با یک تفاوت اساسی مفهومی شبیه به تعریف متغیر عددی دارد. برای وارد کردن رشته در متلب باید بین دو علامت single quotation «’» قرار داده شوند. علامت «’» رشته‌ها را از توابع و دستورها متمایز می‌کند. همانطور که می‌دانیم کامپیوترها فقط اعداد را می‌خوانند پس سوالی که در اینجا پیش می‌اید این است که کامپیوتر چگونه یک رشته را می‌فهمد؟ رشته‌ها ذاتا برای کامپیوترها تعریف نشده‌اند. در کامپیوتر برای هر حرف، کاراکتر یا حتی عدد، یک عددِ خاص یا به بیان دقیق‌تر یک کد اختصاص داده شده است.

به این کد، کد ASCII گفته می‌شود. عبارت ASCII مخفف American Standard Code for Information Interchange است.

برای مقایسه دو رشته با یکدیگر در متلب بایستی از دستور strcmp بخش string compare استفاده کنیم. یعنی این‌که stringها را با هم مقایسه یا compare کند. پس می‌گوییم strcmp که می‌شود string compare.

a را با پسوردمان compare کن و ببین آیا آنها با هم برابرند یا خیر. در صورتی که به ما جواب صفر را نشان می‌دهد یعنی دو رشته با هم برابر نیستند.

حال strcmp می‌آید b را با پسورد ما compare یا مقایسه می‌کند. باز هم می‌گوید برابر نیست و اشتباه وارد شده است.

بار دیگر c، strcmp را با پسورد ما compare می‌کند و می‌بینیم که می‌گوید درست است.

انجام دستور strcmp
انجام دستور strcmp

این strcmp، case sensitive است. case sensitive یعنی چه؟ یعنی این‌که به حروف بزرگ و کوچک حساس است. مثلاً زبان javascript یک زبان case sensitive است که به حروف بزرگ و کوچک حساس می‌شود.

اگر بخواهیم که این case sensitive نباشد، مثلاً فرض کنید که ما c را به صورت 7SS14P تعریف کنیم. الان چون گفتیم که case sensitive است، اگر strcmp را بزنیم و c و پسوردمان را با هم مقایسه کنیم، به ما جواب 0 را می‌دهد یعنی می‌گوید این‌ها با هم برابر نیستند اما اگر بزنید strcmpi که یک i در آخر strcmp اضافه شده است، یعنی این‌که دیگر case sensitive نباشد و حروف بزرگ و کوچک همه را یکی ببیند. در این صورت اگر c و پسوردمان را با هم مقایسه کنیم، جواب درست را به ما می‌دهد زیرا دیگر case sensitive نیست.

case sensitive بودن
نمایش case sensitive بودن یا نبودن

برای مثال A دیگری را به صورت Hello Top learn تعریف می‌کنیم. حال می‌خواهیم همه این حروف را به حروف بزرگ یا کوچک تبدیل کنیم. به صورت lower(A) تعریف می‌کنیم که یعنی همه حروف را کوچک کند.

مشاهده می‌کنیم که همه حروف آن به حروف کوچک تبدیل شدند. حال اگر بخواهیم همه‌ آنها را به حروف بزرگ تبدیل کنیم، به صورت upper(A) می‌نویسیم. مشاهده می‌کنید که همه حروف به حروف بزرگ تبدیل شدند.

حال با استفاده از این نکته‌ای که گفتیم چگونه خودمان می‌توانیم strcmpi را تعریف کنیم بدون اینکه دیگر i به کار ببریم؟ کمی بر روی آن فکر کنید. فرض کنید که می‌خواهیم strcmpi را بدون تابع آن به وجود آوریم. راه حل آن بسیار ساده است. کار این تابع چیست؟ کار آن این بود که می‌آمد فرض می‌کرد همه حروف، حروف بزرگ هستند یا همه حروف کوچک هستند.

مثلاً اگر بخواهیم بگوییم فرض کند همه حروف کوچک هستند، upper(c) و upper(password) را به صورت strcmp(upper(c), upper(paword) ) می‌نویسیم. در این صورت دیگر نیازی به strcmpi نیست و این هم  به همان صورت کار ما را انجام می‌دهد.

مفهوم دستور strcmp-تصویر 3

در جلسه آینده در رابطه با دیتا تایپ در متلب صحبت خواهیم کرد.

در صورتی که شما پس از خواندن محتوای جلسات قبلی و این بخش که به ساده‌ترین زبان ممکن درباره‌ی برنامه‌ی متلب و محیط کاربری آن توضیح داده باز هم سردرگم هستید. می‌توانید با برون سپاری انجام پروژه متلب خود به کارشناسان حرفه‌ای کارت پروژه می‌باشد. میتوانید از طریق شماره‌ی 09104503300 با پشتیبانان کارت از طریق پیام یا تماس در ارتباط باشید.

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

مفهوم دستور strcmp-تصویر 4

برای ثبت سفارش لطفا در تلگرام یا واتساپ یا ایتا به شماره 09104503300 پیام دهید.