Top Banner
Lập trình và ngôn ngữ lập trình
28

ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Aug 29, 2019

Download

Documents

phungdieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Lập trình và ngôn ngữ lập trình

Page 2: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Nội dung● Thế nào là lập trình● Ngôn ngữ lập trình● Ngôn ngữ C và C++● Xây dựng một chương trình đơn giản

Page 3: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Lập trình (programming)● Các thao tác xây dựng chương trình máy

tính○ Giải quyết vấn đề bằng máy tính○ Thông qua ngôn ngữ lập trình

● Còn gọi là “viết mã” (coding)

Page 4: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Giải quyết vấn đề bằng máy tính● Xác định mục đích của bài toán● Thiết kế cấu trúc dữ liệu và giải thuật

○ Program = Data Structure + Algorithm (N. Wirth)● Thể hiện bằng một NNLT cụ thể● Thực thi & Kiểm tra & Hiệu chỉnh● Viết tài liệu sử dụng và bàn giao

Page 5: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Các bước phát triển chương trình● Soạn thảo mã nguồn (source code)● Biên dịch mã nguồn thành tệp đối tượng

(object file)● Liên kết các tệp đối tượng thành tệp thực thi

(executable file)● Thực hiện / chạy chương trình

Page 6: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Ngôn ngữ lập trình● Ngôn ngữ máy

○ Dạng mã nhị phân 0-1, đặc thù theo từng dòng máy● Hợp ngữ

○ Ngôn ngữ máy ở dạng ký hiệu● Ngôn ngữ bậc cao

○ Thường độc lập với máy○ Có thể biểu diễn chương trình gần như lời nói

Page 7: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Thông dịch● Khi thực hiện chương trình mới được dịch● Có nhiều cấu trúc lệnh trừu tượng● An toàn, khả chuyển● Hiệu năng thấp

Page 8: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Biên dịch● Dịch chương trình sang mã máy trước khi

chạy● Chỉ cần tệp thực thi để chạy chương trình● Hiệu năng cao

Page 9: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Các bước chạy chương trình● Biên dịch (compile): chuyển mã nguồn sang

tệp đối tượng (object file)● Liên kết (link): kết nối các tệp đối tượng và

thư viện thành tệp thực thi

Page 10: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Lịch sử ngôn ngữ lập trình

Page 11: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Ngôn ngữ C● D. Ritchie phát triển tại Bell Labs (1972)

○ dựa trên ngôn ngữ BCPL (Martin Richards -1967) và ngôn ngữ B (Ken Thompson – 1970)

○ được cài đặt lần đầu tiên trên hệ điều hành UNIX● Ngôn ngữ vạn năng (general-purpose)● Ngôn ngữ bậc cao, có cấu trúc● Có khả năng truy cập bộ nhớ ở mức thấp● Phù hợp cho phát triển các ứng dụng lớn, ứng dụng hệ

thống

Page 12: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Ngôn ngữ C● Ngôn ngữ rất “mạnh” và “mềm dẻo”● Có hệ thống thư viện (theo chuẩn ANSI/ISO)● Có nhiều thư viện khác (third party)● Hỗ trợ các phép toán kỹ thuật● Người mới học có thể thấy “rắc rối”

Page 13: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Ngôn ngữ C++● Ngôn ngữ C cộng với đối tượng● Hỗ trợ lập trình hướng đối tượng (object

oriented programming)● Có hệ thống thư viện mẫu chuẩn (Standard

Template Library - STL)

Page 14: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Các thành phần của ngôn ngữ● Bảng chữ cái

○ Tập các ký tự dùng để viết chương trình○ C/C++ phân biệt chữ hoa, chữ thường

● Từ khóa○ Các từ cơ bản của ngôn ngữ

● Cú pháp○ Cách viết các câu lệnh

● Ngữ nghĩa○ Ý nghĩa của các cấu trúc

Page 15: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Từ khóa trong Cauto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

Page 16: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

and const export namespace signed typename

and_eq const_cast extern new sizeof union

asm continue extern "C" not static unsigned

auto default false not_eq static_cast using

bitand #define float operator struct virtual

bitor delete for or switch void

bool do friend or_eq template volatile

break double goto private this void

case dynamic_cast if protected throw wchar_t

catch else inline public true while

char enum int register try xor

class exit() long reinterpret_cast typedef xor_eq

compl explicit mutable short typeid

C++

Page 17: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Ví dụ (hello.c)

Page 18: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 1: ● Chú thích tên file● Có thể đánh thông tin bất kì trong chú thích● Trình biên dịch sẽ không dịch chú thích

Page 19: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 3: ● Chỉ thị tiền xử lý ● Chèn toàn bộ tệp vào vị trí này

Page 20: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 5: ● Khai báo hàm có tên là ● Với C/C++, hàm là hàm chạy đầu tiên● Còn gọi là điểm vào (entry point)● Giá trị trả về là số nguyên ( )● Không có tham số

Page 21: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 6 và 9: ● Dấu : điểm bắt đầu khối lệnh● Dấu : điểm kết thúc khối lệnh● Khối lệnh ở đây là các lệnh của hàm

Page 22: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 7: ● Câu lệnh in 1 chuỗi ký tự● Dấu là ký hiệu kết thúc dòng, xuống dòng● Kết thúc câu lệnh bằng dấu

Page 23: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Phân tích ví dụDòng số 8: ● Kết thúc hàm main● Trả về giá trị số nguyên ( ) bằng

Page 24: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Biên dịch chương trình● Mở Command prompt

○ phím cửa sổ + R○ gõ cmd, gõ Enter

Page 25: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Biên dịch chương trình● Đặt đường dẫn PATH

○ gõ Enter

Page 26: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Biên dịch chương trình● Biên dịch

○ gõ Enter

Page 27: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Chạy chương trình● Chạy chương trình

○ gõ Enter

Page 28: ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Biên dịch và chạy trong IDEBuildRunThực hành