HSG tin 9
Chia sẻ bởi Nguyễn Duy Hưng |
Ngày 16/10/2018 |
43
Chia sẻ tài liệu: HSG tin 9 thuộc Tin học 9
Nội dung tài liệu:
Một số bài tập về đối xứng:
Cho trước một xâu ký tự, kiểm tra xem xâu đó có đối xứng hay không?
Cho trước một dãy số nguyên, kiểm tra xem dãy đã cho có đối xứng hay không?
Cho trước một số nguyên, kiểm tra xem số đã cho có đối xứng hay không?
Cho một dãy số nguyên. Hãy đọc ra các số đối xứng có trong dãy.
Đọc ra tất cả các số nguyên đối xứng có m chữ số (m<=6).
Cho trước một số nguyên. Hãy kiểm tra xem số đó có đối xứng nhị phân hay không?
In ra tất cả các số vừa đối xứng thập phân, vừa đối xứng nhị phân trong đoạn n tới m.
Bài 8. Đối xứng gương
Xét tập các chữ cái La tinh in hoa sau:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Một số chữ cái có các tính chất đặc biệt như sau:
Đối xứng gương qua trục đối xứng đứng, ví dụ chữ cái A có tính chất như vậy. Ngoài chữ A còn có các ký tự "H","I","M","O","T","U","V","W","X","Y".
Đối xứng gương qua trục đối xứng ngang, ví dụ chữ cái B có tính chất như vậy. Cùng với B còn có các ký tự "C","D","E","H","I", "K","O","X".
Không đổi khi xoay ký tự 1800, ví dụ chữ S. Các ký tự "H","I","N","O","X","Z" cũng có tính chất này.
Một xâu có tính chất đặc biệt nếu như mỗi ký tự của xâu đều có tính chất đặc biệt đó.
Yêu cầu: Với xâu cho trước không quá 250 ký tự, hãy xác định xâu có tính chất a), b) hay c) hay không?
Dữ liệu vào: Cho trong file DOIXUNG.INP, gồm một dòng chứa một xâu kí tự.
Dữ liệu ra: Xuất ra file văn bản DOIXUNG.OUT theo định dạng sau: Nếu xâu đã cho không có tính chất đặc biệt, ghi NO. Nếu xâu đã cho có tính chất đặc biệt, thì:
Dòng đầu ghi YES
Dòng thứ hai ghi số 1 nếu xâu đã cho có tính chất a); ghi số 2 nếu xâu đã cho có tính chất b); ghi số 3 nếu xâu đã cho có tính chất c); ghi số 0 nếu xâu đã cho có cả 3 tính chất trên.
Ví dụ:
DOIXUNG.INP
DOIXUNG.OUT
DOIXUNG.INP
DOIXUNG.OUT
HELLO
NO
OTO
YES
1
9, Cho trước một xâu ký tự, hãy đọc ra các xâu con đối xứng dài nhất.
10. Cho một dãy số nguyên, Hãy đọc ra tất cả các đoạn con liên tiếp đối xứng dài nhất.
Tư tưởng thuật toán và lời giải tham khảo
Bài 1: Tư tưởng thuật toán:
Xây dựng hàm kiểm tra đối xứng
Gọi hàm kiểm tra, rồi kết luận.
{var st:string;
f,g:text;
function ktdx(s:string):boolean;
var k:integer;
begin
ktdx:=false;
for k:=1 to length(s) do
if s[k]<>s[length(s)-k+1] then exit;
ktdx:=true;
end;
begin
assign(f,`bl.inp`);reset(f);
assign(g,`bl.out`); rewrite(g);
read(f,st);
if ktdx(st) then write(g,`CO`)
else
Write(g,`KHONG`);
close(f);
Close(g);
End. }
Bài 2: Tư tưởng thuật toán:
Duyệt toàn bộ dãy.
Đếm những phần tử khác nhau qua trục đối xứng.
Dựa vào biến đếm để kết luận.
{var a:array[1..1000] of longint;
n,i,d:longint; w:string;
f,g:text;
begin
assign(f,`bl.inp`);reset(f);
assign(g,`bl.out`); rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
for i:=1 to n do
if a[i]<>a[n-i+1] then inc(d);
if d=0 then write(g,`CO`)
else write(g,`KHONG`);
close(f);
close
Cho trước một xâu ký tự, kiểm tra xem xâu đó có đối xứng hay không?
Cho trước một dãy số nguyên, kiểm tra xem dãy đã cho có đối xứng hay không?
Cho trước một số nguyên, kiểm tra xem số đã cho có đối xứng hay không?
Cho một dãy số nguyên. Hãy đọc ra các số đối xứng có trong dãy.
Đọc ra tất cả các số nguyên đối xứng có m chữ số (m<=6).
Cho trước một số nguyên. Hãy kiểm tra xem số đó có đối xứng nhị phân hay không?
In ra tất cả các số vừa đối xứng thập phân, vừa đối xứng nhị phân trong đoạn n tới m.
Bài 8. Đối xứng gương
Xét tập các chữ cái La tinh in hoa sau:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Một số chữ cái có các tính chất đặc biệt như sau:
Đối xứng gương qua trục đối xứng đứng, ví dụ chữ cái A có tính chất như vậy. Ngoài chữ A còn có các ký tự "H","I","M","O","T","U","V","W","X","Y".
Đối xứng gương qua trục đối xứng ngang, ví dụ chữ cái B có tính chất như vậy. Cùng với B còn có các ký tự "C","D","E","H","I", "K","O","X".
Không đổi khi xoay ký tự 1800, ví dụ chữ S. Các ký tự "H","I","N","O","X","Z" cũng có tính chất này.
Một xâu có tính chất đặc biệt nếu như mỗi ký tự của xâu đều có tính chất đặc biệt đó.
Yêu cầu: Với xâu cho trước không quá 250 ký tự, hãy xác định xâu có tính chất a), b) hay c) hay không?
Dữ liệu vào: Cho trong file DOIXUNG.INP, gồm một dòng chứa một xâu kí tự.
Dữ liệu ra: Xuất ra file văn bản DOIXUNG.OUT theo định dạng sau: Nếu xâu đã cho không có tính chất đặc biệt, ghi NO. Nếu xâu đã cho có tính chất đặc biệt, thì:
Dòng đầu ghi YES
Dòng thứ hai ghi số 1 nếu xâu đã cho có tính chất a); ghi số 2 nếu xâu đã cho có tính chất b); ghi số 3 nếu xâu đã cho có tính chất c); ghi số 0 nếu xâu đã cho có cả 3 tính chất trên.
Ví dụ:
DOIXUNG.INP
DOIXUNG.OUT
DOIXUNG.INP
DOIXUNG.OUT
HELLO
NO
OTO
YES
1
9, Cho trước một xâu ký tự, hãy đọc ra các xâu con đối xứng dài nhất.
10. Cho một dãy số nguyên, Hãy đọc ra tất cả các đoạn con liên tiếp đối xứng dài nhất.
Tư tưởng thuật toán và lời giải tham khảo
Bài 1: Tư tưởng thuật toán:
Xây dựng hàm kiểm tra đối xứng
Gọi hàm kiểm tra, rồi kết luận.
{var st:string;
f,g:text;
function ktdx(s:string):boolean;
var k:integer;
begin
ktdx:=false;
for k:=1 to length(s) do
if s[k]<>s[length(s)-k+1] then exit;
ktdx:=true;
end;
begin
assign(f,`bl.inp`);reset(f);
assign(g,`bl.out`); rewrite(g);
read(f,st);
if ktdx(st) then write(g,`CO`)
else
Write(g,`KHONG`);
close(f);
Close(g);
End. }
Bài 2: Tư tưởng thuật toán:
Duyệt toàn bộ dãy.
Đếm những phần tử khác nhau qua trục đối xứng.
Dựa vào biến đếm để kết luận.
{var a:array[1..1000] of longint;
n,i,d:longint; w:string;
f,g:text;
begin
assign(f,`bl.inp`);reset(f);
assign(g,`bl.out`); rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
for i:=1 to n do
if a[i]<>a[n-i+1] then inc(d);
if d=0 then write(g,`CO`)
else write(g,`KHONG`);
close(f);
close
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Duy Hưng
Dung lượng: 16,63KB|
Lượt tài: 0
Loại file: rar
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)