Mỗikiểu dữ liệu có một tập hợp các giá trị hợp lệ và một số thao tác được phép trên các giá trịđó.Có hai loại kiểu dữ liệu cơ bản: kiểu số và kiểu ký tự.+ Kiểu số là kiểu dữ liệu được sử
Trang 1Chương 7:
Kiến thức cơ sở
về lập trình (tt)
NHÓM 13 - 23ĐHTT01
Trang 2CHƯƠNG 7:
KIẾN THỨC CƠ SỞ VỀ
LẬP TRÌNH (TT)
7.5 Các bước xây dựng chương trình:
1.Tìm giải thuật và đặc tả giải thuật: lưu đồ và mã giả 2.Viết chương trình
3 Kiểm tra thực thi và phát hiện lỗi của chương trình
4 Bảo trì
Trang 47.5 Các bước xây dựng chương trình:
Xây dựng chương trình là một nghệ thuật,
đòi hỏi sự đầu tư nghiêm túc của lập trình
viên Chính vì thế, cần có một quy trình khoa học cho vấn đề này Để xây dựng hoàn chỉnh một chương trình thường trải qua các bước
sau:
+ Phân tích và thiết kế + Cài đặt
Trang 57.5 Các bước xây dựng chương trình:
+ Phân tích và thiết kế
-Phân tích yêu cầu
Xác định mục đích chương trình
Xác định các chức năng cần thiết
Xác định dữ liệu đầu vào và đầu ra
Xác định các ràng buộc về thời gian và tài nguyên
-Lựa chọn mô hình
Lựa chọn một cách thức tổng quát để giải quyết
vấn đề
Trang 67.5 Các bước xây dựng chương trình:
+ Phân tích và thiết kế
-Xây dựng thuật giải
Xây dựng một phương pháp cụ thể để giải quyết vấn đề
-Cài đặt chương trình
Chuyển đổi thuật giải thành một chương trình máy tính có thể thực thi được
Trang 77.5 Các bước xây dựng chương trình:
+ Cài đặt:
-Kiểm tra chương trình
-Đảm bảo chương trình hoạt động chính xác
-Bảo trì chương trình
-Sửa lỗi, thêm tính năng mới và nâng cấp chương trình
Trang 81.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
Giải thuật là một tập hợp hữu hạn các bước, thao tác được thực hiện theo một thứ tự nhất định để giải quyết một vấn
đề cụ thể Giải thuật có thể được mô tả bằng ngôn ngữ tự
nhiên, lưu đồ, mã giả hoặc ngôn ngữ lập trình.
+ Thử nghiệm và sai lầm: Đây là phương pháp đơn
giản nhất, trong đó ta thử nghiệm các phương pháp
khác nhau cho đến khi tìm được một phương pháp
hiệu quả.
+ Phân tích trực tiếp: Phương pháp này đòi hỏi ta phải
hiểu rõ vấn đề để có thể suy luận ra một giải thuật.
Trang 91.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
Giải thuật là một tập hợp hữu hạn các bước, thao tác được thực hiện theo một thứ tự nhất định để giải quyết một vấn
đề cụ thể Giải thuật có thể được mô tả bằng ngôn ngữ tự
nhiên, lưu đồ, mã giả hoặc ngôn ngữ lập trình.
+ Sử dụng các phương pháp đã biết: Nếu vấn đề
tương tự với một vấn đề đã có giải thuật, ta có thể sử dụng giải thuật đó cho vấn đề hiện tại.
+ Sử dụng các kỹ thuật heuristic: Đây là các kỹ thuật
dựa trên kinh nghiệm và phán đoán để tìm ra một giải thuật.
Trang 101.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
Đặc tả giải thuật: Sau khi đã tìm được giải thuật, cần
đặc tả giải thuật đó một cách rõ ràng và chính xác Có
hai cách phổ biến để đặc tả giải thuật:
+ Lưu đồ: Lưu đồ là một cách trực quan để mô tả giải
thuật Lưu đồ bao gồm các biểu tượng được kết nối
với nhau bằng các đường thẳng Mỗi biểu tượng đại
diện cho một bước trong giải thuật.
Ví dụ: Tính tổng S(n)=0+ +n (n là 1 số nguyên bất kì)
Trang 111.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
Ví dụ: Tính tổng S(n)=0+ +n (n là 1 số nguyên bất kì)
Trang 121.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
Đặc tả giải thuật: Sau khi đã tìm được giải thuật, cần
đặc tả giải thuật đó một cách rõ ràng và chính xác Có
hai cách phổ biến để đặc tả giải thuật:
+ Mã giả: Mã giả là một cách mô tả giải thuật bằng ngôn
ngữ tự nhiên Mã giả sử dụng các từ và cụm từ để mô tả các bước trong giải thuật.
Trang 131.TÌM GIẢI THUẬT VÀ ĐẶC TẢ GIẢI THUẬT: LƯU ĐỒ VÀ MÃ GIẢ
//Tính tổng S(n)=1+2+3+ +n
#include <stdio.h> //Khai báo tên thư viện
int main () // Thực hiện các cấu trúc trong hàm main { }
{
int i,n; long S; //Nhập giá trị nguyên i, n và S
S=0;i=1; //Gán S=0, i=1
printf ("Nhap gia tri n: "); // In ra một văn bản đã được định dạng
scanf ("%d",&n); //Nhận dữ liệu đã ghi vào chương trình (%d Số nguyên hệ 10 có dấu,
&n gán giá trị có kiểu là d vào biến n)
while (i<=n) //Vòng lặp While
{
S=S+i;
i++;
}
printf ("Tong S(n): 0+ +%d = %d",n,S); //In S và n ra màn hình
return 0; //Trả về giá trị 0 cho hàm main, chương trình thực thi thành công
}
Trang 142.VIẾT CHƯƠNG TRÌNH
Sau khi đã đặc tả giải thuật, cần viết
chương trình bằng một ngôn ngữ lập
trình Ngôn ngữ lập trình là một công cụ
để chuyển đổi giải thuật thành một
chương trình máy tính có thể thực thi
được
Trang 15+ Lỗi cú pháp: do bạn chưa nắm vững ngôn ngữ lập trình Lỗi
này sẽ có trình biên dịch phát hiện giúp bạn.
+ Lỗi logic: dẫn đến kết quả chạy chương trình bị sai Thường
do bạn cài đặt thuật toán sai hoặc bản thân thuật toán mà bạn
đề xuất đã không đúng.
+ Lỗi runtime: gọi là lỗi thực thi, chỉ được phát hiện đến khi
chạy chương trình Lỗi này thường phát sinh do cách lưu trữ dữ liệu hoặc trường hợp ngoại lệ mà thuật toán không xử lý được hết.
Trang 16Sau khi đã viết chương trình, cần kiểm tra chương trình để đảm bảo rằng chương trình hoạt động chính xác Có hai cách phổ biến
để kiểm tra chương trình:
Trang 174.BẢO TRÌ
- Bảo trì là cần thiết để đảm bảo rằng phần mềm
có thể tiếp tục đáp ứng yêu cầu của người sử dụng Bảo trì được áp dụng cho phần mềm bằng cách sử dụng bất kì mô hình vòng đời phần mềm (ví dụ: xoắn ốc, tuyến tính,…) Sản phẩm phần
mềm thay đổi do hoạt động chỉnh sửa sai hoặc không sai Bảo trì phần mềm phải được thực
hiện để:
b Hoạt động bảo trì
+ Khắc phục lỗi
+ Cải thiện thiết kế
+ Thực hiện các cải tiến
+ Giao diện với các phần mềm khác
Trang 194.BẢO TRÌ c Các bước bảo trì phần mềm:
Bước 1: Dọn các file rác máy tính, tinh chỉnh ,tối ưu hệ điều hành
Bước 2: Kiểm tra bảo mật, cập nhật chương trìnhduyệt virus và quét nhanh hệ thống
Bước 3: Kiểm tra hệ điều hành, phần mềm vàkhắc phục các lỗi phát sinh
Bước 4: Tạo bản sao lưu dự phòng dữ liệu Bước 5: Kiểm tra lần cuối cùng
Trang 207.6 Các kiểu dữ liệu cơ bản
và miền giá trị
Trang 217.6 CÁC KIỂU DỮ LIỆU CƠ
BẢN VÀ MIỀN GIÁ TRỊ
Trong lập trình, kiểu dữ liệu là một loại thông tin mà chương trình có thể thao tác Mỗi
kiểu dữ liệu có một tập hợp các giá trị hợp lệ và một số thao tác được phép trên các giá trị đó.
Có hai loại kiểu dữ liệu cơ bản: kiểu số và kiểu ký tự.
+ Kiểu số là kiểu dữ liệu được sử dụng để lưu trữ các giá trị số Có hai loại kiểu số cơ bản: kiểu số nguyên và kiểu số thực.
+ Kiểu ký tự là kiểu dữ liệu được sử dụng để lưu trữ một ký tự đơn, chẳng hạn như chữ cái, số, dấu câu, Kiểu ký tự thường được biểu thị bằng ký hiệu char.
Trang 227.6 CÁC KIỂU DỮ LIỆU CƠ
BẢN VÀ MIỀN GIÁ TRỊ
Miền giá trị
- Miền giá trị của một kiểu dữ liệu là tập hợp tất cả các giá trị hợp lệ mà kiểu dữ liệu đó có thể lưu trữ.
- Miền giá trị của một kiểu số nguyên được xác định bởi kích thước bộ nhớ của kiểu đó Ví
dụ, kiểu int có kích thước bộ nhớ 4 byte, do đó miền giá trị của nó là từ -2147483648 đến 2147483647.
- Miền giá trị của một kiểu số thực được xác định bởi độ chính xác của kiểu đó Ví dụ,
kiểu float có độ chính xác 7 chữ số thập phân, do đó miền giá trị của nó là tập hợp tất cả các số thực có thể được biểu diễn chính xác bằng 7 chữ số thập phân.
Trang 237.6 CÁC KIỂU DỮ LIỆU CƠ BẢN VÀ MIỀN GIÁ TRỊ
Trang 24KIỂU
SỐ NGUYÊN
Kiểu số nguyên là một kiểu dữ liệu dùng để lưu trữ các giá trị
số nguyên, như 1, 2, 3, Kiểu số nguyên có hai loại:
- Kiểu số nguyên có dấu (signed): có thể lưu trữ các giá trị
Trang 25KIỂU
SỐ NGUYÊN
Miền giá trị của một kiểu số nguyên được xác định bởikích thước bộ nhớ mà kiểu dữ liệu đó chiếm dụng
+ Kiểu số nguyên byte thường được sử dụng để lưu trữ
các giá trị số nguyên nhỏ
+ Kiểu số nguyên short thường được sử dụng để lưu trữ
các giá trị số nguyên vừa
+ Kiểu số nguyên int thường được sử dụng để lưu trữ các
giá trị số nguyên lớn
+ Kiểu số nguyên long thường được sử dụng để lưu trữ các
giá trị số nguyên rất lớn
Trang 26KIỂU
SỐ NGUYÊN
Cách sử dụng kiểu số nguyên
·Ví dụint a = 10;
int b = 20;
int c = a + b; // c = 30int d = a - b; // d = -10int e = a * b; // e = 200int f = a / b; // f = 0.5
- Kiểu số nguyên được sử dụng để lưu trữ các giá trị sốnguyên trong chương trình Các giá trị số nguyên có thểđược sử dụng trong các phép toán số học, chẳng hạn nhưcộng, trừ, nhân, chia,
Trang 277.6.2 KIỂU SỐ THỰC
Kiểu số thực là một kiểu dữ liệu dùng để lưu trữ các giá trị số thực, như 1.2, 3.14, Kiểu sốthực có hai loại:
+ Kiểu số thực đơn (float): có độ chính xác 7 chữ số thập phân
+ Kiểu số thực kép (double): có độ chính xác 15 chữ số thập phân
Miền giá trị của một kiểu số thực được xác định bởi kích thước bộ nhớ mà kiểu dữ liệu đóchiếm dụng
+ Kiểu số thực float thường được sử dụng để lưu trữ các giá trị số thực có độ
chính xác trung bình
+ Kiểu số thực double thường được sử dụng để lưu trữ các giá trị số thực có độ chính xáccao
Trang 287.6.2 KIỂU SỐ THỰC
Cách sử dụng kiểu số thực
- Kiểu số thực được sử dụng để lưu trữ các giá trị số thực trong chương trình Các giátrị số thực có thể được sử dụng trong các phép toán số học, chẳng hạn như cộng, trừ,nhân, chia,
Trang 30Ví dụchar letter1 = 'a';
char letter2 = 'b';
if (letter1 == letter2) { // letter1 và letter2 bằng nhau} else {
// letter1 và letter2 không bằng nhau}
Trang 317.6.4 KIỂU LUẬN LÝ
- Kiểu dữ liệu dùng để lưu trữ tính đúng, sai của mộtmệnh đề trong máy tính, nó được gọi là kiểu luận lý
(boolean)
- Kiểu luận lý (boolean) có kích thước 1 byte, và chỉ
lưu được 2 giá trị: true (1), false (0)
- Để khai báo một biến boolean, sử dụng từ khóa bool:
- Để khởi tạo và gán giá trị cho một biến boolean
trong C++, sử dụng từ khóa true (1), false (0):
Trang 327.6.4 KIỂU LUẬN LÝ
- Giống như toán tử một ngôi số đối (-), hoàn toàn
có thể phủ định giá trị luận lý từ true sang false vàngược lại bằng cách dùng toán tử NOT (!):
Trang 347.6.4 KIỂU LUẬN LÝ
- Outputs:
- Chú ý: khi khởi tạo hoặc gán giá trị dưới dạng sốnguyên cho biến kiểu bool, mọi giá trị khác 0 sẽmặc định là true (1)
Trang 357.6.4 KIỂU LUẬN LÝ
- Nếu bạn muốn giá trị của biến boolean khi được in
ra là true hoặc false thay vì 0 hoặc 1, có thể sử dụngstd::boolalpha
- Nếu muốn in giá trị biến kiểu boolean như mặc
định thì có thể sử dụng std::noboolalpha
Trang 367.6.4 KIỂU LUẬN LÝ
- Nếu bạn muốn giá trị của biến boolean khi được in
ra là true hoặc false thay vì 0 hoặc 1, có thể sử dụngstd::boolalpha
- Nếu muốn in giá trị biến kiểu boolean như mặc
định thì có thể sử dụng std::noboolalpha
- Outputs:
Trang 377.7 Danh hiệu và từ khóa
Trang 387.7 Danh hiệu và từ khóa
- Danh hiệu:
+ Computer analyst (Nhà phân tích máy tính)
Công việc của họ là nghiên cứu về hệ thống máy tính và những thay đổi có thểthực hiện được nhằm tạo ra các giải pháp cho các vấn đề kỹ thuật và tính toánchi phí cũng như các rủi ro để các giải pháp này được phát triển thành công
+ Computer Programmer (Lập trình viên)
Lập trình viên là người sử dụng các ý tưởng và thiết kế của các nhà phát triểnphần mềm để viết mã mà các máy tính có thể thực hiện Các lập trình viên viếtmột loạt câu lệnh, các hướng dẫn để máy tính thực hiện các nhiệm vụ cụ thể
+ Database Administrator (Quản trị cơ sở dữ liệu)
Quản trị cơ sở dữ liệu là ngành phụ trách việc quản trị các cơ sở dữ liệu
hoặc/và vận hành các hoạt động dựa trên cơ sở dữ liệu để đảm bảo hệ thống
luôn chạy ổn định, mang đến cho người dùng trải nghiệm truy cập tốt nhất
Trang 397.7 Danh hiệu và từ khóa
- Danh hiệu:
+ Network administrator (Quản trị mạng)
Những người làm công việc quản trị mạng sẽ thực hiện thiết kế, kiểm tra và bảotrì hệ thống bảo mật để ngăn chặn tối đa sự tấn công từ bên ngoài như virus,
hacker thông tin
+ Software developer (Lập trình viên phần mềm)
Lập trình viên phần mềm là những người thiết kế, và xây dựng các ứng dụng
hay phần mềm cho các máy tính Họ phụ trách viết mã nguồn (source code) củaphần mềm
+ Software Tester – Nhà kiểm thử phần mềm
Công việc chính của tester là kiểm tra để phát hiện các lỗi đang tồn tại, đảm bảochất lượng phần mềm trước khi giao sản phẩm cho khách hàng
Trang 407.7 Danh hiệu và từ khóa
- Từ khóa:
+ Algorithm (Thuật toán)
Thuật toán là tập hợp các thao tác được sắp xếp theo một trình tự nhất định
để giải quyết một bài toán hoặc một vấn đề cụ thể trên máy tính
+ Application (Ứng dụng)
Ứng dụng (app) là một chương trình máy tính hoặc điện thoại được lập trình
và thiết kế để thực hiện hoặc cung cấp một chức năng cụ thể cho người
dùng Ví dụ, Spotify là một ứng dụng dùng để nghe nhạc
+ Browser (Trình duyệt)
Trình duyệt là một ứng dụng trên máy tính hoặc điện thoại cho phép bạn
truy cập vào Internet Ví dụ như: Google Chrome, Cốc Cốc và Mozilla Firefox
Trang 417.7 Danh hiệu và từ khóa
+ Database (Cơ sở dữ liệu)
Là tập hợp cơ sở dữ liệu có liên quan đến nhau và được sắp xếp theo những
thứ tự nhất định
Trang 427.7 Danh hiệu và từ khóa
- Từ khóa:
+ Debug (Sửa lỗi)
Debug là quá trình tìm lỗi sai hay nguyên nhân gây ra lỗi làm ảnh hưởng đếnhoạt động của chương trình/phần mềm, qua đó tìm cách sửa lỗi phù hợp (fixbug)
+ Encryption (Mã hóa)
Mã hoá là phương pháp biến đổi thông tin từ định dạng bình thường sang
dạng thông tin không thể hiểu được nếu không có phương tiện giải mã
+ Function (Hàm)
Hàm là một đoạn gồm một hoặc nhiều câu lệnh, cho phép các lập trình viênphân tách cấu trúc chương trình thành nhiều phân đoạn khác nhau với mụcđích riêng biệt
Trang 437.7 Danh hiệu và từ khóa
- Từ khóa:
+ File (Tập tin)
File hay tập tin là dữ liệu do người dùng tạo ra trên máy tính dưới nhiều địnhdạng khác nhau Ví dụ tập tin văn bản Word sẽ có định dạng doc, bảng tínhExcel sẽ có định dạng xls
Trang 447.7 Danh hiệu và từ khóa
- Từ khóa:
+ Hard Drive (Ổ cứng)
Ổ đĩa cứng là một phần cứng của máy tính hoặc của một thiết bị điện tử dùng
để lưu trữ dữ liệu
+ HTML (Ngôn ngữ đánh dấu siêu văn bản)
HTML là một ngôn ngữ được dùng để xây dựng cấu trúc và các thành phần
của một website, ví dụ như văn bản, hình ảnh, âm thanh, video
+ Network (Mạng máy tính)
Mạng máy tính là một loại mạng viễn thông cho phép các thiết bị máy tính
trao đổi dữ liệu, chia sẻ tài nguyên với nhau qua các kết nối giữa các nút
mạng chia sẻ tài nguyên được gọi là mạng máy tính
Trang 457.7 Danh hiệu và từ khóa
- Từ khóa:
+ Interface (Giao diện)
Trong điện toán, interface là một biên giới chia sẻ giữa hai thành phần táchbiệt của một hệ thống máy tính trao đổi thông tin Việc trao đổi có thể là giữaphần cứng và phần mềm, hay các thiết bị ngoại vi, giữa người dùng với phầnmềm hoặc kết hợp của những thứ đó với nhau Một số thiết bị phần cứng
máy tính có thể gửi và nhận dữ liệu thông qua giao diện như màn hình cảmứng, trong khi một số khác chỉ cung cấp giao diện để gửi dữ liệu tới một hệ
thống nhất định như chuột hay micro
+ Virus (Vi rút)
Virus là một đoạn mã làm hỏng dữ liệu và có thể làm hỏng hệ thống của máytính, nó thường làm hỏng chương trình hoặc buộc chúng phải tắt
Trang 467.7 Danh hiệu và từ khóa
- Từ khóa:
+ Network (Mạng máy tính)
Mạng máy tính là một loại mạng viễn thông cho phép các thiết bị máy tínhtrao đổi dữ liệu, chia sẻ tài nguyên với nhau qua các kết nối giữa các nút
mạng chia sẻ tài nguyên được gọi là mạng máy tính
+ Open source (Mã nguồn mở)
Mã nguồn mở là phần mềm có bộ mã nguồn cho phép bất cứ ai cũng có thểtải về sử dụng, sửa đổi hoặc thêm bớt một số tính năng, cập nhật khác Thôngthường, các doanh nghiệp lớn về lĩnh vực công nghệ sẽ phát hành miễn phí
mã nguồn mở cho người dùng với mục đích riêng biệt
Trang 477.7 Danh hiệu và từ khóa
- Từ khóa:
+ Operating system (Hệ điều hành)
Hệ điều hành là một hệ thống quản lý tất cả các phần cứng và phần mềm củamáy tính hoặc một thiết bị điện tử như điện thoại thông minh
+ Program language (Ngôn ngữ lập trình)
Ngôn ngữ lập trình được dùng để viết ra các tập lệnh, từ đó tạo ra phần mềmcho máy tính hoặc điện thoại thông minh
+ Source Code (Mã nguồn)
Mã nguồn được biên soạn thành một chương trình máy tính dưới dạng vănbản và có thể đọc được Nó thường là một chuỗi ký tự và biểu tượng ngẫu
nhiên