Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 368 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
368
Dung lượng
11,44 MB
Nội dung
Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Công nghệ phần mềm NHẬP MÔN LẬP TRÌNH ThS Đặng Bình Phương dbphuong@fit.hcmus.edu.vn GIỚI THIỆU MÔN HỌC VC & BB Giới thiệu chung Đối tượng: Sinh viên năm Thời gian: 45 tiết LT + 30 tiết TH Môn học tiên quyết: Không có Hình thức kiểm tra: Lý thuyết: điểm Thực hành: điểm Đồ án: điểm Giảng viên lý thuyết Đặng Bình Phương dbphuong@fit.hcmus.edu.vn Giới thiệu môn học VC & BB Nội dung môn học Chương Giới thiệu tổng quan lập trình Khái niệm chương trình máy tính Các ngôn ngữ lập trình Các khái niệm lập trình Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Sử dụng kiểu liệu sở chương trình Cấu trúc chương trình máy tính Chương trình đơn giản Các kiểu liệu sở phép toán Những vấn đề liên quan đến ký tự chuỗi Các hàm thông dụng có sẵn thư viện Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Kiểu liệu sở lớp dựng sẵn Khối lệnh lập trình Dùng cấu trúc rẽ nhánh lập trình Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Hàm kỹ thuật tổ chức chương trình Giới thiệu Truyền tham số cho hàm Biến toàn cục biến cục Các ví dụ ứng dụng hàm lập trình Hàm chương trình nhiều tập tin mã nguồn Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Giới thiệu thuật toán Khái niệm thuật toán Chương trình cài đặt thuật toán Độ phức tạp thuật toán Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Kỹ thuật cài đặt thuật toán Thuật toán rẽ nhánh kỹ thuật cài đặt Tính toán lặp kỹ thuật cài đặt Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Dữ liệu dạng mảng liệu có cấu trúc Dữ liệu có cấu trúc Dữ liệu mảng với kích thước cố định Ứng dụng mảng lập trình Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học VC & BB Nội dung môn học Chương Lập trình với tập tin văn thô Giới thiệu dạng tập tin Hệ thống nhập xuất lập trình Lập trình thao tác tập tin văn thô Sử dụng tập tin văn thô để lưu trữ liệu chương trình Tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh Giới thiệu môn học 10 VC & BB Hàm tái định vị trỏ vị int fseek(FILE *fp, long offset, ing origin) Đặt vị trí trỏ vị stream fp với vị trí offset so với cột mốc origin (SEEK_SET hay 0: đầu tập tin; SEEK_CUR hay 1: vị trí tại; SEEK_END hay 2: cuối tập tin) Thành công: trả Thất bại: trả giá trị khác FILE* fp = fopen(“taptin.txt”, “w+”); fseek(fp, 0L, SEEK_SET); // rewind(fp); fseek(fp, 0L, SEEK_END); // cuối tập tin fseek(fp, -2L, SEEK_CUR);// lùi lại vị trí Tập tin 34 VC & BB Hàm xác định vị trí trỏ vị long ftell(FILE *fp) Hàm trả vị trí trỏ chị vị (tính từ vị trí tập tin, tức 0) stream fp Thành công: trả vị trí trỏ vị Thất bại: trả -1L FILE* fp = fopen(“taptin.txt”, “rb”); fseek(fp, 0L, SEEK_END); long size = ftell(fp); printf(“Kich thuoc tap tin la %ld\n”, size); Tập tin 35 VC & BB Dấu hiệu kết thúc tập tin Khi biết kích thước tập tin Sử dụng fwrite để lưu n mẫu tin kích thước = n * sizeof(1 mẫu tin); Sử dụng hàm fseek kết hợp hàm ftell Khi chưa biết kích thước tập tin Hằng số EOF (=-1) (chỉ cho tập tin văn bản) while ((c = fgetc(fp)) != EOF) … Hàm int feof(FILE *fp) (cho kiểu tập tin) trả số chưa đến cuối tập tin trả số khác đến cuối tập tin Tập tin 36 VC & BB Các hàm quản lý tập tin Hàm nhập xuất tập tin (File I/O function) đề cập phần trước Mở đóng tập tin: fopen, fclose Nhập/Xuất tập tin: • Theo định dạng: fprintf, fscanf • Từng ký tự hay chuỗi: fputc, fputs, fgetc, fgets • Trực tiếp từ nhớ: fwrite, fread Hàm quản lý tập tin (File-Management function) Xóa tập tin: remove Đổi tên tập tin: rename Tập tin 37 VC & BB Hàm xóa tập tin int remove(const char *filename) Xóa tập tin xác định filename Thành công: trả Thất bại: trả -1 if (remove(“c:\\vc.txt”) == 0) printf(“Tap tin vc.txt da bi xoa!”); else printf(“Ko xoa duoc tap tin vc.txt!”); Tập tin 38 VC & BB Hàm đổi tên tập tin int rename(const char *oldname, const char *newname) Đổi tên tập tin oldname thành newname Hai tập tin phải ổ đĩa không cần thiết phải thư mục (có thể sử dụng để di chuyển hay chép tập tin) Thành công: trả Thất bại: trả -1 if (rename(“c:\\a.txt”, “c:\\BT\b.cpp”) == 0) printf(“Doi ten tap tin cong”); else printf(“Doi ten tap tin that bai”); Tập tin 39 VC & BB Bài tập lý thuyết Bài 1: Sự khác stream kiểu văn stream kiểu nhị phân? Stream văn tự động chuyển đổi ký tự „\n‟ thành cặp ký tự CR-LF stream nhị phân không thực việc chuyển đổi (xem ký tự nhau) Bài 2: Cần phải làm trước muốn truy xuất tập tin? Mở tập tin (tạo stream kết nối với tập tin cần mở) hàm fopen Tập tin 40 VC & BB Bài tập lý thuyết Bài 3: Khi mở tập tin fopen, ta cần phải xác định thông tin hàm trả gì? Cần xác định tên tập tin cần mở mode mở tập tin Hàm trả trỏ đến kiểu FILE, trỏ dùng thay cho tập tin chương trình Bài 4: Ba phương pháp để truy xuất tập tin? Theo định dạng Theo ký tự / chuỗi ký tự Trực tiếp từ nhớ Tập tin 41 VC & BB Bài tập lý thuyết Bài 5: Hai phương pháp để đọc thông tin từ tập tin gì? Truy xuất (theo thứ tự) Truy xuất ngẫu nhiên (tại vị trí bất kỳ) Bài 6: Giá trị EOF? -1 (định nghĩa STDIO.H) Bài 7: Ta dùng ký hiệu EOF để làm gì? Được sử dụng với tập tin kiểu văn nhằm xác định dấu hiệu cuối tập tin Tập tin 42 VC & BB Bài tập lý thuyết Bài 8: Cách xác định cuối tập tin kiểu văn kiểu nhị phân? Sử dụng hàm foef cho hai kiểu tập tin Trong kiểu văn sử dụng EOF Bài 9: Con trỏ vị cách thay đổi nó? Con trỏ vị đánh dấu vị trí tập tin, nơi diễn thao tác đọc/ghi Thay đổi vị trí trỏ vị hàm rewind (về đầu tập tin) fseek (về vị trí bất kỳ) Tập tin 43 VC & BB Bài tập lý thuyết Bài 10: Nếu mở tập tin chưa có (bằng mode w), cho biết giá trị trỏ chị vị lúc đầu? Con trỏ vị đến ký tự tập tin (vị trí 0) Bài 11: Viết lệnh đóng tất stream tập tin fcloseall(); Bài 12: Trình bày hai cách khác để chuyển trỏ vị đầu tập tin fp rewind(fp); fseek(fp, 0, SEEK_SET); Tập tin 44 VC & BB Bài tập lý thuyết Bài 13: Đoạn chương trình sau có sai không? void main() { FILE *fp; int c; if ((fp = fopen(“abc.xyz”, “rb”)) == NULL) printf(“Khong mo duoc tap abc.xyz\n”); else { while ((c = fgetc(fp)) != EOF) fprintf(stdout, “%c”, c); fclose(fp); } } Tập tin 45 VC & BB Bài tập thực hành Bài 14: Viết chương trình ghi số nguyên a, b, c nhập từ bàn phím vào tập tin Bài 15: Viết chương trình đọc số nguyên a, b, c từ tập tin, sau giải phương trình ax2+ bx + c = ghi kết vào tập tin khác Bài 16: Viết chương trình đọc n số nguyên từ tập tin cho trước, sau xếp tăng dần ghi kết vào tập tin khác Ví dụ: Tập tin 46 VC & BB Bài tập thực hành Bài 17: Viết chương trình ghi dòng văn nhập từ bàn phím lên tập tin Bài 18: Viết chương trình in nội dung tập tin lên hình Bài 19: Viết chương trình đếm số ký tự chữ tập tin xuất kết tập tin khác Bài 20: Viết chương trình đếm số từ tập tin xuất kết tập tin khác Bài 21: Viết chương trình đếm số lần lặp lại từ tập tin Tập tin 47 VC & BB Bài tập thực hành Bài 22: Viết chương trình mở tập tin văn có đĩa, chép thành tập tin văn với điều kiện chữ thường đổi thành chữ hoa, tất ký tự khác không đổi Bài 23: Viết chương trình ghép tập tin văn bản, nội dung tập tin thứ hai ghép sau tập tin thứ Bài 24: Viết sao chép tập tin cho trước Bài 25: Viết chương trình ghi danh sách cấu trúc xuống tập tin sau đọc lên kiểm tra lại Tập tin 48 [...]... khảo Giáo trình Nhập môn lập trình Khoa CNTT Trường ĐHKHTN Tp.HCM, Nhiều tác giả, NXB Khoa học và Kỹ thuật, 2011 Địa chỉ: www.mediafire.com/dang2 Bài giảng, bài tập Tài liệu tham khảo Một số bài giải (tham khảo) Địa chỉ (moodle): http://courses.fit.hcmus.edu.vn Nơi xem thông báo, trao đổi, thảo luận Giới thiệu môn học 11 Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Công... lập trình 13 VC & BB Bài tập 7 Nhập điểm thi và hệ số 3 môn Toán, Lý, Hóa của một học sinh Tính điểm trung bình của học sinh đó 8 Nhập bán kính của đường tròn Tính chu vi và diện tích của hình tròn đó 9 Nhập vào số xe của bạn (gồm tối đa 5 chữ số) Cho biết số xe của bạn được mấy nút? 10 .Nhập vào 2 số nguyên Tính min và max của hai số đó Các khái niệm cơ bản về lập trình 14 Trường Đại học Khoa học Tự. .. Giới thiệu ngôn ngữ lập trình C 4 VC & BB Giới thiệu Môi trường phát triển tích hợp IDE (Integrated Development Environment) Biên tập chương trình nguồn (Trình EDIT) Biên dịch chương trình (Trình COMPILE) Chạy chương trình nguồn (Trình RUNTIME) Sửa lỗi chương trình nguồn (Trình DEBUG) .C/.CPP OBJ EXE Giới thiệu ngôn ngữ lập trình C 5 VC & BB Giới thiệu Môi trường lập trình Borland C++ 3.1... thông tin Bộ môn Công nghệ phần mềm NHẬP MÔN LẬP TRÌNH ThS Đặng Bình Phương dbphuong@fit.hcmus.edu.vn CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH 1 VC & BB Nội dung 1 Các khái niệm cơ bản 2 Các bước xây dựng chương trình 3 Biểu diễn thuật toán 4 Cài đặt thuật toán bằng NNLT Các khái niệm cơ bản về lập trình 2 VC & BB Các khái niệm cơ bản Lập trình máy tính Gọi tắt là lập trình (programming) Nghệ thuật cài... khái niệm cơ bản về lập trình 14 Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Công nghệ phần mềm NHẬP MÔN LẬP TRÌNH ThS Đặng Bình Phương dbphuong@fit.hcmuns.edu.vn GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C 1 VC & BB Nội dung 1 Giới thiệu 2 Bộ từ vựng của C 3 Cấu trúc chương trình C 4 Một số ví dụ minh họa Giới thiệu ngôn ngữ lập trình C 2 VC & BB Giới thiệu Giới thiệu Dennis Ritchie tại... tương tự nhau Tính kết thúc: hữu hạn các bước tính toán Các khái niệm cơ bản về lập trình 5 VC & BB Các bước xây dựng chương trình Xác định vấn đề - bài toán Biểu diễn bằng: • Ngôn ngữ tự nhiên • Lưu đồ - Sơ đồ khối • Mã giả Lựa chọn phương pháp giải Xây dựng thuật toán/ thuật giải Cài đặt chương trình Lỗi cú pháp Lỗi ngữ nghĩa Hiệu chỉnh chương trình Thực hiện chương trình Các khái niệm cơ bản về lập. .. Win32 Console Application Giới thiệu ngôn ngữ lập trình C 6 VC & BB Bộ từ vựng của C Các ký tự được sử dụng Bộ chữ cái 26 ký tự Latinh A, B, C, …, Z, a, b, c, …, z Bộ chữ số thập phân : 0, 1, 2, …, 9 Các ký hiệu toán học : + – * / = < > ( ) Các ký tự đặc biệt : , : ; [ ] % \ # $ ‘ Ký tự gạch nối _ và khoảng trắng ‘ ’ Giới thiệu ngôn ngữ lập trình C 7 VC & BB Bộ từ vựng của C Từ khóa (keyword)... bản về lập trình 7 VC & BB Sử dụng lưu đồ - sơ đồ khối Khối giới hạn Chỉ thị bắt đầu và kết thúc Khối vào ra Nhập/ Xuất dữ liệu Khối lựa chọn Tùy điều kiện sẽ rẽ nhánh Khối thao tác Ghi thao tác cần thực hiện Đường đi Chỉ hướng thao tác tiếp theo Các khái niệm cơ bản về lập trình 8 VC & BB Sử dụng lưu đồ - sơ đồ khối Bắt đầu Nhập a, b (hệ số của phương trình bậc nhất) x b / a Xuất "Phương trình có... Telephone Là ngôn ngữ lập trình có cấu trúc và phân biệt chữ Hoa - thường (case sensitive) ANSI C Giới thiệu ngôn ngữ lập trình C 3 VC & BB Giới thiệu Ưu điểm của C Rất mạnh và linh động, có khả năng thể hiện bất cứ ý tưởng nào Được sử dụng rộng rãi bởi các nhà lập trình chuyên nghiệp Có tính khả chuyển, ít thay đổi trên các hệ thống máy tính khác nhau Rõ ràng, cô đọng Lập trình đơn thể, tái... "Phương trình vô nghiệm" Đúng Sai b = 0? Đúng Xuất "Phương trình vô số nghiệm" Kết thúc Các khái niệm cơ bản về lập trình 9 VC & BB Sử dụng mã giả Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để biểu diễn thuật toán Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = 0 If a = 0 Then Begin If b = 0 Then Writeln “Phương trình vô số nghiệm” Else Writeln “Phương trình vô nghiệm” End Else Xuất “Phương trình