lab 04 revision

3
Bài tp thự c hành s04  Để  đượ c đ iể m tun này, các bn phi hoàn thành bài 1 và bài 2. Bài 3, 4 không bắ t bu c. N ế u bn làm đượ c bài 3, 4 thì sẽ  đượ c đ iể m thưở ng. Mc đích:  Ôn t p vcác câu lnh ra nhánh.  Ôn t p vcác câu lnh l p. Bài 1: Gii phươ ng trình trùng phươ ng. Tên chươ ng trình: equation.c Bn hãy viết chươ ng trình gii phươ ng trình sau: ax 4 + bx 2 + c = 0 (a 0). Dữ liu vào từ màn hình:  Dòng đầu ghi sphươ ng trình.  Các dòng ti ế  p theo mi dòng ghi ba sthc thhin ba hsphươ ng trình trùng phươ ng. K ết qura màn hình:  Tươ ng ng vớ i mi phươ ng trình thì k ết qutheo định dng sau: o Dòng đầu ghi sk là snghim ca phươ ng trình. o Dòng tiế  p theo ghi k s thhin các nghim ca phươ ng trình. Các nghi vớ i độ chính xác là ba s ở hàng th p phân. Dữ liu vào K ết qutươ ng ứ ng 2 1 0 0 1 4 1 0.000 3 0.000 -2.000 2.000 Bài 2: Kim tra biu thc ngoc đúng. Tên chươ ng trình: brackets.c Cho mt bi u thc ngoc gm các ngoc tròn: (, ). Hãy viết chươ ng kim tra tính đúng ca bi u thc ngoc. Dữ liu vào từ màn hình:  Dòng đầu ghi sN (1 < N < 201) là skí ttrong biu thc ngoc  Dòng hai ghi N kí tthhin biu thc ngoc K ết qura màn hình:  Ghi yes trong tr ườ ng hợ  p bi u thc ngoc là đúng, hoc no trong tr ườ ng hợ  p ngượ c li.

Upload: le-van-dan

Post on 07-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab 04 Revision

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 1/3

Bài tập thự c hành số 04

 Để  đượ c đ iể m tuần này, các bạn phải hoàn thành bài 1 và bài 2. Bài 3, 4 không bắ t buộc. N ế u

bạn làm đượ c bài 3, 4 thì sẽ  đượ c đ iể m thưở ng.

Mục đích:

•  Ôn tậ p về các câu lệnh ra nhánh.•  Ôn tậ p về các câu lệnh lặ p.

Bài 1: Giải phươ ng trình trùng phươ ng. Tên chươ ng trình: equation.c 

Bạn hãy viết chươ ng trình giải phươ ng trình sau:

ax4 + bx2 + c = 0 (a ≠ 0).

Dữ liệu vào từ màn hình:•  Dòng đầu ghi số phươ ng trình. •  Các dòng tiế p theo mỗi dòng ghi ba số thực thể hiện ba hệ số phươ ng trình trùng phươ ng. 

K ết quả ra màn hình:

•  Tươ ng ứng vớ i mỗi phươ ng trình thì k ết quả theo định dạng sau:o  Dòng đầu ghi số k là số nghiệm của phươ ng trình.o  Dòng tiế p theo ghi k số thể hiện các nghiệm của phươ ng trình. Các nghi vớ i độ 

chính xác là ba số ở hàng thậ p phân.

Dữ liệu vào K ết quả tươ ng ứ ng2

1 0 0

1 4

1

0.000

3

0.000 -2.000 2.000

Bài 2: Kiểm tra biểu thức ngoặc đúng. Tên chươ ng trình: brackets.c 

Cho một biểu thức ngoặc gồm các ngoặc tròn: (, ). Hãy viết chươ ng kiểm tra tính đúng của biểuthức ngoặc.

Dữ liệu vào từ màn hình:

•  Dòng đầu ghi số N (1 < N < 201) là số kí tự trong biểu thức ngoặc•  Dòng hai ghi N kí tự thể hiện biểu thức ngoặc

K ết quả ra màn hình:

•  Ghi yes trong tr ườ ng hợ  p biểu thức ngoặc là đúng, hoặc no trong tr ườ ng hợ  p ngượ c lại.

Page 2: Lab 04 Revision

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 2/3

Dữ liệu vào K ết quả tươ ng ứ ng

4

()()

yes

4

())(

no

Bài 3 (bonus): Tên chươ ng trình: spiral .c 

Cho một ma tr ận kích thướ c M*N, M hàng và N cột. Các số đượ c đánh trên ma tr ận từ trái sang phải và từ trên xuống dướ i, bắt đầu từ 1. Chẳng hạn, ma tr ận kích thướ c 3*4 sẽ là:

1 2 3 4

5 6 7 8

9 10 11 12

Bạn hãy in ma tr ận số đó theo hình xoán ốc bắt đầu từ ô (1,1) theo quy luật như hình dướ i đây.

Dữ liệu vào từ màn hình:

   Nhậ p hai số M và N từ màn hình(M*N < 201).

K ết quả ra màn hình:

  In các số trong các số trong ma tr ận theo hình xoắn ốc.

Dữ liệu vào  K ết quả tươ ng ứ ng 

M = 3

N = 4

1 2 3 4 8 12 11 10 9 5 6 7

Page 3: Lab 04 Revision

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 3/3

 

Bài 4 (bonus): Rút gọn dãy số. Tên chươ ng trình: sequence.c 

Cho một dãy số a1, …, an. Chúng ta cần thao tác dãy này sử dụng các phép toán reduce(i), thay phần tử ai và ai+1 bằng max(ai, ai+1). Chi phí của thao tác đó bằng max(ai, a i+1). K ết quả sẽ đượ cmột dãy có độ dài nhỏ hơ n. Thực hiện n-1 thao tác này sẽ đượ c dãy có độ dài bằng 1.

 Nhiệm của bằng là thực hiện n-1 thao tác để rút gọn dãy số về 1 phần tử vớ i tổng chi phí nhỏ nhất.

Dữ liệu vào từ màn hình:

  Dòng đầu chứa số n là số phần tử của dãy số ( 1 ≤ n ≤ 1000)

  n dòng tiế p theo dòng thứ i+1 ghi số ai (0 ≤ ai ≤ 1,000,000,000)

K ết quả ra màn hình:

  Ghi một số duy nhất là tổng chi phí thấ p nhất.

Dữ liệu vào  K ết quả tươ ng ứ ng 

3

1

2

3

5

Chú  ý:

•  Không dùng mảng để nhớ .

•  Khi làm nhớ chứng minh cách làm là đúng!