intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

SKKN: Xây dựng một số bài tập Tin học 11 mở rộng theo hướng tích hợp nhiều môn học nhằm phát triển năng lực cho học sinh.

Chia sẻ: Trần Thị Ta | Ngày: | Loại File: DOC | Số trang:31

58
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung sáng kiến "Xây dựng một số bài tập Tin học 11 mở rộng theo hướng tích hợp nhiều môn học nhằm phát triển năng lực cho học sinh" được viết theo ý chủ quan của tác giả nên không thể tránh khỏi các sai sót. Tác giả mong nhận được những chia sẻ, đóng góp để sáng kiến được hoàn thiện hơn.

Chủ đề:
Lưu

Nội dung Text: SKKN: Xây dựng một số bài tập Tin học 11 mở rộng theo hướng tích hợp nhiều môn học nhằm phát triển năng lực cho học sinh.

  1. MỤC LỤC MỤC LỤC................................................................................................................................ 1 1. LỜI GIỚI THIỆU.................................................................................................................. 2 2. TÊN SÁNG KIẾN KINH NGHIỆM:....................................................................................... 2 3. TÊN TÁC GIẢ...................................................................................................................... 3 4. CHỦ ĐẦU TƯ SÁNG KIẾN:................................................................................................ 3 5. LĨNH VỰC ÁP DỤNG SÁNG KIẾN: ................................................................................... 3 6. NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU: .............................................................. 3 7. MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN:................................................................................ 3 7.1 Về nội dung của sáng kiến............................................................................................. 3 A. NỘI DUNG................................................................................................................... 4 1. ÁP DỤNG KHI HỌC CHƯƠNG III: “CẤU TRÚC RẼ NHÁNH VÀ LẶP”........................ 4 2. ÁP DỤNG KHI HỌC CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC............................ 9 3. ÁP DỤNG KHI HỌC XONG TOÀN BỘ CHƯƠNG TRÌNH TIN HỌC 11 VÀ ĐỐI VỚI HỌC SINH KHÁ, GIỎI.................................................................................................... 14 B. KHẢ NĂNG ÁP DỤNG CỦA SÁNG KIẾN................................................................. 26 8. NHỮNG THÔNG TIN CẦN BẢO MẬT:.............................................................................. 26 9. CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN KINH NGHIỆM:...................26 10. ĐÁNH GIÁ LỢI ÍCH THU ĐƯỢC:................................................................................ 26 11. DANH SÁCH CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG SKKN: ......................................... 26 TÀI LIỆU THAM KHẢO......................................................................................................... 28 1
  2. 1. LỜI GIỚI THIỆU Thực hiện Nghị quyết Trung ương 8 khóa XI về đổi mới căn bản toàn diện giáo  dục và đào tạo xác định mục tiêu tổng quát của đổi mới là “phát triển con người  Việt Nam phát triển toàn diện và phát huy tốt nhất tiềm năng của mỗi cá nhân; yêu  gia đình, yêu tổ quốc, hết lòng phục vụ nhân dân và đất nước; có hiểu biết và kĩ  năng cơ bản, khả năng sáng tạo để làm chủ bản thân, sống tốt và làm việc hiệu  quả. Xây dựng nền giáo dục mở, thực học, thực nghiệp, dạy tốt, học tốt; có cơ cấu  và phương thức hợp lí, gắn với xây dựng xã hội học tập; bảo đảm các điều kiện  nâng cao chất lượng; chuẩn hóa, hiện đại hóa, dân chủ hóa, xã hội hóa và hội nhập  quốc tế hệ thống giáo dục và đào tạo; giữ vững định hướng xã hội chủ nghĩa và  bản sắc dân tộc. Phấn đấu đến năm 2030, nền giáo dục Việt Nam đạt trình độ tiên  tiến trong khu vực…” . Để hướng tới mục tiêu đó cần phải đổi mới đồng bộ mục  tiêu giáo dục và chương trình giáo dục, phương pháp giáo dục.  Trong chương trình giáo dục phổ thông, đối với môn Tin học được các nhà biên  soạn sắp xếp theo một hệ thống đi từ khái quát đến cụ thể, từng phần, từng  chương đều có liên quan chặt chẽ với nhau. Trong đó, đối với tin học 11 tập trung  đi sâu vào một lĩnh vực tương đối khó nhưng khá lí thú đó là thuật toán và lập trình.  Tuy nhiên, trong quá trình giảng dạy bộ môn Tin học tôi nhận thấy đại bộ phận các  em đều tỏ thái độ không tích cực với môn học. Vì các em cho rằng đây là môn học  không quan trọng nên với tâm lí đó các em thường không chú ý trong các giờ lên lớp,  về nhà cũng không xem lại bài, một số khác lại bỏ hẳn không học mà chỉ tập trung  nhiều cho các môn cho là trọng tâm. Do đó, để phát huy tính tích cực, sáng tạo và nâng cao hứng thú học tập của học  sinh thì đòi hỏi người giáo viên trước hết phải kiên trì, có trách nhiệm với nghề, yêu  quí học sinh, hết lòng vì nhiệm vụ, sau đó là lựa chọn các chuyên đề dạy học, các  phương pháp dạy học tích cực phù hợp với đối tượng, mục đích dạy học. Trong chương trình Tin học 11, bản thân tôi nhận thấy các bài tập cơ bản trong sách  giáo khoa có nội dung khá gần gũi, có nhiều phần kiến thức liên hệ thực tế và có  nhiều vấn đề cần có sự tích hợp nhiều môn để giải quyết, giúp phát triển năng lực  của học sinh. Vì vậy tôi viết sáng kiến:   Xây dựng một số bài tập Tin học 11 mở rộng theo hướng tích hợp nhiều môn  học nhằm phát triển năng lực cho học sinh.       Nội dung sáng kiến được viết theo ý chủ quan của tác giả nên không thể  tránh khỏi các sai sót. Tác giả mong nhận được những chia sẻ, đóng góp để sáng  kiến được hoàn thiện hơn. 2. TÊN SÁNG KIẾN KINH NGHIỆM: Xây dựng một số bài tập Tin học 11 mở rộng theo hướng tích hợp nhiều môn  học nhằm phát triển năng lực cho học sinh. 2
  3. 3. TÊN TÁC GIẢ ­ Họ và tên: Phạm Thị Hồng Hạnh ­ Địa chỉ tác giả sáng kiến: Trường THPT Tam Đảo 2. ­ Số điện thoại: 0973590228 . ­ E_mail:phamthihonghanh.gvtamdao2@vinhphuc.edu.vn 4. CHỦ ĐẦU TƯ SÁNG KIẾN: Phạm Thị Hồng Hạnh – GV trường THPT Tam Đảo 2 – Vĩnh Phúc 5. LĨNH VỰC ÁP DỤNG SÁNG KIẾN:  ­ Giảng dạy môn Tin Học lớp 11 và bồi dưỡng học sinh giỏi. 6. NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU:  ­ 29/09/2013 7. MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN: 7.1 Về nội dung của sáng kiến. 7.1.1.Mục tiêu nghiên cứu Nội dung tài liệu phục vụ công tác dạy học môn Tin học, ôn thi học sinh giỏi môn  Tin học, có tích hợp với nội dung các môn học khối tự nhiên, các bài toán trong thực  tế, giúp học sinh ôn lại kiến thức các môn học khác thông qua việc giải các bài toán  trong tài liệu 7.1.2.Nhiệm vụ nghiên cứu Tích hợp các bài toán toán học, vật lý và các bài toán trong thực tế phù hợp vào  những nội dung của từng bài học nhằm tạo hứng thú cho học sinh khi học Tin học  11 tại trường THPT Tam Đảo 2. 7.1.3.Khách thể và đối tượng nghiên cứu ­ Khách thể nghiên cứu: Chương trình Tin Học 11 (Cơ bản và nâng cao). ­ Đối tượng nghiên cứu: Tích hợp các môn học khác phù hợp vào những bài tập Tin  học 11 để tạo hứng thú cho học sinh khi học. 7.1.4.Phạm vi nghiên cứu Tích hợp các bài toán toán học, vật lý và các bài toán trong thực tế phù hợp vào  những nội dung của từng bài học nhằm tạo hứng thú cho học sinh khi học Tin học  11 tại trường THPT Tam Đảo 2 ­ Huyện Tam Đảo ­ Tỉnh Vĩnh Phúc. 3
  4. 7.1.5. Nội dung của sáng kiến A. NỘI DUNG 1. ÁP DỤNG KHI HỌC CHƯƠNG III: “CẤU TRÚC RẼ NHÁNH VÀ LẶP” Bài toán 1: Cho 3 sô nguyên d ́ ương a, b, c. Nêu 3 sô nay theo th ́ ́ ̀ ứ tự tao thanh 1 câp  ̣ ̀ ́ ́ ̣ ̀ ưa ra công sai, nêu chung tao thanh câp sô nhân thi đ sô công thi đ ́ ́ ̣ ̀ ́ ́ ̀ ưa ra công bội. Viêt  ́ chương trinh th ̀ ực hiên yêu câu trên. ̣ ̀ + Input: 3 sô nguyên a, b, c ́ + Output: công sai d nếu 3 số đã nhập tạo thành cấp số cộng, công bội q nếu 3 số  đã nhập tạo thành cấp số nhân Bài toán này học sinh cần sử dụng kiến thức về cấp số cộng, cấp số nhân trong  toán học và các kiến thức về câu lệnh ghép, câu lệnh rẽ nhánh trong Pascal để viết   chương trình. Thuật toán:  B1: Nhập a, b, c. B2: Nếu 2*b =a+c thì d:=b­a; B3: Nếu b2=a*c thì q:=b/a; B4: Đưa ra giá trị của d hoặc q. Chương trình minh họa: program vidu1; var a, b, c, d, q: integer; begin        write(‘Nhap a, b, c: ’);        readln(a, b, c);        if a + c = 2*b then         begin d:=b­a; writeln(‘cap so cong co cong sai bang: ‘,d); end;        if a*c = b*b then      begin  q:=b/a;  write(‘cap so nhan co cong boi bang: ‘,q); end;     readln end. 4
  5. Bài toán 2: Nhập từ bàn phím toạ độ của 2 điểm M, N trong mặt phẳng. Tính và  đưa ra màn hình độ dài đoạn MN. Nếu chúng trùng nhau thì thông báo “M trùng với  N”. Xác định bài toán: +/ Input: Bốn số x1,y1,x2,y2 +/ Output: Độ dài đoạn MN hoặc thông báo “M trùng với N” Với bài toán này, các em cần sử dụng kiến thức toán học về tính khoảng cách giữa  2 điểm trong tọa độ Oxy. Thuật toán: B1. Nhập 4 số x1, y1, x2, y2; d 0; B2. d  ( x2 x1) 2 ( y2 y1) 2 B3. Nếu d=0 thì thông báo “M trùng với N”, ngược lại đưa d ra màn hình rồi kết  thúc. Bài toán mở rộng 2.1: Xây dựng thuật toán và viết chương trình giải bài toán nhập  từ bàn phím toạ độ của các đỉnh của một tam giác trong mặt phẳng. Tính và đưa ra  màn hình chu vi, diện tích của tam giác đó. Sau khi đã hoàn thành bài toán cơ sở, các em cần sử dụng kiến thức toán học về  cách tính chu vi và diện tích hình tam giác khi biết độ dài 3 cạnh để xây dựng thuật  toán và viết chương trình. Xác định bài toán: +/ Input: Các số x1, y1, x2, y2, x3, y3. +/ Output: Chu vi, diện tích tam giác Thuật toán: B1. Nhập 6 số x1, y1, x2, y2, x3, y3;  B2. a  ( x 2 x1) 2 ( y 2 y1) 2        b  ( x3 x1) 2 ( y3 y1) 2       c  ( x3 x 2) 2 ( y3 y 2) 2       p a+b+c; s p / 2( p / 2 a)( p / 2 b)( p / 2 c) 5
  6. b3. Đưa p, s ra màn hình rồi kết thúc. 6
  7. Bài toán mở rộng 2.2: Xây dựng thuật toán nhập từ bàn phím toạ độ của các đỉnh  của một đa giác N đỉnh. Tính và đưa ra màn hình chu vi của đa giác đó. Xác định bài toán: +/ Input: Các cặp số (xi, yi), với i nhận giá trị từ 1 đến N. +/ Output: Chu vi của đa giác.       Từ kết quả xác định bài toán ta thấy đây cũng là một bài toán được mở rộng từ  bài toán cơ sở nêu trên vì thực chất đây cũng là bài toán tính độ dài các đoạn thẳng  khi biết toạ độ các điểm. Từ đó học sinh dễ dàng xây dựng thuật toán để giải bài  toán này. Thuật toán: B1. Nhập toạ độ của N đỉnh; B2. Tính độ dài các các cạnh, tính chu vi; B3. Đưa chu vi ra màn hình, rồi kết thúc. Chương trình minh họa: uses crt; var x1,x2,y1,y2,cv,a,b:real;     d,n:integer; begin clrscr; repeat write('nhap n: '); readln(n); until n>=3; d:=1; writeln('nhap dinh ',d); write('x= ');read(x1); write('y= ') ;read(y1); cv:=0; a:=x1;b:=y1; while d
  8. end. Ta có thể mở rộng bài toán tính chu vi của đa giác N đỉnh trong không gian. Bài toán 3: Một người chuyển động thẳng biến đổi đều theo chiều dương của trục  tọa độ với vận tốc lúc đầu V0, vận tốc tại thời điểm t là Vt (V0Vt). Hãy tính gia  tốc a của người đó và cho biết người đó chuyển động nhanh dần đều hay chậm dần  đều? + Input: Vo, Vt, t + Output: Vật chuyển động nhanh dần đều hay chậm dần đều. Thuật toán: B1: Nhập Vo,Vt, t B2: Tính a:=(Vt­Vo)/t; B3:  Nếu a>0 thì đưa ra kết luận chuyển động nhanh dần đều Đưa ra kết luận chuyển động chậm dần đều trong trường hợp ngược lại. Bài toán mở rộng 3.1: Cho 2 vật chuyển động biến đổi đều, xuất phát cùng 1 thời  điểm, cùng 1 vị trí và cùng hướng với vận tốc ban đầu và gia tốc lần lượt là V1, V2,  a1, a2. Hỏi 2 vật trên có thể gặp nhau không? Nếu gặp nhau thì sau thời gian bao  lâu? Xác định bài toán:  + Input: V1, V2, a1, a2. + Output: Hai vật có gặp nhau không? Nếu gặp t bằng bao nhiêu? Để giải được bài toán này học sinh cần sử dụng kiến thức môn Vật lý về chuyển  động thẳng biến đổi đều để kiểm tra xem 2 vật có thể gặp nhau hay không và tính  được thời gian để 2 vật gặp nhau (nếu có). Thuật toán: B1. Nhập V1, V2, a1, a2. B2. Nếu (V1 – V2) (a1 – a2) >=0 thì 2 vật không gặp nhau.        Nếu (V1 – V2) (a1 – a2) 
  9. 2. ÁP DỤNG KHI HỌC CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC Bài toán 1: Xây dựng thuật toán tìm max trong 2 số nguyên a, b. Nếu chúng bằng  nhau thì đưa ra màn hình một trong hai số đó. Xác định bài toán: +/ Input: Hai số a, b. +/ Output: Max của hai số a, b. Thuật toán: B1. Nhập a, b B2. Max  a; B3. Nếu Max  
  10.        Bằng quy luật như trong bài toán cơ sở, ban đầu ta tìm max của a1, a2 ta sẽ  được 1 số đó là max. Sau đó ta lại tìm max của max với a3, quá trình sẽ được tiếp  diễn cho đến khi tìm max của max với aN. 10
  11. Thuật toán: B1. Nhập số nguyên dương N và dãy số nguyên a1, a2, …, aN B2. Max a1; i 2; B3. Nếu i>N thì sang B5 B4. Nếu ai>max thì max ai, ii+1, quay lại B3. B5. Đưa Max ra màn hình rồi kết thúc.        Ngoài ra, với bài toán cơ sở này học sinh dễ dàng xây dựng được thuật toán tìm  min của 2 số, Tìm min của N số. Bài toán 2: Xây dựng thuật toán tìm số lần xuất hiện của kí tự “ch” trong xâu s Xác định bài toán: +/ Input: Kí tự “ch” và xâu s +/ Output: Số lần xuất hiện của kí tự “ch” trong xâu s. Thuật toán: B1. Nhập xâu s và kí tự ch; dem 0; B2. Duyệt từ đầu đến cuối xâu s, nếu s[i]=ch thì tăng biến đếm lên 1 đơn vị dem  dem+1 B3. Đưa dem ra màn hình rồi kết thúc. Bài toán mở rộng 2.1. Xây dựng thuật toán tính tần số xuất hiện của mỗi kí tự  trong xâu s. Xác định bài toán: +/ Input: Xâu s +/ Output: Số lần xuất hiện của mỗi kí tự trong xâu s.         Rõ ràng ta thấy đây cũng là bài toán tìm số lần xuất hiện của một kí tự trong  xâu. Vấn đề được mở rộng ở đây là có thể có nhiều hơn một kí tự cần phải tìm số  lần xuất hiện của chúng trong xâu s. Việc nắm vững thuật toán giải bài toán cơ sở  nêu trên sẽ giúp học sinh có thể xây dựng được thuật toán để giải bài toán 4.1 bằng  cách xem mỗi kí tự chưa được tìm số lần xuất hiện của chúng trong xâu s như kí tự  “ch” trong bài toán cơ sở. Khi tìm được số lần xuất hiện của mỗi kí tự rồi thì đưa  kí tự đó cùng số lần xuất hiện của nó ra màn hình. Một vấn đề nảy sinh ở đây là  làm thế nào để bỏ qua các kí tự đã được tìm số lần xuất hiện trong xâu s. Vấn đề  này có nhiều cách giải quyết nhưng cách đơn giản nhất là xoá hết các kí tự đã tìm  được tần số xuất hiện. Khi xoá hết xâu thì công việc tìm số lần xuất hiện của các  kí tự cũng kết thúc. 11
  12. Thuật toán: B1. Nhập xâu s; B2. Trong khi chưa hết xâu thực hiện: Tìm số lần xuất hiện của kí tự s[1] trong xâu; Đưa kí tự s[1] cùng số lần xuất hiện của nó ra màn hình Xoá các kí tự s[1] trong xâu B3. Kết thúc. Bài toán mở rộng 2.2: Xây dựng thuật toán tìm kí tự xuất hiện ít nhất trong xâu Xác định bài toán: +/ Input: Xâu s +/ Output: Kí tự xuất hiện ít nhất trong xâu s . Bài toán này được phát triển từ bài toán cơ sở vì vấn đề chính ở đây cũng là đi tìm  số lần xuất hiện của một kí tự trong xâu. Tuy nhiên nó được nâng cao hơn một mức  đó là sau khi đếm số lần xuất hiện của mỗi kí tự lại phải kiểm tra xem kí tự đó có  phải xuất hiện ít nhất không? Sẽ đơn giản hơn nếu ta xem đây là bài toán mở rộng  của bài toán 1. Thật vậy, ta sẽ sử dụng một biến kiểu kí tự(minchar) để lưu kí tự  xuất hiện ít nhất trong xâu và ban đầu giả thiết rằng số lần xuất hiện của kí tự ít  nhất trong xâu là(min=length(s)), minchar=s[1] . Sau đó mỗi lần đếm được số lần  xuất hiện của một kí tự trong xâu ta lại so sánh với min. Nếu min lớm hơn số lần  xuất hiện của kí tự vừa đếm thì ta gán lại min và minchar, cuối cùng ta sẽ giải  quyết được bài toán Thuật toán: B1. Nhập xâu s; minchar=s[1]; min=length(s) B2. Trong khi chưa hết xâu thực hiện: Tìm số lần xuất hiện của kí tự s[1] trong xâu; So sánh số lần tìm được đó với min. Nếu min lớn hơn thì thực hiện: ­ Min nhận giá trị mới là số lần xuất hiện của kí tự vừa đếm được; ­ Minchar:=s[1] Xoá các kí tự s[1] trong xâu B3. Đưa minchar và min ra màn hình và kết thúc. 12
  13. Bài toán mở rộng 2.3: Xây dựng thuật toán tìm kí tự xuất hiện nhiều nhất trong  xâu Xác định bài toán: +/ Input: Xâu s +/ Output: Kí tự xuất hiện nhiều nhất trong xâu s . Ta thấy đây là bài toán tương đương của bài toán mở rộng 2. Thuật toán giải bài  toán này như sau: Thuật toán B1. Nhập xâu s; maxchar=s[1]; max=0; B2. Trong khi chưa hết xâu thực hiện: Tìm số lần xuất hiện của kí tự s[1] trong xâu; So sánh số lần tìm được đó với max. Nếu max lớn hơn thì thực hiện: ­ Max nhận giá trị mới là số lần xuất hiện của kí tự vừa đếm được; ­ Maxchar:=s[1] Xoá các kí tự s[1] trong xâu B3. Đưa maxchar và max ra màn hình và kết thúc. Bài toán 3: Viết chương trình kiểm tra một dãy số gồm N số nguyên dương theo  thứ thự nhập vào có phải là một cấp số cộng (cấp số nhân) hay không? Thông báo  kết quả ra màn hình. Với bài toán này, học sinh cần sử dụng kiến thức về kiểu mảng, kết hợp các kiến  thức toán học về cấp số cộng (cấp số nhân) để giải. Dưới đây là chương trình  minh họa. 13
  14. 3. ÁP DỤNG KHI HỌC XONG TOÀN BỘ CHƯƠNG TRÌNH TIN HỌC 11 VÀ  ĐỐI VỚI HỌC SINH KHÁ, GIỎI. Bài toán 1: (bài toán cơ bản) Viết chương trình nhập từ bàn phím số nguyên dương N, tính tổng các ước thực sự  của N và in ra màn hình. Ví dụ: N=6 thì tổng các ước là 1+2+3 =6; N=9 thì tổng các  ước là 1+ 3 =4 Học sinh biết để kiểm tra xem số i có phải là ước  của  số N hay không thì dùng  phép toán Mod (N mod i = 0. Chương trình minh họa: Program bai1; Var   i,tg,N:word; Begin Write(‘Nhap N=’); Readln(N); Tg:=0; For i:=1 to N  div 2 do       If n mod i =0 then tg:=tg+i; Writeln(‘Tong cac uoc la= ‘, tg:5); Readln; End. 14
  15. Bài toán mở rộng 1.1: Số N được gọi là số hoàn hảo nếu tổng các ước thực sự  của N bằng chính nó. Viết chương trình nhập từ bàn phím số nguyên dương N,   thông báo ra màn hình DUNG nếu N là số hoàn hảo, ngược lại thì thông báo  KHONG. Học sinh dễ dàng nhận thấy cách làm bài 2 sẽ tương tự cách làm bài 1, chỉ thêm  một công việc đó là kiểm tra xem tổng các ước đó có bằng N hay không? Chương trình minh họa: Program bai2; Var   i,tg,N:word; Begin Write(‘Nhap N=’); Readln(N); Tg:=0; For i:=1 to N  div 2 do       If n mod i =0 then tg:=tg+i; If tg=N then Writeln(‘DUNG’) else writeln(‘KHONG’); Readln; End. Bài toán mở rộng 1.2: Viết chương trình in ra màn hình các số hoàn hảo trong  khoảng từ a đến b (với 1
  16. If tg=K then Writeln(k); End; Readln; End. Bài toán mở rộng 1.3: Lập chương trình tìm tất cả các số hoàn hảo nhỏ hơn số  nguyên N (N >=10), in các số hoàn hảo và  và các ước của số tìm được ra màn hình.  Giá trị của N được nhập từ bàn phím. Tương tự ta yêu cầu học sinh sao chép sửa lại chương trình bài tập 3 để được bài  tập 4. Bài toán mở rộng 1.4: Hai số a và b được gọi là bạn của nhau nếu tổng các ước  của a bằng b và ngược lại tổng các ước của b bằng a. Viết chương trình tìm các số  bè bạn như trên trong khoảng từ  m đến n (m 
  17.              end;   if kq then writeln('So nguyen to') else write('Khong la so nguyen to'); readln; end. Bài toán mở rộng 2.1: Viết chương trình nhập vào từ bàn phím số nguyên N  (N>10), in ra màn hình các số nguyên tố trong khoảng từ 1 đến N. Nhận xét: Học sinh sẽ áp dụng thuật toán của bài 1 để giải quyết bài 2.  Chương trình minh họa: Program b2; Var     i,k,n:integer;  kq:boolean; begin write('N = ');readln(n); For k:=1 to N do begin kq:=true;{Giả sử k là SNT, Gán kq bằng true} if K
  18. Bài toán mở rộng 2.2: Cho số nguyên N chẵn (nhập từ bàn phím), lập chương  trình phân tích N thành tổng 2 số nguyên tố. Nếu có in ra các cách phân tích. VD: 6 =  3+ 3; Chương trình minh họa: program bai3; var N,i , j, k, m,d : longint; kq1, kq2:boolean; begin writeln(‘Nhap N= ‘); readln(N); for i:=2 to N­1 do {vong lap 1} begin {kiem tra xem so i co phai la so nguyen to hay khong}    kq1:=true;      for k:=2 to trunc(sqrt( i )) do  {vong lap 2}      if  i mod k =0 then   begin   kq1:=false;{do i chia het cho k nen i khong nguyen to}   break;   end;   if kq1  then {neu so i la snto thi tim so j la so nto ma i+j=N}      for j := i to N­1 do {vong lap 3}    begin {kiem tra xem so j co phai la so nguyen to hay khong} kq2:=true;   for m:=2 to trunc(sqrt( j )) do    if  j mod m=0 then   begin   kq2:=false;{Gan kq2=false, tuc j khong la so nto}   break;   end; if kq2 then  if i+j = N then  18
  19.     begin  writeln(N ,' = ', i, ' +  ', j);  d:=d+1;     end; end;      end; readln; End. Bài toán mở rộng 2.3:  Nhập vào một số tự nhiên N (1 1) and (n
  20. for i:=2 to trunc(sqrt(n)) do        if n mod i=0 then            begin                   kq:=false;                   break;              end;    if kq then     writeln(n,' la so nguyen to')    else       {tach so n thanh cac thua so nguyen to}       begin       dem:=0;      m:=n;       Write(n,' = ');       While (m mod 2 = 0) do       Begin            dem:=dem+1;            m:=m div 2;            write('2');            if m>0 then write('.');       End;      i:=3;      While (m > 2) do        Begin           While (m mod i = 0) do           Begin                dem:=dem+1;        m:=m div i;                write(i);                if m>2 then write('.');           End;           i:=i+2;        End;  20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2