Bài giảng Phương pháp lập trình - Chương 1: Nhập môn về máy tính và lập trình

1. Các hệ thống số và quy tắc chuyển đổi 2. Tổng quan về ngôn ngữ lập trình C/C++ 3. Kiểu dữ liệu, định danh, biến, hằng, toán tử gán 4. Các toán tử 5. Các hàm nhập, xuất Các hệ thống số Thập phân Nhị phân Bát phân Thập lục phân

ppt64 trang | Chia sẻ: candy98 | Lượt xem: 489 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phương pháp lập trình - Chương 1: Nhập môn về máy tính và lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHƯƠNG PHÁP LẬP TRÌNH1Các nội dung chínhCác hệ thống số và quy tắc chuyển đổiTổng quan về ngôn ngữ lập trình C/C++Kiểu dữ liệu, định danh, biến, hằng, toán tử gánCác toán tửCác hàm nhập, xuất2Các hệ thống số và quy tắc chuyển đổi3Các hệ thống sốThập phânNhị phânBát phânThập lục phân4Tổng quan về ngôn ngữ lập trình C/C++ Lịch sử của ngôn ngữ lập trình C/C++Phương pháp giải quyết bài toánCác bước trong chu trình phát triểnKhảo sát 1 chương trình C/C++ đơn giảnCấu trúc chung của 1 chương trình C/C++Các tập tin thư viện thông dụng51. Lịch sử của ngôn ngữ C/C++ C được tạo bởi Dennis Ritchie ở Bell Telephone Laboratories vào năm 1972C++ là một ngôn ngữ lập trình hướng đối tượng, nó bao hàm cả ngôn ngữ C62. Phương pháp giải quyết bài toánCác bước gồm:Xác định yêu cầu của bài toánĐưa ra thuật toán (dùng mã giả, hoặc lưu đồ) Cài đặt (viết) chương trình Thực hiện chương trình và kiểm chứng73.Các bước trong chu trình phát triển chương trình83.Các bước trong chu trình phát triển chương trìnhSoạn thảo mã nguồn (source code), lưu tập tin với phần mở rộng .cppMã nguồn được biên dịch (compile) để tạo tập tin đối tượng (object file)Tập tin đối tượng kết hợp với mã đối tượng của các hàm thư viện để tạo tập tin có thể thực thi (executable file)Thực thi (run) chương trình Quá trình 4 bước sẽ được lập lại cho đến khi tập tin thực thi thực hiện đúng yêu cầu bài toán94. Khảo sát chương trình C/C++ đơn giản// my first program in C/C++ #include #include int main() { cout#include Các lệnh bắt đầu bằng dấu # gọi là chỉ thị tiền xử lý (preprocessor)Câu lệnh #include báo cho trình biên dịch biết cần phải gộp thư viện vào chương trình114. Khảo sát một chương trình C/C++ đơn giảnint main(): khai báo hàm mainChương trình C/C++ phải luôn tồn tại hàm mainNội dung trong hàm main luôn được thực hiện đầu tiên khi chương trình được thực thiNội dung của hàm main nằm trong cặp dấu { } tiếp sau phần khai báo hàmCuối mỗi dòng lệnh trong C/C++ phải có dấu ;124. Khảo sát một chương trình C/C++ đơn giảncout #include void main() { cout, với FileName.h là tên tập tin thư viện18Một số tập tin thư viện thông dụng gồm:stdio.h (C), iostream.h (C++): định nghĩa các hàm vào ra chuẩncác hàm xuất dữ liệu: printf()), coutnhập giá trị cho biến: scanf()), cinnhận ký tự từ bàn phím: getc()in ký tự ra màn hình: putc()nhập một chuỗi ký tự từ bàm phím: gets()xuất chuỗi ký tự ra màn hình: puts()196. Một số tập tin thư viện thông dụngconio.h: định nghĩa các hàm vào ra trong chế độ DOS như clrscr(), getch(), math.h: Định nghĩa các hàm toán học như: abs(), sqrt(), log(), log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(), alloc.h: định nghĩa các hàm vào ra cấp thấp gồm các hàm open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(), 206. Một số tập tin thư viện thông dụngKiểu dữ liệu, định danh, biến, hằng, toán tử gánCác kiểu dữ liệuĐịnh danhBiến và khai báo biếnHằng và khai báo hằngToán tử gán211. Các kiểu dữ liệu (Data types)Có 5 kiểu dữ liệu cơ sở:char (Ký tự)int (Số nguyên)float (Số thực)double (Số thực)void (Kiểu vô định)Ngoại trừ kiểu void, các kiểu cơ sở có thể có signed, unsigned, long, short đứng trướcKích thước và phạm vi của chúng có thể thay đổi tùy theo loại CPU và trình biên dịch221. Các kiểu dữ liệu (Data types)232. Định danh (Identifier name)Định danh: là tên của biến, hằng, hàmQuy tắc đặt định danh:Có thể có 1 hoặc nhiều ký tựKý tự đầu tiên phải là một chữ cái hoặc dấu _Những ký tự theo sau phải là chữ cái, chữ số, hoặc dấu _Không được chứa ký tự khoảng trắngKhông được trùng với từ khóa (keyword)Không nên trùng tên với các hàm thư việnC/C++ phân biệt ký tự HOA và thường242. Định danh: Ví dụTên đúng : _abc, Delta_1, BETA, BetaTên sai : 1xyz Diem anh van            A#B             X-125Từ khóa (keyword)Là những từ được dành riêng bởi ngôn ngữ lập trình cho những mục đích riêng của nóTất cả các từ khóa trong C/C++ đều là chữ thườngDanh sách các từ khóa trong C/C++263. Biến và khai báo biếnBiến (variable): là định danh của một vùng nhớ, dùng để giữ một giá trị mà có thể được thay đổi bởi chương trìnhBiến phải được khai báo trước khi sử dụngCách khai báo: Data_Type : là một trong các kiểu dữ liệu hợp lệvariable_Name : định danh (tên biến), nếu có nhiều biến thì các biến phân cách nhau bởi dấu phẩyVí dụ: int x, y; char ch;27Data_Type variable_Name;3. Biến và khai báo biếnTrong cùng một phạm vi, các biến không được trùng tên nhau(GT 15) Khi khai báo biến, nếu không cung cấp giá trị ban đầu cho biến thì giá trị của biến là không xác định  không sử dụng đượcCó thể vừa khai báo vừa khởi tạo giá trị ban đầu cho biến, cú pháp:Ví dụ: int tich = 1; float mark1, mark2, mark3, average = 0;28Data_Type variable_Name = value;3. Biến và khai báo biếnBiến có thể được khai báo tại ở:Bên trong hàm  biến cục bộTrong định nghĩa tham số hàm  tham số hình thứcBên ngoài tất cả các hàm  biến toàn cục29Phạm vi của biếnBiến cục bộ (local variables)Là những biến được khai báo bên trong một hàmCác biến cục bộ chỉ có tác dụng bên trong khối (block) có khai báo biếnMột khối được đặt trong cặp dấu { }Biến cục bộ chỉ tồn tại trong khi khối chứa nó đang thực thi và bị hủy khi khối chứa nó thực thi xong30Phạm vi của biến: Ví dụvoid func1() { int x = 10; } void func2() { int x = -199; }31Phạm vi của biếnTham số hình thức (formal parameters)Là các biến được khai báo trong tiêu đề hàmĐược sử dụng giống như các biến cục bộVí dụ: int sum(int from, int to) { int total=0; for(int i=from; i int gVar = 100; // biến toàn cụcvoid increase() { gVar = gVar + 1;} void decrease() { gVar = gVar -1;} void main() { cout So sánh lớn hơn5 > 5.5 // kết quả 0>=So sánh lớn hơn hoặc bằng 6.3 >= 5 //kết quả 14. Toán tử luận lý (logical operators)Được định trị là true (1) hoặc false (0)48Operator Action Ví dụ!not!(5 == 5) // kết quả là 0&&and5 >= 9 && 8!=7) || (64) Được định trị như sau: 505. Toán tử ? (? operator)Toán tử ? là một toán tử ba ngôi do đó phải có ba toán hạngCú pháp:Exp1, Exp2, và Exp3 là các biểu thứcNếu Exp1 đúng thì Exp2 được định trị và nó trở thành giá trị của biểu thứcNgược lại, nếu Exp1 sai thì Exp3 được định trị và trở thành giá trị của biểu thức51Exp1 ? Exp2 : Exp3;5. Toán tử ? (? operator)Ví dụ 1:X = 10;Y = X > 9 ? 100*X : 200*X;Ví dụ 2:int m = 1, n = 2, p =3; int min=(m b) ? a : b526. Toán tử sizeof sizeof là toán tử trả về số byte của kiểu dữ liệu chiếm trong bộ nhớTùy môi trường (hệ điều hành, loại CPU,...) mà mỗi kiểu dữ liệu có số byte khác nhauCú pháp:operand: có thể là tên kiểu dữ liệu, biến, biểu thức53sizeof(operand)7. Toán tử dấu phẩy (comma operator)Cú pháp:Các biểu thức được định trị từ trái sang phải, biểu thức cuối cùng (exp_n) được định trị và trở thành giá trị của toàn bộ biểu thứcVí dụ: x = (y=3, y+1); Y được gán giá trị 3, sau đó x được gán giá trị y+1 là 454(exp_1, exp_2, ..., exp_n)Biểu thức (GT 29)Biểu thức là sự kết hợp của các thành phần: toán tử, hằng, biến, và hàm có trả về giá trịThứ tự định trị của biểu thức tùy thuộc vào độ ưu tiên của các toán tửTrong một biểu thức, nếu các hằng và biến thuộc các kiểu khác nhau thì giá trị của chúng phải được chuyển thành cùng kiểu trước khi thực hiện các phép toán giữa chúngTrình biên dịch sẽ thực hiện việc chuyển đổi kiểu tự động đến kiểu của toán hạng có kiểu lớn hơn55Biểu thức (GT 29)Ví dụ: char ch;int i; float f; double d; 56Dạng viết tắt của lệnh gán (GT 31)Dạng viết tắt của lệnh gán với các toán tử số học gồm: +=, -=, *=, /=, %=57Toán TửVí dụTương đương với+=n += 25n = n + 25-=n -= 25n = n – 25*=n *= 25n = n * 25/=n /= 25n = n / 25%=n %= 25n = n % 25Các hàm nhập, xuấtHàm xuấtHàm nhập581. Hàm xuấtcoutVí dụ 1:cout void main(void) { cout >Dùng để lấy dữ liệu nhập từ bàn phímThuộc thư viện iostream#includeVí dụ:int xyz;cin>>xyz; // lấy giá trị nhập đưa vào biến xyz62Các bước viết chương trìnhTừ yêu cầu bài toán, xác định các dữ liệu phải nhập (input) và kiểu của chúng  khai báo các biến tương ứngCho nhập (hoặc gán) giá trị cho các biếnXử lý, tính toán dữ liệu nhập theo yêu cầu bài toánXuất (output) kết quả theo yêu cầu bài toán63Tổng kếtCấu trúc của một chương trình C/C++Biến và khai báo biếnBiến cục bộ, biến toàn cụcCác toán tử: gán, tăng/giảm, ba ngôiÉp kiểuDạng viết tắt của câu lệnh gánCác bước viết chương trình64