TIN HỌC ĐẠI CƯƠNG PASSCACB
Trang 1 trong tổng số 1 trang
TIN HỌC ĐẠI CƯƠNG PASSCACB
Biểu thị màu đỏ: Câu hỏi
Biểu thị màu đen đậm: Câu trả lời
1. Sử dụng NNLT Pascal. Nhập chuỗi kí tự. Đếm xem trong chuỗi có bao nhiêu kí tự, mỗi kí tự xuất hiện bao nhiêu lần
uses crt;
var
s:string;
solan:array[0..255]of byte;
i:byte;
begin
clrscr; {Xoá màn hình}
write('S = ');readln(s);
for i:=1 to length(s)do
inc(solan[ord(s[i])]);
for i:=0 to 255 do
if solan[i]>0 then
begin
writeln('Ki tu ',chr(i),' xuat hien ',solan[i],' lan'); {Xuất kí tự i và solan[i]}
end;
readln;
end.
2. Sử dụng NNLT Pascal. Nhập 2 số nguyên dương A,B (có thể lên đến 200 chữ số). Tính tổng 2 số đó
uses crt;
var
a,b:string;{a,b kiểu string}
function cong(a,b:string):string;
var
tong:string;
la,lb:byte;
i,c,nho:byte;
begin
la:=length(a);lb:=length(b);
if la<lb then
for i:=1 to lb-la do a:='0'+a {Điền lb-la kí tự '0' và trước A}
else for i:=1 to la-lb do b:='0'+b; {Ngược lại điền la-lb kí tự '0' và trước B}
tong:=''; {Gán tong bằng xâu rỗng}
nho:=0; {Gán nho bằng 0}
for i:=length(a) downto 1do {Cho i chạy từ độ dài A xuống 1}
begin
c:=ord(a[i])+ord(b[i])-96+nho;
if c>9 then
begin
nho:=1; {Gán nho bằng 1}
c:=c-10; {Giảm c đi 10}
end
else nho:=0; {NGược lại gán nho bằng 0}
tong:=chr(c+48)+tong; {Thêm kí tự c vào trước tong}
end;
if nho=1 then tong:='1'+tong; {Nếu nho=1 thì thêm '1' vào đầu tong}
cong:=tong;
end;
begin
clrscr;{Xoá màn hình}
write('So A : ');readln(a);
write('So B : ');readln(b);
writeln(cong(a,b));
readln;
end.
3. Trong NNLT Pascal, viết thủ tục đệ quy đảo các chữ số của một số.
Ví dụ đọc vào số : 12345 và In ra : 54321
Procedure daonguoc(so:integer);
Var s:string;
i:integer;
Begin
str(so,s);
For i:=length(s) downto 1 do Write(s[i]);
Readln;
Chúc các bạn học giỏi
Biểu thị màu đen đậm: Câu trả lời
1. Sử dụng NNLT Pascal. Nhập chuỗi kí tự. Đếm xem trong chuỗi có bao nhiêu kí tự, mỗi kí tự xuất hiện bao nhiêu lần
uses crt;
var
s:string;
solan:array[0..255]of byte;
i:byte;
begin
clrscr; {Xoá màn hình}
write('S = ');readln(s);
for i:=1 to length(s)do
inc(solan[ord(s[i])]);
for i:=0 to 255 do
if solan[i]>0 then
begin
writeln('Ki tu ',chr(i),' xuat hien ',solan[i],' lan'); {Xuất kí tự i và solan[i]}
end;
readln;
end.
2. Sử dụng NNLT Pascal. Nhập 2 số nguyên dương A,B (có thể lên đến 200 chữ số). Tính tổng 2 số đó
uses crt;
var
a,b:string;{a,b kiểu string}
function cong(a,b:string):string;
var
tong:string;
la,lb:byte;
i,c,nho:byte;
begin
la:=length(a);lb:=length(b);
if la<lb then
for i:=1 to lb-la do a:='0'+a {Điền lb-la kí tự '0' và trước A}
else for i:=1 to la-lb do b:='0'+b; {Ngược lại điền la-lb kí tự '0' và trước B}
tong:=''; {Gán tong bằng xâu rỗng}
nho:=0; {Gán nho bằng 0}
for i:=length(a) downto 1do {Cho i chạy từ độ dài A xuống 1}
begin
c:=ord(a[i])+ord(b[i])-96+nho;
if c>9 then
begin
nho:=1; {Gán nho bằng 1}
c:=c-10; {Giảm c đi 10}
end
else nho:=0; {NGược lại gán nho bằng 0}
tong:=chr(c+48)+tong; {Thêm kí tự c vào trước tong}
end;
if nho=1 then tong:='1'+tong; {Nếu nho=1 thì thêm '1' vào đầu tong}
cong:=tong;
end;
begin
clrscr;{Xoá màn hình}
write('So A : ');readln(a);
write('So B : ');readln(b);
writeln(cong(a,b));
readln;
end.
3. Trong NNLT Pascal, viết thủ tục đệ quy đảo các chữ số của một số.
Ví dụ đọc vào số : 12345 và In ra : 54321
Procedure daonguoc(so:integer);
Var s:string;
i:integer;
Begin
str(so,s);
For i:=length(s) downto 1 do Write(s[i]);
Readln;
Chúc các bạn học giỏi
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|