Professional Documents
Culture Documents
Ghi chú:
· Ðiều kiện trong cấu trúc lặp WHILE .. DO là một biểu thức logic kiểu Boolean chỉ có 2
giá trị là Ðúng (True) hoặc Sai (False)
· Nếu điều kiện Ðúng thì chương trình sẽ chạy trong cấu trúc WHILE .. DO.
· Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện. Tùy theo biểu thức logic của điều
kiện là Ðúng hay Sai thì chương trình sẽ thực hiện Công việc tương ứng.
· Nếu Sai thì chuyển xuống dưới cấu trúc WHILE .. DO
3. Ví dụ:
THỰC HÀNH
I. MỤC TIÊU
*Viết được chương trình có chứa vòng lặp WHILE .. DO
*Thay thế một chương trình có chứa FOR thành WHILE .. DO và ngược lại.
*Sửa một số lỗi thường gặp.
VI. CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
Bài 1: Viết chương trình nhập vào 1 số a. Nếu a không phải là số dương thì nhập lại, đến khi
nào là số dương thì dừng.
Program bai1;
Var a:Real;
Begin
Readln(a);
While a<0 do Readln(a);
Readln;
End.
Bài 2: Viết chương trình nhập vào 1 số a. Nếu a không phải là số chẵn thì nhập lại, đến khi
nào là số chẵn thì dừng.
Program bai2;
Var a:Real;
Begin
Readln(a);
While a mod 2<>0 do Readln(a);
Readln;
End.
VIII. HƯỚNG DẪN VỀ NHÀ
Lài bài tập và xem trước bài mới. Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
* Ý nghĩa:
Nếu điều kiện logic là Sai (False) thì lặp lại lệnh cho đến khi điều kiện Ðúng thì mới
thoát ra khỏi cấu trúc REPEAT .. UNTIL.
Nếu có nhiều câu lệnh thì mỗi lệnh ngăn cách nhau bằng dấu chấm phẩy (;)Công việc
của REPEAT và UNTIL không nhất thiết phải dùng lệnh ghép để nhóm từ 2 lệnh đơn trở lên
thành công việc.
2. VÍ DỤ
Viết chương trình nhập vào 1 số a. Nếu a không phải là số dương thì nhập lại, đến khi nào là
số dương thì dừng.
Bài giải
Program bai1;
Var a:Real;
Begin
Repeat
GV: Diệp Thanh Toàn
Trang 6
Trường THCS Tây Đô Giáo án Tin học 8
Readln(a);
Until a>0;
Readln;
End.
Ví dụ 6.18: Nhân 2 số a và b
PROGRAM Tich;
VAR a, b : integer ;
CK : char ;
BEGIN
REPEAT
Write (' Nhập số a = '); Readln (a) ;
Write (' Nhập số b = '); Readln (b) ;
Writeln (' Tích số của a x b là :' , a*b : 10 ) ;
Writeln (' Tiếp tục tính nữa không (CK) ? ');
Readln (CK) ;
UNTIL upcase(CK) = K; {hàm chuyển đổi ký tự trong biến}
{CK thành ký tự in hoa}
END.
THỰC HÀNH
I. MỤC TIÊU
*Hiểu rỏ hơn về cách chạy chương trình của vòng lặp REPEAT
*Thay thế một chương trình có chứa FOR thành REPEAT và ngược lại.
*Sửa một số lỗi thường gặp.
XI. CHUẨN BỊ
1. GV:*Chuẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS: *Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XII. BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 1 số a. Nếu a không phải là số dương thì nhập lại, đến khi
nào là số dương thì dừng.
Bài 2: Viết chương trình nhập vào 1 số a. Nếu a không phải là số chẵn thì nhập lại, đến khi
nào là số chẵn thì dừng.
Bài giải bài 1 Bài giải bài 2
Program bai1; Program bai2;
Var a:Real; Var a:Real;
Begin Begin
Repeat Repeat
Readln(a); Readln(a);
Until a>0; Until a mod 2=0;
Readln; Readln;
End. End.
XIII. HƯỚNG DẪN VỀ NHÀ
Lài bài tập và xem lại bài thực hành
Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
Readln;
END.
4.Lấy dữ liệu từ mảng để xử lý:
Ví dụ: Nhập từ bàn phím 10 số và tính tổng của nó.
VAR A: ARRAY [1..10] OF INTEGER;
i: INTEGER;
BEGIN
For i:=1 to 10 do
Begin
Write( ‘nhap phan tư thu ‘,i,’ =’);readln(A(i));
End;
For i:=1 to 10 do tong:= tong+A(i);
Write (‘Tong la: ‘, tong);
Readln;
END.
Phương Bình, ngày…. tháng…. năm…. Người soạn
Duyệt của tổ trưởng
THỰC HÀNH
I. MỤC TIÊU
*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng.
*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng.
*Sửa một số lỗi thường gặp.
XVI. CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XVII. BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 10 số nguyên. Xuất các số dương ra màng hình..
Bài giải
Program bai1;
Var a:Array[1..10] of Integer;
i:integer;
Begin
For i:=1 to 10 do Readln(a[i]);
For i:=1 to 10 do if a[i] > 0 then Writeln(a[i]);
Readln;
End.
Bài 2: Viết chương trình nhập vào 10 số nguyên dương. Xuất các số chẵn ra màn hình.
Bài giải
Program bai2;
Var a:Array[1..10] of Integer;
i:integer;
Begin
For i:=1 to 10 do Readln(a[i]);
For i:=1 to 10 do if a[i] mod 2= 0 then Writeln(a[i]);
Readln;
Người soạn
End.
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
I. MỤC TIÊU
* Biết được một số ứng dụng của mảng vào việc giải một số bài tập.
* Biết được khi nào sử dụng mảng, hiệu quả của việc sử dụng mảng.
II. CHUẨN BỊ
1. GV: * Một số ví dụ thực tế về mảng.
* Dùng bảng phụ ghi trước giải thuật sắp xếp mảng.
HS: * Ôn lại vòng lặp FOR.
1. Bài toán
Cho mảng M có N phần tử là các số thực, hãy sắp xếp các số đó theo thứ tự tăng dần.
2. Thuật giải
Giả sử mảng M có 8 phần tử (N = 8) là các số thực
THỰC HÀNH
I. MỤC TIÊU
*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng.
*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng.
*Sửa một số lỗi thường gặp.
XVIII.CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XIX. BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 10 số nguyên. Xuất các số dương ra màng hình..
Bài giải
Program bai1;
Var a:Array[1..10] of Integer;
i:integer;
Begin
For i:=1 to 10 do Readln(a[i]);
For i:=1 to 10 do if a[i] > 0 then Writeln(a[i]);
Readln;
End.
Bài 2: Viết chương trình nhập vào 10 số nguyên dương. Xuất các số chẵn ra màn hình.
Bài giải
Program bai2;
Var a:Array[1..10] of Integer;
i:integer;
Begin
For i:=1 to 10 do Readln(a[i]);
For i:=1 to 10 do if a[i] mod 2= 0 then Writeln(a[i]);
Readln;
Người soạn
End.
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
THỰC HÀNH
I. MỤC TIÊU
*Củng cố lại kiến thức đã học
II. ĐỀ
Đề: Viết chương trình nhập vào mảng có 6 số. Sắp xếp theo thứ tự tăng dần.
VD: Nhập 1 5 -6 0 2 4
Xuất: -6 0 1 2 4 5
* Lưu ý Học sinh lưu bài với tên và kết hợp với lớp của mình.
VD: học sinh là trần Quốc Cường lớp 8A1 thì lưu với tên là: D:\cuong8a1.pas
THỰC HÀNH
II. MỤC TIÊU
*Hiểu rỏ hơn về cách viết chương trình có sử dụng mảng.
*Hiểu rỏ hơn về cách chạy chương trình có sử dụng mảng.
*Sửa một số lỗi thường gặp.
XX. CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XXI. BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 10 số nguyên. Sắp xếp theo thứ tự tăng dần và xuất ra
màn hình.
Bài 2: Viết chương trình nhập vào 10 số nguyên dương. Sắp xếp theo thứ tự tăng dần và
xuất các số dương ra màn hình.
Bài giải
Program bai1; Program bai1;
Var a:Array[1..10] of Integer; Var a:Array[1..10] of Integer;
i:integer; i:integer;
Begin Begin
For i:=1 to 10 do Readln(a[i]); For i:=1 to 10 do Readln(a[i]);
For i:=1 to 9 do For i:=1 to 9 do
For j:=i+1 to 10 do For j:=i+1 to 10 do
if a[i] >a[j] then if a[i] >a[j] then
begin begin
tam:=a[i]; tam:=a[i];
a[i]:=a[j];a[j]:=tam; a[i]:=a[j];a[j]:=tam;
end; end;
For i:=1 to 10 do writeln(a[i]); For i:=1 to 10 do
Readln; if a[i] > 0 then writeln(a[i]);
End. Readln;
Bài giải End.
Phương Bình, ngày…. tháng…. năm…. Người soạn
Duyệt của tổ trưởng
2. Tìm giá trị nhỏ thứ hai của dãy và đổi nó về vị trí thứ hai.
Hướng dẫn: Tìm phần tử nhỏ nhất của dãy, đổi nó về vị trí đầu tiên. Sau đó tìm phần tử nhỏ nhất của
dãy con còn lại.
PROGRAM Tim_Min_Thu2;
CONST a:array[1..10] of shortint=(0, 1, 2, 3, 4, -1, -2, -3, -4, 5);
VAR i: byte; {chứa chỉ số các phầnt tử của dãy}
imin: byte; {đánh dấu vị trí amin}
atg: shortint; {chứa giá trị trung gian khi đổi chỗ các phần tử}
BEGIN
imin:=1; {a[1] coi là nhỏ nhất}
For i:=2 To 10 Do {so với các phần tử còn lại}
If a[imin]> a[i] Then imin:=i;
{nếu còn phần tử nhỏ nhất thì đánh dấu phần tử đó}
atg:=a[1];
a[1]:=a[imin]; {đổi giá trị nhỏ nhất về đầu dãy}
THỰC HÀNH
XXII. MỤC TIÊU
*Hiểu rỏ hơn về cách viết chương trình có sử dụng thuật toán Max - Min.
*Hiểu rỏ hơn về cách chạy chương trình có sử dụng thuật toán Max – min.
*Sửa một số lỗi thường gặp.
XXIII.CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XXIV.BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 2 số nguyên a, b. Xuất số lớn nhất ra màng hình..
Bài giải
Program bai1;
Var a, b:integer;
Begin
Write(‘ nhap vao so nguyen a = ‘); Readln(a);
Write(‘ nhap vao so nguyen b = ‘); Readln(b);
Max:=a;
If b> max then Max:=b;
Write(‘ so lan nhat la ‘,max);
Readln;
End.
Bài 2: Viết chương trình nhập vào 4 số nguyên a,b, c, d. Xuất số lớn nhất, nhỏ nhất ra màn
hình.
Bài giải
Program bai2;
Var a, b, c, d:integer;
Begin
Write(‘ nhap vao so nguyen a = ‘); Readln(a);
Write(‘ nhap vao so nguyen b = ‘); Readln(b);
Write(‘ nhap vao so nguyen c = ‘); Readln(c);
Write(‘ nhap vao so nguyen d = ‘); Readln(d);
Max:=a;
If b> max then Max:=b;
If c> max then Max:=c;
If d> max then Max:=d;
Write(‘ so lon nhat la ‘,max);
Min:=a;
If b< Min then Min:=b;
If c< Min then Min:=c;
If d< Min then Min:=d;
Write(‘ so nho nhat la ‘,Min);
Readln;
End.
* Mở rộng: Tìm số lớn nhất của 3 số, 5 số, nhiều số ( sử dụng mảng).
Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
THỰC HÀNH
I. MỤC TIÊU
*Hiểu rỏ hơn về cách viết chương trình có sử dụng thuật toán tìm kiếm.
*Hiểu rỏ hơn về cách chạy chương trình có sử dụng thuật toán tìm kiếm.
*Sửa một số lỗi thường gặp.
XXV. CHUẨN BỊ
1. GV:*Chẩn bị phòng máy, bài tập, lịch trình tiến trình giờ thực hành.
2. HS:
*Ôn lại lý thuyết đã học.
* Giải trước bài tập về nhà vào tập để thực hành.
XXVI.BÀI THỰC HÀNH
Bài 1: Viết chương trình nhập vào 4 số nguyên a,b, c, d. Tìm xem có bao nhiêu số dương
(>0).
Bài giải
Program bai2;
Var a, b, c, d:integer;
Begin
Write(‘ nhap vao so nguyen a = ‘); Readln(a);
Write(‘ nhap vao so nguyen b = ‘); Readln(b);
Write(‘ nhap vao so nguyen c = ‘); Readln(c);
Write(‘ nhap vao so nguyen d = ‘); Readln(d);
D:=0;
If a>0 thend:=d+1;
If b>0 thend:=d+1;
If c>0 thend:=d+1;
If d>0 thend:=d+1;
Write(‘ Tong so cac so duong la :’,d);
Readln;
End.
Bài 2: Viết chương trình nhập vào mảng a có 10 phần tử. Tìm xem có bao nhiêu số là số
chẵn.
Bài giải
Program bai2;
Var a: Array [1..10] of integer;
I: integer;
Begin
For i:=1 to 10 do
begin
GV: Diệp Thanh Toàn
Trang 21
Trường THCS Tây Đô Giáo án Tin học 8
Write(‘ nhap vao so nguyen thu ‘,i); Readln(a[i]);
end;
d:=0;
For i:=1 to 10 do
Write(‘ Tong so cac so chan la :’,d);
Readln;
End.
Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
Đề: Viết chương trình nhập vào 2 số nguyên a, b. Xuất tất cả các ước chung của a và b.
VD: Nhập a=12, b=18.
Xuất: 1 2 3
* Lưu ý Học sinh lưu bài với tên và kết hợp với lớp của mình.
VD: học sinh là trần Quốc Cường lớp 8A1 thì lưu với tên là: D:\cuong8a1.pas
Người soạn
Phương Bình, ngày…. tháng…. năm….
Duyệt của tổ trưởng
THI LÍ THUYẾT
Hãy khoanh tròn chữ cái đứng trước câu trả lời em cho là đúng nhất
ĐÁP ÁN
Câu
1d Câu 2d Câu 3d Câu 4b Câu 5b Câu 6a Câu 7c Câu 8b Câu 9b Câu 10c
Câu Câu
11b 12b Câu 13d Câu 14c Câu 15a Câu 16b Câu 17d Câu 18b Câu 19b Câu 20c
XÂU KÍ TỰ
XXXI.MỤC TIÊU
- Biết 2 cách khai báo xâu dùng từ khóa string và hạn chế số kí tự tối đa.
- Biết cách truy cập đến từng kí tự của xâu khi đã có giá trị.
XXXII.CHUẨN BỊ
1. GV:
2. HS:
XXXIII.BÀI HỌC
1. Khái niệm
Chúng ta gọi kiểu dữ liệu có giá trị là tập những kí tự là kiểu xâu kí tự hay nói một cách
ngắn gọn là kiểu xâu.
Pascal có từ khoá STRING để người dùng khai báo cho dữ liệu có giá trị là tập những kí tự.
Ví dụ ta khai báo biến A có kiểu là tập những kí tự như sau:
VAR A : STRING ; máy dành cho biến A có thể lưu giữ được một tập có không quá 255 kí tự.
Hằng văn bản phải để trong cặp dấu nháy cao (‘).
2. Khai báo dữ liệu kiểu xâu
a. Khai báo biến nhận kiểu xâu qua String
VAR Danh sách biến : STRING ;
Các tên biến trong danh sách phải phân cách nhau bởi dấu phảy.
Máy dành 256 byte trong bộ nhớ cho mỗi biến trong danh sách để mỗi biến đó có thể lưu giữ
được tối đa 255 kí tự.
b. Khai báo biến nhận kiểu xâu có cấu trúc
VAR Danh sách biến : STRING [N] ;
Các tên biến trong danh sách phải phân cách nhau bởi dấu phảy.
Máy dành (N + 1) byte trong bộ nhớ cho mỗi biến trong danh sách để mỗi biến đó có thể lưu
giữ được tối đa N kí tự.
3. Một số hàm và thủ tục trên dữ liệu kiểu xâu
a. Hàm cho số kí tự của xâu
Length (xâu) ; Cho độ dài của xâu, tức là cho số kí tự của xâu (kể cả dấu cách). Ví dụ Length
(‘Ha Noi’) = 6.
b. Hàm cho kí tự của xâu
Tên biến xâu [ vị trí kí tự ] ; cho kí tự của xâu có vị trí được chỉ ra bởi biểu thức trong dấu móc
vuông.
4. Bài toán
Lập chương trình để chuyển một xâu sang dạng mật mã theo quy tắc:
- Các nguyên âm a, e, i, o, u, y được chuyển tương ứng như sau:
a --> e, e --> i, i --> o, o --> u, u --> y, y --> a.
- Các phụ âm vẫn giữ nguyên.
Để đơn giản ta quy ước văn bản chỉ viết chữ thường.
* Thuật giải
GV: Diệp Thanh Toàn
Trang 30
Trường THCS Tây Đô Giáo án Tin học 8
Bài toán được giải bằng cách nhận vào xâu cần mã. Sau đó lần lượt duyệt xâu bắt đầu từ kí tự
thứ nhất cho đến kí tự cuối cùng của xâu. Ứng với mỗi kí tự là nguyên âm thì thay nó bằng
nguyên âm tương ứng theo qui tắc đã cho ở đề bài toán.
IV. CỦNG CỐ
1. Khai báo xâu kí tự
Để khai báo biến xâu kí tự ta dùng từ khóa STRING, tiếp đó đến số kí tự nhiều nhất mà xâu
cần lưu trữ. Số này để trong dấu móc vuông. Nếu không chỉ ra số kí tự nhiều nhất của xâu thì
máy hiểu xâu có độ dài khai báo là 255 kí tự.
2. Hằng xâu kí tự
Hằng xâu kí tự được viết trong hai dấu nháy cao. Ví dụ ‘ Chao the ki ki 21’
3. Những hàm trên xâu kí tự:
a. LENGTH(st)
Cho số kí tự của xâu st kể cả dấu cách.
b. ST[i] Cho kí tự thứ i của xâu st (tính từ trái sang phải bắt đầu từ 1).
c. Upcase(st[i]) Đổi kí tự thứ i của xâu st sang viết hoa (nếu nó là kí tự viết thường).
V. BÀI TẬP VỀ NHÀ
Bài toán 1: Viết chương trình nhập vào họ và tên của một học sinh. Xuất họ và tên đó ra màn
hình.
Bài toán 2: Viết chương trình nhập vào 3 biến: ho, tên, lot để nhập theo thứ tự họ, tên và chữ
lót của một học sinh. Ghép 3biến lại thành họ lót tên và xuất kết quả ra màn hình.
Bài toán 3: Viết chương trình nhập vào 3 biến: ngày, tháng, năm. Ghép chúng với dạng
ngày/tháng/ năm (ví dụ 10/01/2008) và xuất kết quả ra màn hình.
Bài toán 1: Viết chương trình nhập vào họ và tên của một học sinh. Xuất họ và tên đó ra màn
hình.
Program bt1;
Var t:string[29];
Begin
Write(‘ nhap vao ho ten cua mot hoc sinh’);readln(t);
Write(‘ho ten da nhap la’);writeln(t);
Readln;
End.
Bài toán 2: Viết chương trình nhập vào 3 biến: ho, tên, lot để nhập theo thứ tự họ, tên và chữ
lót của một học sinh. Ghép 3biến lại thành họ lót tên và xuất kết quả ra màn hình.
Program bt2;
Var ho,ten:string[8];lot:string[20];
T:string[36];
Begin
Write(‘ nhap vao ho’);readln(ho);
Write(‘ nhap vao ten’);readln(ten);
Write(‘ nhap vao chu lot’);readln(lot);
T:=ho+lot+ten;
Write(‘ho ten da nhap la’);writeln(t);
Readln;
End.
b) Viết chương trình nhập vào 2 xâu. St1 là họ và tên của 1 học sinh, St2 là ngày tháng
năm sinh. Gán St=St1+St2.Chuẩn hóa xâu St.
Program bta;
Var St: String;i:Integer;
Begin
Write(‘nhap va ho va ten:’);Readln(St1);
Write(‘nhap va ngay thang nam sinh:’);Readln(St2);
St:=St1+ ‘ ‘ +St2;
While St[1]= ‘ ‘ do Delete(St,1,1);
While Pos(‘ ‘,St)<>0 do Delete(St, Pos(‘ ‘,St),1);
St[1]:= Upcase(St[1]);
For i:=1to Length(St) do
If St[i]= ‘ ‘ then St[i+1]:=Upcase(St[i+1]);
Write(‘xau da chuan hoa la:’);Writeln(St);
Readln;
End.
4. Bài tập
b) Viết chương trình nhập vào 3 xâu. Thay thế trong xâu St các xâu kí tự st1 thành xâu kí
tự st2.
Program btb;
Var St,st1,st2: String;
i:Integer;
Begin
Write(‘nhap va xau st:’);Readln(St);
Write(‘nhap va xau st1:’);Readln(St1);
Write(‘nhap va xau st2:’);Readln(St2);
For i:=1 to length(St) do
If copy(St,I,length(st1))= st1 then
Begin
Delete(st,I,length(st1));
Insert(st2,st,length(st1));
End;
Write(‘xau ket qua la:’);Writeln(St);
Readln;
End.
Program bta;
Var St: String;I,d,v:Integer;
Begin
Write(‘nhap va mot xau ki tu:’);Readln(St);
d:=0;
For i:=1 to length(St) do
Begin
Val(st[i],v,c);
1) Viết chương trình nhập vào một xâu kí tự bất kì có cả kí tự số. Hỏi trong xâu vừa nhập có bao
nhiêu kí tự số.
Program bta;
Var St: String;I,d,v:Integer;
Begin
Write(‘nhap va mot xau ki tu:’);Readln(St);
d:=0;
For i:=1 to length(St) do
Begin
Val(st[i],v,c);
If c= 0 then d:=d+1;
End;
Write(‘so ki tu so trong xau la:’);Writeln(d);
Readln;
End.
2) Viết chương trình nhập vào một xâu kí tự bất kì có cả kí tự số. Tính tổng tất cả các kí
tự số trong xâu.
Program btb;
Var St: String;I,d,v:Integer;
Begin
Write(‘nhap va mot xau ki tu:’);Readln(St);
d:=0;
For i:=1 to length(St) do
Begin
Val(st[i],v,c);
If c= 0 then d:=d+v;
End;
Write(‘so ki tu so trong xau la:’);Writeln(d);
Readln;
End.