Đề cương ôn tập môn Kỹ thuật lập trình C Yêu cầu: Sinh viên phải nắm được các kiến thức cơ bản sau: 1. Các câu lệnh khai báo biến, kiểu dữ liệu 2. Các câu lệnh nhập xuất dữ liệu 3. Các lệnh if, switch, for, do while, while, break, continue 4. Hàm 5. Mảng, xâu 6. Cấu trúc 7. File Các dạng bài tập: Viết chương trình thực hiện các công việc sau Loại lệnh if, for, do…while, while, … 1. Giải phương trình bậc hai ax 2 +bx+c=0 2. Giải hệ phương trình bậc nhất hai ẩn =+ =+ 222 111 cybxa cybxa 3. Tính tổng )!12( 1 !5 1 !3 1 1 + ++++= n S 4. Tính tổng )12(2 1 5.4 1 3.2 1 + +++ nn 5. Tính tổng 12 531 + ±+−+− n xxxx 6. Viết chương trình tính gần đúng giá trị của hàm số e x theo công thức: ! !3!2!1 1 32 n xxxx e n x +++++= . Giá trị được tính cho tới khi ep n x n < ! , với ep và x là các số thực nhập từ bàn phím, (0 < ep < 1). In kết quả ra màn hình. 7. Tính tổng )!12( !5!3!1 + ±−+− n xxxx Giá trị được tính cho tới khi ep n x < + )!12( , với ep và x là các số thực nhập từ bàn phím, (0 < ep < 1). In kết quả ra màn hình Loại mảng, xâu, ma trận 1. Nhập một mảng gồm n số nguyên (hoặc thực, n<100). Sau đó thực hiện một số công việc sau: in mảng, sắp xếp mảng, tìm phần tử lớn nhất (nhỏ nhất), in các phần tử khác nhau trong mảng, in các phần tử xuất hiện từ hai lần trở lên, in các phần tử chỉ xuất hiện đúng một lần, tìm các số nguyên tố trong mảng 2. Nhập một ma trận n hàng, m cột các số nguyên (hoặc thực, n và m<100) sau đó thực hiện các công việc sau: in ma trận, tìm vi trí phần tử lớn nhất (nhỏ nhất) trong ma trận, tìm phần tử lớn nhất của từng hàng (cột) trong ma trận. Tính tổng các phần tử trong từng hàng và lưu vào cột cuối cùng. Tìm hàng có tổng lớn nhất. 3. Nhập một ma trận vuông và thực hiện các công việc sau: in ma trận, tìm phần tử nhỏ nhất ( lớn nhất ) trên đường chéo chính, sắp xếp các cột của ma trận theo chiều giảm dần 4. Nhập một xâu ký tự và thực hiện các công việc sau: in xâu ra màn hình; đếm số từ trong xâu (từ là dãy ký tự liền nhau không chứa dấu cách, tab); chuẩn hóa xâu về dạng tên riêng (ví dụ “n12gUyeN 1 Hu34nG A4nH ” chuẩn thành “Nguyen Hung Anh”); đếm số lần xuất hiện các ký tự trong xâu ví dụ xâu s="ngnuenuee1n", kết quả là 'n' : 4, 'g':1, 'u':2, 'e':3, '1':1. 5. Viết chương trình sinh ngẫu nhiên n số nguyên a[i] (i=0 n-1), n là số tự nhiên nhỏ hơn 100 được nhập từ bàn phím. Ghi kết quả vào file dulieu.inp. Tính và in ra giá trị của biểu thức 2 2 2 [0] [1] [ 1]T a a a n = + + + − . Tìm các giá trị i và j (i≠j) để tổng (a[i] + a[j]) đạt giá trị lớn nhất. Tìm số nguyên xuất hiện nhiều nhất trong mảng a của câu 2. 6. Viết chương trình nhập một xâu ký tự từ bàn phím. Kiểm tra xem trong xâu có bao nhiêu chữ cái viết hoa, bao nhiêu chữ cái viết thường, bao nhiêu chữ số, bao nhiêu từ. Hiển thị các kết quả ra màn hình. 7. Nhập từ bàn phím số tự nhiên N (N<100) và sinh ngẫu nhiên một dãy N số nguyên. In ra dãy số được sinh ra. In ra các số xuất hiện ít nhất 2 lần trong mảng 8. Đếm số lần xuất hiện các ký tự trong xâu : ví dụ xâu s="nneunuee1n", kết quả là 'n': 4, 'g':1, 'u':2, 'e' : 3, '1': 1. 9. Nhập từ bàn phím một dãy gồm n số nguyên(n < 100). In ra dãy vừa nhập ra màn hình. In ra tất cả các số không là số nguyên tố trong dãy. 10.Nhập một mảng n (n<100) số nguyên từ bàn phím. In ra mảng vừa nhập. Tìm tích của phần tử lớn nhất và nhỏ nhất của mảng. In ra các số khác nhau trong mảng. 11.Phát sinh ngẫu nhiên toạ độ hai véc tơ X = (x 1 , x 2 ,…, x n ), Y = (y 1 , y 2 ,…y n ), trong đó N là số tự nhiên nhỏ hơn 15 được nhập từ bàn phím. Tính độ dài véctơ X theo công thức 22 2 2 1 n xxxX +++= . Tìm tổng véctơ Z = X+Y (Z=(z 1 , z 2 ,…z n )) theo công thức z i = x i +y i (i = 1 n). 12.… Loại về struct, FILE 1. Viết chương trình nhập vào một mảng n (n<100) nhân viên (tên, hệ số lương – kiểu số thực, phụ cấp – kiểu nguyên) sau đó thực hiện các công việc sau:+ In mảng vừa nhập ra màn hình và ghi vào file nhansu.inp + Tìm nhân viên có lương cao nhất, lương của một nhân viên tính theo công thức: lương = hệ số lương*830 + phụ cấp. + Sắp xếp mảng theo chiều tăng dần của hệ số lương, nếu cùng hệ số lương thì sắp xếp theo tên và in kết quả ra màn hình. + In ra các nhân viên được tăng thêm phụ cấp (thêm 100000) điều kiện được tăng là có hệ số lương <3.0, nếu có nhiều nhân viên đạt điều kiện trên thì chỉ tăng cho không quá 10% tổng số nhân viên. 2. Viết chương trình nhập vào một mảng n (n<100) nhân viên (tên, hệ số lương – kiểu số thực, phụ cấp – kiểu nguyên).In mảng vừa nhập ra màn hình và ghi vào file nhansu.inp.Tìm nhân viên có lương cao nhất, lương của một nhân viên tính theo công thức: lương = hệ số lương*640 + phụ cấp. Sắp xếp mảng theo chiều tăng dần của hệ số lương và in kết quả ra màn hình. 3. Viết chương trình nhập vào một mảng n (n<100) Sinh viên (tên, điểm thi môn Toán, Lý, Hóa). In mảng vừa nhập ra màn hình và ghi mảng đó vào file sinhvien.inp.Tìm sinh viên có điểm trung bình lớn nhất. In ra tên của các sinh viên được học bổng, biết rằng để được học bổng thì các điểm thi phải >=5 và điểm trung bình phải >=7.0. Đồng thời số sinh viên được học bổng không vượt quá 10% tổng số. 4. Viết chương trình nhập vào một mảng n (n<100) sinh viên (tên, điểm thi môn Toán, Lý, Hóa, Anh, Triết, Tin Đại cương). In mảng vừa nhập ra màn hình và ghi mảng đó vào file data.inp. In ra tên của các sinh viên phải thi lại ít nhất hai môn. In ra danh sách sinh viên phải ở lại lớp (điểm trung bình < 5.0) theo chiều giảm dần của điểm trung bình. 5. Nhập vào một mảng n (n<100) quyển sách (tên, số trang, giá tiền). In ra mảng vừa nhập ra màn hình và ghi mảng đó vào file data.txt. Nhập vào một số nguyên p và in ra tên và giá tiền của tất cả các 2 quyển sách có số trang là p. Sắp xếp mảng theo chiều giảm dần của giá tiền trung bình của một trang sách và in kết quả ra màn hình. 6. Nhập vào một mảng các cấu trúc hình tròn trên mặt phẳng 2 chiều (tọa độ tâm và bán kính). In ra danh sách các hình tròn vừa nhập và ghi mảng đó vào file data.txt. Nhập vào một điểm (x, y) và đếm xem nó nằm trong bao nhiêu hình tròn trong mảng các hình tròn vừa nhập. Sắp xếp các hình tròn theo chiều tăng dần của chu vi và in kết quả ra màn hình. 7. … Chú ý: loại bài về cấu trúc thì có thể thay đổi như cấu trúc sinh viên, học sinh, môn học, mặt hàng, phần mềm, …. Các công việc thực hiện thường gồm: khai báo cấu trúc, nhập danh sách, xuất danh sách, ghi danh sách vào file, sắp xếp, tìm kiếm, thống kê, … Đề thi mẫu: Thời gian 60 phút thực hành trên máy tính, không sử dụng tài liệu (được đọc help của TC, DevC, C-Free, …). Câu 1: Nhập vào từ bàn phím một xâu ký tự. Kiểm tra xem trong xâu có bao nhiêu chữ cái x, với x là một chữ cái nhập từ bàn phím. Đếm số lần xuất hiện các ký tự trong xâu: ví dụ xâu s="ngnuenuee1n", kết quả là 'n' : 4, 'g':1, 'u':2, 'e':3, '1':1. Hiển thị các kết quả ra màn hình. Câu 2: Nhập vào một mảng n (n<100) cấu trúc loại Hàng hóa (tên loại hàng hóa, giá tiền, tổng số đang có trong kho). Sau đó thực hiện các câu 3, 4, 5: Câu 3: In mảng vừa nhập ra màn hình và ghi mảng đó vào file hanghoa.dat Câu 4: In ra giá trung bình của các loại hàng hóa vừa nhập Câu 5: Tìm và in ra loại hàng hóa có số vốn lớn nhất đang có trong kho 3 . Đề c ơng ôn tập môn Kỹ thuật lập trình C Yêu c u: Sinh viên phải nắm đư c c c kiến th c cơ bản sau: 1. C c câu lệnh khai báo biến, kiểu dữ liệu 2. C c câu lệnh nhập xuất dữ liệu 3. C c lệnh. lên, in c c phần tử chỉ xuất hiện đúng một lần, tìm c c số nguyên tố trong mảng 2. Nhập một ma trận n hàng, m c t c c số nguyên (ho c th c, n và m<100) sau đó th c hiện c c c ng vi c sau:. viên, h c sinh, môn h c, mặt hàng, phần mềm, …. C c công vi c th c hiện thường gồm: khai báo c u tr c, nhập danh sách, xuất danh sách, ghi danh sách vào file, sắp xếp, tìm kiếm, thống kê, … Đề thi