TIN ĐẠI CƯƠNG Bài 1: GIỚI THIỆU CHUNG
Bộ môn Hệ thống thông tin, Khoa CNTT
1
Bùi Thị Thu Cúc
Nội dung chính
2
1. Giới thiệu môn học 2. Giới thiệu chung về máy tính 3. Viết chương trình cho máy tính 4. Giới thiệu C++ 5. Bài tập
(cid:73) Thời lượng : 3 tín chỉ (cid:73) Giáo trình, tài liệu tham khảo
(cid:73) Introduction to Engineering Programming : Solving Problems
with Algorithms, James Paul Holloway (cid:73) Bản dịch : Giới thiệu Lập trình kỹ thuật (cid:73) C++ Language Tutorial,
http://www.cplusplus.com/doc/tutorial/
(cid:73) Công cụ trên máy tính : Dev-C++ 5.11 (cid:73) Website môn học : lịch trình, bài giảng, bài
1. Giới thiệu môn học
(cid:73) Cách đánh giá
(cid:73) Điểm quá trình : 50% (thi giữa kỳ, điểm chuyên cần,
thưởng/phạt)
(cid:73) Điểm thi cuối kỳ : 50%
3
tập. . .
(cid:73) Khái niệm cơ bản của lập trình C++ (cid:73) Các lệnh cơ bản (cid:73) Chương trình con (cid:73) Câu lệnh lặp và lựa chọn (cid:73) Mảng (cid:73) Vector (cid:73) Xâu ký tự (string) (cid:73) Tập tin (file) (cid:73) Cấu trúc (struct) (cid:73) Bài tập tổng hợp
4
Nội dung giảng dạy
(cid:73) Hiểu biết cơ bản về lập trình C++ (cid:73) Nắm được các kỹ năng viết, dịch, sửa lỗi và
Mục tiêu của môn học
(cid:73) Biết cách giải một số bài toán bằng lập trình
chạy một chương trình C++
(cid:73) Biết ứng dụng kiến thức về thuật toán và lập
C++
5
trình vào công việc sau này
(cid:73) Máy tính là công cụ để xử lý và lưu trữ thông tin
(cid:73) Phần cứng (Hardware) : các thiết bị vật lý
(cid:73) có thể đụng chạm, cân đo được (cid:73) Ví dụ : màn hình, bàn phím, máy in, đĩa CD/DVD. . . (cid:73) Phần mềm (Software) : các chương trình máy
2. Giới thiệu chung về máy tính
(cid:73) không thể đụng vào, phải có phần cứng mới thực thi được (cid:73) Ví dụ : hệ điều hành Windows, PowerPoint. . .
6
tính
Phần cứng
(cid:73) Khối xử lý trung tâm (CPU) : xử lý, tính toán,
Các thành phần cơ bản của phần cứng :
điều hành các hoạt động tính toán (cid:73) Thiết bị lưu trữ : cất giữ thông tin
(cid:73) Thiết bị nhập : đưa dữ liệu vào
Bộ nhớ trong : ROM, RAM Bộ nhớ ngoài : đĩa CD/DVD, USB. . .
(cid:73) Thiết bị xuất : gửi thông tin ra bên ngoài
Bàn phím, con chuột. . .
7
Màn hình, máy in. . .
Phần mềm
Theo phương thức hoạt động, có thể chia thành 3 loại phần mềm chính :
(cid:73) Hệ điều hành (Operating System) : tập hợp các chương
trình điều khiển các hoạt động cơ bản của máy tính và là nền tảng để chạy các chương trình ứng dụng Ví dụ : Windows, Mac OS, Linux. . .
(cid:73) Phần mềm ứng dụng (Application) : các chương trình ứng
dụng vào một lĩnh vực cụ thể Ví dụ : Photoshop, OpenOffice, Skype. . .
(cid:73) Ngôn ngữ lập trình (Programming Language) : dùng để
viết chương trình cho máy tính thực hiện Ví dụ : Pascal, C, C++, Python. . .
8
Biểu diễn thông tin trong máy tính
(cid:73) Mọi dữ liệu đều phải số hóa để lưu trữ và xử lý
Máy tính chỉ làm việc với các con số
(cid:73) Ảnh = ma trận các số (cid:73) Âm thanh = chuỗi các số (cid:73) . . .
(cid:73) Ra lệnh cho máy tính cũng viết ở dạng số (cid:73) Con người dùng hệ thập phân : các con số và
trong máy tính
(cid:73) Máy tính dùng hệ nhị phân : tất cả các dữ liệu, thao tác lệnh được xây dựng trên 2 chữ số 0, 1 → Tại sao nhị phân mà không phải thập phân hay các hệ đếm khác (hệ bát phân, hệ Hexa) ?
9
phép toán được xây dựng trên 10 chữ số
(cid:73) Máy tính có 2 tín hiệu : bật & tắt
(cid:73) trạng thái đèn tắt : 0 (cid:73) trạng thái đèn bật : 1
(cid:73) Có thể làm thiết bị với 10 tín hiệu (trạng thái)
Tại sao dùng hệ nhị phân
(cid:73) Chuyển đổi từ hệ nhị phân sang thập phân và
nhưng tốn kém hơn nhiều (đặc biệt khi làm việc ở tốc độ cao như trong máy tính)
10
ngược lại rất đơn giản
(cid:73) Bit (Binary digit) : đơn vị nhỏ nhất của thông
Đơn vị đo thông tin
(cid:73) Byte : 1 Byte = 8 bits (cid:73) KiloByte : 1 KB = 210 Bytes = 1024 Bytes (cid:73) MegaByte : 1 MB = 210 KBs = 1024 KBs (cid:73) GigaByte : 1 GB = 210 MBs = 1024 MBs (cid:73) TetaByte : 1 TB = 210 GBs = 1024 GBs
11
tin, chỉ có thể là 0 hoặc 1
(cid:73) ASCII = American Standard Code for Information
Bảng mã ASCII
Interchange, bảng mã chuẩn do Mỹ xây dựng để biểu diễn thông tin
(cid:73) Mỗi kí tự trong bảng mã được mã hóa bởi 8 bit (1 Byte)
→ có tổng cộng 28 = 256 kí tự khác nhau
12
(cid:73) Mỗi máy tính có một tập hợp hữu hạn các lệnh
3. Viết chương trình cho máy tính Ngôn ngữ máy (Machine Language)
(cid:73) Lệnh máy
(cid:73) dãy các bit 0 & 1 (cid:73) làm những thao tác rất cơ bản, ví dụ : đọc/ghi số, cộng/trừ
hai số. . .
(cid:73) Mỗi dòng máy khác nhau (Intel, AMD, . . .) có
máy
(cid:73) Chương trình máy tính = dãy các lệnh máy để
các tập hợp lệnh máy khác nhau
13
chỉ thị làm từng bước
Ngôn ngữ máy
(cid:73) Vì viết dưới dạng các dãy số 0 & 1
(cid:73) không trực quan (cid:73) rất dễ phát sinh lỗi
(cid:73) Vì mỗi dòng máy khác nhau (Intel, AMD,. . .) có
Nhược điểm
(cid:73) viết một chương trình cho máy Intel không thể sử dụng được
trên máy AMD
(cid:73) nếu có một máy mới ra đời → phải học/nhớ tập hợp lệnh máy
của máy mới này
các tập hợp lệnh máy khác nhau
14
→ Giải pháp : sử dụng các ngôn ngữ bậc cao
(cid:73) Các lệnh trực quan, dễ hiểu (cid:73) Sử dụng trình biên dịch để dịch các lệnh này
Ngôn ngữ lập trình bậc cao (High-level Language)
15
thành các lệnh máy
(cid:73) Phải tuân thủ tuyệt đối cú pháp của ngôn ngữ, nếu không trình biên dịch sẽ không hiểu và báo lỗi
(cid:73) Phân loại :
(cid:73) Ngôn ngữ lập trình thủ tục (Pascal, C. . .) (cid:73) Ngôn ngữ lập trình hướng đối tượng (Java, C++. . .) (cid:73) . . .
16
Ngôn ngữ lập trình bậc cao
(cid:73) Bước 1 : Mô tả / xác định bài toán / vấn đề
Các bước viết chương trình máy tính
(cid:73) Bước 2 : Xây dựng thuật toán / lời giải (có thể
cần giải quyết
(cid:73) Bước 3 : Triển khai lời giải trên bằng một ngôn
viết dưới dạng mã giả pseudo code)
(cid:73) Bước 4 : Dịch chương trình thành dạng mã máy
ngữ lập trình (C++)
để máy tính hiểu và thực hiện được
17
Ví dụ : Biết độ dài cạnh của hình vuông, tính chu vi và diện tích của hình vuông đó.
Ví dụ
18
Tính chu vi và diện tích của hình vuông.
(cid:73) Năm 1979 : Ý tưởng bắt đầu bởi
4. Giới thiệu C++ Lịch sử C++
(cid:73) Năm 1985 : Phiên bản C++ 1.0 (cid:73) Phiên bản mới nhất : C++ 14 (cid:73) Phiên bản sử dụng rộng rãi hiện
Bjarne Stroustrup
19
nay : C++ 11
(cid:73) Tải bộ cài đặt ở https://sourceforge.net/
Môi trường lập trình Dev-C++
(cid:73) Các thao tác cơ bản
(cid:73) Tạo một tệp (file) mới, lưu (save) dưới dạng .cpp (cid:73) Viết mã (code) (cid:73) Dịch mã (cid:73) Chạy chương trình (cid:73) Sửa lỗi (debug) nếu có
20
projects/orwelldevcpp/
5. Bài tập
21
Bài 1 Viết mã giả cho các bài toán sau. 1. Giải và biện luận phương trình ax + b = 0. 2. Giải và biện luận phương trình ax 2 + bx + c = 0.
5. Bài tập
(cid:73) Cài đặt Dev-C++ trên máy tính. (cid:73) Tạo file XinChao.cpp và viết đoạn mã sau. Dịch
Bài 2
và chạy thử (sửa lỗi nếu có).
#include
cout << "Xin chao cac ban" << endl ;
22
}

