Bài 1: Giới thiệu ngôn ngữ C

35 328 0
Bài 1: Giới thiệu ngôn ngữ C

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 01 MÁY TÍNH VÀ LẬP TRÌNH Lê Thành Sách Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Nội dung n n n n Tổ chức máy tính Ngôn ngữ lập trình Các công việc lập trình Dữ liệu giải thuật Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Máy tính gì? n n n Máy tính thiết bị có khả thực tính toán định Máy tính xử lý liệu chuỗi lệnh gọi chương trình máy tinh Hiện nay, máy tính có mặt nhiều thiết bị với bề khác nhau, như, xe hơi, đồng hồ, điện thoại, máy tính phổ thông, v.v Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Phần cứng phần mềm n n Hai thành phần máy tính là: phần cứng (Hardware) phần mềm (Software) Phần cứng: n n n Có tổ chức nói slides Thiết bị điển hình: bàn phím (keyboard), hình (screen), v.v Phần mềm: n n Hệ điều hành (Operating System) n Là hệ thống điều khiển phần cứng làm trung gian phần cứng chương trình máy tính khác chạy máy tính Chương trình máy tính (Computer Program) n Gồm chuỗi lệnh để tính toán, xử lý liệu cho kết hay định Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Thành phần máy tính Thiết bị nhập & Input Unit n n Đây thiết bị giúp máy tính lấy liệu từ người dùng Các thiết bị điển hình: n Keyboard, mouse, barcode reader, v.v n Camera: ngày người dùng đứng trước camera để tương tác cử họ Thiết bị xuất & Output Unit n n Đây thiết bị giúp máy tính trình bày kết với người dùng hay điều khiển thiết bị khác Các thiết bị điển hình: n screen, printer, v.v Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Thành phần máy tính Bộ nhớ & Memory Unit n n Đây thiết bị giúp máy tính lưu trữ thông tin tạm thời trình tính toán Các thiết bị điển hình: n RAM (random access memory) Bộ toán học logic & Arithmetic and Logic Unit (ALU) n Đây thiết bị giúp máy tính thực tính toán toán học định logic Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Thành phần máy tính Bộ xử lý trung tâm & Central Processing Unit (CPU) n Đây thiết bị giúp máy tính giám sát phối hợp đơn vị khác máy tính Bộ nhớ thứ cấp – Secondary Storage Unit n n Đây thiết bị giúp máy tính lưu trữ lượng lớn liệu lâu dài Các thiết bị điển hình: Đĩa cứng (HDD), SSD Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Tổ chức máy tính Thành phần máy tính Để điều khiển thiết bị phần cứng hình bên, cần chương trình máy tính Để tạo chương trình máy tính, cần ngôn ngữ lập trình Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Ngôn ngữ lập trình Tổng quan n Ngôn ngữ lập trình (Programming language) n n n Là ngôn ngữ hình thức (formal language), khác với ngôn ngữ tự nhiên (natural language), ngôn ngữ lập trình C học chương trình Mục đích: cho phép người (lập trình viên) tạo chương trình máy tính Ba kiểu ngôn ngữ lập trình Ngôn ngữ máy (Machine Language) Ngôn ngữ Assembly (Hợp ngữ, Assembly Language) Ngôn ngữ cấp cao (High-level Language) Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ Ngôn ngữ lập trình Các loại n Ngôn ngữ máy n n n n Là chuỗi số, đặc tả lệnh máy tính Phụ thuộc phần cứng Mỗi kiểu máy có tập lệnh riêng Ngày nay, khó lệnh trực tiếp kiểu cho chương trình thực tế lớn Chuỗi lệnh sinh tự động từ chuyển ngữ (compiler, nói sau) từ ngôn ngữ cấp cao Ví dụ: +1300042774 +1400593419 +1200274027 Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 10 Dữ liệu giải thuật Giải thuật n Giải thuật gì? n n Là bước để giải toán Bằng cách mô tả giải thuật n n n Dùng mã giả (pseudocode) Dùng sơ đồ (flowchart) n Mục tiêu: tương tự mã giả Nhưng sơ đồ dể đọc cho người không quen lập trình Dùng mã lập trình n Mục tiêu: Mã viết ngôn ngữ lập trình C, trao đổi người có chuyên môn với Mục tiêu mã để chuyển ngữ dễ dàng có chương trình thực thi n Không nên dùng mã để trình cho đối tượng người dùng phổ thông Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 21 Dữ liệu giải thuật Giải thuật - pseudocode Pseudocode = English/Vietnamese Cú pháp không chặt chẽ Để hổ trợ việc dễ đọc Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 + Code Lệnh điều khiển thực thi Tuần tự Rẽ nhánh Lặp Lập trình C/C++ 22 Dữ liệu giải thuật Giải thuật - pseudocode Phần đầu giải thuật Phần thân giải thuật Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 23 Dữ liệu giải thuật Giải thuật - pseudocode n Phần đầu giải thuật n n n n n n Tên giải thuật Thông số kiểu Mục đích giải thuật Điều kiện cần thỏa trước giải thuật thực thi Điều kiện cần thỏa sau giải thuật thực thi Giá trị trả Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 n Phần thân giải thuật n n n n n Các phát biểu Chỉ số phát biểu Các biến Chú thích Các cấu trúc điều khiển Lập trình C/C++ 24 Dữ liệu giải thuật Giải thuật – pseudocode, ví dụ Algorithm average( N is integer) Preconsition: N lớn hay Postcondition: số đọc giá trị trung bình chúng in hình sum = for i = to N number = read from keyboard a value sum = sum + number end-for averaged = sum / N print averaged to screen return End average Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 25 Dữ liệu giải thuật Giải thuật – flowchart n Flowchar biểu diễn hình bản, chúng có ý nghĩa quy định trước Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 26 Dữ liệu giải thuật Giải thuật – flowchart, phần tử n Terminal n n Input/output n n Nhập xuất liệu chương trình Flow line n n n Điểm đầu hay cuối Mô tả dòng điều khiển chương trình Sự thực thi theo đường Decision n n Cho phép kiểm tra điều kiện Biểu thức luận lý dùng Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 27 Dữ liệu giải thuật Giải thuật – flowchart, phần tử n Process n n Predefined process n n Điểm tập kết dòng điều khiển (flow line) từ trang khác Preparation n n Điểm tập kết dòng điều khiển (flow line) flowchart Off-page connector n n Khối xử lý tạo sẵn (thư viện), mô tả flowchart khác On-page connector n n Khối xử lý công việc Các bước chuẩn bị, thiết lập điều kiện đầu Annotation n Giải thích Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 28 Dữ liệu giải thuật Giải thuật – flowchart, cấu trúc tiêu biểu false true Cấu trúc if Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 29 Dữ liệu giải thuật Giải thuật – flowchart, cấu trúc tiêu biểu false true Cấu trúc if-else Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 30 Dữ liệu giải thuật Giải thuật – flowchart, cấu trúc tiêu biểu false true false true false true Cấu trúc switch-case Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 31 Dữ liệu giải thuật Giải thuật – flowchart, cấu trúc tiêu biểu false true Cấu trúc for Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 32 Dữ liệu giải thuật Giải thuật – flowchart, cấu trúc tiêu biểu false true true false Cấu trúc while Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Cấu trúc while Lập trình C/C++ 33 Dữ liệu giải thuật Giải thuật – flowchart, toán đơn giản Bài toán gì? Đặc điểm kết nối? Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 34 Dữ liệu giải thuật Giải thuật – flowchart, toán đơn giản Hãy phân rã toán Trường Đại Học Bách Khoa Trung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 35

Ngày đăng: 29/03/2017, 17:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan