Cài đặt Giúp Em Một Số Bài Toán Sau Bằng Pascal Nha! - MATH

Thứ 2 tới này em thi rùi,em không biêt làm mấy bài toán này. Rất mong các bạn giúp đỡ em. Xin vui lòng gửi chương trình vào email: bangtuyet494756@gmail.com. Thanks so much!

Bài 1. Thuật toán ATM

Mô hình: Máy đổi tiền có các loại tiền có loại 500k,200k,100k,50k,20k,10k.500d,200d,100d. Mô phỏng ta có M1,M2,....Mk. 1 người đến trạm rút tiền, rút số tiền là N hãy xây dựng phương án tối ưu để sao cho máy trả tiền cho người nhận số tờ ít nhất.

Tư tưởng là lấy hết số tiền 500k rùi đến 200k tiếp theo tương tự.

Thuật toán trình bày:

Bước 1 sắp xếp loại tiền theo mệnh giá giảm dần.

Bước 2 lặp với mệnh giá thứ nhất : số tờ = số tờ + phần nguyên của N/ giá trị tiền. số tiền = số tiền còn lại

Chương trình:

Input: N:số tiền

mảng m[k] ghi các mệnh giá tương ứng.

Ouput: Số tờ

Program

1. input N, m[k]

2. sắp xếp m[k]

3. tính số tờ:

số tờ:=0; k:=1;

while N>0 do

begin

số tờ:=số tờ + int(N/m[k]);

N:=N-int(N/m[k])*m[k];

end;

end;

writeln(số tờ);

Bài 2. Thuật toán Jomhson 2 máy

Có 2 hệ thống máy A, B nhận gia công n công việc khác nhau. Trong đó máy được đặc trưng bởi các tham số như sau:

ai- thờigian gia công trên máy A.

bi- thời gian gia công trên máy B

di- hạn định cần sửa chữa kí hợp đồng.

- Giả thiết: các máy đều có thể cùng sửa chữa tại t=0

1 hệ thống chỉ được quyền sửa chữa 1 máy tại 1 thời điểm và đồng thời 1 máy bắt buộc phải gia công trên A xong mới được sang B,

- yêu cầu: xây dựng lịch biểu để sao cho thời gian quá hạn là ít nhất có thể được.

bước 1 chia các công việc thành 2 nhóm N1, N2.

N1 là các công việc thỏa mãn ai<bi

N2 là các công việc thỏa mãn ai>bi

Trong trường hợp ai=bi nên phân vào nhóm 1

bước 2 sắp xếp N1 tăng dần theo a và N2 giảm dần theo b

Bước 3 nối N2 vào đuôi N1 thu được lịch biểu cần tìm.

Bài 3. Thuật toán chặt sắt

Có 2 thanh sắt độ dài L, và có n thanh mẫu. Mỗi thanh mẫu có độ dài Di khác nhau.

yêu cầu: hãy xâu dựng thuật toán chặt 2 thanh sắt theo thanh mẫu để sao cho số lượng sắt thừa ra là ít nhất.

Bước 1: sắp xếp theo Di tăng dần

Bước 2: chặt hết thanh 1 rồi đến chặt tiếp thanh 2

- Input: L: độ dài 2 thanh mẫu

n: số lượng các thanh mẫu

mảng D chứa độ dài thanh mẫu

Output: độ dài thừa còn lại trên tổng 2 thanh.

- Chương trình

Bước 1 nhập dữ liệu

bước 2 sắp xếp

bước 3 chặt thanh 1 rồi chặt thanh 2

Bài 4. Thuật toán Moore :

Bài toán lập lịch: có n máy cùng bắt đầu vào hệ thống sửa chữa, 1 máy thứ k được đặc trưng bởi 2 giá trị: Dk- hạn định(theo hợp đồng sửa chữa); Tk- thời gian sửa chữa.

Giả thiết rằng: các xe đều bắt đầu sửa chữa tại t=0. Tại 1 thời điểm chỉ được sửa 1 xe, và nếu hết xe này xong mới sửa xe khác. Nếu quá hạn 1 đơn vị thời gian thì nhà máy phải đền tiền phạt hợp đồng Ck.

yêu cầu: hãy lên lịch sửa chữa các ô to để sao cho số các ô tô bị quá hạn ít nhất có thể được.

- Mô phỏng: Bước 1:sắp xếp theo hạn định tăng dần

Bước 2: xác định ô tô quá hạn đầu tiên. Chuyển đến cuối dãy và quá trình lặp lại cho đến khi tất cả các ô tô quá hạn đã được xét.

- input: n:số ô tô

C: số tiền phải trả/ đơn vị thời gian

mảng d[k] chứa hạn định các ô tô

mảng t[k] chứa thời gian

- Ouput: Tmax là tổng thời gian quá hạn

Tổng tiền bị phạt

- Chương trình

bước 1: lập lịch

bước 2: sắp xếp

bước 3: bước lặp xác định ô tô quá hạn đầu tiên chuyển xuống cuối dãy

Sử dụng 1 mảng logic kiểu boole đánh dấu ô tô đã xét

Khi chuyển ô tô quá hạn xuống cuối dãy phải thực hiện động tác như sau:

Dk-1 = Dk

Tk-1 = Tk

Dn=Di

Tn=Ti

bước 4 Tính Tmax và tổng tiền.

Nhắn tin cho tác giả Thanh Tam @ 12:24 20/06/2009 Số lượt xem: 3315 Số lượt thích: 0 người

Từ khóa » Viết Chương Trình đổi Tiền Trong Pascal