Tin đại cương - Tran Manh Tuan TLU Bai1 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả c...
T IN ĐẠI CƯƠNG Bài 1: GIỚI THIỆU CHUNG TS Trần Mạnh Tuấn Bộ môn Hệ thống thông tin, Khoa CNTT Trường Đại học Thủy Lợi 1 Giới thiệu mơn học Thời lượng : tín (30 lý thuyết, 15 thực hành) Giáo trình, tài liệu tham khảo Introduction to Engineering Programming : Solving Problems with Algorithms, James Paul Holloway Giới thiệu lập trình kỹ thuật - Đại học Thuỷ Lợi – 2007 http://www.cplusplus.com/doc/tutorial/ Cơng cụ máy tính : Dev-C Website môn học : https://sites.google.com/site/tranmanhtuantlu/ Cách đánh giá Điểm trình : 50% (hai thi kỳ, điểm chuyên cần) Điểm thi cuối kỳ : 50% Nội dung mơn học • Chương 1: Máy tính chương trình máy tính • Chương 2: Các lệnh lựa chọn lặp • Chương 3: Dữ liệu Mảng • Chương 4: File struct Mục tiêu môn học Hiểu biết khái niệm tin học Hiểu biết lập trình C++ Nắm kỹ viết, dịch, sửa lỗi chạy chương trình C++ Biết cách giải số toán lập trình C++ Biết ứng dụng kiến thức thuật tốn lập trình vào cơng việc sau Giới thiệu chung máy tính Máy tính cơng cụ để xử lý lưu trữ thông tin Nhập (Input) Xử lý Xuất (Output) (Processing) Lưu trữ (Storage) Phần cứng (Hardware) : thiết bị vật lý ◮ ◮ đụng chạm, cân đo Ví dụ : hình, bàn phím, máy in, đĩa CD/DVD Phần mềm (Software) : chương trình máy tính ◮ ◮ khơng thể đụng vào, phải có phần cứng thực thi Ví dụ : hệ điều hành Windows, PowerPoint Phần cứng Phần cứng Các thành phần phần cứng : Khối xử lý trung tâm (CPU): xử lý, tính tốn, điều hành hoạt động tính tốn Thiết bị lưu trữ: cất giữ thơng tin Bộ nhớ trong: ROM, RAM Bộ nhớ ngoài: đĩa CD/DVD, USB Thiết bị nhập: đưa liệu vào Bàn phím, chuột Thiết bị xuất: gửi thơng tin bên ngồi Màn hình, máy in Phần mềm Theo phương thức hoạt động, chia thành loại phần mềm : Hệ điều hành (Operating System) : tập hợp chương trình điều khiển hoạt động máy tính tảng để chạy chương trình ứng dụng Ví dụ : Windows, Mac OS, Linux Phần mềm ứng dụng (Application) : chương trình ứng dụng vào lĩnh vực cụ thể Ví dụ : Photoshop, OpenOffice, Skype Ngơn ngữ lập trình (Programming Language) : dùng để viết chương trình cho máy tính thực Ví dụ : Pascal, C, C++, Python Biểu diễn thông tin máy tính Máy tính làm việc với số Mọi liệu phải số hóa để lưu trữ xử lý máy tính Ảnh = ma trận số Âm = chuỗi số Ra lệnh cho máy tính viết dạng số Con người dùng hệ thập phân : số phép toán xây dựng 10 chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8, Máy tính dùng hệ nhị phân : tất liệu, thao tác lệnh xây dựng chữ số 0, → Tại nhị phân mà thập phân hay hệ đếm khác (hệ bát phân, hệ Hexa) ? Tại dùng hệ nhị phân Máy tính có tín hiệu: bật & tắt Trạng thái đèn tắt : Trạng thái đèn bật : Có thể làm thiết bị với 10 tín hiệu (trạng thái) tốn nhiều (đặc biệt làm việc tốc độ cao máy tính) Chuyển đổi từ hệ nhị phân sang thập phân ngược lại đơn giản 10 Cách chuyển đổi từ nhị phân sang thập phân - Chuyển số nhị phân bnbn-1 b0 sang số thập phân: bnbn-1 b0 = 20 *b0 + 21 *b1 + + 2n *bn - Ví dụ: 10001 = 1.20 + 0.21 + 0.22 + 0.23 + 1.24 = 17 12 Đơn vị đo thông tin 13 Bảng mã ASCII ASCII = American Standard Code for Information Interchange, bảng mã chuẩn Mỹ xây dựng để biểu diễn thông tin Mỗi kí tự NULL bảng mã mã hóa bit (1 Byte) → có tổng cộng 28 = 256 kí tự khác - 31 32 - 47 48 - 57 58 - 64 65 - 90 91 - 96 97 - 122 123 - 127 31 ký tự điều khiển Các dấu cách (Space), !, “, #, $, %, &, ’, (, ),*, +,-, , / Các ký số từ đến Các dấu :, ; , , ?, @ Các chữ in hoa tõ A đến Z Các dấu [, \, ], _, ` Các chữ thường từ a đến z Các dấu {, |, }, ~, Del (xoá) 14 Bảng mã ASCII ASCII = American Standard Code for Information Interchange, bảng mã chuẩn Mỹ xây dựng để biểu diễn thơng tin Mỗi kí tự bảng mã mã hóa bit (1 Byte) → có tổng cộng 28 = 256 kí tự khác 15 Viết chương trình cho máy tính Ngơn ngữ máy (Machine Language) Mỗi máy tính có tập hợp hữu hạn lệnh máy Lệnh máy: dãy bit & 1, sử dụng để thực thao tác bản, ví dụ : đọc/ghi số, cộng/trừ hai số Mỗi dòng máy khác (Intel, AMD, ) có tập hợp lệnh máy khác Chương trình máy tính = dãy lệnh máy để thị làm bước 16 Ngôn ngữ máy Nhược điểm: Không trực quan Dễ phát sinh lỗi Mỗi dịng máy khác (Intel, AMD, .) có tập hợp lệnh máy khác → Giải pháp : sử dụng ngôn ngữ bậc cao 17 Ngôn ngữ lập trình bậc cao (High-level Language) Các lệnh trực quan, dễ hiểu Sử dụng trình biên dịch để dịch lệnh thành lệnh máy int a = 3; int b = a + 1; Trình Biên Dịch Tập hợp lệnhmáy cho Intel Tập hợp lệnhmáy cho AMD 18 Ngơn ngữ lập trình bậc cao Phải tuân thủ tuyệt đối cú pháp ngôn ngữ, khơng trình biên dịch khơng hiểu báo lỗi Phân loại : Ngơn ngữ lập trình thủ tục (Pascal, C .) Ngôn ngữ lập trình hướng đối tượng (Java, C + + ) 19 Các bước viết chương trình máy tính Bước : Mơ tả / xác định toán / vấn đề cần giải Bước : Xây dựng thuật tốn / lời giải (có thể viết dạng mã giả pseudo code) Bước : Triển khai lời giải ngôn ngữ lập trình (C++) Bước : Dịch chương trình thành dạng mã máy để máy tính hiểu thực Ví dụ : Biết độ dài cạnh hình vng, tính chu vi diện tích hình vng 20 Ví dụ Tính chu vi diện tích hình vng Mã giả(pseudo code) Mã C++ Nhập độ dài cạnh (kích thước) Tính chu_vi = kích thước * Tính diện_tích = kích thước * kích thước 21 Mơi trường lập trình Dev-C++ Các thao tác Tạo tệp (file) mới, lưu (save) dạng cpp Viết mã (code) Dịch mã Chạy chương trình Sửa lỗi (debug) có 22 Khái niệm thuật tốn Thuật toán (algorithm): danh sách thị, thi hành biến đổi thông tin đầu vào thành thông tin đầu Đầu vào (input): liệu cung cấp cho thuật toán để thuật tốn thực chức Đầu (output): liệu mà thuật toán đưa mơi trường bên ngồi 23 Khái niệm thuật tốn Ví dụ: thuật tốn để giải phương trình bậc P(x): ax + b = c (a, b, c số thực) gồm bước sau đây: Nếu a Nếu Nếu Nếu a = b b ≠ = c P(x) có nghiệm ≠ c P(x) vơ nghiệm P(x) có nghiệm x = (c - b)/a 24 Các cách biểu diễn thuật toán Biểu diễn lời Biểu hiễn hình vẽ Biểu giải giả mã lệnh 25 Bài tập Bài Viết mã giả cho toán sau Giải biện luận phương trình ax + b = Giải biện luận phương trình ax + bx + c = Bài Cài đặt Dev-C++ máy tính Tạo file XinChao.cpp viết đoạn mã sau Dịch chạy thử (sửa lỗi có) #include using namespace std ; int main() { cout