Bài giải đề thi tin học trẻ thcs các quận,huyện,thị xã ■ lập trình free pascal ■ tập 1

Tài liệu liên quan

Bài giải Đề thi Tin học tphải chăng trung học cơ sở các quận,thị trấn,thị làng ■ Lập trình Free Pascal ■ Tập 2

Bạn đang xem: Bài giải đề thi tin học trẻ thcs các quận,huyện,thị xã ■ lập trình free pascal ■ tập 1

Bài giải Đề thi Tin học trẻ THCS các quận,thị xã,thị làng ■ Lập trình Free Pascal ■ Tập 2 34 697 11
Bài giải Đề thi Tin học tphải chăng trung học cơ sở các quận,huyện,thị xóm ■ Lập trình Free Pascal ■ Tập 1 22 6,205 trăng tròn

Xem thêm: Địa Điểm Bán Thẻ Gate Ở Đâu? ​Làm Thế Nào Để Mua Thẻ Gate Tại Nhà

Bài giải xem thêm phần Scratch ■ Đề thi Tin học tthấp toàn nước năm 2017 ■ Kăn năn Tiểu học tập cùng THCS 41 2,552 12
Bài giải tìm hiểu thêm Đề thi tin học tphải chăng cả nước năm 2018 Kân hận Tiểu học tập phần Scratch và Logo 44 2,428 14
Bài giải tham khảo Đề thi Tin học tphải chăng TP. Hà Nội năm 2016 ■ Bài giải tham khảo Đề thi Tin học tphải chăng thị xã Hoa Lưi năm 2018 ■ Bài giải tham khảo Đề thi Tin học tập trẻ TP.. Quy Nhơn năm 2018 ■ Bài giải tìm hiểu thêm Đề thi Tin học ttốt TP. Ninh Bình năm 2018 Đề thi Tin học trẻ Thành phố TP Hà Nội năm năm nhâm thìn Khối Trung học Thương hiệu Thời gian làm cho bài: 1đôi mươi phút Hướng giải quyết: - - Với n=7 gồm lần so sánh: Số sản phẩm (3) lắp thêm (3) Số lắp thêm (6) máy (6) Số đồ vật (1) thứ (1) Với n=8 bao gồm số dãy số 2 có lần so sánh: Số thứ (3) lắp thêm (3) Số sản phẩm (6) trang bị (6) Số thiết bị (1) vật dụng (1) Số máy (1) sản phẩm (2) Số lần đối chiếu n div - Với n=7, số trang bị đối chiếu với số thiết bị số vật dụng đối chiếu với số sản phẩm công nghệ số lắp thêm đối chiếu cùng với số thứ Vậy số trang bị i đối chiếu với số vật dụng n+1-i - Trong trình so sánh đề xuất số vật dụng i khác cùng với số vật dụng n+1-i dãy cho ko đối xứng buộc phải đề nghị thông tin kết kết thúc, không đề nghị so sánh thêm Chương trình viết Free Pascal sau: (những dòng bao gồm màu xanh lá cây bao gồm // đứng trước ưa thích, khơng bắt buộc viết vào chương thơm trình) Var a: Array <1 100> of Integer; // De thi khong đến biet moi so cua day so phái nam // khoang nao n, i: Integer; Begin Assign(Input,"DaySo.Inp"); Reset(Input); ReadLn(n); For i:=1 khổng lồ n Read(a); Close(Input); Assign(Output,"DaySo.Out"); ReWrite(Output); For i:=1 lớn n If aa then Begin Write(0); Close(Output); Exit; End; // Neu day so khong doi xung thi domain authority ghi ket qua va // thoat chuong trinh Write(1); Close(Output); End Hướng giải quyết: - Tìm địa chỉ số (3), dò tự cho đếm số Khủng gồm 5, => Tìm địa chỉ số (5), dò tự cho đếm số lớn tất cả 5, 9, => Tìm vị trí số (9), dò trường đoản cú cho đếm số to tất cả 5, 9, 8, 6, 4, => Tìm vị trí số lắp thêm i (vt), dò tự mang đến vt-1 đếm số lớn i Chương trình viết sau: (những cái tất cả blue color có // đứng trước đam mê, khơng đề nghị viết vào cmùi hương trình) Var n, i, j, vt, Dem: Integer; A, NT: Array <1 20> of Integer; // De thi khong mang đến biet gioi han cua n va cac so cua day // so Begin Write("Ban giỏi nhap so n "); ReadLn(n); WriteLn("Ban tốt nhap ", n, " so cua hoan vi "); For i:=1 to lớn n Read(A); For i:=1 to lớn n Begin Dem:=0; // Tlặng vi tri vt cua i For vt:=1 lớn n If i=A then Break; For j:=1 lớn vt-1 If A>i then Inc(Dem); NT:=Dem; End; // Dem WriteLn("Nghich the cua hoan vi:"); For i:=1 to lớn n Write(NT, " "); End Hướng giải quyết: - Tạo chuổi A ghxay số từ bỏ đến n Do chuổi bao gồm 256 ký kết tự phải đề xuất knhì báo $H+ để chuổi chứa đựng nhiều chữ số (n | => - So sánh số lắp thêm cùng với số đồ vật 3, mập đổi nơi - > | =>  Sau xếp hàng số tăng vọt, TD: 22 36 56 Muốn chen số 15 vào hàng số: - Dò từ trên đầu dãy số, cho số béo số 15 dừng => địa chỉ - Chen số 71 bự số cuối 56 vị trí n+1 => vị tri Chương trình viết sau: Const MaxN=10000; Var n, k, i, j, vt: Integer; A: Array <1 MaxN> of LongInt; t: LongInt; Begin Assign(Input,"XepCay.Inp"); Reset(Input); ReadLn(n); For i:=1 khổng lồ n Read(A); ReadLn(k); // Sap thu tu day so For i:=1 to lớn n-1 For j:=i+1 khổng lồ n If A>A then Begin t:=A; A:=A; A:=t; End; // Tyên vi tri de chen so k vt:=1; While (k>A) and (vt k khơng đề nghị số ngun tố, Function - Đến k số ngulặng tố  Tìm số nguim tố ghxay thứ k: - Xuất phạt từ bỏ số nguyên tố 3, i=4, số nguyên tố ghnghiền 23, biến đếm=1 - (*) Tăng i mang lại số nguyên tố dừng (i=5), NT1=i=5, tăng i lên (i=6) Tăng i đến số nguim tố dừng (i=7), NT1=i=7, tăng i lên (i=8) - Ghxay NT1 NT2 (57) ko số ngulặng tố ghnghiền - Nếu số nguyên tố ghxay (31 37 thành 3137) => tăng biến chuyển đếm (=2) - Lặp lại bước (*) mang đến biến chuyển đếm=k dừng Cmùi hương trình viết sau: Var i, k: QWord; Loi: Integer; Ghep, Dem, LT10, NT1, NT2: QWord; Ch1, Ch2: String; - Function NT(k: QWord): Boolean; Var i: LongInt; Begin If k 30 ->15 => 2*2*2 - Tăng NT lên (3), NT số nguim tố tăng giá trị NT - Thực lại bước (*) n>1: NT=3: 15 -> => 2*2*2*3 NT=5: -> => 2*2*2*3*5 Cmùi hương trình viết sau: Var n, NT: LongInt; - Function SNT(k: LongInt): Boolean; Var i: Integer; Begin If k1 Begin While n mod NT=0 Begin // So cuoi khong ghi dau * If nNT then Write(NT,"*") else Write(NT); n:=n div NT; End; Inc(NT); While not SNT(NT) Inc(NT); End; End Hướng giải quyết:  Tách chuổi thi10tin21hoc9tre5nam2018 thành: - Chuổi từ: "thi" "" "tin" "" "hoc" "" "tre" "" "nam" "" - Chuổi số: "" "10" "" "21" "" "9" "" "5" "" "2018"  Sắp thiết bị từ bỏ chuổi số: "" "10" "" "21"  "" "5" "" "9"  Nối lại thành chuổi: "thi" "" "" "tin" "5" "" "" "" "9" "" "5" "" "2018" "10" "" "21" "" "2018" "" "hoc" "" "tre" "" "nam" "" "9" "" "10" "" "21" "" "2018"  thi5tin9hoc10tre21nam2018  Crúc ý: lúc đồ vật từ bỏ buộc phải đổi chuổi thành số hàm Val, không trở nên không đúng kết đối chiếu chuổi ta lại sở hữu "21" > "2018" Chương thơm trình viết sau: Var Ch: String; i, j, Dem, SoI, SoJ, Loi: Integer; So, Tu: Array <1 100> of String; Tam: String; Begin Write("Ban xuất xắc nhap chuoi can sap thu tu "); ReadLn(Ch); i:=1; Dem:=0; // Tach tu va so While i0 then Begin // Ch la so Inc(Dem); While Pos(Ch,"0123456789")>0 Begin So:=So+Ch; Inc(i); End; End else Begin // Ch la chu Inc(Dem); While Pos(Ch,"0123456789")=0 Begin Tu:=Tu+Ch; Inc(i); End; End; End; // Sap thu tu day so For i:=1 khổng lồ Dem-1 For j:=i+1 to Dem Begin Val(So, SoI, Loi); Val(So, SoJ, Loi); If (So"") và (So"") and (SoI>SoJ) then Begin Tam:=So; So:=So; So:=Tam; End; End; // Noi tu va so Ch:=""; For i:=1 to lớn Dem Begin If So"" then Ch:=Ch+So; If Tu"" then Ch:=Ch+Tu; End; Write("Chuoi domain authority sap thu tu la: ", Ch); End Hướng giải quyết:  Dùng hàm EOF() để gọi file Input khơng cho biết số mẫu  Dùng hàm Tryên để giảm vứt khoảng trắng dịnh dạng số thực Real Chương thơm trình viết sau: Uses SysUtils; // Dung si trim Var Ch, ChTB: String; Min, Max, Tong, n: LongInt; Begin Assign(Input, "DuLieu.Inp"); Reset(Input); Min:=MaxLongInt; Max:=-MaxLongInt; While not EOF() Begin ReadLn(Ch); Inc(n); Tong:=Tong+Length(Ch); If Min>Length(Ch) then Min:=Length(Ch); If Maxb => a:=a-b, ngược lại b:=b-a Lặp lại bước (*) a=b UCLN a hay b Tìm ước phổ biến Khủng (UCLN) nhiều số a1, a2, a3…, an cách: Đặt phát triển thành UC=UCLN(a1,a2) Tìm UC:=UCLN(UC,ai) với i chạy trường đoản cú mang đến n UC UCLN hàng số  Tìm bội phổ biến nhỏ tuổi (BCNN) số cách: BCNN(a,b)=a*b div UCLN(a,b)  Tìm bội phổ biến nhỏ nhiều số a1, a2, a3…, an cách: - Đặt trở nên BC=BCNN(a1,a2); - Tìm BC:=BCNN(BC,ai) cùng với i chạy từ bỏ cho n BC BCNN dãy số Chương trình viết sau: Var n, i: Integer; A: Array <1 1000> of LongInt; BC: LongInt; - Function UCLN(a,b: LongInt): LongInt; Begin While ab If a>b then a:=a-b else b:=b-a; Exit(a); End; - Function BCNN(a,b: LongInt): LongInt; Begin Exit(a*b div UCLN(a,b)); End; ========================================================= Begin Assign(Input,"DaySo.Inp"); Reset(Input); While not EOF() Begin Inc(n); Read(A); End; Close(Input); BC:=BCNN(A<1>,A<2>); For i:=3 lớn n BC:=BCNN(BC,A); Assign(Output đầu ra,"DaySo.Out"); ReWrite(Output); WriteLn(BC); Close(Output); End Đề thi Tin học trẻ TP.. Tỉnh Ninh Bình năm 2018 Khối hận Trung học Cơ sở Thời gian có tác dụng bài: 1đôi mươi phút ít Hướng giải quyết:  Đối cùng với đề bao gồm tương quan mang đến số nguyên tố, buộc phải viết Function NT để xét số gồm cần số nguim tố tuyệt khơng  Vòng lặp While true … Sẽ chạy vơ điều kiện chạy hồi cho tìm kiếm kết Break - Đặt đổi mới NT1 số ít nguim tố (là 2) - (*) Đặt đổi thay NT2 NT1+1 (là 3), chưa hẳn số nguim tố tăng NT2 mang đến số nguim tố dừng Do số nguyên ổn tố cần NT2=3 không tăng - Nếu NT2-NT1>=k Break - Gán NT1:=NT2 (là 3) quay trở lại bước (*) Cmùi hương trình viết sau: Var k: Integer; NT1, NT2: LongInt; - Function NT(k: LongInt): Boolean; Var i: LongInt; Begin If k=k then Break; NT1:=NT2; End; Assign(đầu ra, "NgTo.Out"); ReWrite(Output); Write(NT1, " ", NT2); Close(Output); End Hướng giải quyết:  Tìm Min Max hàng số, TD: 14 10 11 Min=7 Max=14  Viết Function kiếm tìm số k bao gồm hàng số mang lại tuyệt khơng  Dùng vòng For với đổi thay i chạy trường đoản cú Min (7) mang lại Max (14) quét hàng số, cực hiếm i khơng có dãy số cùng ưa chuộng vươn lên là tổng  Chương trình viết sau: Var n, i: Integer; A: Array <1 10000> of LongInt; Min, Max: LongInt; Tong: QWord; - Function TimSo(k: LongInt): Boolean; Var i: Integer; Begin For i:=1 to n If k=A then Exit(True); Exit(False); End; ========================================================= Begin Assign(Input,"DaySo.Inp"); Reset(Input); ReadLn(n); For i:=1 khổng lồ n Read(A); Close(Input); // Tyên Min va Max Min:=A<1>; Max:=A<1>; For i:=2 lớn n Begin If Min>A then Min:=A; If Maxb then a:=a-b else b:=b-a; Exit(a); End; - Function BCNN(a,b: LongInt): LongInt; Begin Exit(a*b div UCLN(a,b)); End; ========================================================= Begin Assign(Input,"DenNhay.Inp"); Reset(Input); While not EOF() Begin Inc(n); Read(A); End; Close(Input); BC:=BCNN(A<1>,A<2>); For i:=3 to n BC:=BCNN(BC,A); Assign(Output đầu ra,"DenNxuất xắc.Out"); ReWrite(Output); WriteLn(BC); Close(Output); End ... chuổi thi1 0tin2 1hoc9 tre5 namét vuông 018 thành: - Chuổi từ: "thi" "" "tin" "" "hoc" "" "tre" "" "nam" "" - Chuổi số: "" "10 " "" " 21" "" "9" "" "5" "" "2 018 "  Sắp sản phẩm công nghệ từ bỏ chuổi số: "" "10 " "" " 21"  ""... lại thành chuổi: "thi" "" "" "tin" "5" "" "" "" "9" "" "5" "" "2 018 " "10 " "" " 21" "" "2 018 " "" "hoc" "" "tre" "" "nam" "" "9" "" "10 " "" " 21" "" "2 018 "  thi5 tin9 hoc1 0tre2 1nam2 018  Chú ý: lúc... thi thị trấn Hoa Lư năm 2 018 )  Phân tích số 12 0 thành quá số ngulặng tố: - Đặt biến hóa NT=2 - (*) Trong n =12 0 phân tách hết mang lại ghi kết phân chia 12 0 đến 2: 12 0 -> 60 -> 30 -> 15 => 2*2*2 - Tăng NT lên (3), NT