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ình4 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ếtvấ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ìnhmá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ươngtrì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 đượcthự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ápkhác nhau cho đến khi tìm được một phương pháphiệ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 đượcthự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ảithuậ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ốivới nhau bằng các đường thẳng Mỗi biểu tượng đạidiệ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 153.KIỂM TRA THỰC THI VÀ PHÁT HIỆN
LỖI CỦA CHƯƠNG TRÌNH
Khi viết 1 chương trình bất kì, chắc chắn ít nhất chúng ta sẽ vàilần mắc lỗi Có 3 lỗi thường gặp khi lập trình là:
+ 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ý đượchết.
Trang 16Sau khi đã viết chương trình, cần kiểm tra chương trình để đảmbả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ềmcó 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ằngcá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ặckhô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 18+ Duy trì kiểm soát việc sửa đổi phần mềm + Hoàn thiện các chức năng hiện có
+ Xác định các mối đe dọa an ninh và sửa chữa các lỗ hổng an ninh.
+ Ngăn ngừa việc xuống cấp hiệu xuất tới mức không thể chấp nhận đượ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ình duyệ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ảnvà 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 đến2147483647.
- 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 247.6.1 KIỂU
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ị âm và dương.
- Kiểu số nguyên không dấu (unsigned): chỉ có thể lưu trữ các giá trị dương.
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ớ mà kiểu dữ liệu đó chiếm dụng.
Trang 257.6.1 KIỂU
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ớ 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 26- 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 đó
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ừ,
Trang 297.6.3 KIỂU
KÝ TỰ
Kiểu ký tự là một kiểu dữ liệu dùng để lưu trữ một ký tự, như 'a', 'b', 'c', Kiểu ký tự thường được sử dụng để lưu trữ các ký tự trong bảng mã ASCII.
Miền giá trị của kiểu ký tự được xác định bởi kích thước bộ nhớ mà kiểu dữ liệu đó chiếm dụng.
Trang 30- Kiểu ký tự được sử dụng để lưu trữ các ký tự trong chương trình Các ký tự có thể được sử dụng trong các phép toán so sánh, chẳng hạn như bằng, không bằng, lớn hơn, nhỏ hơn,
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ột mệ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 337.6.4 KIỂU LUẬN LÝ
- Giá trị của biến kiểu bool trong máy tính được biểu diễn dưới dạng 0 (false) hoặc 1 (true) Vì vậy, khi in
một biến kiểu bool, giá trị được in ra sẽ là 0 (false) hoặc 1 (true):
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ụng std::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ụng std::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án chi 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ển phầ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ết mộ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ảo trì 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ủa phầ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ảo chấ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
- Từ khóa:
+ Bug (Lỗi phần mềm)
Là những lỗi hay sai sót trong phần mềm hoặc hệ thống máy tính Bug khiến phần mềm không hoạt động bình thường, hoặc không chính xác.
+ Cookies
Là những tập tin mà một trình duyệt lưu trên ổ cứng máy tính của người dùng khi họ truy cập một trang web nào đó.
+ Cursor (Con trỏ)
Vị trí hiện tại của con chuột trên màn hình máy tính của bạn được gọi là con trỏ.
+ 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 đến hoạt động của chương trình/phần mềm, qua đó tìm cách sửa lỗi phù hợp (fix bug).
+ 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ên phâ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 định dạng khác nhau Ví dụ tập tin văn bản Word sẽ có định dạng doc, bảng tính
Hardware hay Phần cứng là các bộ phận vật lý của một máy tính mà bạn có thể nhìn thấy và sờ được như ổ cứng, vi mạch máy tính, RAM, card màn hình, quạt, màn hình, bàn phím, chuột, dây cáp, v.v.
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ách biệ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ữa phầ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ần mề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áy tính, nó thường làm hỏng chương trình hoặc buộc chúng phải tắt.