Tải bản đầy đủ (.ppt) (55 trang)

Nguyên lý các ngôn ngữ lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (515.19 KB, 55 trang )

Nguyên lý các ngôn ngữ lập trình
 Mục tiêu môn học:
– Giúp sinh viên nắm được một cách khái quát các vấn đề liên quan đến
ngôn ngữ lập trình.
– Sử dụng ngôn ngữ lập trình một cách dễ dàng và hiệu quả hơn
– Chọn được ngôn ngữ lập trình thích hợp để giải quyết các vấn đề lập
trình
– Học ngôn ngữ lập trình mới dễ dàng hơn
– Hiểu các nhiệm vụ cơ bản của trình biên dịch
– Hiểu làm thế nào để thiết kế được một ngôn ngữ lập trình
– Nắm được khái quát về các họ ngôn ngữ lập trình thông dụng: lập trình
hướng đối tượng, lập trình lôgic, lập trình hàm
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
1
SPHN


Nội dung
 Chương
trình
 Chương
trình
 Chương
 Chương
 Chương
 Chương
 Chương

1: Tổng quan về ngôn ngữ lập
2: Đặc tả hình thức ngôn ngữ lập
3:


4:
5:
6:
7:

Các dữ liệu chương trình
Cấu trúc điều khiển
Lập trình hướng đối tượng
Lập trình lôgic
Lập trình hàm

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
2
SPHN


Đánh giá
 Bài tập lớn: 30%
 Kiểm tra cuối kỳ: 70%

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
3
SPHN


Chương 1
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
4

SPHN


NỘI DUNG
 Khái niệm ngôn ngữ lập trình
 Tại sao phải nghiên cứu về ngôn ngữ lập
trình
 Lịch sử phát triển ngôn ngữ lập trình
 Phân loại ngôn ngữ lập trình
 Các yêu cầu đối với ngôn ngữ lập trình
 Các thành tố của ngôn ngữ lập trình

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
5
SPHN


1.1. Khái niệm ngôn ngữ lập trình
 Định nghĩa Loud (1994): Ngôn ngữ lập trình là một hệ
thống được ký hiệu hóa để miêu tả những tính toán
(qua máy tính) trong một dạng mà cả con người và
máy tính đều có thể đọc và hiểu được.
Ngôn ngữ lập trình = Ký hiệu + quy tắc kết hợp
 Cú pháp: sự kết hợp của các ký hiệu (dạng của biểu
thức, các phát biểu, các đơn vị nhỏ trong chương
trình)
 Ngữ nghĩa: ý nghĩa của các sự kết hợp
 Ngữ dụng: mối quan hệ của cú pháp, ngữ nghĩa với
thế giới bên ngoài
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH

6
SPHN


Ví dụ về cú pháp, ngữ nghĩa, ngữ dụng
 VD 1:
BT1 = 4

BT2 = 1 + 3

BT3 = 1 + 1 + 1 +1

 VD 2: vòng lặp WHILE và REPEAT trong
Pascal
 VD 3: Việc một ngôn ngữ lập trình thích
hợp hoặc không thích hợp với lĩnh vực áp
dụng này hoặc lĩnh vực áp dụng kia thuộc
vấn đề ngữ dụng
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
7
SPHN


1.2. Tại sao phải nghiên cứu về ngôn ngữ lập trình?

 Ngôn ngữ lập trình là cần thiết đối với
người lập trình.
– Tại sao không dùng ngôn ngữ tự nhiên để lập trình?
– Tại sao không dùng ngôn ngữ máy để lập trình?


 Một ngôn ngữ lập trình không chỉ là
phương tiện giao tiếp giữa người và máy,
mà còn là phương tiện giao tiếp giữa người
với người.
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
8
SPHN


Tại sao phải nghiên cứu về ngôn ngữ lập trình?

 Có rất nhiều ngôn ngữ lập trình khác nhau. Mỗi
ngôn ngữ có những đặc trưng, sức mạnh và ưu
điểm riêng.
 Lý thuyết cơ bản của ngôn ngữ lập trình giúp
cho việc đọc và hiểu chương trình dễ dàng hơn.
 Nắm được nguyên lý của các ngôn ngữ lập
trình giúp ích cho việc học nhiều môn học
khác.
…
Nguyễn Thị Hạnh stem.Console.Write("Hello World!");
}
}

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
37
SPHN


HTML

<HTML>
<HEAD>
<TITLE>Hello, World Page!</TITLE>
</HEAD>
<BODY>
Hello, World!
</BODY>
</HTML>

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
38
SPHN


Java
class HelloWorld {
public static void main (String args[]) {
for (;;) {
System.out.print("Hello World ");
}
}
}

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
39
SPHN


Javascript
<TITLE>

Hello World in JavaScript
</TITLE>
<SCRIPT>
document.write ("Hello, world!")
</SCRIPT>

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
40
SPHN


LATEX
\documentclass{article}
\begin{document}
\begin{center}
\Huge{HELLO WORLD}
\end{center}
\end{document}

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
41
SPHN


Lisp
(DEFUN HELLO-WORLD ()
(PRINT (LIST 'HELLO 'WORLD)))
(LOOP (FORMAT T "~%Hello World"))
(while t
(message "Hello World")

(message "") ; force emacs to update
the display
)
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
42
SPHN


Prolog
hello :printstring("HELLO WORLD!!!!").
printstring([ ]).
printstring([H|T]) :- put(H), printstring(T).

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
43
SPHN


Smalltalk
Transcript show: 'Hello World‘.

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
44
SPHN


Visual Basic
Private Sub FOrm_Load()
Static I
I=1

for I = 1 to 10
msgbox "Hello World"
Next I
end sub

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
45
SPHN


Visual C++
////////////////////////////////////////////////////////////////////////////
/
// CHelloDlg dialog
CHelloDlg::CHelloDlg(CWnd* pParent /*=NULL*/)
: CDialog(CHelloDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CHelloDlg)
// NOTE: the ClassWizard will add
member initialization here
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()>LoadIcon(IDR_MAINFRAME);
}
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
46
SPHN


SQL
CREATE TABLE HELLO (HELLO CHAR(12))

UPDATE HELLO
SET HELLO = 'HELLO WORLD!'
SELECT * FROM HELLO

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
47
SPHN


SQL
CREATE TABLE HELLO (HELLO CHAR(12))
UPDATE HELLO
SET HELLO = 'HELLO WORLD!'
SELECT * FROM HELLO

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
48
SPHN


Word Macro
Sub MAIN
FileNewDefault
Insert "Hello World!"
FormatParagraph .Alignment = 1
While (1 = 1)
For count = 1 To CountFonts()
EditSelectAll
Font(Font$(count)), 40
Next

Wend
End Sub
Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
49
SPHN


Dos Batch File
@echo off
:top
echo "Hello, World!"
goto top

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
50
SPHN


PHP
echo "<html>
<head>
<title>Hello World Page</title>
</head>
<body>
Hello World!
</body>
</html>"
?>


Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
51
SPHN


Người lập trình viên đầu tiên

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
52
SPHN


Jogn Mauchly

Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH
53
SPHN


×