TIN ÐAI CUONG Bài 1 GII THIU CHUNG TIN ĐẠI CƯƠNG Bài 1 GIỚI THIỆU CHUNG Bùi Thị Thu Cúc Bộ môn Hệ thống thông tin, Khoa CNTT 1 Nội dung chính 1 Giới thiệu môn học 2 Giới thiệu chung về máy tính 3 Viết[.]
TIN ĐẠI CƯƠNG Bài 1: GIỚI THIỆU CHUNG Bùi Thị Thu Cúc Bộ môn Hệ thống thông tin, Khoa CNTT Nội dung Giới thiệu mơn học Giới thiệu chung máy tính Viết chương trình cho máy tính Giới thiệu C++ Bài tập Giới thiệu môn học I I Thời lượng : tín Giáo trình, tài liệu tham khảo I I I I I I Introduction to Engineering Programming : Solving Problems with Algorithms, James Paul Holloway Bản dịch : Giới thiệu Lập trình kỹ thuật C++ Language Tutorial, http://www.cplusplus.com/doc/tutorial/ Cơng cụ máy tính : Dev-C++ 5.11 Website mơn học : lịch trình, giảng, tập Cách đánh giá I I Điểm trình : 50% (thi kỳ, điểm chuyên cần, thưởng/phạt) Điểm thi cuối kỳ : 50% Nội dung giảng dạy I I I I I I I I I I Khái niệm lập trình C++ Các lệnh Chương trình Câu lệnh lặp lựa chọn Mảng Vector Xâu ký tự (string) Tập tin (file) Cấu trúc (struct) Bài tập tổng hợp Mục tiêu môn học I I I I 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ố tốn lập trình C++ Biết ứng dụng kiến thức thuật toán lập trình vào cơng việc sau Giới thiệu chung máy tính I 27 Máy tính cơng cụ để xử lý lưu trữ thông tin Nhập (Input) Xử lý (Processing) Xuất (Output) Lưu trữ (Storage) I Phần cứng (Hardware) : thiết bị vật lý I I I đụ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 I I 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 Các thành phần phần cứng : I 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 I Thiết bị lưu trữ : cất giữ thông tin Bộ nhớ : ROM, RAM Bộ nhớ : đĩa CD/DVD, USB I Thiết bị nhập : đưa liệu vào Bàn phím, chuột I 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 : I 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 I 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 I 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ố I Mọi liệu phải số hóa để lưu trữ xử lý máy tính I I I I I I Ả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ố 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 I Máy tính có tín hiệu : bật & tắt I I I I 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 Đơn vị đo thông tin I I I I I I Bit (Binary digit) : đơn vị nhỏ thơng tin, Byte : Byte = bits KiloByte : KB = 210 Bytes = 1024 Bytes MegaByte : MB = 210 KBs = 1024 KBs GigaByte : GB = 210 MBs = 1024 MBs TetaByte : TB = 210 GBs = 1024 GBs 11 Bảng mã ASCII I I 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 12 Viết chương trình cho máy tính Ngơn ngữ máy (Machine Language) I I Mỗi máy tính có tập hợp hữu hạn lệnh máy Lệnh máy I I I I dãy bit & làm 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 13 Ngơn ngữ máy Nhược điểm I Vì viết dạng dãy số & I I I không trực quan dễ phát sinh lỗi Vì dịng máy khác (Intel, AMD, .) có tập hợp lệnh máy khác I I viết chương trình cho máy Intel khơng thể sử dụng máy AMD có máy đời → phải học/nhớ tập hợp lệnh máy máy → Giải pháp : sử dụng ngôn ngữ bậc cao 14 Ngơn ngữ lập trình bậc cao (High-level Language) I I 28 Ngơn ngữ lập trình bậc cao (High-level Các lệnh trực quan, dễ hiểu Language) 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ệnh máy tương ứng cho Intel Tập hợp lệnh máy tương ứng cho AMD 15 Ngơn ngữ lập trình bậc cao I I 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 : I I 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++ .) 16 Các bước viết chương trình máy tính I I I I Bước : Mơ tả / xác định tố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 17 19 Ví dụ Ví dụ Nhập kích thước chiều hình vng Tính diện hình vng Tính chu chu vivivàvà diện tích tích Mã giả (pseudo code) Mã C++ ! Nhập 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 18 Giới thiệu C++ Lịch sử C++ I I I I Năm 1979 : Ý tưởng bắt đầu Bjarne Stroustrup Năm 1985 : Phiên C++ 1.0 Phiên : C++ 14 Phiên sử dụng rộng rãi : C++ 11 19 Môi trường lập trình Dev-C++ I I Tải cài đặt https://sourceforge.net/ projects/orwelldevcpp/ Các thao tác I I I I I 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ó 20 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 = 21 Bài tập Bài I 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