[i]Bài tập Tuần 2 :
Bài 1. Nhập vào 3 số, kiểm tra 3 số đó có tạo thành ba cạnh của tam giác ?
Tạo mfile tgiac.m
a=input ('nhap vao do dai canh a : ');
b=input ('nhap vao do dai canh b : ');
c=input ('nhap vao do dai canh c : ');
if (a>0)&(b>0)&(c>0)&(a+b>c)&(c+b>c)&(a+c>b)
disp (' a,b, c la 3 canh tam giac ');
else
disp('a,b,c khong phai la 3 canh tam giac ');
end;
Bài 2. Viết chương trình nhập vào 2 số, tìm ước số chung lớn nhất của hai số đó.
Tạo mfile ucln.m
a=input ('nhap vao so a : ');
b=input ('nhap vao so b : ');
m=a*b;
while a~=b
if a>b
a=a-b;
else
b=b-a;
end;
end;
disp ('uoc chung lon nhat la : ');
a
Bài 3. Viết chương trình giải phương trình bậc nhất
Tạo mfile ptbnhat.m
a=input ('nhap vao so a : ');
b=input ('nhap vao so b : ');
if ( ~a & ~b )
disp ( ' pt vo so nghiem ')
else if ( ~a & b )
disp ( ' pt vo nghiem ' )
else disp ( ' pt co nghiem : ' );
disp (-b/a);
end;
end;
Bài 4. Viết chương trình giải phương trình bậc hai
Tạo mfile ptbhai.m
a=input ('nhap vao gia tri a: ');
b=input ('nhap vao gia tri b: ');
c=input ('nhap vao gia tri c: ');
delta=b*b-(4*a*c);
if delta<0
disp ('phuong trinh vo nghiem ');
elseif delta==0
disp ('phuong trinh co nghiem kep');
x=-b/(2*a)
else
disp ('phuong trinh co 2 nghiem phan biet ');
x1=(-b+sqrt(delta))/(2*a)
x2=(-b-sqrt(delta))/(2*a)
end;
Bài 5. Nhập vào một số n và kiểm tra n có phải là số nguyên tố không ?
Tạo mfile snt.m
n=input('nhap vao gia tri n : ');
dem=0;
for i=1: n
if rem (n,i)==0
dem=dem+1;
end;
end;
if dem==2
disp ('so vua nhap la so nguyen to')
else
disp ('so vua nhap khong phai so nguyen to')
end;
Bài 6. Tỉnh tổng 1+(1/2) + 1/3 +...+1/n
Tạo mfile tchuoi.m
n=input ('nhap vao gia tri n ');
s=0;
i=1;
while i<=n
s=s+(1/i);
i=i+1;
end;
disp ('tong cua day la ');
s
Bài tập tuần 3 :
Bài 1. Tính tổng các số chẵn chia hết cho 5 từ 1 đến n (với n nhập vào từ bàn phím)
n=input ('nhap vao gia tri n: ');
s=0;
for i=1:n
if rem (i,10)==0
s=s+i;
end;
end;
disp (' tong cac so chan va chia het cho 5 la :')
s
Bài 2. Tính tổng hai phân số a/b + c/d
a=input ('nhap vao so a : ');
b=input ('nhap vao so b : ');
c=input ('nhap vao so c : ');
d=input ('nhap vao so d : ');
if ( ~b & ~ d)
disp(' tong khong xac dinh ');
else
disp ('tong cua 2 phan so a/b+c/d la : ');
tong=(a*d+b*c)/(b*d)
Bài 3. Viết chương trình nhập vào mảng một chiều. và tìm giá trị lớn nhất của các phần tử trong mảng đó.
n=input('nhap vao so phan tu cua day : ');
for i=1:n
a(i)=input ('a(i) ');
end;
disp ('day vua nhap la : ');
a
max=a(1);
for i=1:n
if max < a(i)
max = a(i);
end;
end;
disp ('gia tri lon nhat cua day la')
max
Bài 4. Viết chương trình nhập vào mảng một chiều và in ra tất cả các số nguyên tố trong dãy
n=input('nhap vao so phan tu cua day : ');
for i=1:n
a(i)=input ('a(i) ');
end;
disp ('day vua nhap la : ');
a
disp ('so nguyen to trong day: ')
d1=0;
for i=1:n
d=0;
for j=1:a(i)
if rem(a(i),j)==0
d=d+1;
end;
end;
if d==2
d1=d1+1;
a(i)
end;
end;
if d1==0
disp ('trong day khong co so nguyen to')
end;
Bài tập tuần 4
Bài 1. Cho x = 1:10 và y = [3 1 5 6 8 2 9 4 7 0]
a) Trích xuất các phần tử có giá trị >5 trong X
>> x( x>5 )
b) Trích xuất các phần tử có giá trị >5 và < 8 trong X
>> x( x>5 & x<8 )
c) Trích xuất các phần tử có giá trị <2 hoặc > 8 trong X
>> x( x<2 | x>8 )
Bài 2. Cho x = [3 15 9 12 -1 0 -12 9 6 1], viết lệnh thực hiện:
a/ viết lệnh thực hiện chuyển các giá trị dương thành giá trị 0.
>> x = [3 15 9 12 -1 0 -12 9 6 1]
>> x(x>0)==0
b/ Chuyển các bội số của 3 thành số 3.
>>x(mod(x,3)==0)=3
c/ Nhân các giá trị chẵn cho 5
>>x(mod(x,2)==0)= x(mod(x,2)==0)*5
d/ Gán cho vector y các giá trị lớn hơn 10 của x
>> y(x>10)=x(x>10)
e/ Chuyển các giá trị nhỏ hơn trung bình cộng thành giá trị 0
>>x(x
Bài 3.
Tạo vector x = randperm(35). Viết các lệnh để tính giá trị hàm sau sử dụng chỉ số logic:
y(x) = 2 nếu x < 6
= x - 4 nếu 6 <= x < 20
= 36 - x nếu 20 <= x <= 35
Bài làm :
>> x = randperm(35)
>> y(x < 6) = 2
>> y(x >= 6 & x < 20) = x(x >= 6 & x < 20) – 4
>> y(x >= 20 & x <= 35) = 36 - x(x >= 20 & x <= 35)