1. Trang chủ
  2. » Thể loại khác

ĐÁP án đề THI TIN học CHUYÊN NGÀNH máy tàu BIỂN 2

17 244 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 100,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

function bai1

a=input('Hay nhap so xap xi a= ');

dentaa1=input('Hay nhap sai so tuyet doi gioi han : ');

('Sai so tuong doi gioi han la:'),dentaa1/a

Bµi 2

function bai2

a=input('Hay nhap so xap xi:');

dentaa1=input('Hay nhap sai so tuyet doi gioi han:');

b=num2str(a,10);

n=size(b);

k=n(2)+1;

i=1;

%Xac dinh trong chu so a co phai la chu so thap phan khong while (i<n(2)) & (b(i)~='.')

i=i+1;

end

if b(i)=='.'

k=i;

end

i=1;

%Xac dinh cac chu so co nghia

while b(i)==0

i=i+1;

end

disp(('Cac chu so co nghia la:'))

while (i<=n(2))

if b(i)~='.'

disp(b(i))

end

i=i+1;

end

% xac dinh cac chu so dang tin

i=1;

if dentaa1<1/2*10^(k-i-1)

disp(('Cac chu so dang tin la:'))

while (i<n(2)) & (dentaa1<=1/2*10^(k-i-1))

if dentaa1 <= 1/2* 10^(k-i-1)

if b(i)~='.'

disp(b(i))

end

end

i=i+1;

end

else

disp('Khong co chu so nao la chu so dang tin ca')

end

%Xac dinh cac chu so nghi ngo

if dentaa1 > 1/2*10^(k-i-1)

disp(('Cac chu so nghi ngo la:'))

Trang 2

for j=(i):n(2)

if b(j)~='.'

disp(b(j))

end

end

else

disp('Khong co chu so nao la chu so nghi ngo ca')

end

Bµi 3

unction bai3

a=input('Nhap so xap xi a:');

b=num2str(a,10);

n=size(b);

i=n(2);

% Thu tuc xac dinh cac chu so co nghia

while (i>0) & (b(i)~='0')

i=i-1;

end

k=i;

t=true;

% Thu tuc nhap vij tri so can lam tron

while t==true

d=input('Nhap thu tu chu so co nghia ma ta muon lam tron:');

if (d >= k) & (d <=n(2))

t=false;

end

end

i=1;

h=n(2)+1;

s=n(2);

% Thu tuc xac dinh xem a co phai la so thap phan khong

while (i<n(2)) & (b(i)~='.')

i=i+1;

end

if b(i)=='.'

h=i;

s=n(2)-1;

end

disp('So can lam tron la:');

% Thu tuc xac dinh vi chinh xac cua so dung sau so can lam tron

if (d==s)

m=0;

else

if d+1==h

m=str2num(b(d+2));

else

m=str2num(b(d+1));

end

end

Trang 3

% Xet truong hop viec lam tron duoc thuc hien truoc dau phay

if d < h

for i=d+1:(h-1)

b(i)='0';

end

if m >= 5

disp(num2str(str2num(b(1:(h-1)))+1*10^(h-d-1)));

else

disp(b(1:(h-1)));

end

end

% Xet truong hop lam tron duoc thuc hien sau dau phay

if d >= h

if m>=5

disp(num2str(str2num(b(1:(d+1)))+1*10^(h-d-1)));

else

disp(b(1:(d+1)));

end

end

Bµi 4

function bai4;

d=input('Nhap so xap xi d cua duong kinh hinh tron:');

dentad1=-1;

while dentad1 < 0

dentad1=input('Nhap sai so tuyet doi gioi han cua d:');

end

disp('Sai so tuyet doi gioi han cua the tich hinh cau la:');

dentav1 = (d^3)*0.0016/6 + (3.14*(d^2)*dentad1)/2;

disp(dentav1);

disp('Sai so tuong doi gioi han cua the tich hinh cau la:');

xicmav=dentav1/(1/6*3.14*d^3);

disp(xicmav);

Bµi 5

unction bai5

n=input('Nhap so cac so xap xi:');

t=true;

while t==true

k=0;

for i=1:n

x(i)=input(['Nhap so xap xi x',num2str(i),': ']);

k=k+x(i);

end

if k~=0

t=false;

else

disp('Ban nen nhap lai cac so xap xi:');

end

end

z=x;

% Thu tuc nay xac dinh so mu cua so chu so cuoi cung trong so xap xi

Trang 4

for i=1:n

b=num2str(z(i));

c=size(b);

h=c(2);

j=1;

% Thu tuc nay xac dinh dau , cua chu so xap xi o vij tri nao

while (j<c(2)) & (b(j)~='.')

j=j+1;

end

if b(j)=='.'

h=j;

end

m(i)=h-c(2);

end

dentaf=0;

for i=1:n

dentaf=dentaf+(1/2)*10^m(i);

end

disp(['Sai so tuyet doi gioi han cua tong dai so la:',num2str(dentaf)]);

disp(['Sai so tuong doi gioi han cua tong dai so la:',num2str(dentaf/abs(k))]);

Bµi 6

function bai6

n=input('Nhap so cac so xap xi:');

k=0;

for i=1:n

x(i)=input(['Nhap so xap xi x',num2str(i),': ']);

k=k+x(i);

end

z=x;

% Thu tuc nay xac dinh so mu cua so chu so cuoi cung trong so xap xi for i=1:n

b=num2str(z(i));

c=size(b);

h=c(2);

j=1;

% Thu tuc nay xac dinh dau , cua chu so xap xi o vi tri nao

while (j<c(2)) & (b(j)~='.')

j=j+1;

end

if b(j)=='.'

h=j;

end

m(i)=h-c(2);

%m(i) la bien xac dinh so mu cua chu so cuoi cung trong so xap xi

end

xicmau=0;

for i=1:n

xicmau=xicmau+ 10^m(i)/(2* x(i));

end

disp(['Sai so tuong doi gioi han cua tich la:',num2str(xicmau)]);

Trang 5

disp(['Sai so tuyet doi gioi han cua ich la:',num2str(xicmau*abs(k))]);

Bµi 7

function bai7

k=0;

t=true;

while t==true

for i=1:2

x(i)=input(['Nhap so xap xi x',num2str(i),': ']);

k=k+x(i);

end

if x(2)~=0

t=false;

end

end

z=x;

for i=1:2

b=num2str(z(i));

c=size(b);

h=c(2);

j=1;

% Thu tuc nay xac dinh dau , cua chu so xap xi o vi tri nao

while (j<c(2)) & (b(j)~='.')

j=j+1;

end

if b(j)=='.'

h=j;

end

m(i)=h-c(2);

%m(i) la bien xac dinh so mu cua chu so cuoi cung trong so xap xi end

xicmau=0;

for i=1:2

xicmau=xicmau+ 10^m(i)/(2* x(i));

end

disp(['Sai so tuong doi gioi han cua tich la:',num2str(xicmau)]);

disp(['Sai so tuyet doi gioi han cua ich la:',num2str(xicmau*abs(k))]);

Bµi 8

function bai8

x=input('Nhap day so X = ');

n=size(x);

y=input('Nhap so y = ');

i=1;

while (y~=x(i)) & (i < n(2))% chu y neu chi so cua X vuot qua chi so lon nhat cua no thi Mat lab se bao loi

i=i+1;

end

if (y <= n(2)) & (y ==x(i))

('y bang voi phan tu thu'),disp(i)

else

('Khong co phan tu nao trong day X bang y')

Trang 6

Bµi 9

function bai9

t=false;

while t==false % Chi thoat khoi vong lap khi t=true tuc la khong co phan tu nao trong day X bang nhau

x=input('Nhap day so X = ');

n=size(x);

i=1;

t=true; % Se bi thay doi khi co 2 phan tu cua X bang nhau

while (i<=n(2)-1) & (t==true)

j=i+1;

while (j<=n(2)) & (t==true)

if x(i)==x(j)

t=false; % khi t nhan gia tri false se thoat khoi vong lap

end

j=j+1;

end

i=i+1;

end

end

y=input('Nhap so y = ');

i=1;

% Xac dinh co pha tu nao trong day x bang y khong

while (y~=x(i)) & (i < n(2))% chu y neu chi so cua X vuot qua chi so lon nhat cua nos duoc khi bao thi Mat lab se bao loi

i=i+1;

end

if (y <= n(2)) & (y ==x(i))

disp(['y bang voi phan tu thu:',num2str(i)])

else

disp('Khong co phan tu nao trong day X bang y')

end

Bµi 10

function bai10

n=input('Nhap so phan tu cua day X:');

for i=1:n

t=true;

while t==true

x(i)=input(['Nhap x',num2str(i),':']);

j=1;

t=false;

while (t==false)&(j<i) % kiem tra xem co phan tu nao trong day x duoc nhap truoc bang voi xi khong

if x(j)==x(i) % Neu co gia tri bang thi gan cho t gia tri true de vong lap duoc tiep tuc

t=true;

end

j=j+1;

end

Trang 7

end

end

y=input('Nhap so y = ');

i=1;

% Xac dinh co pha tu nao trong day x bang y khong

while (y~=x(i)) & (i < n)% chu y neu chi so cua X vuot qua chi so lon nhat cua nos duoc khi bao thi Mat lab se bao loi

i=i+1;

end

if (y <= n) & (y ==x(i))

disp(['y bang voi phan tu thu:',num2str(i)])

else

disp('Khong co phan tu nao trong day X bang y')

end

Bµi 11

function bai11

x=input('Nhap day so X:');

y=input('Nhap so y:');

i=1;

n=size(x);

j=n(2);

while i<j

m=round((i+j)/2);

if y > x(m-1)

i=m;

else

j=m-1;

end

end

if x(i)==y

disp(['y bang voi phan tu thu ', num2str(i),' cua day so X'])

else

disp('Khong co phan tu nao trong day so X bang y')

end

Bµi 12

function bai12

n=input('Nhap so phan tu cua day so X:');

i=1;

while (i<=n)

s=true;

while s==true

x(i)=input(['Nhap x(',num2str(i),')=']);

if i > 1

if x(i)>= x(i-1)

s=false;

end

else

s=false;

end

end

Trang 8

i=i+1;

end

y=input('Nhap so y:');

i=1;

j=n;

while i<j

m=round((i+j)/2);

if y > x(m-1)

i=m;

else

j=m-1;

end

end

if x(i)==y

disp(['y bang voi phan tu thu ', num2str(i),' cua day so X']) else

disp('Khong co phan tu nao trong day so X bang y')

end

Bµi 13

function bai13

n=input('Nhap so phan tu day so X:');

for i=1:n

x(i)=input('Nhap phan tu cua X:');

end

y=input('Nhap so y:');

for i=1:(n-1)

for j=1:n-i

if x(j) > x(j+1)

m=x(j+1);

x(j+1)=x(j);

x(j)=m;

end

end

end

disp(' Day so X sau khi sap xep')

disp(x)

i=1;

j=n;

while i<j

m=round((i+j)/2);

if y > x(m-1)

i=m;

else

j=m-1;

end

end

if x(i)==y

disp(['y bang voi phan tu thu ', num2str(i),' cua day so X']) else

disp('Khong co phan tu nao trong day so X bang y')

Trang 9

end

Bai 14

function bai14

% tao mang x la mang chua trong so cac canh

x(6,6)=0;

x(1,2)=input('Nhap trong so cach [a,b]:');

x(2,1)=x(1,2);

x(1,3)=input('Nhap trong so canh [a,c]:');

x(3,1)=x(1,3);

x(1,5)=input('Nhap trong so canh [a,e]:');

x(5,1)=x(1,5);

x(2,3)=input('Nhap trong so canh [b,c]:');

x(3,2)=x(2,3);

x(2,5)=input('Nhap trong so canh [b,e]:');

x(5,2)=x(2,5);

x(2,6)=input('Nhap trong so canh [b,z]:');

x(6,2)=x(2,6);

x(3,4)=input('Nhap trong so canh [c,d]:');

x(4,3)=x(3,4);

x(4,5)=input('Nhap trong so canh [d,e]:');

x(5,4)=x(4,5);

x(5,6)=input('Nhap trong so canh [e,z]:');

x(6,5)=x(5,6);

for i=1:5

for j=(i+1):6

if x(i,j)==0

x(i,j)=inf;

x(j,i)=inf;

end

end

end

% Tim kiem duong di ngan nhat

% s la tap dac biet, u la tap chua cac dinh khong thuoc tap s

% l la nhan cua mot dinh

s=[1];

u=[2,3,4,5,6];

t=false;

l(1)=0;

for i=2:6

l(i)=inf;

end

while t==false

n=size(s);

m=size(u);

min=1;

for i=1:m(2)

% doi nhan cho mot dinh

if l(u(i)) > (l(s(n(2)))+ x(s(n(2)),u(i)))

l(u(i))=(l(s(n(2)))+ x(s(n(2)),u(i)));

% day la bien ghi nho dinh noi voi dinh duoc doi nhan

Trang 10

k(u(i))=s(n(2));

end

% tim kiem dinh co nhan nho nhat

if l(u(min)) > l(u(i))

min=i;

end

end

% kiem tra xem dinh z thuoc tap s chua

if u(min)==6

t=true;

end

% cho dinh z vao tap s va loai ra khoi tap u s=[s,u(min)];

u(:,min)=[];

end

m=size(k);

n=m(2);

t=false;

C='abcde';

q='z';

% thu tuc xuat trinh ket qua

while t==false

n=k(n);

q=[q,',',C(n)];

if n==1

t=true;

end

end

disp(['Duong di ngan nhat la: ',q])

Bµi 15

function bai15

C='abcdez';

a=input('Nhap ten dinh khoi dau duong di:'); z=input('Nhap ten dinh ket thuc duong di:'); for i=1:6

if C(i)==a

a1=i;

end

end

for i=1:6

if C(i)==z

z1=i;

end

end

% tao mang x la mang chua trong so cac canh x(6,6)=0;

x(1,2)=input('Nhap trong so cach [a,b]:'); x(2,1)=x(1,2);

x(1,3)=input('Nhap trong so canh [a,c]:'); x(3,1)=x(1,3);

Trang 11

x(1,5)=input('Nhap trong so canh [a,e]:');

x(5,1)=x(1,5);

x(2,3)=input('Nhap trong so canh [b,c]:');

x(3,2)=x(2,3);

x(2,5)=input('Nhap trong so canh [b,e]:');

x(5,2)=x(2,5);

x(2,6)=input('Nhap trong so canh [b,z]:');

x(6,2)=x(2,6);

x(3,4)=input('Nhap trong so canh [c,d]:');

x(4,3)=x(3,4);

x(4,5)=input('Nhap trong so canh [d,e]:');

x(5,4)=x(4,5);

x(5,6)=input('Nhap trong so canh [e,z]:');

x(6,5)=x(5,6);

for i=1:5

for j=(i+1):6

if x(i,j)==0

x(i,j)=inf;

x(j,i)=inf;

end

end

end

% Tim kiem duong di ngan nhat

% s la tap dac biet, u la tap chua cac dinh khong thuoc tap s

% l la nhan cua mot dinh

s=[a1];

t=false;

l(a1)=0;

u=[];

for i=1:6

if i~=a1

l(i)=inf;

u=[u,i];

end

end

while t==false

n=size(s);

m=size(u);

min=1;

for i=1:m(2)

% doi nhan cho mot dinh

if l(u(i)) > (l(s(n(2)))+ x(s(n(2)),u(i)))

l(u(i))=(l(s(n(2)))+ x(s(n(2)),u(i)));

% day la bien ghi nho dinh noi voi dinh duoc doi nhan k(u(i))=s(n(2));

end

% tim kiem dinh co nhan nho nhat

if l(u(min)) > l(u(i))

min=i;

end

Trang 12

end

% kiem tra xem dinh z thuoc tap s chua

if u(min)==z1

t=true;

end

% cho dinh z vao tap s va loai ra khoi tap u

s=[s,u(min)];

u(:,min)=[];

end

m=size(k);

n=m(2);

t=false;

C='abcdez';

q=[z];

% thu tuc xuat trinh ket qua

while t==false

n=k(n);

q=[q,',',C(n)];

if n==a1

t=true;

end

end

disp(['Duong di ngan nhat la: ',q])

Bµi 16

function bai16

n=input('Nhap so phan tu day so X:');

x(1,n)=0;

for i=1:n

x(i)=input(['Nhap phan tu thu ', num2str(i),' cua X:']); end

for i=1:(n-1)

for j=(i+1):n

if x(i)> x(j)

y=x(i);

x(i)=x(j);

x(j)=y;

end

end

end

disp('Day la day so X sau khi sap xep:')

disp(x)

Bµi 17

function bai17

n1=input(' Nhap so phan tu day so X1:');

x1(n1)=0;

for i=1:n1

x1(i)=input(['Nhap phan tu thu ', num2str(i),' cua X1:']); end

n2=input(' Nhap so phan tu day so X2:');

x2(n2)=0;

Trang 13

for i=1:n2

x2(i)=input(['Nhap phan tu thu ', num2str(i),' cua X2:']); end

b=true;

X=[];

while b==true

if x1(1) <= x2(1)

X=[X,x1(1)];

x1(1)=[];

else

X=[X,x2(1)];

x2(1)=[];

end

n1=size(x1);

n2=size(x2);

if n1(2)==0

X=[X,x2];

x2=[];

b=false;

end

if n2(2)==0

X=[X,x1];

x1=[];

b=false;

end

end

disp('Hai danh sach X1 va X2 hoa nhap duoc danh sach sau:') disp(X)

Bµi 18

function bai18

x(8,8)=0;

x(1,3)=1; x(3,1)=1;

x(2,3)=1; x(3,2)=1;

x(3,5)=1; x(5,3)=1;

x(4,5)=1; x(5,4)=1;

x(4,6)=1; x(6,4)=1;

x(5,6)=1; x(6,5)=1;

x(6,7)=1; x(7,6)=1;

x(6,8)=1; x(8,6)=1;

%bat dau tim kim cay khung

u=[1,2,3,4,6,7,8];

T=[5];

b=true;

m=5;

disp('Cay khung can phai tim la:')

while b==true

n2=size(u);

j=1;

while (x(m,u(j))==0) & (j<n2(2))

j=j+1;

Trang 14

end

if (j==n2(2)) & (x(m,u(j))==0)

m=k(m);

else

disp(['[',num2str(m),',',num2str(u(j)),']'])

k(u(j))=m;

m=u(j);

T=[T,u(j)];

u(:,j)=[];

end

n1=size(T);

if n1(2)==8

b=false;

end

end

Bµi 19

function bai19

x(8,8)=0;

x(1,3)=1; x(3,1)=1;

x(2,3)=1; x(3,2)=1;

x(3,5)=1; x(5,3)=1;

x(4,5)=1; x(5,4)=1;

x(4,6)=1; x(6,4)=1;

x(5,6)=1; x(6,5)=1;

x(6,7)=1; x(7,6)=1;

x(6,8)=1; x(8,6)=1;

u=[1,2,3,4,6,7,8];

S(8,8)=0;

S(1,1)=[5];

T=[5];

b=true;

i=1;

disp('Cay khung can tim la:')

while b==true

j=1;

p=0;

while (S(i,j)~=0)

n2=size(u);

q=1;

% duyet tap u

while (q<=n2(2))

if u(q)~=0

% Thu tuc xac dinh mot canh duoc nhap vao cay khung

if (x(S(i,j),u(q))~=0)

disp(['[',num2str(u(q)),',',num2str(S(i,j)),']'])

T=[T,u(q)];

p=p+1;

S(i+1,p)=u(q);

k(u(q))=S(i,j);

Trang 15

u(q)=0;

end

end

q=q+1;

end

j=j+1;

end

i=i+1;

n=size(T);

if n(2)==8

b=false;

end

end

Bµi 20

Bµi 21

function bai20

x(8,8)=0;

x(1,3)=input('Nhap trong so cach [a,c]:'); x(3,1)=x(1,3);

x(2,3)=input('Nhap trong so cach [b,c]:'); x(3,2)=x(2,3);

x(3,5)=input('Nhap trong so cach [c,e]:'); x(5,3)=x(3,5);

x(4,5)=input('Nhap trong so cach [d,e]:'); x(5,4)=x(4,5);

x(4,6)=input('Nhap trong so cach [d,f]:'); x(6,4)=x(4,6);

x(5,6)=input('Nhap trong so cach [e,f]:'); x(6,5)=x(5,6);

x(6,7)=input('Nhap trong so cach [f,g]:'); x(7,6)=x(6,7);

x(6,8)=input('Nhap trong so cach [f,h]:'); x(8,6)=x(6,8);

for i=1:7

for j=i+1:8

if x(i,j)==0

x(i,j)=inf;

x(j,i)=inf;

end

end

end

min1=1;

min2=2;

for i=1:7

for j=i+1:8

if x(i,j)< x(min1,min2)

min1=i;

min2=j;

end

Ngày đăng: 08/06/2017, 08:51

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w