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 using namespace std ; int main() {

cout << "Xin chao cac ban" << endl ;

22

}