Professional Documents
Culture Documents
Pascal
Pascal
Sqr (x) 𝑥2
Sqrt (x) √𝑥
Abs (x) 𝑥
Tên Ý nghĩa
Ord (x) Cho STT của kí tự x trong bảng mã ASCII
Chr (x) hoặc #x Cho kí tự ứng với STT x trong bảng mã ASCII
BÀI TẬP
1/ Nhập giá trị x là số thực, tính
𝒙𝟐 + 𝒙 + 𝟓
𝑷=
√𝒙𝟐 + 𝟏
2/ Nhập x, y là số thực tính
𝟐𝒙 − 𝒚 𝟏
𝑷 = (𝒙 − 𝒚)𝟐 + 𝟑(𝒙 − 𝒚)𝟑 + +
𝟓−𝒙 𝒚+𝟑
GIẢI BÀI TOÁN BẰNG MÁY TÍNH
1/Thuật toán:
- Là 1 dãy các thao tác theo trình tự nhất định để cuối cùng giải quyết 1 yêu cầu cụ thể nào đó
2/ Sơ đồ khối:
VD1: Lập SĐK thuật toán giải BT “Cho 2 số A, B. Hãy chuyển giá trị của A cho B và B
cho A.
BEGIN
A,B
A,B
END
CẤU TRÚC ĐIỀU KIỆN
1/ Cấu trúc rẽ nhánh đầy đủ:
Cú pháp: If <điều kiện> then <lệnh A> else <lệnh B>;
BÀI TẬP
1/ Nhập vào 2 số nguyên A và B. Hãy in ra số lớn nhất.
2/ Nhập vào 3 số nguyên A, B và C. Hãy in ra số lớn nhất.
BTVN
1/ Nhập vào 2 số nguyên A, B. In ra số lớn nhất và số nhỏ nhất
INPUT OUTPUT
10 -15 Max=10; Min=-15
2/ Nhập vào 3 số thực A, B, C. Kiểm tra xem 3 số đó có tạo thành 3 cạnh của 1 tam giác 0?
3/ Nhập vào số nguyên N. Kiểm tra xem N là số chẵn hay số lẻ.
4/ Nhập 1 số nguyên dương N. Kiểm tra xem N có là số chính phương không
2/ Cấu trúc rẽ nhánh khuyết:
Cú pháp: If <điều kiện> then <lệnh A>;
BT:
1/ Nhập vào 3 số A, B, C. Kiểm tra 3 số có tạo thành 3 cạnh của 1 tam giác cân không?
2/ Tiền cước taxi được tính như sau
1km đầu: 15000đ/km
Từ km thứ 2 đến km thứ 5: 10000đ/km
Từ km thứ 6 trở đi: 8000đ/km
Nhập vào số km của 1 khách đi taxi, hãy tính xem khách trả bao nhiêu tiền.
BTVN:
1/ Nhập vào 3 số A,B,C. Kiểm tra xem nó có tạo thành 3 cạnh của 1 tam giác vuông, cân hay
đều không?
2/ Nhập vào giờ, phút, giây hiện tại. In ra giờ phút giây của 1 giây sau
3/Tính tiền điện 1 hộ khi cho biết chỉ số điện kế tháng này và chỉ số điện kế tháng trước. Từ
đó tính ra KW tiêu thụ. Tiền điện được tính như sau:
- Từ KW <= 60: 1000đ/KW
- Từ 61-120 KW: 1200đ/KW
- Từ 121-300 KW: 2000đ/KW
- >300: 4000đ/KW
4/ Nhập vào ĐTB. In ra xếp loại biết xếp loại học lực căn cứ vào ĐTB, như sau:
ĐTB>=8 : Giỏi
6.5<=ĐTB<=8 : Khá
5<=ĐTB<=6.5 : TB
ĐTB<5: Yếu
CÂU LỆNH LẶP
1/ Lệnh lặp số lần xác định-FOR:
a/ Đếm tiến:
Cú pháp: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <lệnh A>
VD: For x:=1 to 5 do S:=S+x
Các thực hiện: Lúc đầu máy cho <biến đếm>:=<giá trị đầu>, sau đó kiểm tra xem biến
đếm có vượt quá <giá trị cuối> chưa. Nếu chưa thì làm <lệnh A> và tăng biến đếm lên 1
đơn vị. Sau đó quay lại từ đầu, và cứ tiếp tục như thế cho đến khi <biến đếm> lơn
hơn<giá trị cuối> rồi thoát.
BT:
1/ Một người gởi A đồng vào ngân hàng với lãi suất x trong N tháng. Tính số tiền sau N
tháng.
2/ Tính tổng S=1+2+3+…+N với N nhập từ bàn phím
3/ Nhập vào số nguyên N. Đếm xem N có bao nhiêu ước.
VD: Tính tổng S=1+2+3+…+N với N nhập từ bàn phím
Giải:
Program Tinh_tong;
Uses crt;
Var i, N: Integer;
S: longint;
Begin
ClrScr; {Xóa màn hình};
Write (‘Nhap N= ‘); readln (N); {khai báo giá trị N};
S:=0;
For i:=1 to N do S:=S+i; {Với các giá trị của i từ 1 đến N, cộng I vào tổng S}
Writeln (S);
Readln;
End.
BTVN:
1/ Tính tổng S=1+3+5+7+…+(2n+1) với n nhập từ bàn phím
INPUT OUTPUT
6 49
2/ Tính tích: P=2*4*6*…*(2n) với n nhập từ bàn phím
INPUT OUTPUT
4 384
3/ 1 người cứ đầu tháng gửi vào ngân hàng 1 số tiền B với lãi suất x. Hỏi sau n tháng
người đó nhận được số tiền bao nhiêu.
Yêu cầu: Nhập vào số tiền B, lãi suất x, số tháng n. In ra số tiền sau n tháng
INPUT OUTPUT
B=200000
n=11 2322437
x=0.009
THUẬT TOÁN
1/ Bài toán và thuật toán:
- Thuật toán là 1 dãy các thao tác hữu hạn theo 1 trình tự nhất định để cho ra 1 kết quả.
Trong tin học, thuật toán là 1 dãy hữu hạn các trình tự thực hiện sao cho với 1 bộ input ta
nhận được 1 bộ output.
*Ví dụ về thuật toán:
Cho n viên bi có kích thước và hình dạng như nhau. Tất cả các viên bi có trọng lượng
bằng nhau ngoại trừ 1 viên bi nhẹ hơn.
Với 1 cân đĩa và số lần cân ít nhất, hãy tìm viên bi nhẹ hơn.
VÒNG LẶP WHILE
1/ Cú pháp:
While <ĐK> do <lệnh A>;
ĐK: biểu thức kiểu boolean;
Lệnh A: Nếu nhiều lệnh dùng begin-end.
2/Ví dụ:
1. Tính tổng: S=1+3+5+…+(2n-1) với n nhập từ bàn phím
Giải:
Program Thu;
Uses crt;
Var n, I, S: longint;
Begin
ClrScr;
Write (‘Nhap n= ‘); readln (N);
S:=0; i:=0;
While i<N do
Begin
i:=i+1;
S:=S+2*i-1;
End;
Write (‘S= ‘, S);
Readln;
2. Nhập vào số nguyên dương N, kiểm tra xem N có phải số nguyên tố không
Giải:
Program SNT;
Uses crt;
Var N,i:longint;
Begin
ClrScr;
Write (‘Nhap N= ‘); readln (N);
i:=2;
While N mod I <>0 do i:=i+1;
If i=N write (‘Yes’) else write (‘No’); readln;
End.
3. Nhập vào số nguyên dương N. In ra tất cả các chữ số của N, mỗi chữ số trên 1 hàng.
Input Output
5
5 6
3
BTVN: 5,6,8,9/Đề
LỆNH REPEAT UNTIL
1. Cấu trúc:
* Cú pháp: Repeat
<các lệnh>;
…………..;
Until <điều kiện>;
* Cách 2:
N, i: Integer;
Begin
ClrScr;
Write (‘Nhap so luong hoc sinh cua lop: ‘); readln (N);
For i:=1 to n do
Begin
Write (‘Nhap diem hoc sinh thu ‘,i,’ ‘);
Readln (D[i]);
End;
BT2. Nhập vào điểm Toán của N học sinh và in ra HS có điểm toán cao nhất
BT4. Nhập vào 1 dãy số nguyên N phần tử. Đếm xem trong dãy có bao nhiêu số
chính phương.
INPUT OUTPUT
5 1
(2 15 4 19 51)
BT4. Nhập vào 1 dãy số nguyên N phần tử. Hãy đưa ra màn hình các số nguyên tố có
trong dãy.
INPUT OUTPUT
5 2 19
(2 15 4 19 51)