You are on page 1of 3

ĐỀ SỐ 1

Câu 1: (4 điểm)
Viết chương trình nhập vào một số nguyên dương N và thực hiện:
a. Số nguyên dương N có bao nhiêu chữ số?
b. Tính tổng các chữ số của N.
c. In ra chữ số lớn nhất của N.
- Yêu cầu: N là một số nguyên dương (0≤N≤1010). Hãy thực hiện các yêu cầu trên
- Dữ liệu vào: Nhập từ bàn phím số nguyên dương N. Giả thiết dữ liệu được nhập đúng
đắn, không cần kiểm tra
- Kết quả:
+ Dòng đầu tiên: Ghi N có bao nhiêu chữ số.
+ Dòng thứ hai: Ghi tổng các chữ số của N.
+ Dòng thứ ba: Ghi chữ số lớn nhất của N.
Ví dụ:
Nhập từ bàn phím Xuất ra màn hình
132 Số N có 3 chữ số
Tổng các chữ số của N là: 6
Chữ số lớn nhất: 3
Lưu bài: D:\SBD\SBD_Bai1.pas
//De1. cau 1.
uses crt;
var max,tong,d,i: longint; a: array[1..100] of integer;
begin
clrscr;
write(' Moi nhap so nguyen duong: '); readln(n); //n=123
d:=0;
while n<>0 do
begin
d:=d+1;
a[d]:=n mod 10;
tong:= tong + n mod 10;
n:=n div 10;
end;
for i:=1 to d do
begin
max:=a[1];
end;
for i:=2 to d do
begin
if max < a[i] then max:=a[i];
end;
writeln(' So n co ', d, ' chu so' );
writeln(' Tong cac chu so cua n la: ', tong);
writeln(' Phan tu max la: ', max);
readln;
end.
Câu 2: (5 điểm)
Viết chương trình có một chuỗi kí tự gồm chữ cái, chữ số và khoảng cách và thực hiện:
a. Trong chuỗi kí tự có bao nhiêu kí tự số?
b. Tính tổng các chữ số.
//Thủ tục Val(St, GiaTri, Maloi) sẽ biến đổi một xâu kí tự St thành một số nguyên hoặc thực chứa
kết quả trong Giatri. Maloi dùng để phát hiện lỗi: nếu St chứa chuỗi kí tự tương ứng với một số thì
Maloi có giá trị 0. Ngược lại, Maloi sẽ mang giá trị là vị tri của kí tự đầu tiên sai trong St.
//de1.cau2
uses crt;
var c,i,dem,tong: integer; st:string;
begin
clrscr;
write(' moi nhap xau st: '); readln(st);
tong:=0;
for i:=1 to length(st) do
begin
if st[i] in ['0'..'9'] then dem:=dem+1;
val(st[i],c); //val(st,giatri,maloi):
tong:=tong + c;
end;
writeln(dem);
writeln(tong);
writeln(st);
readln;
end.
Câu 3: (5 điểm) Cho một số nguyên N (0≤N≤999999). Hãy thực hiện:
1. Cho biết số N có bao nhiêu chữ số?
2. Chữ số lớn nhất trong số N?
Yêu cầu: Cho N là số có ba chữ số được nhập từ bàn phím. Thực hiện các yêu cầu trên.
Dữ liệu vào: Nhập từ bàn phím số nguyên dương N. Giả thiết dữ liệu được nhập đúng đắn,
không cần kiểm tra
Kết quả: Ghi kết quả theo cấu trúc:
+ Dòng đầu tiên: Ghi số chữ số của N
+ Dòng thứ hai: Ghi chữ số lớn nhất của N
Ví dụ:
Nhập từ bàn phím Xuất ra màn hình
3091 Số N có 4 chữ số
Chữ số lớn nhất là 9
101 Số N có 3 chữ số
Chữ số lớn nhất là 1
21300 Số N có 5 chữ số
Chữ số lớn nhất là 3

Câu 4: (6 điểm) Nhập vào một xâu kí tự. Viết chương trình xóa hết các kí tự số, in ra màn
hình xâu vừa xóa.
Ví dụ:
Nhập từ bàn phím Xuất ra màn hình
Ky1 thi hoc5 sinh gioi3 tin hoc5 7 nam2023 Ky thi hoc sinh gioi tin hoc nam
Tinhoc5tre3khongchuyen6 Tinhoctrekhongchuyen

Code
uses crt;
var st: string; d, i: Integer;
begin
clrscr;
write(' Moi nhap xau: '); readln(st);
while i<=length(st) do
if st[i] in['0'..'9'] then delete(st,pos(st[i],st),1)
else i:=i+1;
writeln(' Xau st sau khi xoa : ', st);
readln;
end.

You might also like