Bài tập môn Cấu trúc dữ liệu và Giải thuật | Đại học Khoa học và Công nghệ Hà Nội

Bài tập môn Cấu trúc dữ liệu và Giải thuật | Đại học Khoa học và Công nghệ Hà Nội. Tài liệu được biên soạn dưới dạng file PDF gồm 8 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

BÀI TẬP VỀ NHÀ
MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Họ và tên: Dương Ngọc Bẩy
Ngày sinh: 25/11/1984
ĐỀ BÀI
Bài 4: 
 !"#
$%& '
()*+,
-)*+./0
Vẽ lưu đồ viết chương trình
Bài 1)12324565789:8;82456578<<=.
4 *>? 0@82
Bài 5)123A' :8BC5.D5086A'03E50
3(? 0@82
BÀIM
Bài 4:
 !"#F)*+G!H
I#I0J1KLM$
I#$)0!
N
A'O8A'5P$Q=
RSQ=512!
N
.T
N

RSQ=$US.T
N
M;.$R-9<
)0M;.V<$!
N
8T!
N

FRRA@FM;.HHWF$XHY
$FRA@FM;.HHWF$XHY
)0M;.<!
N
8F PH$Z$[
)0M;.\1*8
I#(90.T
N

$%& '
()*+,
]3 ^_S
I;
)55

_S<$8T
M;.
`
)55
Iab

M;.XR-XX
_Sc
`
%
%
M;.\
%
_Sc<
1*A'8
`
%

%
_Sc<8
M4cRW
_Sc
1*8
`
_S1*8
_S<8 P
`
90L
[;_Sd2_Sc
[;_Sc<1*A'8;.A;
[;_Sc1*8;.A;
_Sc<8M4cRW
M;.XR-XX
 [M;.V;_S<$8T
;A.;
 [M;.;_S<8 P;.A;
_S1*8
? 0@
eMY
-)*+.
f.M;\3A;8V
f.M;\33V
f.M;\8V
A8;A;AMY
8FH
gWW93
[.35555$5M;.Y
WW)M.;
3\\h)13;A3hYVVY
3\\h)13;A3hYVVY
3\\h)13;A3hYVVY
WWS3
[FHg
WW33383
[FHg
[FHg
3\\h_313A3;8h\\;M.Y
i;.A;g
3\\h_313;8h\\;M.Y
i
i;.A;g
3\\h_33;8M4h\\RW\\;M.Y
i
i;.A;g
M;.XR-XXY
[FM;.VHg
FRA@FM;.HHWF$XHY
$FRRA@FM;.HHWF$XHY
3\\h);8h\\\\;M.Y
3\\h);8$h\\$\\;M.Y
i;.A;[FM;.Hg
3\\h_33;8 ;$h\\RW$X\\;M.Y
i;.A;g
3\\h_313;8h\\;M.Y
i
i
;Y
i
I2
1. Sơ đồ khối
)245678
%3j4$k
)78Z-
ll8
Z
90L
L
)4Vll4\A3j4
ll
A
^6m246
*=.
S6-5n5o5
S65(5E5p5k55$
^6m24
6=.
%3j4$o
%3j4(
%3j4(
L
L
L
A
A
A
$)*+.
f.M;\3A;8V
f.M;\33V
f.M;\AM3V
8FH
g
4558548Y
3\\h)4hY
VV4Y
3\\h)hY
VVY
3\\h)8hY
VV8Y
[F8\qq\qqV$qq4\qq4V(H
g
3\\h)4 33.;hY
i
;.A;
g
ArFH
g
A;
A;(
A;E
A;p
A;k
A;
A;$
48(Y
; Y
A;$
[FF8Z-ll8ZsHqqF8Z-HH
48$oY
;.A;
48$kY
; Y
A;-
A;n
A;o
A;
48(Y
; Y
i
[F4\48H
g
3\\h)43.;sh\\hthY
i
;.A;
g
3\\h)4 33.;sh\\hthY
i
i
i
Bài 5.
)*+.
f.M;\3A;8V
f.M;\8V
A8;A;AMY
; j3MMj;1;FHg
WW[.VA'.D
WW[.VA'C
[.Y
[FZ$H[.Y
;[.Y
i
8FHg
3\\Fh)A34;hHY
Y
VVY
; ; j3MMj;1;FHY
[F; H3\\\\h.A3hY
;.A;3\\\\h.A3.;hY
;Y
i
g
FFh)13A3.3hHH
Fh)1338hH
uv
[3;F5H
Fht_h5FH5h.h5;MhhH
;MFFFHHH
Fhw1.hH
[3;F.;FHH
Fuv5;MhthH
[3FY83MEYH
[3FEY83MEYH
3\\uv\\;M.Y
[3FY83M(YH
[3F(Y83M(YH
3\\uv\\;M.Y
i
| 1/8

Preview text:

BÀI TẬP VỀ NHÀ
MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Họ và tên: Dương Ngọc Bẩy Ngày sinh: 25/11/1984 ĐỀ BÀI
Bài 4: Diễn đạt giải thuật giải phương trình bậc hai a + bx + c = 0 bằng: 1. Liệt kê từng bước 2. Sơ đồ khối 3. Ngôn ngữ phỏng trình
4. Ngôn ngữ lập trìnhViết chương trình giải phương trình bậc hai:
Vẽ lưu đồ và viết chương trình
Bài 1: Nhập vào ngày, tháng, năm. Kiểm tra xem ngày, tháng, năm đó có hợp lệ
hay không? In kết quả ra màn hình.
Bài 5: Nhập vào n số kiểm tra tính chẵn, lẻ, đếm các số chia hết cho 5, chia hết
cho 3. In kết quả ra màn hình. BÀI LÀM Bài 4:
1. Liệt kê từng bước (Ngôn ngữ tự nhiên)
Bước 1. Biến đऀi phương trình v đ甃Āng dạng ax2+bx+c=0
Bước 2. Nếu hê ̣ số a chứa tham số, ta x攃Āt 2 trường hợp:
- Trường hợp 1: a = 0, ta giải và biê ̣n luâ ̣n ax + b = 0.
- Trường hợp 2: a ≠ 0. Ta lâ ̣p delta = b2 - 4ac. Khi đó:
+ Nếu delta > 0 thì phương trình có 2 nghiê ̣m phân biê ̣t x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a);
+ Nếu delta= 0 thì phương trình có 1 nghiê ̣m (k攃Āp): x1=x2=%.2f
+ Nếu delta<0 thì chương trình vô nghiệm Bước 3. Kết luâ ̣n. 2. Sơ đồ khối Bắt đầu Nhập a, b, c a=0 Đ PT bậc nhất: bx+c=0 PT bậc nhất có Đ Đ c=0 b=0 vô số nghiệm S S S PT bậc nhất
PT bậc nhất có 1 nghiệm vô nghiệm duy nhất: x= -b/c delta=b*b-4*a*c Đ delta<0 PT vô nghiệm S PT có 1 nghiệm k攃Āp delta=0 Đ S PT có 2 nghiệm phân biệt Kết th甃Āc 3. Ngôn ngữ phỏng trình Function
Giải PT bậc hai: a + bx + c = 0 Begin Nhập a, b, c
if a=0 then PT trở thành PT bậc nhất bx+c=0
if b=0 then PT bậc nhất có vô số nghiệmelse
if c=0 then PT bậc nhất vô nghiệm else
PT bậc nhất có 1 nghiệm duy nhất x=-b/c delta=b*b-4*a*c
if delta>0 then PT có 2 nghiệm phân biệt esle
if delta=0 then PT có nghiệm k攃Āp else PT vô nghiệm In ra kết quả End; 4. Ngôn ngữ lập trình #include #include #include using namespace std; int main() { //Khai bao float a,b,c,x1,x2,delta; //Nhap du lieu
cout<<"Nhap vao he so a: ";cin>>a;
cout<<"Nhap vao he so b: ";cin>>b;
cout<<"Nhap vao he so c: ";cin>>c; // Tinh toan if(a == 0) {
// a=0 phuong trinh tro thanh phuong trinh bac mot bx + c = 0 if(b == 0) { if (c == 0) {
cout << "Phuong trinh vo so nghiem" << endl; } else {
cout << "Phuong trinh vo nghiem" << endl; } } else {
cout << "Phuong trinh co nghiem duy nhat: " << -c/b << endl; } } else { delta = b*b - 4*a*c; if(delta > 0) { x1 = (-b+sqrt(delta))/(2*a); x2 = (-b-sqrt(delta))/(2*a);
cout << "Nghiem thu nhat x1 = " << x1 << endl;
cout << "Nghiem thu hai x2 = " << x2 << endl; } else if ( delta == 0) {
cout << "Phuong trinh co nghiem kep: x1 = x2 = " << -b/2*a << endl; } else {
cout << "Phuong trinh vo nghiem" << endl; } } return 0; } Bài 1: 1. Sơ đồ khối Nhập ngày, tháng năm đ甃Āng Tháng==1,3,5,7,8,10,12 So_ngay = 31 sai đ甃Āng Tháng==4,6,9,11 So_ngay = 30 sai Năm%4==0 đ甃Āng &&nam So_ngay = 29 %100=0 sai
Ngay>0 && ngay<=so_ngay đ甃Āng So_ngay = 28 Giá trị ngày && tháng hợp lệ sai Giá trị ngày tháng không hợp lệ Kết th甃Āc 2. Ngôn ngữ lập trình #include #include #include int main () {
int ngay, thang, nam, ngaymax; cout<<"Nhap ngay : "; cin>>ngay; cout<<"Nhap thang : "; cin>>thang; cout<<"Nhap nam : "; cin>>nam;
if (nam<0 || thang<0 || thang> 12 || ngay<0 || ngay> 31) {
cout<<"Ngay khong hop le"; } else { switch (thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: ngaymax=31; break; case 2:
if ((nam%4==0 && nam%100!=0) || (nam%400==0)) ngaymax=29; else ngaymax=28; break; case 4: case 6: case 9: case 11: ngaymax=30; break; } if (ngay<=ngaymax) {
cout<<"Ngay hop le !"<<"\n"; } else {
cout<<"Ngay khong hop le !"<<"\n"; } } } Bài 5. Ngôn ngữ lập trình #include #include using namespace std; int check_odd_even(int n){ //flag = 1 => số lẻ //flag = 0 => số chẵn int flag = 1; if( n % 2 == 0 ) flag= 0; return flag; } int main(){
cout << ("Nhap so nguyen= "); int n; cin >> n;
int check = check_odd_even(n);
if( check == 0 ) cout << n << " la so chan";
else cout << n << " la so le"; return 0; } {
n = int(input("Nhap vao so luong phan tu: "))
print("Nhap vao phan tu cho mang:") a = [] for i in range(0, n):
print("\Phan tu thu", (i+1), "la:", end=" ") a.append(int(input())) print("Mang vua nhap la:") for i in range(len(a)): print(a[i], end="\t") for (int i = 0; i mod 5; ++i) for (int i = 5; i mod 5; ++i)
cout << a[n] << endl; for (int i = 0; i mod 3; ++i) for (int i =3 ; i mod 3; ++i)
cout << a[n] << endl; }