BÀI TẬP LÀM THÊM

Một phần của tài liệu Tài liệu Bài tập tin học đại cương docx (Trang 147 - 150)

int x, a[10]; register r; static int u;

Trong các biểu thức sau biểu thức nào hợp lệ ?

&x &a &a[10] &5 &(x+5) &x+5 &r u 2. Giả sử ta có các khai báo sau:

int x, a[10]; register r; static int u;

Trong các biểu thức sau biểu thức nào hợp lệ ?

&x *a *a[0] *5 *(x+5) &x+5 &r *&u 3. Giả sử có vòng lặp sau:

For (i=0; i<lim-1&&(c=getchar())!=’\n’&&c!=EOF;++i) s[i]=c; Viết lại vòng lặp trên sao cho không cần đến các phép && và ||. 4. Giả sử có vòng lặp sau:

For (i=100; i>n &&(c=getchar())!=’\n’&&c!=EOF;i--) s[i]=c; Viết lại vòng lặp trên sao cho không cần đến các phép && và ||.

5. Viết lại hàm strend(char *s, char *t) trả về giá trị 1 nếu dòng s là đoạn cuối của dòng t ( ví dụ t là “123” thì đoạn cuối của t là “”,”3”,”23”,”123”), và trả về giá trị 0 nếu ngược lạị 6. Cho 2 hàm sau

int f(int x, int *y) int g(int x, int y)

{ {

int z; int z;

if (x==0)= return *y if (x==0)= return y x--; *y+=3; z=*y; x--; y+=2; z=f(x,&y);

return g(x,z); return y+z;

} }

Hãy cho biết g(3,3). 7. Cho 2 hàm sau

int f(int x, int *y) int g(int x, int y)

{ {

int z; int z;

if (x==6)= return *y if (x==6)= return y x--; *y+=2; z=*y; x--; y+=3; z=f(x,&y);

return g(x,z); return y+z;

} }

Hãy cho biết g(3,3).

8. Viết chương trình liệt kê tất cả các số nguyên bằng bình phương của tổng các chữ số của nó.

Ví dụ: 81 = (8+1)2û

Bài tập Tin học Đại cương 148

9. Cho hai dãy số A và B có các phần tử theo thứ tự giảm dần. Hãy ghép mảng B vào mảng A cũng có phần tử giảm dần (không dùng mảng phụ).ì

10.Cho hai dãy số A và B có các phần tử theo thứ tự tăng dần. Hãy ghép mảng B vào mảng A cũng có phần tử tăng dần (không dùng mảng phụ).ì

11.Viết hàm int InsCircle(double r, double x, double y) trả về giá trị đúng hợc sai tùy thuộc điểm (x,y) có nằm trong vòng tròn tâm O(0,0) bán kính r hay không. Sau đó sử dụng hàm này viết hàm double monte2(double r, int n) trả về giá trị diện tích hình tròn bán kính r

được tính bằng phương pháp MonteCarlo với n điểm thử. Giả sử đã tồn tại hàm double range_rand(double min, double max) cho giá trị ngẫu nhiên trên đoạn [min,max].

Chú thích: Phương pháp Monte_Carlo với n điểm thử để tính diện tích hình tròn: Gieo ngẫu nhiên n điểm trên hình vuông ngoại tiếp hình tròn đó, và đếm số điểm rơi vào bên trong hình tròn (giả sử là n1). Diện tích hình tròn được xấp xỉ bằng diện tích hình vuông nhân với tỉ số n1/n. (adsbygoogle = window.adsbygoogle || []).push({});

12.Viết chương trình tính n! với n là số lớn 13.Viết chương trình tính 2nvới n là số lớn

14.Viết chương trình in ra bảng mã ASCII có số thú tự đi kèm : ví dụ A có mã 65 15.Viết chương trình in bảng cửu chương như ở bìa vở học sinh

16.Nhập một ma trận vuông Ăn,n) ( với 5≤ n ≤ 10) kiểu nguyên. Hãy tính P = S/P ( với S là tổng các phần tử trên đường chéo chính và R là tổng các tử lẻ trên đường chéo phụ, nếu không có phần tử lẻ thì R là tổng các phần tử trên đường chéo phụ), rồi đổi P ra hệ đếm bất kỳ.( cơ số của hệ đếm được nhập từ bàn phím)

17. Để quản lý xe máy, người ta quản lý các thông tin bao gồm: họ tên chủ xe (HT), địa chỉ (DC), số máy (SM), số khung (SK), biển kiểm soát(BKS).

Viết chương trình nhập một danh sách bao gồm các thông tin trên( tối đa 50 đối tượng)

Hiển thị danh sách vừa nhập

Nhập vào một số khung bất kỳ, hiển thị họ tên chủ xe có số khung trùng với số khung vừa nhập.

18.Để quản lý các khối gỗ hình hộp chữ nhật, ta tổ chức một mảng các record, mỗi record gồm các trường : Cạnh dài (CD), Cạnh ngắn (CN), chiều cao(CC), Thể tích(TT), giá tiền (TIEN). Hãy viết chương trình thực hiện các yêu cầu sau:

+ Nhập số liệu của 30 khối gỗ (theo cạnh dài, cạnh ngắn,chiều cao)

+ Tính thể tích của từng khối gỗ theo công thức: TT=CD*CN*CC +Tính giá tiền của từng khối gỗ theo công thức: TIEN=TT*DG

Với đơn giá (DG) là giá tiền của 1m3 gỗ ( được nhập từ bàn phím)

Bài tập Tin học Đại cương 149 + In ra danh sách các khối gỗ đã nhập ( gồm STT( số thứ tự), TT,TIEN) theo chiều tăng dần của giá tiền.

19. Hãy nhập một phân số rồi ước lược phân số 20. Tìm ước số chung lớn nhất của nhiều số.

20. Hãy nhập nhiều phân số rồi thực hiện các phép cộng ,trừ, nhân, chia phân số .

Bài tập Tin học Đại cương 150

TÀI LIỆU THAM KHẢO

[1] Ngôn ngữ lập trình PASCAL - Quách Tuấn Ngọc [2] Turbo PASCAL, cẩm nang tra cứu - Quách Tuấn Ngọc [3] Tin học Đại cương - Phan Huy Khánh

[4] Turbo Pascal - Đỗ Ngọc Phương

[5] Turbo Pascal - Borland

[6] Bài tập tin học chọn lọc - Nguyễn Thanh Hùng [8] Bài tập Turbo Pascal - Đỗ Phúc [9] Bài tập Tin học - Hồ sỹ Đàm

[10] Các đề bài tập, các đề thi - Khoa CNTT- ĐTVT-ĐHKT-Đà nẵng.

Một phần của tài liệu Tài liệu Bài tập tin học đại cương docx (Trang 147 - 150)