1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài Lập Trình Hệ Thống pdf

6 959 2
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 59 KB

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

Nội dung

ĐỀ TÀI LẬP TRÌNH HỆ THỐNG Đề 1: Viết một chương trình C thực hiện các công việc sau: a,Nhập ma trận int*a với 6... ---Đề 3:Viết chương trình C thực hiện các công việc sau: a,Nhập mảng mộ

Trang 1

ĐỀ TÀI LẬP TRÌNH HỆ THỐNG

Đề 1:

Viết một chương trình C thực hiện các công việc sau:

a,Nhập ma trận int*a với (6<=n<=10 nhập n dùng ngắt) Tìm min=mini+minj, trrong đó

mini là phần tử nhỏ nhất ở hàng giữa,và minj là phần tử nhỏ nhất ở cột cuối cùng ma trận

a[n][n].

b,Đổi min ra xâu số thập lục phân TLP char*s(min có ở câu a) Tính k là tổng các ký tự

TLP nào mà chữ số TLP của nó có 2bit tận cùng bên trái là bit 1, nếu ko k là tổng các ký tự TLP có bit tận cùng bên phải là 1.(dùng phép toán logic)

c,Tìm t=min+k(min có ở câu a, k có ở câu b) có phải là số hạnh phúc? Vd:44, 1203 là số hạnh phúc,nếu số chữ số của t là số chẵn và tổng các chữ số nữa đầu bằng tổng các chữ số

nữa cuối

d,Tạo mảng một chiều int*x, mà x[i] cũng chính là phần tử s[i] của xâu s, nhưng tính x[i] bằng cách đảo ½ byte cao với ½ byte thấp s[i], rồi tính x[i] trong hệ TLP.

Viết chương trình ASM thường trú chặn ngắt 1CH để hiện dòng “KHOA CONG NGHE THONG TIN_DAI HOC BACH KHOA DA NANG

thứ,ngày,tháng,năm,giờ,phút,giây” ở góc trái màn hình.

-Đề 2:

Viết một chương trình C để xử lí các công việc sau đây:

1, Nhập một số n kiểu long(dùng ngắt 0X21),rồi đổi n ra xâu ký tự thập phân char*s.

2,Hãy sắp xếp giảm dần các phần tử trong xâu s[](phương pháp Quicksort).Tính nt là tổng các phần tử nào của xâu s[],mà chữ số TP có 2bit giữa là 1.

3,Xét xem nt(ở câu 2) có phải là số đối xứng? vd:44, 202 là các số đối xứng khi tích trong

hệ thập phân:tổng các tích của chữ số và vị trí từ trái sang phải cũng bằng tổng các tích của chữ số và vị trí từ phải sang trái

4,Tạo mảng 1 chiều int*x,mà x[i] cũng chính là phần tử s[i] của xâu char*s nhưng có giá

trị được tính trong hệ thập lục phân TLP là ½ byte cao bằng giá trị đảo của ½ byte thấp, còn ½ byte thấp bằng ½ byte cao(dùng phép toán logic) Vd:

s[i]=’5’=0x35=>s[i]=10100011=0xA3

Viết chương trình ASM để mô phỏng lệnh COPY

Trang 2

-Đề 3:

Viết chương trình C thực hiện các công việc sau:

a,Nhập mảng một chiều unsigned char*a,dùng hàm ramdom(256),(70<=n<=120, n nhập dùng ngắt) Hãy tạo mảng 1 chiều int*x,mà x[i] cũng chính là a[i], nhưng có giá trị được

tính trong hệ nhị phân có các chữ số đảo lại vd: a[i]=140=10001100=>x[i]=00110001=49

b,Viết tất cả các hàm sắp xếp mảng mà nhóm có thể tìm hiểu được Hãy sắp xếp mảng x[n]

theo thứ tự giảm dần

c,Hãy chèn mảng a[] vào mảng x[] sao co mảng x[] cũng có thứ tự giảm dần.

d,Hãy lấy chữ số thập phân ở giữa cảu các phần tử a[i] để tạo ra xâu ký tự char*s.

-Viết chương trình ASM để mô phỏng lệnh DATE và TIME(ghép lại thành một lệnh).

-Đề 4:

Viết một chương trình C thực hiện các công việc sau:

1,Viết lại các hàm chuẩn về xâu ký tự mà nhóm có thể tìm hiểu được

2,Cho trước một xâu char s[]=” 21 47 4 8 36 4 0”, dùng các hàm ở câu 1 để nén

xâu(xóa các dấu trống)

3,Đổi xâu s[] ra số nguyên long n=2147483640,(viết hàm dùng ngắt để in n).

4,Đổi long n ra mảng số TLP int*a={7,15,15,15,15,15,15,15,8}, rồi đổi mảng a[] ra lại

long n.

-Viết chương trình ASM để mô phỏng lệnh DIR.

-Đề 5:

Viết chương tình C thực hiện các công việc sau:

1,Cho trước một mảng int*a={6,6,3,3,1,1,3,6,1,9,9,9,0,0,7,4,8,9,5,5};hãy xóa các phần tử giống nhau chỉ để lại 1 phần tử, rồi đổi mảng a[] ra số nguyên long n=631361907485 2,Tính t=n%50(n có ở câu 1) Xét t có phải là số MERSEN Vd: 7 là số Mersen vì

7=2^3-1=111(khi đổi 7 ra số nhị phân được toàn bit 1) Cả 7 và 3 đều là số nguyên tố

Trang 3

4,Hãy xóa các chữ số thập phân nào của xâu st[]<=’4’.(Viết hàm dùng ngắt để in xâu st[])

-Viết chương trình ASM mô phỏng lệnh TYPE.

-Đề 6:

Viết chương trình C thực hiện các công việc sau:

1, Hãy đọc tệp văn bản”M1CINP.TXT” mà dòng đầu tiên ghi n phần tử mảng 1 chiều int

x[n], tiếp theo là n dòng các phần tử của mảng x[n] có byte cao>byte thấp (dùng phép toán

logic và phép dịch)

2,Tạo mảng 1 chiều y[n] mà y[i] cũng chính là phần tử x[i] của mảng x[n] ở câu 1, nhưng

giá trị trong hệ đếm TLP được viết đảo các chữ số lại

Vd: x[i]=0x6D=>y[i]=0xD6

3,Hãy sắp xếp mảng y[n] (phương pháp shake) Rồi chèn s=s%55 và mảng x[n] vào y[n] sao cho mảng y[n] vẫn có thứ tự.

4,Viết một hàm in số TLP(dùng ngắt) để in mảng

-Viết chương trình ASM để mô phỏng lệnh MOVE.

-Đề 7:

Viết một chương trình C thực hiện các công việc sau:

a,Đọc tệp văn bản “MATRAN.TXT” mà dòng đầu tiên ghi n là số hàng/cột của một ma trận vuông, tiếp theo là n*n phần tử ma trận int*a với (5<=n<=12) Hãy tạo mảng một chiều int*x mà x[i] là tổng các tích của cột i với hàng j, hàng j ứng với phần tử lớn nhất đầu tiên trên cột I ma trận a[n][n].

b,Hãy tạo mảng một chiều trên 1 ma trận mà nhóm thực hiện đồ án có thể tìm hiểu được c,Viết hàm in số thập phân (dùng ngắt) để in mảng 1 chiều

d,Tính s là tổng các phần tử x[i] nào có byte thấp,mà ½ byte thấp, có giá trị bằng giá trị đảo bit của ½ byte cao Tìm kiếm s%55 có trong mảng int*x?(Tìm kiếm nhị phân với mảng đã

sắp xếp)

-Viết chương trình ASM để mô phỏng lệnh DEL.

Trang 4

-Đề 8:

Viết chương trình C thực hiện các công việc sau:

1,Hãy đọc tệp nhị phân “M1CINP.BIN”mà mẫu tin đầu tiên ghi n phần tử mảng 1 chiều

int x[n], tiếp theo là n mẫu tin các phần tử của mảng.(khi ghi tệp dùng hàm random(1000)

Tính s là tổng các phần tử nào của mảng x[n] có byte cao là một chữ số thập lục phân.

2,Viết 1 hàm in số nhị phân(dùng ngắt) để in s ở câu 1

3,Tạo một ma trận xoắn int*a, được hình thành từ các phần tử mảng x[n], được xoắn theo

thứ tự giảm dần từ ngòa vào trong

Vd: 30 22 21 20

8 7 6 19

9 3 4 17

10 11 13 15

4,Tạo mảng 1 chiều a[n], mà a[i]=maxi+maxj, với maxi là phần tử lớn nhất hàng i, maxj

là phần tử lớn nhất cột j(cột j ứng với phần tử nhỏ nhất cuối cùng của hàng j ma trận a)

-Viết chương trình ASM thực hiện phép cộng, phép trừ số BCD nén, hãy nhập m1 và m2 kiểu DB gồm 50 chữ số BCD nén rồi thực hiện m3=m1+m2 và m4=m1-m2.

-Đề 9:

Viết một chương trình C thực hiện các công việc sau:

a,Tạo 1 ma trận vuông int*a có dạng dích dắc như sau:

Vd: 1 2 3 4

8 7 6 5

9 10 11 12

16 15 14 13

b,Tìm mảng 1 chiều x[n],mà x[i] là phần tử “YÊN_NGỰA” của hàng i đó là phần tử lớn

nhất mà hàng i đồng thời là phần tử nhỏ nhất cột j, cột j là cột chứa nó Nếu hàng i không

có phần tử “YÊN _NGỰA”, thì x[i] là tổng các phần tử nào của cột j có byte cao có số bit

1 là số chẵn

c,Viết hàm in số bát phân(dùng ngắt để in mảng x[n]).

d,Xóa đi các phần tử của mảng x[n]<=t (không được dùng mảng phụ và không được sắp

xếp mảng)

Viết chương trình ASM nhập mảng 1 chiều gồm 15 phần tử kiều DW, tìm tổng các số nào là số hoàn hảo, số keprker,…

-Đề 10:

Viết một chương trình C để thực hiện các công việc như sau:

Trang 5

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

b,Tạo xâu ký tự TLP char*s mà s[i] là ký tự chữ số thập lục phân tận cùng bên trái của cột giữa ma trận a[n][n].

c,Xóa tất cả các ký tự thập phân trong xâu s[], rồi đổi xâu s[] ra số thập phân t.

d,Xét t và n có phải 2 số hữu nghị? Viết hàm dùng ngắt in số thập phân có dấu để in t.

-Viết chương trình ASM nhập mảng m1 kiểu DB gồm 50 chữ số BCD nén, rồi đổi từng byte ra số thập phân Hãy tính tổng các phần tử nào là số nguyên tố, số đối xứng, số mersen…

-Đề 11:

Viết một chương trình C thực hiện các công việc sau:

A,Nhập ma trận a[n+1][n+1] kiểu int, với(6<=n<=10) Hãy xóa đi cột và hàng chứa phần

tử nhỏ nhất cuối cùng của ma trận a[n+1][n+1] để có a[n][n].

B,Tạo mảng 1 chiều int*x, mà x[i] là tổng các phần tử cột i nào có byte cao là 2 chữ số

BCD nén?

C,Tạo ma trận xoắn int*c, bằng cách xoắn các phần tử của ma trận a theo thứ tự giảm dần

từ ngoài vào trong

D,Viết hàm in số bát phân(dùng ngắt) để in ma trận

-Viết chương trình ASM ghi dữ liệu vào tệp, đánh vào từ bàn phím và kết thúc bằng CTRL+Z Tên tệp cũng vào từ bàn phím và kết thúc bằng ENTER.

-Đề 12:

Viết chương trình C thực hiện các công việc sau:

1,Hãy đọc tệp nhị phân”MATRIX.BIN” mà mẫu tin đầu tiên ghi n là số hàng/cộtcủa một

ma trận vuông, tiếp theo là n*n mẫu tin ghi n*n phần tử ma trận int*a với (5<=n<=12) Hãy tạo mảng 1 chiều int*x mà x[i] là tổng các phần tử đứng sau phần tử lẻ đầu tiên ở cột i

ma trận a[n][n], nếu không, x[i] là tổng các phần tử nào trên cột i có ½ byte tận cùng bên

trái là 1 chữ số BCD nén

2,Tính t là tổng các phần tử nào của hàng giữa ma trận a[n][m] là số nguyên tố? Nếu

không(hàng giữa ko có số nguyên tố) thì tính t là tổng tất cả các phần tử đối xứng ở hàng giữa ma trận a[n][m]

Trang 6

3,Đổi t ra mảng số nhị phân int*c, đổi mảng int*c ra mảng thập lục phân int*v.

4,Viết hàm in số thập lục phân(dùng ngắt) để in mảng int*v.

-Viết chương trình ASM để minh họa sử dụng chuột, hiển thị tọa độ chuột.

Chương trình C và chương trình ASM :

Yêu cầu:

-Sinh viên làm việc theo nhóm, được chia theo lớp sinh hoạt số đề tài mà nhóm thực hiện do giáo viên phân công.

-Nhóm sinh viên có thể đề xuất đề tài khác ngoài 12 đề tài trên.

-Mỗi nhóm sinh viên nộp một BẢN BÁO CÁO (ko cần đóng bìa), trong bản báo cáo

có thuật toán của các công việc trong đề tài, file chương trình C CPP và file chương trình ASM Cuối bản báo cáo là lịch và nội dung sinh hoạt của nhóm.

-Nhóm sinh viên tìm các bài toán liên quan để viết chương trình C có ít nhất 15 hàm.

Ngày đăng: 01/08/2014, 23:20

TỪ KHÓA LIÊN QUAN

w