منوی دسته بندی

مبانی کامپیوتر- جلسه چهاردهم (مثال حل شده)

امتحان برنامه نویسی متلب

مثال های حل شده برنامه نویسی مقدماتی به زبان متلب

در این قسمت تعداد دوازده مثال بسیار ساده جهت یادگیری هرچه بهتر برنامه نویسی در متلب آورده شده است. بلافاصله بعد از ذکر مثال، راه حل آن نیز در قالب یک نمونه کد متلب ارائه شده است. قابل ذکر است، حل این قبیل مسائل منحصر به یک راه حل نبوده و هریک از شما عزیزان می توانید الگوریم حل مسئله به روش خودتان را توسعه دهید. توصیه می شود قبل از اینکه در متلب شروع به کد نویسی کنید ابتدا الگوریتم حل مسئله را روز کاغذ پیاده نموده، پس از بهینه نمودن راه حل، فلوچارت آن را رسم نموده و در ادامه شروع به اجرای آن به زبان کد متلب در این نرمافزار نمایید.

توصیه:

اگر میخواهید برنامه نویسی یاد بگیرید از کپی و پیست کردن کدها خودداری کنید. توجه داشته باشید، برنامه نویس کسی است که برنامه می نویسد! پس تا با دستان خود کد نزنید، کد نویسی یاد نگرفته و برنامه نویس نخواهید شد.

سوال 1

برنامه ای بنویسید که ضرایب سه معادله سه مجهولی را گرفته و جواب معادله را چاپ نماید.

clc
clear all
zar=input('matrise zarayebe 3 moadele 3 majhool(3*3): ');
mag=input('matrise maghadir(3*1):');
javab=inv(zar)*mag;
disp(javab)

سوال 2

برنامه ای بنویسید که یک عدد را گرفته و به عوامل یا مضرب های اولش تجزیه کرده و نمایش دهد.

clc
clear all
n=input('enter a number:');
b=[num2str(n) '='];
a=[''];
for i=1:n
    if isprime(i)==1
        while rem(n,i)==0
            a=[a num2str(i) 'x'];
            n=n/i;
        end
    elseif n==1
        break
    end
end
a(end)='';
disp([b a])

سوال 3

برنامه ای بنویسید که که عددی را در مبنای 2 به صورت یک ماتریس سطری گرفته و به مبنای 10 تبدیل کند.

clc
clear all
adad=input('adad dar mabnaye 2:');
p=0;
b=0;
while(10^p)<=adad
    p=p+1;
end
for i=1:p
    a=floor(adad/(10^(p-i)));
    if a>=2
        error('adad dar mabnaye 2 nist')
    end
    adad=adad-(a*(10^(p-i)));
    b=b+(a*(2^(p-i)));
end
disp (b)

سوال 4

برنامه ای بنویسید که زاویه ای را به صورت دقیقه، درجه، ثانیه گرفته و به زاویه با دقت اعشاری و برحسب درجه تبدیل کند. 

clc
clear all
dar=input('daraje:');
min=input('daghighe:');
sec=input('saniye:');
javab=dar+(min/60)+(sec/3600);
disp(javab)

سوال 5

تابعی بنویسید که از کاربر یک عدد چند رقمی بگیرد و حاصلجمع ارقام آن را محاسبه نماید و با پیغام مناسب نمایش دهد.

function [s] = jamargham(adad)
s=0;
p=0;
while (10^p)<=adad
    p=p+1;
end
for i=1:p
    a=floor(adad/(10^(p-i)));
    s=s+a;
    adad=adad-(a*(10^(p-i)));
end
disp(['jame argham:' num2str(s)])
end

سوال 6

تابعی بنویسید که از کاربر یک عدد چند رقمی بگیرد و حاصلضرب ارقام آن را محاسبه نماید و با پیغام مناسب نمایش دهد.

function [ss] = zarbargham(adad)
ss=1;
p=0;
while (10^p)<=adad
    p=p+1;
end
for i=1:p
    a=floor(adad/(10^(p-i)));
    ss=ss*a;
    adad=adad-(a*(10^(p-i)));
end
disp(['jame argham:' num2str(ss)])
end

سوال 7

برنامه ای بنویسید دو عدد به عنوان ورودی دریافت کند و اعداد فرد مابین آنها را در خروجی نمایش دهد. (برای اعداد متوالی هشدار دهد)

clc
clear all
a1=input('enter a number:');
a2=input('enter another number:');
if abs(a1-a2)==1
    error('hoshdar!!!adade varede motavali hastand!!!')
end
p=min(a1,a2);
q=max(a1,a2);
c=[];
for i=(p+1):(q-1)
    if rem(i,2)==1
        c=[c i];
    end
end
disp(c)

سوال 8

برنامه ای بنویسید دو عدد به عنوان ورودی دریافت کند و اعداد زوج مابین آنها را در خروجی نمایش دهد. (برای اعداد متوالی هشدار دهد)

clc
clear all
a1=input('enter a number:');
a2=input('enter another number:');
if abs(a1-a2)==1
    error('hoshdar!!!adade varede motavali hastand!!!')
end
p=min(a1,a2);
q=max(a1,a2);
c=[];
for i=(p+1):(q-1)
    if rem(i,2)==0
        c=[c i];
    end
end
disp(c)
      

سوال 9

برنامه ای بنویسید که سه عدد از کاربر دریافت نموده و مشخص کند که این سه عدد تشکیل یک مثلث می دهند یا خیر؟

clc
clear all
a=input('brdare adade baraye baresi ijade mosalas(1*3):');
a=[a a(1) a(2)];
j=0;
for i=1:3
    if a(i)+a(i+1)<=a(i+2)
        j=j+1;
        disp('tashkil mosalas nemidahand!!!')
    end
end
if j==0
    disp('tashkil mosalas midahand')
end

سوال 10

برنامه ای بنویسید كه عدد A را از کاربر دریافت نماید، سپس مجموع اعداد طبيعي مضرب 7 و كوچكتراز A  را حساب كند.

clc
clear all
a=input('enter a number:');
if a<7
    disp(['0'])
else
    b=a-rem(a,7);
    c=[7:7:b];
    s=sum(c);
    disp(s)
end

سوال 11

برنامه ای بنویسید که رسم هندسی زیر را ترسیم کند.

مثال کد متلب
clc
clear all
close all
for i=1:21
    plot([i-1,20],[20,21-i])
    hold on
end

سوال 12

برنامه ای بنویسید که شکل زیر را رسم کند.

نمونه سوال برنامه نویسی متلب
clc
clear all
close all
teta=0:0.01:pi;
for i=1:20
    x=-i*cos(teta);
    y=-i*sin(teta);
    plot(x,y,'color',[10*i/255,0,0])
    axis equal
    hold on
end

سوال 13

برنامه ای بنویسید که شکل زیر را رسم کند.

clear 
close all
clc
for i=1:21
    plot([i-1,20],[20,21-i],'color',[i/21 i/30 i/50])
    hold on
end
n=20;
for j=0:n 
    x=[0,j];
    y=[n-j,0];
    plot(x,y,'color',[j/20 j/30 j/50])
    hold on
end
X=1:0.01:10;
x_1=cos(pi*X/2)+10;
y_1=sin(pi*X/2)+10;
plot(y_1,x_1,'k','LineWidth',15)
hold on
K=1:0.001:40;
x_2=4*cos(pi*K)+10;
y_2=4*sin(pi*K)+10;
plot(y_2,x_2,'b','LineWidth',10)
axis equal

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *