Professional Documents
Culture Documents
Domasno Matlab Programiranje
Domasno Matlab Programiranje
Преку тастатура внеси природен број n и да се испита дали n е степен на некој природен
број.Резултатот да се соопшти со соодветна порака.
for x=1:n-1
if (rem(nthroot(n,x),1)==0)
end
end
2.Преку тастатура да се внесе природен број и да се испита дали тој број е помал од сумата на
квадратите на неговите цифри на единици и десетки.Резултатот да се соопшти на екран.
n1=fix(n,10); d=(rem(n,100)-e)/10;
d=rem(n1,10);
zbir=e^2+d^2;
if n>zbir
else
end
G1=gcd(a,b);
G2=gcd(G1,c);
fprintf(‘NZD(%d,%d,%d) = %d’,a,b,c,G2)
L1=lcm(a,b);
L2=lcm(a,c);
fprintf(‘NZS(%d,%d,%d) = %d’,a,b,c,(L1*L2)/a)
x=2;
a=a/x;
b=b/x;
x=x+1;
end
fprintf(‘%d/%d’,a,b)
if (rem(n,k)~=0)
k=0;
end
k=k+1;
end
disp(k)
7.Преку тастатура да се внесе природен број,а потоа да се претстави како производ на прости
множители.
f=factor(n);
for i=1:length(f)
fprintf(‘%d\t’,f(i))
end
format short
x1=input('vnesi ja x koordinatata od prvata tocka ');
y1=input('vnesi ja y koordinatata od prvata tocka ');
x2=input('vnesi ja x koordinatata od vtorata tocka ');
y2=input('vnesi ja y koordinatata od vtorata tocka ');
x3=input('vnesi ja x koordinatata od tretata tocka ');
y3=input('vnesi ja y koordinatata od tretata tocka ');
d12=sqrt((x1-x2)^2+(y1-y2)^2);
d13=sqrt((x1-x3)^2+(y1-y3)^2);
d23=sqrt((x3-x2)^2+(y3-y2)^2);
fprintf('Rastojanieto megu 1 i 2 tocka e %6.3f\n,1 i 3 tocka %6.3f\n, 2 i 3
tocka %6.3f\n',d12,d13,d23)
max=d12;
if max<d13
max=d13;
elseif max<d23
max=d23;
end
fprintf('Najgolemoto rastojanie e %f\n',max)
11.Да се отпечатат сите временски моменти кога на дигитален часовник прочитаното време е
огледално т.е се чита исто од лево и од десно.(Пример :13.31,01.10)
for s=0:24
for m=0:60
s1=rem(s,10);
s2=(rem(s,100)-s1)/10;
m1=rem(m,10);
m2=(rem(m,100)-m1)/10;
fprintf(‘%d%d:%d%d\n’,s2,s1,m2,m1)
end
end
end
brojac=0;
while (fix(n)~=0)
n=n/10;
brojac=brojac+1;
end
indeks=1;
c=[];
while n~=0
c(indeks)=rem(n,10);
indeks=indeks+1;
n=fix(n/10);
end;
broj =0;
for i=length(c):(-1):1
pom=c(i)*10^(length(c)-i);
broj=broj+pom;
end
d=sqrt((x1-x2)^2+(y1-y2)^2) ;
if (d==P1+P2)
fprintf(‘kruznicite se dopiraat’)
elseif d>P1+P2
else
fprintf(‘kruznicite se secat’)
end
else
end
pom=lcm(n,1);
while pom<m
pom=lcm(n,1)+n;
end
17.Преку тастатура да се внесе природен број ,а потоа да се определи колку природни делители
има тој број.Да се определи и производот на сите негови природни делители.
brojac=0;
deliteli=[];
for i=1:n
if (rem(n,i)==0)
brojac=brojac+1;
deliteli(brojac)=i;
end
end
x=1 ;
for k=1 :length(deliteli)
x=x*deliteli(k) ;
end
fprintf(‘Proizvodot e %d\n’,x)
18.Преку тастатура да се внесе природен број,а потоа да се определи првиот прост број поголем
од внесениот.Резултатот да се отпечати на екран со соодветна порака.
m=length(x);
while x(m)<=n
x=primes(n+10);
m=m+1;
end
19.Преку тастатура да се внесе природен број,а потоа да се определи првиот член од Фибоначи
низата кој е поголем од внесениот број.
F1=1;F2=1;Fibb=F1+F2;
while Fibb<=n
F1=F2;
F2=Fibb;
Fibb=F1+F2;
end
20.Преку тастатура да се внесе природен број, а потоа да се определи кој е најмалиот број кој не е
делител на внесениот.
Се фрлаат три коцки за играње : зелена,жолта и црвена.Да се најдат сите можни исходи при кои
збирот на паднатите броеви е 12.
Zelena=[1 2 3 4 5 6];
Zolta=[1 2 3 4 5 6];
Crvena=[1 2 3 4 5 6];
brojac=0;
for i=1:6
for j=1:6
for k=1:6
if (Zelena(i)+Zolta(j)+Crvena(k)==12)
brojac=brojac+1;
end
end
end
end
Задача 21.2
Се фрлаат три коцки за играње : зелена,жолта и црвена.Да се најдат сите можни исходи при кои
зелена<жолта<зелена +црвена;
Zelena=[1 2 3 4 5 6];
Zolta=[1 2 3 4 5 6];
Crvena=[1 2 3 4 5 6];
brojac=0;
for i=1:6
for j=1:6
for k=1:6
brojac=brojac+1;
end
end
end
end
Задача 21.3
Се фрлаат три коцки за играње : зелена,жолта и црвена.Да се најдат сите можни исходи при кои
броевите кои паднале се последователни;
Zelena=[1 2 3 4 5 6];
Zolta=[1 2 3 4 5 6];
Crvena=[1 2 3 4 5 6];
brojac=0;
for i=1:6
for j=1:6
for k=1:6
if (Zelena(i)==Zolta(j)+1 & Zelena(i)==Crvena(k)+2) | (Zelena(i)==Zolta(j)+2
& Zelena(i)==Crvena(k)+1)...
| (Zolta(j)==Zelena(i)+1 & Zolta(j)==Crvena(k)+2) | (Zolta(j)==Zelena(i)+2 &
Zolta(j)==Crvena(k)+1)...
| (Crvena(k)==Zelena(i)+1 & Crvena(k)==Zolta(j)+2) | (Crvena(k)==Zelena(i)+2 &
Crvena(k)==Zolta(j)+1)
brojac=brojac+1;
fprintf('kombinacija %d.Zelena(%d),Zolta(%d), Crvena(%d)\n',brojac,i,j,k);
end
end
end
end
Задача 21.4
Се фрлаат три коцки за играње : зелена,жолта и црвена.Да се најдат сите можни исходи при кои
броевите кои паднале не се последователни;
zelena=[1 2 3 4 5 6];
zolta=[1 2 3 4 5 6];
crvena=[1 2 3 4 5 6];
brojac=0;
for i=1:6
for j=1:6
for k=1:6
brojac=brojac+1;
end
end
end
end
h=input(‘vnesi cekor’);
disp(‘x: f(x):’)
for x=a:h:b
------------------------------------------------------------------------------------------------------------------------------------------
22.1.
if(x~=0)
f=x*sin(1/x);
elseif(x==0)
f=0;
end
22.2
If (x<=2)
f=x+1;
elseif (x>=)
f=3+(x-2)^2;
end
22.3
if (x~=0)
f=log(abs(x));
elseif (x==0)
f=2008;
end
22.4
if (x~=0)
f=(abs(x))^x;
elseif (x==0)
f=1;
end
22.5
if (x~=-1 | x~=1)
f=(x^2-3)/(x^2-1);
f=x^2-3;
22.6
A=[x-a b-x];
f=min(A);
22.7
A=[x-a b-x];
f=max(a);
22.8
f=(abs(x-a))^2+(abs(b-x))^2;
------------------------------------------------------------------------------------------------------------------------------------------
fprintf(‘%f\t %f\n’,x,f)
end
Група :В-12