daigai

Well-Known Member
Link tải luận văn miễn phí cho ae Kết nối
  
Course Title: Programming Technique
Semester : 04
Product Code: IT3540
Autor : Vũ Đức Vượng



   
Semester: 4 Course Title: Programming Technique Week: 5+6st
Theme: Basics of C,C++
No. Lý thuyết Thực hành
1



Thứ tự thực hiện các phép toán trong C 1.1 Viết chương trình nhập các tham số tương ứng và tính giá trị các biểu thức sau :
int a,b,c,d;
a=b=c++=d=10;
in ra a,b,c,d
a=b=++c=d=10;
in ra a,b,c,d
Giữ nguyên đoạn code trên, sửa dòng khai báo thành int a,c,d,b; chạy chương trình và xem kết quả và đưa ra nhận xét

1.2 Viết chương trình nhập các tham số tương ứng và tính giá trị các biểu thức sau :
Int a,b
Nhập a
b= a++ + 2 * a;
in ra a,b
b= ++a + 2 * a;
in ra a,b
b= (2*a)+ ++a;
in ra a,b
b= (2*a)+ a++;
in ra a,b
b= ++a + (2*a);
in ra a,b
b= a++ + (2*a);
a=10;
printf(" \n a++,a = %d, %d",a++,a);
a=10;
printf(" \n ++a,a = %d, %d",++a,a);
a=10;
printf(" \n a,a++ = %d, %d",a,a++);
a=10;
printf(" \n a,++a = %d, %d",a,++a);
Chạy chương trình trên TURBO C++, VC++ và GCC, xem kết quả và đưa ra nhận xét về thứ tự thực hiện các phép toán, cùng cơ chế truyền tham số cho hàm của C


2
Array 2.1 Viết CT nhập vào 1 xâu ký tự va in ra số lần xuất hiện của mỗi ký tự trong xâu. Nhập vào 2 ký tự rồi in ra xâu với ký tự thứ nhất ( nếu có) trong xâu được thay thế bằng ký tự thứ 2.Trình bày giải pháp
2.2 Viết chương trình tính tổng 2 ma trận
2.3 Viết chương trình tính tích 2 ma trận
3 Pointer 3.1 Chép chương trình sau, chạy, xem kết quả rồi tìm và chỉnh sửa lỗi :

#include
#include
void main(){
int a,b,c;
int *p=&c;
c = 3;
/* divide c by itself */
a = c/*p;
b = c /* set b to 3 */ ;
printf("a=%d, b=%d, c=%d\n", a,b,c);
getch();
}

4



Functions XD hàm tính căn bậc ba của 1 số thực, rồi nhập dãy các số thực x1, x2, ..., xn và tính tổng :

Biết rằng :

5 Pointer và cấp phát bộ nhớ động 4.1 Viết lại chương trình 2.2,2.3 dùng cấp phát bộ nhớ động ( sử dụng mảng 1 chiều, và 2 chiều)

4.2 Viet CT nhap vao danh sach ho va ten sv cua 1 lop, roi in ra ds theo thu tu kieu vietnam, voi yeu cau tiet kiem bo nho toi da
Semester: 4 Course Title: Programming Technique Week: 7+8+ 9+10nd
Theme: Advanced C,C++

No. Lý thuyết Thực hành
6



Overloading Operator 6.1 Xây dựng cấu trúc phân số , hàm tiện ích xác lập phân số ( setpPS(int,int), hàm tối giản phân số, và đa năng hóa các toán tử +,-,*,/, ++,--
6.2 áp dụng cấu trúc phân số cung các hàm va toán tử trên, viết chương trình nhập các phân số p1,p2,p3 và số nguyên a,b rồi tính và in ra giá trị các biểu thức sau :
b= a++ + 2 * a;
b= ++a + 2 * a;
b= (2*a)+ ++a;
b= (2*a)+ a++;
b= ++a + (2*a);
p2= p1++ + (2*p1);
p2= p1++ + 2 * p1;
p2= ++p1 + 2 * p1;
p2= (2*p1)+ ++p1;
p2= (2*p1)+ p1++;
p2= ++p1 + (2*p1);
p2= p1++ + (2*p1);

Chạy chương trình trên TURBO C++, xem kết quả và đưa ra nhận xét cách thực hiện phép toán ++, -- của trình dịch, và so sánh với cách thức thức hiện của toán tử ++,-- do ta định nghĩa ! ( De de dang so sanh ket qua, hay nhap a=1 va p1=(1/1) . Sv can lien he voi bang thu tu thuc hien cac phep toan, va dua ra nhan xet ve cach thuc cai dat bieu thuc cua trinh dich tuong ung !!!)

(Liên hệ với bài 1.2 !!!)
6.3 Xay dungcau truc Time va da nang hoa cac toan tu can thiet

7
Array + overloading operator 7.1 xây dựng cấu trúc matrix với các trường kiểu nguyên R và C để xác định số hàng và số cột của ma trận, trường float ** data để cấp phát bộ nhớ động dùng mảng hai chiều. Và dịnh nghĩa các phép toán +, * để cộng và nhân 2 ma trận

** sau khi cài đặt xong các phép toán, hãy khai báo các matran a,b,c,d tương ứng và thực hiện biểu thức a=b+c; in ra a, d=b*c; in ra d;
Sau do cho a=b+c; và d=b*c; 2000 lần ( lặp); rồi in kết quả a,d và so sánh với các kết quả ở trên !! ( về nguyên tắc thì a và d phải không đổi, vì b,c không đổi thì chạy bao nhiêu lần, kết quả vẫn không thay đổi, nhưng thực tế ???, hãy tìm hiểu nguyên nhân tại sao !!! )

8 Array and Pointer 8.1 Chép chương trình sau, chạy, xem kết quả và giải thích những điểm bất thường trong chương trình :

#include
#include
#include
void main(){
int i,m[5];
char x1[10],x2[10];
char *s1,*s2;
for (i=1; i<7;i++) i[m] =i*2;
for (i=1;i<7;i++) printf(“\n m[%d] = %d”,i,m);
s1= new char[10];
s2= new char[10];
strcpy(s2,” xau 2”);
strcpy(s1,”Dai hoc bach khoa ha noi”);
printf(“\n s1= %s”,s1);
printf(“\n s2= %s”,s2);
strcpy(x2,” xau x2”);
strcpy(x1,”Dai hoc bach khoa ha noi”);
printf(“\n x1= %s”,x1);
printf(“\n x2= %s”,x2);

getch();
}
( Luu y ve pham vi cua mang, cach su dung i[m]=…, giai thich tai sao ket qua doi voi mang m van dung va chi ra duoc nguy co tiem an. So sanh s1,s2 voi x1,x2, giai thich co che thuc hien !)
9 Recursive – De qui 9.1 Viết hàm đệ qui tính tổng các chữ số chẵn( lẻ) của số nguyê n dương n
9.2 Viết Hàm đệ qui đổi 1 số nguyên dạng thập phân sang 1 cơ số bất kỳ (2,8,16)
9.3Tính S(n) = s qrt(1 + s qrt(2 + sqrt (3 + ...s qrt (n-1 + sqrt (n)))))
9.4 Tính S(n) = 1/2 + 3/4 + 5/6 + 7/8 +9/10 + .....
9.5* Cho hai dãy số X và Y với :
X ={ 1, 4, 12,56, 880, .... }
Y ={ 1, 2, 16,384,43008, ….}
Hãy viết cac ham đệ qui tính X,Y roi tinh tổng :
S(n) = X(1)+X(2) + ……X(n) +Y(1)+Y(2)+ ….. + Y(n)
9.6 * Cho hai dãy số X và Y với :
X ={ 1,2, 3,6, 11,20,37, .... }
Y ={ 1,2, -1,0,9,57,183, ….}
Hãy viết cac ham đệ qui tính X,Y roi tinh tổng :
S(n) = X(1)+X(2) + ……X(n) +Y(1)+Y(2)+ ….. + Y(n)

10 Các bài tập trong slide chương IV, phần đệ qui : Luu y : 1 so giai thuat cai dat trong slide tren lop co nhung sai sot, khi thuc hien cac bai tap nay, sv can chi ra nhung diem sai sot trong cacgiai thuat do !
11 Programming Style 11.1 Ap dung cac ky thuat phan tich, thiet ke va cai dat cung phong cach laptop trinh trong vi du “Text formatting”. Tien hanh phan tich thiet ke va cai dat bai toan sau :
Cho mot xau ky tu gom day cac so co 3 chu so co dang nhu sau : “101,102,103,104,201,202,205,206,207,208,209,210,212,215,301,302,303,304,305,401,403….” ( do dai tuy y)
Hay to chuc lai de in ra ket qua tren nhieu dong, moi dong khong qua 30 ky tu. Noi dung moi dong co dang nhu sau :
101-104,201,202,205-210,212,215
301-305,401,403 ….
(tuc la neu day cac so lien tuc gom nhieu hon 3 so thi dua ve dang somin-somax)
Tu nay ve sau : cac bai tap (ke ca bai thi-kiem tra) phai tien hanh theo trinh tu :
+Dua ra bai toan
+Phan tich cac yeu cau
+Thiet ke so bo (pseudocode)
+Cai dat ( dua ra Ct nguon cuoi cung, cac buoc phan tich,trien khai chi tiet step by step co the bo qua) – Dong thoi phai ap dung moi ky thuat, phong cach nhu da hoc trong chuong III
• 11.2 Mở rộng BT trên : Bài toán tính tiền phòng ks :Để tính tiền phòng cho 1 đoàn khách tại khách sạn, từ thực tế sử dụng phòng của khách người ta đã trích rút từ CSDL ra các thông tin cần thiết và lưu vào mảng với các thông tin như sau :
Thời gian Số người Số phòng Giá tiền Số ngày
01/01/2007 – 05/01/2007 1 105 45 4
01/01/2007 – 05/01/2007 1 106 45 4
01/01/2007 – 05/01/2007 1 107 45 4
01/01/2007 – 05/01/2007 1 109 45 4
01/01/2007 – 05/01/2007 2 101 45 4
01/01/2007 – 05/01/2007 2 302 45 4
01/01/2007 – 05/01/2007 2 205 55 4
01/01/2007 – 05/01/2007 2 206 55 4
01/01/2007 – 05/01/2007 2 207 55 4
01/01/2007 – 05/01/2007 2 208 55 4
07/01/2007 – 09/01/2007 1 104 45 2
07/01/2007 – 09/01/2007 2 304 55 2
07/01/2007 – 10/01/2007 1 105 45 3
07/01/2007 – 10/01/2007 1 106 45 3
07/01/2007 – 10/01/2007 1 107 45 3
07/01/2007 – 10/01/2007 2 305 55 3
07/01/2007 – 10/01/2007 2 306 55 3
07/01/2007 – 10/01/2007 2 307 55 3
07/01/2007 – 10/01/2007 2 308 55 3
07/01/2007 – 10/01/2007 2 401 55 3
09/01/2007 – 10/01/2007 1 201 45 1
09/01/2007 – 10/01/2007 2 406 55 1

Từ kết quả dạng như trên, ngươi ta phải đưa ra kết quả dưới dạng sau :
Thời gian Diễn giải Thành tiền
01/01/2007 – 05/01/2007 105-107,109,(1K),101,102,(2K) : 45 usd x 4 D x 6 R
205-208,(2K) : 55 usd x 4 D x 4 R 900

880
07/01/2007 – 09/01/2207 104,(1K) : 45 usd x 2 D x 1 R
304 (2K) : 55 usd x 2 D x 1 R 90
110
07/01/2007 – 10/01/2007 105-107,(1K) 45 usd x 3 D x 3 R
305-308,401,(2K) 55 usd x 3 D x 5 R 405
825
09/01/2007 – 10/01/2007 201,(1K) : 45 usd x 1 D x 1 R
406,(2K) : 55 usd x 1 D x 1 R 45
55
Tong cong 3310

(Ghi chú : K = số lượng Khách mỗi phòng, D = số ngày, R = Số Phòng)
Hãy viết chương trình thực hiện việc trên ( mảng 1 được khởi tạo khi khai báo, viết ct để tạo mảng 2 )


Link Download bản DOC
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:

 

Các chủ đề có liên quan khác

Top