Giáo trình môn học Tin đại cương - Bài 2: Một số khái niệm cơ sở - Lý Anh Tuấn

pdf 30 trang huongle 2900
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình môn học Tin đại cương - Bài 2: Một số khái niệm cơ sở - Lý Anh Tuấn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_mon_hoc_tin_dai_cuong_bai_2_mot_so_khai_niem_co_s.pdf

Nội dung text: Giáo trình môn học Tin đại cương - Bài 2: Một số khái niệm cơ sở - Lý Anh Tuấn

  1. Môn học Tin đại cương Lý Anh Tuấn Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường đại học Thủy Lợi 1
  2. Buổi 2: Một số khái niệm cơ sở  Khái niệm thuật toán  Biểu diễn thuật toán  Thiết lập môi trường soạn thảo và chạy chương trình C++  Sơ đồ quá trình lập trình  Các thành phần cơ bản của C++ 2
  3. Khái niệm thuật toán  Thuật toán (algorithm): là một danh sách các chỉ thị, khi được thi hành sẽ biến đổi thông tin đầu vào thành thông tin đầu ra  Đầu vào (input): là dữ liệu được cung cấp cho thuật toán để thuật toán thực hiện chức năng của nó  Đầu ra (output): là dữ liệu mà thuật toán đưa ra môi trường bên ngoài 3
  4. Khái niệm thuật toán  Ví dụ: thuật toán để giải phương trình bậc nhất P(x): ax + b = c (a, b, c là các số thực) có thể gồm các bước sau đây: 1. Nếu a = 0 Nếu b = c thì P(x) có nghiệm bất kì Nếu b ≠ c thì P(x) vô nghiệm 2. Nếu a ≠ 0 P(x) có duy nhất một nghiệm x = (c - b)/a 4
  5. Tính chất của thuật toán  Tính chính xác: để đảm bảo kết quả tính toán hay các thao tác mà máy tính thực hiện được là chính xác.  Tính rõ ràng: Thuật toán phải được thể hiện bằng các câu lệnh minh bạch; các câu lệnh được sắp xếp theo thứ tự nhất định.  Tính khách quan: Một thuật toán dù được viết bởi nhiều người trên nhiều máy tính vẫn phải cho kết quả như nhau.  Tính phổ dụng: Thuật toán không chỉ áp dụng cho một bài toán nhất định mà có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau.  Tính kết thúc: Thuật toán phải gồm một số hữu hạn các bước tính toán. 5
  6. Biểu diễn thuật toán  Có hai cách chính để biểu diễn thuật toán bằng ngôn ngữ:  Ngôn ngữ của con người (mã giả)  Ưu điểm: diễn đạt dễ dàng và tự nhiên  Nhược điểm: lỏng lẻo, khó chính xác  Ngôn ngữ lập trình  Qui định cấu trúc và ngữ nghĩa một cách chặt chẽ  Thuật toán được diễn đạt bằng ngôn ngữ lập trình hoặc ngôn ngữ máy gọi là chương trình 6
  7. Các ví dụ về mã giả  Thuật toán: Tính bình phương của một số 1.Nhập giá trị cho x 2.Tính giá trị x*x và gán cho s 3.Trả về giá trị s  Thuật toán: Tăng lương hiện tại lên 5% 1.Nhập giá trị cho lương_cũ 2.Tính giá trị lương_cũ*1.05 và gán cho lương_mới 3.Trả về giá trị lương_mới 7
  8. Các ví dụ về mã giả  Thuật toán: Nhân hai số không âm (Giả sử ngôn ngữ lập trình không định nghĩa phép nhân) 1. Nhập giá trị cho hai số nhân m và n. 2. Đặt tích = 0. 3. Đặt đếm = 0. 4. WHILE đếm < m, 5. Đặt tích bằng tích cộng n. 6. Tăng giá trị của đếm lên 1. 7. END WHILE 8. Trả về tích 8
  9. Bài tập  Sử dụng mã giả để biểu diễn thuật toán giải các bài toán sau: 1,Cho 2 số nguyên a, b bất kỳ. Tìm thương của hai số nếu b khác 0, trong trường hợp b=0 kết luận không tồn tại thương 2,Biết a, b là độ dài hai cạnh hình chữ nhật, tính chu vi và diện tích của hình chữ nhật 3,Cho ba hệ số a, b, c giải và biện luận phương trình bậc hai ax2 + bx + c =0 9
  10. Thiết lập môi trường C++  Tải phần mềm miễn phí TextPad và Borland C++ Builder Compiler 5.5 tại:   hoặc:   Các file được tải về có thể là txpeng510.exe và freecommandLinetools.exe  Tiến hành cài đặt các file này trên máy tính 10
  11. Thiết lập môi trường C++ - Chạy chương trình TextPad - Mở hộp thoai Preferences trong thực đơn Configure 11
  12. Thiết lập môi trường C++ - Chọn mục Tools trong cây danh mục bên trái - Kích vào nút Add, rồi chọn Program để thêm vào hai mục mới là Bcc32 và Run c++ (Lưu ý: để thêm được 2 mục này cần tạo trước 2 tệp có tên như vậy, sau đó lần lượt lựa chọn để thêm chúng vào) - Kích vào nút Apply để xác nhận 12
  13. Thiết lập môi trường C++ Trong mục Tools, chọn mục Bcc32 và thiết lập các tham số như sau: - Command: C:\Borland\BCC55\Bin\bcc32.exe - Parameters: -P -LC:\Borland\BCC55\Lib -IC:\Borland\BCC55\Include -n$FileDir $File - Initial Folder: C:\Borland\BCC55\Bin 13
  14. Thiết lập môi trường C++ Trong mục Tools, chọn mục Run c++ và thiết lập các tham số như sau: - Command: $BaseName.exe - Parameters: $File - Initial Folder: $FileDir Lưu ý: Không chọn các tùy chọn Capture output và Run Minimized 14
  15. Thiết lập môi trường C++ - Soạn thảo ví dụ đơn giản sau trong Textpad - Lưu và đặt tên cho ví dụ - Ấn Ctrl + 1 để biên dịch, ấn Ctrl + 2 để chạy 15
  16. Sơ đồ quá trình lập trình 16
  17. Các thành phần cơ bản cuả C++  Tập kí tự của C++  Từ khóa  Tên (định danh)  Cấu trúc một chương trình C++  Kiểu dữ liệu  Biến  Hằng  Các toán tử  Biểu thức  Câu lệnh  Một số hàm toán học 17
  18. Tập ký tự của C++  Các chữ cái la tinh: a z và A Z  Dấu gạch dưới: _  Các chữ số thập phân: 0, 1, . ., 9  Các ký hiệu toán học: +, -, *, /, % , &, ||, !, >, <, =  Các ký hiệu đặc biệt khác: . , ; : [] {} # $, dấu cách, 18
  19. Từ khóa  Từ khoá là từ được qui định trước trong NNLT, mỗi từ có một ý nghĩa nhất định  Thường dùng để chỉ các loại dữ liệu hoặc kết hợp thành câu lệnh  Một số từ khóa thường gặp: auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while 19
  20. Tên (định danh)  Tên đúng là một dãy liên tiếp các chữ cái, chữ số và dấu gạch dưới (không chứa dấu cách)  Phải bắt đầu bằng chữ cái hoặc dấu gạch dưới  Không được trùng với từ khóa  Chiều dài của tên không bị giới hạn  Phân biệt chữ hoa và chữ thường Ví dụ:  Các tên đúng: i, i1, j, delta, PT_Bac_2  Các tên sai: Bai tap, 3abc, case  Các tên sau đây là khác nhau: ha_noi, Ha_noi, HA_NOI 20
  21. Cấu trúc một chương trình C++ //chuong trinh C++ dau tien #include using namespace std; int main( ) { cout đảm bảo rằng chương trình có thể sử dụng các định nghĩa trong thư viện vào ra chuẩn 21
  22. Cấu trúc một chương trình C++  using namespace std; khai báo sử dụng không gian tên std, định danh cout được định nghĩa trong không gian tên này  int main() điểm bắt đầu quá trình thực hiện của các chương trình C++, tất cả các chương trình C++ đều có một hàm main  cout << "Xin chao"; đây là một câu lệnh C++, làm nhiệm vụ in ra dòng chữ Xin chao  return 0; Kết thúc hàm main, trả về giá trị 0 cho hệ điều hành  Các câu lệnh trong C++ phải kết thúc bằng dấu chấm phẩy 22
  23. Kiểu dữ liệu 23
  24. Biến  Biến là một phần của bộ nhớ được dành để lưu trữ một giá trị xác định  Giá trị của biến có thể thay đổi trong quá trình làm việc  Cách khai báo biến: kiểu_dữ_liệu tên_biến;  Ví dụ  int a;  double mynumber; 24
  25. Làm việc với biến 25
  26. Khởi tạo giá trị cho biến 26
  27. Hằng  Hằng là một giá trị cố định nào đó  Hằng thông thường được sử dụng để gán trị cho biến hoặc để biểu diễn thông điệp chúng ta muốn in ra Ví dụ:  Hằng nguyên: 1776, 707, -273  Hằng thực: 3.14159, 6.02e23, 1.6e-19  Hằng kí tự và xâu kí tự: 'z', 'p', “Xin chao“  Hằng logic: true, false 27
  28. Một số hằng kí tự đặc biệt 28
  29. Khai báo hằng  Đôi khi sẽ thuận lợi hơn nếu ta đặt tên cho một hằng được sử dụng nhiều lần trong chương trình  Cách khai báo hằng: #define tên_hằng giá_trị_hằng hoặc: const kiểu_dữ_liệu tên_hằng = giá_trị_hằng ;  Ví dụ:  #define PI 3.14159265  #define NEWLINE '\n‘  const int sosv = 50 ; 29
  30. Khai báo và sử dụng hằng 30