Giáo trình Lập trình cơ sở
Publisher: Đại học Hải Phòng
Published: 2011
Language: vie
Table of contents: title: CHƯƠNG 1. THÔNG TIN VÀ XỬ LÝ THÔNG TIN	8; title: 1.1. Thông tin	8; title: 1.2. Mã hoá thông tin	9; title: 1.3. Mã hoá nhị phân và đơn vị đo thông tin	9; title: 1.4. Xử lý thông tin	10; title: 1.5. Xử lý thông tin tự động bằng máy tính điện tử	11; title: 1.6. Tin học và Công nghệ Thông tin	12; title: Bài đọc thêm: Độ đo lượng thông tin	13; title: Câu hỏi và bài tập	15; title: CHƯƠNG 2. CẤU TRÚC CỦA MÁY TÍNH ĐIỆN TỬ	16; title: 2.1. Kiến trúc chung của máy tính	16; title: 2.2. Bộ nhớ	17; title: 2.2.1. Bộ nhớ trong	17; title: 2.2.2. Bộ nhớ ngoài	19; title: 2.3. Các thiết bị vào/ra	23; title: 2.3.1. Thiết bị vào	23; title: 2.3.2. Thiết bị ra	24; title: 2.4. Kết nối máy tính và mở rộng ngoại vi	26; title: Bài đọc thêm: Lịch sử phát triển của kỹ thuật tính toán.	27; title: Câu hỏi và bài tập	30; title: CHƯƠNG 3. NGUYÊN LÝ LÀM VIỆC CỦA MÁY TÍNH ĐIỆN TỬ	31; title: 3.1. Bộ xử lí (CPU - Central Processing Unit)	31; title: 3.2. Quá trình thực hiện lệnh	32; title: 3.3. Nguyên lý Von Neumann	33; title: Bài đọc thêm 1: Các thế hệ máy tính điện tử	33; title: Bài đọc thêm 2: Micro, mini, mainframe và super computer	38; title: Bài đọc thêm 3: Người chế tạo máy vi tính đầu tiên là người Việt Nam	40; title: Câu hỏi và bài tập	42; title: CHƯƠNG 4. CÁC HỆ ĐẾM DÙNG TRONG TIN HỌC	43; title: 4.1. Hệ đếm	43; title: 4.2. Tìm biểu diễn số	44; title: 4.2.1. Biến đổi số ở hệ đếm bất kỳ sang hệ đếm thập phân	44; title: 4.2.2. Biến đổi số ở hệ đếm thập phân sang hệ đếm có cơ số bất kì	45; title: 4.2.3. Biến đổi số biểu diễn trong các hệ đếm đặc biệt	46; title: 4.3. Số học nhị phân	47; title: Câu hỏi và bài tập	48; title: CHƯƠNG 5. ĐẠI SỐ LOGIC VÀ ỨNG DỤNG	49; title: 5.1. Các hàm đại số logic	49; title: 5.2. Biểu diễn các hàm đại số logic	50; title: 5.3. Áp dụng đại số logic trong việc thiết kế các mạch logic	51; title: Câu hỏi và bài tập	52; title: CHƯƠNG 6. BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH	54; title: 6.1. Dữ liệu	54; title: 6.2. Dữ liệu kiểu số	54; title: 6.2.1. Biểu diễn số dấu phảy tĩnh (Fixed point number)	54; title: 6.2.2. Biểu diễn số dấu phảy động (floating point number)	55; title: 6.2.3 Chuẩn dấu phảy động IEEE 754	56; title: 6.3. Dữ liệu phi số	57; title: 6.3.1. Mã hoá chữ và dữ liệu kiểu văn bản.	57; title: 6.3.2. Các dữ liệu logic	58; title: 6.3.3. Hình ảnh	58; title: 6.3.4. Âm thanh	59; title: 6.4. Biểu diễn vật lý của thông tin trong máy tính	59; title: 6.5. Truyền tin giữa các máy tính.	60; title: 6.6 Bảng mã dùng trong việc lưu trữ và xử lý thông tin.	60; title: Câu hỏi và bài tập	66; title: CHƯƠNG 7. THUẬT TOÁN XỬ LÝ THÔNG TIN	67; title: 7.1. Khái niệm bài toán và thuật toán	67; title: 7.2. Một số đặc trưng của thuật toán	68; title: 7.3. Các phương pháp diễn tả thuật toán	69; title: 7.3.1. Liệt kê từng bước	69; title: 7.3.2. Lưu đồ hay còn gọi là sơ đồ khối	70; title: 7.3.3. Ngôn ngữ thuật toán	71; title: 7.4. Sơ lược về đánh giá thuật toán	71; title: Câu hỏi và bài tập	72; title: CHƯƠNG 8. PHẦN MỀM	73; title: 8.1. Phần mềm	73; title: 8.2. Phần mềm ứng dụng (application software)	73; title: 8.3. Phần mềm hệ thống	75; title: 8.4. Quá trình xây dựng một phần mềm	77; title: Bài đọc thêm: Các tiêu chuẩn đánh giá phần mềm	78; title: Câu hỏi và bài tập	80; title: CHƯƠNG 9. NGÔN NGỮ LẬP TRÌNH VÀ CHƯƠNG TRÌNH DỊCH	81; title: 9.1. Các mức khác nhau của ngôn ngữ lập trình	81; title: 9.2. Quá trình thực hiện một chương trình với ngôn ngữ bậc cao	83; title: Bài đọc thêm. Sự phát triển của các ngôn ngữ lập trình bậc cao	85; title: Câu hỏi và bài tập	90; title: CHƯƠNG 10. HỆ ĐIỀU HÀNH	91; title: 10.1. Khái niệm và chức năng của hệ điều hành	91; title: 10.2. Tiến triển của hệ điều hành	92; title: 10.2.1. Phương thức làm việc với các máy tính thế hệ thứ nhất	92; title: 10.2.2. Hệ điều hành của các máy tính thế hệ thứ 2	92; title: 10.2.3. Hệ điều hành của các máy tính thế hệ 3	93; title: 10.2.4. Hệ điều hành với máy tính thế hệ thứ 4.	96; title: Câu hỏi và bài tập	100; title: CHƯƠNG 11. PHẦN MỀM MÃ NGUỒN MỞ	101; title: 11.1. Định nghĩa phần mềm mã nguồn mở	101; title: 11.2. Những ưu việt của PMNM	102; title: 11.3. Những hạn chế của PMNM	103; title: Bài đọc thêm. Bản quyền GPL	104; title: CHƯƠNG 12. MẠNG MÁY TÍNH	109; title: 12.1. Khái niệm về mạng máy tính	109; title: 12.2. Môi trường truyền dẫn	109; title: 12.2.1. Cáp xoắn	109; title: 12.2.2. Cáp đồng trục	109; title: 12.2.3. Cáp quang	110; title: 12.2.4. Sóng vô tuyến	111; title: 12.2.5. Card giao tiếp mạng (Network Interface Card)	111; title: 12.3. Tô pô của mạng.	111; title: 12.4. Giao thức mạng	112; title: 12.5. Mạng cục bộ	112; title: 12.5.1. Phân loại mạng theo quy mô và mạng cục bộ	112; title: 12.5.2. Các thành phần cơ bản của một LAN	113; title: 12.5.3. Công nghệ mạng cục bộ	113; title: 12.5.4. Các thiết bị ghép nối trong mạng cục bộ và một số loại máy chủ cung cấp dịch vụ truy cập mạng	114; title: 12.6. Mạng rộng	116; title: 12.7. Các mô hình xử lý có cộng tác	116; title: 12.7.1. Mô hình kiểu dùng chung thiết bị (Shared Device)	117; title: 12.7.2. Mô hình kiểu khách-chủ (Client - Server)	117; title: 12.6.3. Mô hình kiểu ngang hàng (peer to peer)	118; title: CHƯƠNG 13. INTERNET	119; title: 13.1. Internet là gì ?	119; title: 13.2. Các tài nguyên trên Internet	119; title: 13.3. Các dịch vụ trên Internet	119; title: 13.4. Công nghệ Internet	121; title: 13.4.1. Giao thức TCP/IP	121; title: 13.4.2. Hệ thống tên miền - DNS (Domain Name System)	123; title: 13.4.3. Hệ thống định vị tài nguyên thống nhất URL (Uniform Resource Locator)	125; title: 13.5. Cấu trúc một mạng điển hình có nối với Internet	125; title: Bài đọc thêm 1: Sự hình thành và phát triển của Internet.	126; title: Bài đọc thêm 2. Ký tự @ ra đời như thế nào?	132; title: Bài đọc thêm 3. Tôn vinh tác giả hệ thống tên miền	133; title: Bài đọc thêm 4. Tôn vinh người phát minh ra WEB	133; title: Câu hỏi và bài tập	134; title: CHƯƠNG 14. ỨNG DỤNG CỦA CÔNG NGHỆ THÔNG TIN	135; title: 14.1. Các bài toán khoa học kỹ thuật	135; title: 14.2. Các bài toán quản lý	135; title: 14.3. Tự động hoá	136; title: 14.4. Công nghệ thông tin và công tác văn phòng	137; title: 14.5. Tin học và giáo dục	138; title: 14.6. Thương mại điện tử	138; title: 14.7. Công nghệ thông tin và cuộc sống đời thường	138; title: Bài đọc thêm. Hiệp định khung e- ASEAN	139; title: CHƯƠNG 15. MỘT SỐ LĨNH VỰC NGHIÊN CÚU TRONG TIN HỌC	140; title: 15.1. Cấu trúc dữ liệu và thuật toán	140; title: 15.2. Ngôn ngữ lập trình, phương pháp lập trình và chương trình dịch	140; title: 15.3. Hệ điều hành	140; title: 15.4. Cơ sở dữ liệu và các hệ quản trị cơ sở dữ liệu	140; title: 15.5. Mạng máy tính và truyền thông	141; title: 15.6. Trí tuệ nhân tạo (Artificial Intelligence)	141; title: 15.7. Tương tác người máy (Human Computer Interaction - HCI)	142; title: 15.8. Kỹ nghệ phần mềm (software engineering)	142; title: CHƯƠNG 16. MỘT SỐVẤN ĐỀ VỀ PHÁP LUẬT VÀ ĐẠO ĐỨC NGHỀ NGHIỆP	143; title: 16.1. Virus	143; title: 16.2. Các tội phạm lạm dụng Internet vì những mục đích xấu	145; title: 16.3. Sở hữu trí tuệ và bản quyền	147; title: 16.4. Luật liên quan đến tội phạm tin học của Việt Nam	147; title: Bài đọc thêm 1. Kiểm soát truy nhập bằng tường lửa (firewall)	149; title: Bài đọc thêm 2: Hai mươi năm tồn tại của virus	151; title: Câu hỏi và bài tập	156; title: PHẦN 2. NGÔN NGỮ LẬP TRÌNH C	157; title: CHƯƠNG 17. GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C	157; title: 17.1 Giới thiệu	157; title: 17.2 Bộ từ vựng của C	158; title: 17.2.1  Các ký tựdùng trong C	158; title: 17.2.2 Từ khóa (Keyword)	158; title: 17.2.3 Tên hay định danh (Identifier)	158; title: 17.2.4 Dấu chấm phẩy (;)	159; title: 17.2.5  Câu ghi chú	159; title: 17.2.6 Hằng ký tự và hằng chuỗi	159; title: 17.3 Cấu trúc một chương trình C	159; title: Câu hỏi và bài tập	160; title: Chương 18. CÁC KIỂU DỮ LIỆU CƠ SỞ	162; title: 18.1 Các kiểu dữ liệu cơ sở	162; title: 18.1.1 Kiểu số nguyên	162; title: 18.1.2 Kiểu số thực	162; title: 18.1.3 Kiểu logic	162; title: 18.1.4 Kiểu ký tự	163; title: 18.2 Biến, hằng, câu lệnh và biểu thức	163; title: 18.2.1 Biến và lệnh gán giá trị cho biến	163; title: 18.2.2 Hằng số	163; title: 18.2.3 Câu lệnh	165; title: 18.2.4 Biểu thức	166; title: 18.3 Các lệnh nhập xuất	170; title: 18.3.1 Xuất dữ liệu ra màn hình	170; title: 18.3.2 Nhập dữ liệu từ bàn phím	171; title: Câu hỏi và bài tập	172; title: CHƯƠNG 19. CÂU LỆNH ĐIỀU KIỆN VÀ RẼ NHÁNH	173; title: 19.1 Câu lệnh điều kiện if... else	173; title: 19.1.1 Khái niệm	173; title: 19.1.2 Cú pháp	173; title: 19.1.3 Một sốlưu ý	174; title: 19.2 Câu lệnh rẽ nhánh switch	174; title: 19.2.1 Khái niệm	174; title: 19.2.2 Cú pháp	175; title: 19.2.3 Một sốlưu ý	176; title: 19.3 Kinh nghiệm sử dụng câu lệnh điều kiện và rẽ nhánh	177; title: Câu hỏi và bài tập	177; title: CHƯƠNG 20. CÂU LỆNH LẶP	179; title: 20.1 Câu lệnh for	179; title: 20.1.1 Khái niệm	179; title: 20.1.2 Cú pháp	179; title: 20.1.3 Một số lưu ý	180; title: 20.2 Câu lệnh while	181; title: 20.2.1 Khái niệm	181; title: 20.2.2 Cú pháp	181; title: 20.2.3 Một số lưu ý	181; title: 20.3 Câu lệnh do… while	182; title: 20.3.1 Khái niệm	182; title: 20.3.2 Cú pháp	182; title: 20.3.3 Một số lưu ý	183; title: 20.4 Kinh nghiệm sử dụng các câu lệnh lặp	183; title: Câu hỏi và bài tập	184; title: CHƯƠNG 21. HÀM	185; title: 21.1 Khái niệm	185; title: 21.2 Cú pháp	185; title: 21.2.1 Cú pháp	185; title: 21.2.2 Một số lưu ý	186; title: 21.3 Tầm vực của biến và hàm	187; title: 21.3.1 Các loại biến	187; title: 21.3.2 Tầm vực	187; title: 21.4 Tham số và lời gọi hàm	188; title: 21.4.1  Các cách truyền tham số	188; title: 21.4.2 Lời gọi chương trình con	188; title: 21.5 Đệ quy	189; title: Câu hỏi và bài tập	190; title: CHƯƠNG 22. DỮ LIỆU KIỂU MẢNG (ARRAY)	191; title: 22.1 Khái niệm	191; title: 22.2 Khai báo	191; title: 22.2.1 Khai báo kiểu mảng	191; title: 22.2.2 Khái báo biến mảng	192; title: 22.2.3 Khởi tạo giá trịcho mảng lúc khai báo	192; title: 22.3 Truy xuất dữ liệu kiểu mảng	193; title: 22.4 Truyền mảng cho hàm	194; title: 22.5 Một số bài toán trên mảng một chiều	194; title: 22.5.1 Một sốquy ước	194; title: 22.5.2 Nhập mảng	195; title: 22.5.3 Xuất mảng	196; title: 22.5.4 Kiểm tra một phần tử có thuộc mảng hay không	196; title: 22.5.5 Kiểm tra tính chất của mảng	197; title: 22.5.6  Tính toán trên mảng	198; title: 22.5.7 Tách mảng	198; title: 22.5.8 Gộp mảng	199; title: 22.5.9 Tìm sốnhỏnhất/lớn nhất	199; title: 22.5.10 Tìm sốnhỏnhất/lớn nhất thỏa yêu cầu cho trước	200; title: 22.5.11 Sắp xếp mảng tăng/giảm	202; title: 22.5.12 Sắp xếp mảng tăng/giảm thỏa yêu cầu cho trước	203; title: 22.5.13 Sửa/Thêm/Xóa mảng	205; title: Câu hỏi và bài tập	206; title: CHƯƠNG 23. KIỂU DỮ LIỆU CHUỖI VÀ CẤU TRÚC	208; title: 23.1 Kiểu chuỗi ký tự (string)	208; title: 23.1.1 Khái niệm	208; title: 23.1.2 Khai báo	208; title: 23.1.3 Nhập xuất chuỗi	208; title: 23.1.4 Các thao tác trên dữ liệu kiểu chuỗi	209; title: 23.2 Kiểu cấu trúc (struct)	210; title: 23.2.1 Khái niệm	210; title: 23.2.2 Khai báo	210; title: 23.2.3 Truy xuất dữ liệu kiểu bản ghi	212; title: 23.2.4 Gán dữ liệu kiểu bản ghi	212; title: Câu hỏi và bài tập	212; title: CHƯƠNG 24. KIỂU CON TRỎ	214; title: 24.1 Con trỏ là gì?	214; title: 24.2 Các biến con trỏ	214; title: 24.3 Các toán tử con trỏ	215; title: 24.3.1 Gán giá trị cho con trỏ	216; title: 24.3.2 Phép toán số học con trỏ	217; title: 24.3.3 So sánh con trỏ.	217; title: 24.4 Con trỏ và mảng một chiều	218; title: 24.4.1 Con trỏ và mảng nhiều chiều	219; title: 24.4.2 Con trỏ và chuỗi	221; title: 24.5 Cấp phát bộ nhớ	222; title: 24.5.1 Hàm malloc()	222; title: 24.5.2 Hàm free()	224; title: 24.5.3 Hàm calloc()	225; title: 24.5.4 Hàm realloc()	226; title: Câu hỏi và bài tập	228; title: CHƯƠNG 25. KIỂU FILE	229; title: 25.1 File Streams	229; title: 25.1.1 Streams văn bản	229; title: 25.1.2  Streams nhị phân	229; title: 25.2 Các hàm về tập tin và structure FILE	229; title: 25.2.1 Các hàm cơ bản về tập tin	230; title: 25.2.2 Con trỏ tập tin	230; title: 25.3 Các tập tin văn bản	230; title: 25.3.1 Mở một tập tin văn bản	231; title: 25.3.2 Đóng một tập tin văn bản	232; title: 25.3.3 Ghi một ký tự	232; title: 25.3.4 Đọc một ký tự	232; title: 25.3.5 Nhập xuất chuỗi	233; title: 25.4 Các tập tin nhị phân	234; title: 25.4.1 Mở một tập tin nhị phân	234; title: 25.4.2 Đóng một tập tin nhị phân	234; title: 25.4.3 Ghi một tập tin nhị phân	234; title: 25.4.4 Đọc một tập tin nhị phân	235; title: 25.5 Các hàm xử lý tập tin	236; title: 25.5.1 Hàm feof()	236; title: 25.5.2 Hàm rewind()	237; title: 25.5.3 Hàm ferror()	238; title: 25.5.4 Xóa tập tin	238; title: 25.5.5 Làm sạch các stream	239; title: 25.5.6 Các stream chuẩn	239; title: 25.5.7 Con trỏ kích hoạt hiện hành	240; title: 25.5.8 Hàm fprintf() và fscanf()	241; title: Câu hỏi và bài tập	243; title: CÁC THƯ VIỆN TRONG C	244; title: 1. THƯ VIỆN TIME.H	244; title: 2. THƯ VIỆN STRING.H	245; title: 3. THƯ VIỆN STDLIB.H	247; title: 5. THƯ VIỆN STDIO.H	250; title: 6. DANH MỤC CÁC HÀM TRONG THƯ VIỆN ĐỒ HỌA	255; title: 8. THƯVIỆN PROCESS.H	257; title: 9. THƯ VIỆN MATH.H	257; title: 10. THƯ VIỆN DOS.H	259; title: 11. THƯ VIỆN DIR.H	259; title: 12. THƯ VIỆN CTYPE.H	259; title: BÀI TẬP TỔNG HỢP	261