PROGRAMMING - COMPUTER
1.16K subscribers
7 photos
57 videos
232 files
718 links
آموزش تمامی زبان‌های برنامه‌نویسی و نرم‌افزارهای کامپیوتر
به صورت ویدیوهای آموزشی، از پایه تا پیشرفته

لینک کانال:
https://t.me/joinchat/AAAAAEvXLwzIweNTC2UGAA

@programming_computer_top

هماهنگی جهت تبادل و تبلیغات:
@basirahmadi74
Download Telegram
part4.rar
683.8 KB
مثال‌های آموزش جلسه چهارم نرم‌افزار متلب
نمونه مثال‌های جلسه چهارم آموزش متلب👆

#آموزش_متلب

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
practice4.pdf
260.8 KB
تمرینات سری چهارم آموزش نرم‌افزار متلب
تمرینات سری چهارم آموزش نرم‌افزار متلب👆

#آموزش_متلب

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
دستورات متلب.pdf
276.6 KB
دستورات و توابع داخلی متلب

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
اعضای محترم کانال:
سال نو مبارک.🌺🌺🌺
انشاالله سالی پر از شادی و همراه با سلامتی برای خود و خانواده‌ها و تمام کسانی که دوست دارید، باشد.
بیایید با همدیگر دعا کنیم که در سال جدید، بلای کرونا هر چه زودتر از تمام مردم جهان علی‌الخصوص هموطن‌های خوبمون در سراسر کشور دور شود و دیگر شاهد اخبار ناگوار این بیماری نباشیم.

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
اعضای محترم کانال:
از آنجاییکه بیشتر مشکل برنامه‌نویسان کار با حلقه‌های کنترلی و شرطی می‌باشد، تا سه هفته آینده آموزشی ارائه نخواهد شد. اما به جای آن برای فهم بهتر آموزش‌های ارائه شده تا جلسه چهارم، مثال‌های جامع و کاربردی ارائه خواهد شد.
برنامه این سه هفته به این صورت خواهد بود، که یک روز مثال ارائه خواهد شد و روز بعد یک تمرین ارائه خواهد شد. تسلط بر موضوع حلقه‌های کنترلی و شرطی می‌تواند گام بسیار مهمی برای تبدیل شدن به یک برنامه‌نویس حرفه‌ای در متلب باشد.
مثال‌های ارائه شده و تمرینات بسیار کاربردی می‌باشند و در ارائه این مثال‌ها نقاط ضعف برنامه‌نویسان درنظر گرفته شده است. بنابراین پیشنهاد این است که این مثال‌ها را به دقت تحلیل نمایید. سپس تمرینات را حل نمایید. امیدوارم آموزش‌های این کانال موثر باشد و بتواند کمکی برای حرفه‌ای شدن اعضای کانال باشد.

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
مثال۱) برنامه‌ای بنویسید که نمرات ۲۰ دانشجو را به عنوان ورودی گرفته و تعداد قبول‌شدگان و تعداد مردودین را مشخص کرده، سپس نمرات بالای ۱۰ را در ماتریس a، نمرات زیر ۱۰ را در ماتریس b و نمرات بین ۱۷ تا ۲۰ را در ماتریس c و در نهایت نمرات سایر دانشجویان را در ماتریس d ذخیره کرده و تعداد دانشجویان را نشان دهد. در ادامه، بالاترین نمره و کمترین نمره و میانگین نمرات را نیز مشخص کرده، سپس نمودار میله‌ای نمرات را رسم کنید. (به عنوان تمرین این سوال را با استفاده از حلقه‌های کنترلی و شرطی حل نمایید.)


پاسخ) کدهای متلب این مثال به صورت زیر می‌باشد.

clear all
clc

%%
% std_poi is a vector have 20 elements that % show points of students

std_poi = input(' std_poi = ' );

% main code
accept = length(find(std_poi >= 10));
refuse = length(find(std_poi < 10));
a = std_poi(find(std_poi > 10));
aa = length(a);
b = std_poi(find(std_poi < 10));
bb = length(b);
c = std_poi(find(std_poi >= 17));
cc = length(c);
d = std_poi(find(std_poi < 17));
dd = length(d);
max_poi = max(std_poi);
min_poi = min(std_poi);
avg_poi = mean(std_poi);

% show outputs
disp(' accept = ')
disp(num2str(accept))
disp(' refuse = ')
disp('num2str(refuse))
disp(' more than 10 = ')
disp(num2str(a))
disp(' number of more than 10 = ')
disp(num2str(aa))
disp(' less than 10 = ')
disp(num2str(bb))
disp(' between 17 and 20 = ')
disp(num2str(c))
disp(' number of between 17 and 20 = ')
disp(num2str(cc))
disp(' less than 17 = ')
disp(num2str(d))
disp(' number of less than 17 = ')
disp(num2str(dd))
disp(' maximum point = ')
disp(num2str(max_poi))
disp(' minimum point = ')
disp(num2str(min_poi))
disp(' average = ')
disp(num2str(avg_poi))

% figure of points
bar(std_poi)

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
exm1.rar
175.6 KB
فایلهای مثال ۱
تمرین1) برنامهای بنویسید که یک عدد طبیعی از کاربر دریافت نموده، سپس این عدد را به دو عدد تجزیه نماید،
با این شرط که اعداد تجزیه شده به این صورت باشند که بیشترین نزدیکی را به هم داشته باشند. به عنوان مثال
اگر عدد 25 را تجزیه نماییم، باید اعداد تجزیه شده به صورت 5 و 5 باشند. به عنوان مثالی دیگر، اگر عدد 24 را
تجزیه نماییم، اعداد تجزیه شده به صورت 4 و 6 باشند.

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
prac1.pdf
94.1 KB
تمرین اول آموزش نرم‌افزار متلب
مثال۲) برنامه‌ای بنویسید که ۱۰ عدد را از ورودی گرفته و تعداد اعداد اول آنها را در n ذخیره کند و در ماتریس a نمایش دهد. همچنین سینوس آنها را برحسب رادیان محاسبه کرده و در ماتریس b ذخیره کند، اعداد بزرگتر از ۵ را در ماتریس c ذخیره کرده و معکوس تانژانت آنها را در ماتریس d ذخیره کند. نهایتا بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک بین آنها را مشخص کرده و به ترتیب در متغیر G و L ذخیره کند.
کدهای متلب این مثال به صورت زیر می‌باشد.

clear all
clc

%%

% inp is a vector have 10 elements

inp = input(' inp = ');

% main code

z = find(isprime(inp) == 1);
n = length(z);
a = inp(z);
b = sin(a);
c = inp(find(inp > 5));
d = atan(c);
for i = 1:length(inp)
for j = 1:length(inp)
G(i,j) = gcd(inp(i),inp(j));
end
end
for i = 1:length(inp)
for j = 1:length(inp)
L(i,j) = lcm(inp(i),inp(j));
end
end

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
exm2.rar
173.1 KB
فایلهای مثال ۲
تمرین۲) برنامه‌ای بنویسید که مبلغ سپرده‌گذاری در یک بانک را همراه با مدت سپرده‌گذاری(به صورت ماه) از کاربر دریافت نموده، سپس اگر مبلغ سرمایه‌گذاری از ۵۰ میلیون ریال بیشتر باشد، سود سرمایه‌گذاری را با نسبت فرجه سوم تعداد ماه‌های سرمایه‌گذاری برگرداند و مبلغ سود و مبلغ کل را برای کل دوره سرمایه‌گذاری
محاسبه نماید. اگر مبلغ سرمایه‌گذاری بین ۵۰ تا ۲۰۰ میلیون ریال باشد، سود سرمایه‌گذاری را با نسبت جذر تعداد ماه‌های سرمایه‌گذاری برگرداند و مبلغ سود و مبلغ کل را برای دوره سرمایه‌گذاری محاسبه نماید. در نهایت اگر مبلغ سرمایه‌گذاری بیشتر از ۲۰۰ میلیون ریال باشد، سود سرمایه‌گذاری را با نسبت تعداد ماه‌های
سرمایه‌گذاری برگرداند و مبلغ سود و مبلغ کل را برای دوره سرمایه‌گذاری محاسبه نماید. (برای مثال اگر فردی ۱۰۰ میلیون ریال به صورت ۳ ماهه سرمایه‌گذاری کند، سود به ترتیب در ماه‌های اول، دوم و سوم برابر است با ۱ و ۱.۴۱ و ۱.۷۳ میباشد.) همچنین به ازای هر سال که از سرمایه‌گذاری میگذرد، در شروع سال جدید به سود آن ماه یک درصد هم اضافه میشود و این سود برای ماه‌های بعد هم باقی می‌ماند و به ازای هر سال این
یک درصد اضافه می‌شود (به عنوان مثال، اگر سود در پایان سال اول ۱۲ درصد شود، و در سال جدید که ماه ۱۳م می‌باشد و سود باید ۱۳درصد باشد، یک درصد به آن اضافه می‌شود و تا پایان این سال این یک درصد اعمال می‌شود و در پایان ماه ۲۴م سود ۲۵ درصد خواهد بود. و در ماه ۲۵م که شروع سال سوم می‌باشد، و سود باید ۲۶ درصد باشد، یک درصد به آن اضافه میشود و ۲۷ درصد می‌شود. و این روند تا پایان زمان سپرده‌گذاری ادامه می‌یابد.)

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
prac2.pdf
143.8 KB
تمرین دوم آموزش نرم‌افزار متلب
اعضای محترم کانال متلب توجه داشته باشید که تمریناتی که در کانال گذاشته می‌شود، به این منظور هست که آموزش‌هایی که فراگرفتید را به چالش بکشید. بنابراین تمرینات را به فرد دیگری واگذار نکنید که برای شما حل کند، بهتر است بارها و بارها تلاش کنید تا بالاخره پاسخ را بیابید. قطعا در تمریناتی که گذاشته می‌شود نکاتی وجود دارد که فقط با درگیرشدن برای حل تمرین می‌توانید این نکات را بیابید.
در صورتی که می‌خواهید برنامه‌نویس حرفه‌ای شوید، تمرینات را اگر ده‌ بار هم نتوانستید حل نمایید، باز سعی کنید خودتان حل نمایید. در این کانال پاسخ تمرینات گذاشته نمی‌شود، اما جهت آشنایی با حل تمرینات، فقط کد تمرین ۱ در کانال گذاشته می‌شود، اما از این پس دیگر پاسخ هیچ تمرینی گذاشته نمی‌شود.
همچنین توجه داشته باشید، برای حل یک سوال ممکن است چندین راه‌حل باشد بنابراین اگر کدی را نوشتید و پاسخ صحیح دریافت نمودید، بنابراین کد صحیح می‌باشد.

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
مثال۳) یک ماتریس جادویی با ۶ سطر و ستون به نام a در نظر بگیرید. برای کل سطرها و ۵ ستون اول ماتریس، تک تک درایه‌ها را به صورت جداگانه با یک عدد تصادفی در بازه (10,25-) جمع نمایید(توجه نمایید که نباید یک ماتریس از اعداد تصادفی ایجاد نمایید و سپس جمع کنید. بلکه باید درون حلقه تک تک درایه‌ها را جداگانه با یک عدد تصادفی جمع نمایید). ماتریس جدید با ۶ سطر و ۵ ستون را b بنامید. سپس میانگین ماتریس b را به دست آورده و انحراف از میانگین تک تک درایه‌ها از مقدار میانگین را محاسبه نموده و در ماتریس c ذخیره نمایید. سپس با ضرب درایه به درایه دو ماتریس b و c را در هم ضرب نموده و d بنامید. سپس دو ماتریس c و d را با هم مقایسه نموده و درایه هرکدام بزرگتر بود در ماتریس e ذخیره نمایید.
کد متلب این مثال به صورت زیر می‌باشد.

clear all
clc
%%
a = magic(6);
for i = 1:6
for j = 1:5
b(i,j) = a(i,j) + 35*rand + (-10);
end
end
avg_b = mean(mean(b));
for i = 1:6
for j = 1:5
c(i,j) = b(i,j) - avg_b;
d(i,j) = b(i,j)*c(i,j);
if c(i,j) >= d(i,j)
e(i,j) = c(i,j);
else
e(i,j) = d(i,j);
end
end
end

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top
exm3.rar
171.4 KB
فایل‌های مثال ۳
prac3.pdf
56.9 KB
تمرین سوم آموزش نرم‌افزار متلب
مثال۴) برنامه‌ای بنویسید که یک ماتریس مربعی به نام A از کاربر دریافت نمایید. سپس دترمینان ماتریس را محاسبه نموده، اگر دترمینان منفی باشد، یک ماتریس جدید به این صورت که ماتریس قبلی را از همان ماتریس قبلی که درایه‌های آن نصف شده‌اند تفریق نماید و اینکار را آنقدر ادامه دهد تا دترمینان از عدد 6-1e -کمتر شود.
اگر دترمینان صفر شود، همان ماتریس را در خروجی نمایش دهد و اگر دترمینان مثبت شود، یک ماتریس جدید به این صورت که ماتریس قبلی را از همان ماتریس قبلی که درایه‌های آن نصف شده‌اند تفریق نماید و اینکار را آنقدر ادامه دهد تا دترمینان از عدد 6-1e کمتر شود. در هر مرحله ماتریس خروجی را B بنامید.
کد این مثال به صورت زیر می‌باشد.

clear all
clc
%%
% A is a square matrix
A = input(' A = ');
determinan = det(A);
if determinan == 0
B = A;
elseif determinan < 0
i = 0;
while determinan < -1e-6
A = A - A/2;
determinan = det(A);
i = i + 1;
end
B = A;
else
i = 0;
while determinan > 1e-6
A = A - A/2;
determinan = det(A);
i = i + 1;
end
B = A;
end

کانال برنامه‌نویسی و کامپیوتر:
@programming_computer_top