... );
postorder( node.rightNode );
System.out.print( node.data + " " );
}
}
1
Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
19
Sử dụng Stack
public ... theo kiểu LIFO (Last
In First Out), phần tử vào sau cùng sẽ
được lấy ra trước.
•
Hai thao tác cơbản trên Stack
•
Chèn phần tử: Luôn chèn vào đỉnh Stack
(push)
•
Lấy ra phần tử: Luôn lấy ra ... System.out.println(names);
}
}
43
Giao tiếp Map
•
Giao tiếp Map cung cấp các thao tác xử lý
trên các bảng ánh xạ (Bảng ánh xạ lưu các
phần tử theo khoá và không được có 2 khoá
trùng nhau).
•
Một số phương...
... Láûp trçnh Pascal càn bn —
–
19
—
Trang 19
Begin
Writeln(Lst,’ Welcome to Turbo Pascal Language ! ‘ );
End.
1
Kãút qu: Khi chảy mạy in ra giáúy cáu
Welcome to Turbo Pascal Language ... GotoXY(x + 2, y);
Write( PASCAL ); { In tu cot 22 dong 3 }
GotoXY(x - 2, y + 2);
Write( BAN HAY DEN VOI ); { In tu cot 18 dong 5 }
GotoXY(x, y + 3);
Write( TURBO PASCAL ); { In tu cot ... to Turbo Pascal Language
sau
mọựi lỏửn ỏỳn mọỹt phờm. Chổồng trỗnh seợ thoaùt khi ỏỳn phờm
E
hoỷc
e
.
Uses CRT;
Label L1;
Var TL : Char;
Begin
L1: Writeln( Welcome to Turbo Pascal Language...
... tich=%0.2f,s);
getch();
}
U/$0&&9"P#(&#M"*O
VOWX"1X"$*!*
VOWX&X"$*!*
.&/&=O
>Y(C&ZZ
>/[@*#OK$\8]!K$\8]
§2. LẬPTRÌNH CẤU TRÚC VÀ LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG
2.1)Phương pháp lậptrình cấu trúc
>9?&N^:&#&89&*"*-
[@.&-)F!89&-_'&
-8
`2&2$&.;C2=!C-O
"C ... break;
getch();
}
t•
Chương trình sau gồm các hàm:
Nhập 1 ma trận thực cấp mxn
In 1 ma trận thực dưới dạnh bảng
Tìm phần tử lớn nhất và nhỏ nhất của dãy số thực
Chương trình sẽ nhập 1 ma trận, in ... bang:%0.2f,dmax);
printf(\n\n di qua 2 diem co chi so la %d va %d ,imax,jmax);
getch();
}
2.2)Phưong pháp lậptrình hướng đối tượngO
>p#C&)*L&&LR*""T8-.<L
";@&4*#=$4C!#8q&-.<L";?
2&5&R"T6&#*/!#&:R$T
*Q&#!/RrT8h2L0&A*
"*O
*""9k
s
tt@*##=$4C
tt@*##&:
uj
>#&:-.!R<$;&T/&Y/&RN*$LT
=0&A*L85R#!T&:&;&'o
1G"*Op<$;&2&5/&0&A*L&$Q&
=/=$&/L![$OYL/&:.vw&:
2LR<!N$F/$LT8
>bE$F&#=$4C&&:OD&:!#
=$4C2%&_L!!&:/x<EN#
=$4C...
... tiếng Blaise Pascal.
1. Các tập tin cần thiết khi lậptrình với Turbo Pascal
Để lậptrình được với Turbo Pascal, tối thiểu cần 2 file sau:
• TURBO.EXE: Dùng để soạn thảo và dịch chương trình.
• TURBO.TPL: ... họa.
2. Các bước cơbản khi lập một chương trình Pascal
Bước 1: Soạn thảo chương trình.
Bước 2: Dịch chương trình (nhấn phím F9), nếu có lỗi thì phải sửa lỗi.
Bước 3: Chạy chương trình (nhấn phím ... CỦA
NGÔN NGỮ LẬPTRÌNH PASCAL
Pascal là một ngôn ngữ lậptrình bậc cao do Niklaus Wirth, giáo sư điện toán trường
Đại học kỹ thuật Zurich (Thụy Sĩ) đề xuất năm 1970. Ông lấy tên Pascal để kỷ...
... đầu làm quen với công
việc lập trình, chúng tôi đã biên soạn bộ Giáo Trình Bài tập Pascal nhằm giúp cho
sinh viên có một tài liệu học tập, rèn luyện tốt khả năng lập trình, tạo nền tảng vững
chắc ... Begin
For j:=i DownTo 1 Do
49
Giáo trình bài tập Pascal
Chương 2
CÁC KIỂU DỮ LIỆU CƠ BẢN
KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC VÀ CÂU LỆNH
I. CÁC KIỂU DỮ LIỆU CƠ BẢN
1. Kiểu logic
- Từ khóa: BOOLEAN
- ... write(a[i,j]:4);
Writeln;
46
Giáo trình bài tập Pascal
Chương 4
CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM
I. KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON
Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay...
... Giáo trình bài tập Pascal
Chương 4
CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM
I. KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON
Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay ... trình chính}
THUTUC[( )];
A:= HAM[( )];
END.
27
Giáo trình bài tập Pascal
Bài tập 3.18: Viết chương trình in ra màn hình bảng cữu chương.
Gợi ý:
Dùng 2 vòng lặp FOR lồng nhau: i là số bảng ... Đưa khối văn bản đang chọn vào Clipboard
• Shift-Insert: Dán khối văn từ Clipboard xuống vị trí con trỏ.
6. Các thành phần cơbản của ngôn ngữ Pascal
6.1. Từ khóa
Từ khoá là các từ mà Pascal dành...
... 11
firstNode lastNode
(a)
5
new ListNode
12 11
firstNode lastNode
(b)
5
new ListNode
7
1
Lập trình Java cơ bản
Cao Đức Thông Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
50
Ví dụ 1: TreeSet
// This program sorts a set of names
import java.util.*;
public class TreeSetTest1
{
public static void main(String[] args)
{
SortedSet names = new TreeSet();
names.add(new String("Minh Tuan"));
names.add(new String("Hai Nam"));
names.add(new String("Anh Ngoc"));
names.add(new String("Trung Kien"));
names.add(new String("Quynh Chi"));
names.add(new String("Thu Hang"));
System.out.println(names);
}
}
31
Bài tập tại lớp
•
Bài 1: Dùng Stack để viết chương trình in ra
dạng nhị phân của một số nguyên dương cho
trước.
•
Bài 2: Cài đặt phương thức search trong lớp
Tree để tìm một phần tử có giá trị cho trước.
7
Cài đặt Linked List
// Dinh nghia mot node trong linked list ... nó có thể tung ra ngoại lệ
UnsupportedOperationException.
49
Mô tả các cài đặt
•
HashMap: Bảng băm (cài đặt của Map).
•
LinkedHashMap: Bảng băm kết hợp với linked list
nhằm đảm bảo thứ tự các phần tử (cài đặt của
Map).
•
TreeMap: Cây đỏ đen (cài đặt của Map).
17
Stack
•
Stack là một cấu trúc theo kiểu LIFO (Last In
First Out), phần tử vào sau cùng sẽ được lấy ra
trước.
•
Hai thao tác cơbản trên Stack
•
Chèn phần tử: Luôn chèn vào đỉnh Stack (push)
•
Lấy ra phần tử: Luôn lấy ra từ đỉnh Stack (pop)
11
Cài đặt Linked List
public boolean isEmpty()
{
return (firstNode == null);
}
public void print()
{
ListNode node = firstNode;
while (node != null)
{
... nó có thể tung ra ngoại lệ
UnsupportedOperationException.
49
Mô tả các cài đặt
•
HashMap: Bảng băm (cài đặt của Map).
•
LinkedHashMap: Bảng băm kết hợp với linked list
nhằm đảm bảo thứ tự các phần tử (cài đặt của
Map).
•
TreeMap: Cây đỏ đen (cài đặt của Map).
17
Stack
•
Stack là một cấu trúc theo kiểu LIFO (Last In
First Out), phần tử vào sau cùng sẽ được lấy ra
trước.
•
Hai thao tác cơbản trên Stack
•
Chèn phần tử: Luôn chèn vào đỉnh Stack (push)
•
Lấy ra phần tử: Luôn lấy ra từ đỉnh Stack (pop)
11
Cài đặt Linked List
public boolean isEmpty()
{
return (firstNode == null);
}
public void print()
{
ListNode node = firstNode;
while (node != null)
{
...
... ra. Chương trình
dừng lại ngay lập tức, toàn bộ phần
mã phía sau sẽ không được thực thi.
•
Java hỗ trợ cách thức để xử lý ngoại lệ
(exception handling) tuỳ theo nhu cầu
của chương trình.
30
Ném ... nên sử dụng ngoại lệ thay cho các
luồng điều khiển trong chương trình.
• Ví dụ: Kiểm tra delta trong chương trình giải
phương trình bậc 2.
•
Nên thiết kế và sử dụng ngoại lệ một
cách thống ... gặp lỗi. Sau đó chương trình kết
thúc.
18
Một số lớp ngoại lệ
•
Lớp Throwable
•
Có một biến String để lưu thông tin chi tiết
về ngoại lệ đã xảy ra
•
Một số phương thức cơ bản
•
Throwable(String...
... các thực thể
• Dễ phát triển, mở rộng
chương trình
Object A
Object C
Object B
Object D
3
Các phương pháp lập trình
•
Step-by-Step Programming
• Lậptrình từng bước
•
Machine Language, Assembly ... (implements) một hay
nhiều giao tiếp nhưng chỉ có thể thừa kế
(extends) từ một lớp.
1
Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn
23
Ví dụ về kế ... thức
fly(). Cài đặt giao diện này trong lớp
Sparrow.
5
Các phương pháp lập trình
•
Object-Oriented
Programming
•
Chương trình bao gồm
các đối tượng. Các đối
tượng tương tác với
nhau thông...
... Java được sử dụng để phát triển nhiều
loại ứng dụng khác nhau: cơ sở dữ liệu, mạng,
Internet, viễn thông
1
Lập trình Java cơ bản
Cao Đức Thông - Trần Minh Tuấn
cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn ... dụng Java
•
Application: Ứng dụng độc lập
•
Applet: Ứng dụng chạy trên Web
•
Thư viện lớp Java
•
Bộ JDK bao gồm rất nhiều lớp chuẩn đã
được xây dựng sẵn.
•
Lập trình viên thường sử dụng các lớp ... tmtuan@ifi.edu.vn
6
Kiến trúc của Java
•
Java Development Kit – JDK
•
Bộ công cụ phát triển Java (jdk) gồm
trình biên dịch, thông dịch, trợ giúp, soạn
tài liệu… và các thư viện chuẩn
•
Ngoài ra còn một...