MỤC LỤC PHẦN MỞ ĐẦU 2 I. ĐẶT VẤN ĐỀ : 2 1. Thực trạng của vấn đề đòi hỏi phải có giải pháp mới để giải quyết: 2 2. Ý nghĩa và tác dụng của giải pháp mới: 4 3. Phạm vi nghiên cứu của đề tài: 4 II. PHƯƠNG PHÁP TIẾN HÀNH: 4 1. Cơ sở lý luận và thực tiễn có tính định hướng cho việc nghiên cứu, tìm giải pháp của đề tài: 4 2. Các biện pháp tiến hành, thời gian tạo ra giải pháp: 6 PHẦN NỘI DUNG 7 I. MỤC TIÊU: 7 II. MÔ TẢ GIẢI PHÁP CỦA ĐỀ TÀI: 7 1. Thuyết minh tính mới: 7 1.1 Kiểm tra học kỳ 1 năm học 20152016 môn Tin học: 7 1.2 Giải quyết vấn đề: 8 1.2.1 Xác định bài toán: 8 1.2.2 Tìm cấu trúc dữ liệu biểu diễn thuật toán: 10 1.2.3 Xây dựng thuật toán: 11 1.2.4 : Viết chương trình 17 1.2.5 : Kiểm thử chương trình (Testing program) 21 1.2.6 Tối ưu chương trình (optimization program) 24 2. Khả năng áp dụng: 29 3. Lợi ích kinh tế xã hội: 30 PHẦN KẾT LUẬN 31
Trang 1MỤC LỤC
Trang 2PHẦN MỞ ĐẦU
I ĐẶT VẤN ĐỀ :
1 Thực trạng của vấn đề đòi hỏi phải có giải pháp mới để giải quyết:
- Nhu cầu của xã hội ngày càng lớn cùng với sự phát triển của khoa học kỹthuật đã kéo theo sự phát triển như vũ bão của tin học Sự phát triển của tin học đãđem lại hiệu quả to lớn cho hầu hết các lĩnh vực của xã hội, hơn thế nữa nó còn đisâu vào đời sống của con người
- Nền tin học của một quốc gia được xem là sự phát triển nếu nó đóng góp đượcphần đáng kể vào nền kinh tế quốc dân và vào kho tàng tri thức chung của thế giới
- Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về công nghệ thôngtin với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năngsuất và tự động hóa ngày một hiệu quả hơn và một trong những ứng dụng không thểkhông nhắc đến đó là những ứng dụng phần mềm của máy tính với nền công nghệthông tin hiện nay Phần mềm máy tính ngày một đi lên và phát triển với nhữngngôn ngữ lập trình khác nhau và cụ thể là ngôn ngữ lập trình Pascal Pascal là mộtngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản và dễ hiểu
- Do vậy, Việt Nam nói chung và ngành giáo dục đào tạo nói riêng phải đầu tưphát triển về mọi mặt Đặc biệt là nguồn nhân lực tri thức tức là phải đào tạo ra một thế
hệ trẻ năng động, thông minh, độc lập, sáng tạo, nắm vững tri thức khoa học công nghệ
để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội nhằm đáp ứng được nhucầu trong thời kì công nghiệp hoá, hiện đại hoá đất nước
- Để đáp ứng được các yêu cầu trên, môn Tin học đã được đưa vào giảng dạy ởcác trường phổ thông với vai trò là môn học chính khóa với thời lượng 2 tiết/tuầncho tất cả các lớp ở cấp học
- Đặc trưng của môn Tin học lớp 8 là kiến thức về lập trình Ngôn ngữ lập trìnhdường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các em được học
- Qua giảng dạy môn Tin học ở trường TH&THCS Tân Lĩnh, bản thân tôi nhận thấy rằng nhiều học sinh lớp 8 thấy môn lập trình Pascal khó, khô khan và cực kỳ loằng ngoằng Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong lập trình cũng bài toán đó mà phải làm đến hàng chục phút mà có thể cho kết quả sai Pascal trở
Trang 3nên quá xa lạ và khó khăn đối với người sử dụng và nhất là đối với học sinh THCS
là những người đang trực tiếp ứng dụng ngôn ngữ lập trình này
- Tâm lý các em đều cho rằng môn Tin học không phải là môn học chính Do đókhông cần phải để tâm đến "nó" Những tiết học lý thuyết thì ghi chép qua loa choxong chuyện bằng không thì ghi chép "giả vờ" để thầy cô khỏi chú ý hay nhắc nhởtrong lúc giảng bài Trong những tiết thực hành chỉ một vài học sinh thật sự chú tâmsuy nghĩ xây dựng thuật toán, viết chương trình đa số còn lại tranh thủ chơi gamehoặc làm việc riêng Buồn thay cho một số học sinh khi được kiểm tra vở tại thờiđiểm sắp kết thúc học kỳ 2 mà chỉ ghi được 5 bảy trang cho cả một chương trìnhkhá dài trong cuốn Tin Học 3
- Xét ở một góc độ nào đó Lập trình cũng là một môn học khó đối với học sinhTHCS Khó ở đây không phải do tính phức tạp của môn học hay phạm vi kiến thứcquá rộng lớn Nếu đem so sánh môn học Lập trình và các phân môn Toán học ởtrường THCS thì Lập trình Pascal gọn nhỏ hơn nhiều lần
- Lập trình Pascal "khó" đối với học sinh THCS ở chỗ: môi trường lập trìnhPascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay trợgiúp cũng vậy Bình diện chung học sinh THCS vốn tiếng Anh không nhiều, đa sốcác em còn yếu về tiếng Anh Lấy đơn vị lớp để tính thì mỗi lớp chỉ có một vài emđược gọi là "thông thạo" tiếng Anh qua các bài học Hầu hết số còn lại nằm trongtrạng thái "mù tịt" Đây là một khó khăn cho việc hiểu được Pascal
- Một vấn đề nữa cũng là rào cản đối với việc các học sinh THCS tiếp cận vớilập trình Pascal đó là: tư duy Toán của các em dừng lại ở mức độ Sách Giáo KhoaToán THCS do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bàitoán hay vấn đề cần lập trình chưa tốt Các em vẫn thụ động trong việc tiếp cận bàitoán, sắp xếp tư duy, xây dựng thuật giải
- Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn trăn trở làm thếnào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8 Việc tiếp cận vớimôn học rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các em mớihiểu việc nhập và xuất dữ liệu Do đó sẽ rất khó khăn để các em hình thành kỹ năngviết chương trình… Điều đó đã thúc đẩy tôi trong quá trình giảng dạy phải nghiêncứu tìm tòi biện pháp, kinh nghiệm để giúp cho các em có sự đam mê học tập về lập
Trang 4trình, giúp các em biết được quy trình lập trình như thế nào và định hướng cho học
sinh cách để trở thành một nhà lập trình thì cần phải biết những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal Giúp các em yêu
thích lập trình và học lập trình trong sự hứng thú
2 Ý nghĩa và tác dụng của giải pháp mới:
Việc thực hiện nội dung này đã góp thêm một phương pháp mới trong việcgiảng dạy học sinh lớp 8 có được kỹ năng cơ bản để giải bài toán trên máy tínhbằng ngôn ngữ lập trình Pascal Tạo cho học sinh sự thích thú nhằm nâng cao tínhtích cực, độc lập, sáng tạo và kỹ năng chuyên nghiệp của học sinh trong quá trình sửdụng máy vi tính
Bên cạnh đó các học sinh sẽ cùng hỗ trợ lẫn nhau và thúc đẩy nhau cùng họctập, cùng tiến bộ Những đối tượng khác có niềm đam mê lập trình, đam mê nghiêncứu viết phần mềm tin học sẽ ngày càng hứng thú khám phá trong quá trình thựchành trên máy tính
Hạt nhân của chương trình máy tính là sự lưu trữ và xử lý thông tin Việc tổchức dữ liệu như thế nào có ảnh hưởng rất lớn đến cách thức xử lý dữ liệu đó, cũngnhư tốc độ thực thi và sự chiếm dụng bộ nhớ của chương trình Do đó mục đích củabài viết này là cung cấp những hiểu biết nền tảng trong việc thiết kế một chươngtrình máy tính để thấy rõ sự cần thiết của việc phân tích, lựa chọn cấu trúc dữ liệuphù hợp cho từng bài toán cụ thể
3 Phạm vi nghiên cứu của đề tài:
Học sinh khối 8, 9 trong nhà trường TH&THCS Tân Lĩnh.
II PHƯƠNG PHÁP TIẾN HÀNH:
1 Cơ sở lý luận và thực tiễn có tính định hướng cho việc nghiên cứu, tìm giải pháp của đề tài:
Chúng ta đang sống trong thời đại khoa học điện tử, thời đại bùng nổ thôngtin và mạng máy tính Công nghệ thông tin là tập hợp các phương pháp khoa học,các phương tiện và công cụ kỹ thuật hiện đại nhằm tổ chức khai thác và sử dụng cóhiệu quả các nguồn tài nguyên thông tin rất phong phú và tiềm năng trong mọi lĩnhvực hoạt động của con người và xã hội
Bộ GD&ĐT đã chỉ rõ: Nâng cao nhận thức về vai trò của CNTT; ứng dụng
và phát triển CNTT trong giáo dục và đào tạo sẽ tạo một bước chuyển cơ bản trongquá trình đổi mới nội dung, chương trình, phương pháp giảng dạy, học tập và quản
lí giáo dục
Trang 5Đặc trưng của môn Tin học là môn khoa học gắn liền với công nghệ hiện đại,
do vậy dạy học Tin học trong nhà trường nhằm trang bị cho học sinh kiến thứckhoa học về Tin học, phát triển tư duy thuật toán, kỹ năng lập trình và tiếp cậnnhững công nghệ mới của Tin học phục vụ học tập và đời sống Nội dung chươngtrình của môn Tin học hiện hành ở các trường THCS đã đáp ứng được những yêucầu trên
- Một bộ phận học sinh lớp 8 chưa ý thức việc học Tin
- Số lượng học sinh trong một lớp học còn đông trên 30 học sinh một lớp,diện tích phòng máy nhỏ hẹp, phòng máy có 15 máy nhưng là máy cũ nên thườnghay hư hỏng, thiết bị hỗ trợ thường bị hư hao, không khí trong phòng máy khôngthoáng mát làm cho học sinh không tập trung vào bài giảng ảnh hưởng rất lớntrong quá trình giảng dạy và học tập
- Vẫn còn một số em học sinh tiếp thu kiến thức còn chậm, đặc biệt là kĩ năng
cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal bởi đây là một
môn học mới (một môn ngoại ngữ mới).
- Trường TH&THCS Tân Lĩnh nằm trên xã Tân Lĩnh, là địa phương còn nghèonàn, đa số con em gia đình làm nghề nông, trình độ học vấn có nhiều hạn chế nên
Trang 6sự quan tâm của phụ huynh đến việc học tập của con em còn hạn chế Ít có điềukiện chăm sóc, giáo dục và định hướng cho con em trong việc học tập.
- Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nên chưa
có sự đầu tư thời gian cho việc học Ngoài ra, ở chương trình Tin học 8, các em phảilàm quen, tiếp cận với ngôn ngữ lập trình Pascal là một phần mềm có cấu trúc phứctạp, ngôn ngữ lập trình bằng tiếng anh Mặc khác để thực hiện được một chươngtrình thì các em phải có một kiến thức toán học nhất định
2 Các biện pháp tiến hành, thời gian tạo ra giải pháp:
Qua quá trình học tập, nghiên cứu và hướng dẫn, cộng với thực tiễn trongcông tác giảng dạy Các phương pháp giúp cho tôi tập trung vào nghiên cứu chính,
Trang 7PHẦN NỘI DUNG
I MỤC TIÊU:
Kinh qua những năm trực tiếp giảng dạy bộ môn cũng như trao đổi với đồngnghiệp tôi nhận thấy: hầu như học sinh đều rất yêu thích và hứng thú với môn Tin học.Tuy nhiên, chất lượng bộ môn Tin học lớp 8 qua các năm học chưa cao, đặc biệt là kĩnăng lập trình còn hạn chế Mục đích của tôi là giúp đỡ học sinh lớp 8 nắm được
những kĩ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal Tạo cho học sinh niềm hứng thú và say mê trong lập trình để từ đó giúp cho
các em phát huy tính tích cực, tự giác, chủ động, sáng tạo, rèn luyện thói quen làm việcđộc lập và kỹ năng lập trình Bên cạnh đó, học sinh còn biết vận dụng để giải quyết cácbài toán thường gặp trong thực tế; gây hứng thú trong học tập, làm cho “học” là quátrình kiến tạo; là niềm say mê để từ đó học sinh biết khai thác và xử lý thông tin, tựhình thành hiểu biết, năng lực và phẩm chất
Khi thực hiện nội dung này bản thân tôi là giáo viên tin học cũng thấy mìnhtrở nên năng động, sáng tạo, phát huy được chuyên môn của mình
II MÔ TẢ GIẢI PHÁP CỦA ĐỀ TÀI:
1 Thuyết minh tính mới:
1.1 Kiểm tra học kỳ 1 năm học 2015-2016 môn Tin học:
Qua kiểm tra chất lượng học kỳ 1 năm học 2015-2016, tôi thấy kỹ năng cơ bản
để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal của học sinh lớp 8 là rấtyếu Khi giải bài toán trên máy tính học sinh chỉ quan tâm đến công thức để tính toán
ra kết quả bài toán mà quên các bước xác định thông tin vào, thông tin ra; xây dựngthuật toán; chạy chương trình thì học sinh chưa nhận biết được kết quả chương trìnhđúng hay sai Vì thế, kết quả kiểm tra học kỳ 1 là rất thấp
Kết quả khảo học kỳ 1 năm học 2015-2016
T
T Lớp
Sĩ số
Kết quả kiểm tra
Trang 8cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal thì cần cácbước sau :
- Xác định bài toán
- Tìm cấu trúc dữ liệu biểu diễn thuật toán
- Xây dựng thuật toán
- Viết chương trình
- Kiểm thử chương trình
- Tối ưu chương trình
1.2.1 Xác định bài toán:
a Khái niệm bài toán:
Đã là học sinh thì thường xuyên gặp các bài toán ở nhiều dạng khác nhautrong mọi cấp học Tuy nhiên không phải bài toán nào cũng dễ dàng để thực hiệnđược và cho kết quả tốt Nhưng đối với bất kỳ một bài toán nào thì học sinh cũngđược giáo viên hướng dẫn là phải đọc kỹ đề rồi xác định nó : A B
Trong đó:
A là giả thiết : Điều kiện ban đầu hay cái đã cho khi bắt đầu giải bài toán
B là kết luận : Mục tiêu cần đạt được hay cái phải tìm, phải làm ra khi kếtthúc bài toán
là suy luận : Giải pháp cần xác định hay một chuỗi các bước cần thực hiện
từ A đến B
b Bài toán trên máy vi tính :
Bài toán trên máy cũng mang đầy đủ các tính chất của bài toán tổng quát trên,nhưng nó lại được diễn đạt theo một các khác
- A : là đưa thông tin vào – thông tin trước khi xử lý (Input )
- B: là đưa thông tin ra – kết quả sau khi xử lý (Output)
Trang 9- : là chương trình tạo từ các câu lệnh cơ bản của máy tính cho phép xử lý
từ A đến B
c Xác định bài toán:
Việc xác định bài toán là xác định xem ta phải giải quyết vấn đề gì? Với giả thiếtnào đã cho và với lời giải cần đạt những yêu cầu gì Khác với các bài toán thuần túytrong toán học là chỉ cần xác định rõ giả thiết và kết luận chứ không cần xác địnhyêu cầu về lời giải, đôi khi những bài toán tin học trong thực tế chỉ cần tìm lời giải
tốt tới mức nào đó, thậm chí là chỉ ở mức chấp nhận được (nếu lời giải tốt nhất đòi
hỏi quá nhiều thời gian và chi phí).
Input Process Output (Dữ liệu vào Xử lý Kết quả ra)
d Một số ví dụ :
Ví dụ 1: Tính diện tích hình vuông.
Các bước xác định cho bài toán:
+ Thông tin vào (Input) : Cạnh hình vuông a
+ Thông tin ra (Output) : Kết quả diện tích khi đưa a vào
+ Các dữ liệu cần xử lý để chế biến thông tin như:
Lần lượt đưa giá trị a vào (cho a = 4)
Áp dụng công thức tính diện tích hình vuông: a*aKết quả in ra là 16
Ví dụ 2: Nhập vào một xâu ký tự và in ra màn hình xâu đã được đổi thành in hoa.
Các bước xác định cho bài toán:
+ Input : Xâu ký tự
+ Output : Xâu ký tự đã đổi thành in hoa
+ Các dữ liệu cần xử lý để chế biến thông tin như:
Lần lượt đưa xây ký tự vào ( S = abcd)
Áp dụng công thức :
Xác định chiều dài xâu ký tự bằng hàm Length(s)For i:=1 to length(St) do St[i]:=Upcase(St[i]);
Kết quả in ra là ABCD
Ví dụ 3: Giải phương trình bậc nhất dạng tổng quát bx + c =0
Các bước xác định cho bài toán:
Trang 10+ Input : Các số b, c
+ Output : Nghiệm của phương trình bậc nhất
+ Các dữ liệu cần xử lý để chế biến thông tin như:
Lần lượt đưa giá trị b, c vào ( b = 3 ; c= - 6)
Áp dụng công thức :
- Nếu b = 0 và c = 0 thì phương trình có vô số nghiệm
- Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm
- Nếu b ≠ 0 thì phương trình có nghiệm x = -c/b;
Kết quả in ra là x = 2
Ví dụ 4: Tìm giá trị lớn nhất của một dãy số nguyên
Các bước xác định cho bài toán:
+ Input : số nguyên dương N và dãy N số nguyên a1, …., aN
N = 5 ; (7, 5, 9, 4, 10)+ Output : Giá trị lớn nhất Max của dãy số
+ Các dữ liệu cần xử lý để chế biến thông tin như:
Khởi tạo giá trị Max = a1
Lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai
Kết quả in ra là Max = 10
1.2.2 Tìm cấu trúc dữ liệu biểu diễn thuật toán:
* Cấu trúc dữ liệu (data structure) : Là kiểu dữ liệu mà bên trong nó có chứa
nhiều thành phần dữ liệu và các thành phần dữ liệu đấy được tổ chức theo một cấutrúc nào đó Nó dùng để biểu diễn cho các thông tin có cấu trúc của bài toán Cấutrúc dữ liệu thể hiện khía cạnh logic của dữ liệu Ví dụ cấu trúc dữ liệu đơn giảnnhất trong chương trình tin học lớp 8 là mảng
Còn các dữ liệu không có cấu trúc được gọi là các dữ liệu vô hướng hay các
dữ liệu đơn giản VD: các kiểu dữ liệu số nguyên (integer), số thực (real), logic
(boolean) là các kiểu dữ liệu đơn giản
* Khi giải một bài toán, ta cần phải định nghĩa tập hợp dữ liệu để biểu diễn tìnhtrạng cụ thể Việc lựa chọn này tùy thuộc vào vấn đề cần giải quyết và những thao tác
sẽ tiến hành trên dữ liệu vào Có những thuật toán chỉ thích ứng với một cách tổ chức
Trang 11dữ liệu nhất định, đối với những cách tổ chức dữ liệu khác thì sẽ kém hiệu quả hoặckhông thể thực hiện được Chính vì vậy nên bước xây dựng cấu trúc dữ liệu không thểtách rời bước tìm kiếm thuật toán giải quyết vấn đề.
* Các tiêu chuẩn khi lựa chọn cấu trúc dữ liệu:
- Cấu trúc dữ liệu trước hết phải biểu diễn được đầy đủ các thông tin nhập vàxuất của bài toán
- Cấu trúc dữ liệu phải phù hợp với các thao tác của thuật toán mà ta lựa chọn
để giải quyết bài toán
- Cấu trúc dữ liệu phải cài đặt được trên máy tính với ngôn ngữ lập trình đang
sử dụng
* Đối với một số bài toán, trước khi tổ chức dữ liệu ta phải viết một đoạnchương trình nhỏ để khảo sát xem dữ liệu cần lưu trữ lớn tới mức độ nào
1.2.3 Xây dựng thuật toán:
Đây là bước khó nhất đối với học sinh và cũng cho giáo viên khi dạy phầnnày vì các em quen giải bài toán cụ thể nào đó và giải bài toán bằng ngôn ngữ tựnhiên mà các em đã học còn bây giờ các em phải xây dựng thuật toán của một bàitoán tổng quát và bằng ngôn ngữ lập trình của máy
a Khái niệm thuật toán:
Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác địnhmột dãy thao tác trên cấu trúc dữ liệu sao cho: với một bộ dữ liệu vào (Input), sau
số hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được kết quả đã định(Output)
b Phương pháp biểu diễn thuật toán:
Trong phần này chúng ta cần đưa ra một phương pháp mô tả thuật toán mộtcách khoa học để học sinh nhận biết được quy trình làm việc của máy vi tính (Ngônngữ lập trình) làm việc như thế nào Mô tả thuật toán là bước quan trọng nhất đốivới người lập trình, nếu người lập trình mô tả thuật toán sai hoặc dài dòng thì dẫnđến khi viết chương trình sẽ khó khăn hoặc sẽ cho kết quả sai Ở bước này đòi hỏingười lập trình cần có những hiểu biết cơ bản về toán học thì khả năng biểu diễnthuật toán sẽ trở nên đơn giản hơn và sẽ thấy bài toán trở nên gần gủi Vì vậy trong
ALGORITHM
Trang 12phần này tôi sẽ đã đưa ra hai phương pháp mô tả thuật toán một cách rõ ràng vàkhoa học nhất để các em dễ dàng mô tả thuật toán đúng theo ý tưởng của mình.
b.1 : Phương pháp biểu diễn từng bước:
* Phương pháp:
- Các thao tác của giải thuật được liệt kê từng bước
- Tại mỗi bước, sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải làm
- Bước đứng trước (có số thứ tự nhỏ hơn) được thực hiện trước, thực hiện xongbước này mới chuyển sang bước khác, không nhập nhằng
* Ưu - nhược điểm:
- Dễ hiểu, dễ làm
- Phụ thuộc vào “cách hành văn” của người diễn đạt
- Với những giải thuật phức tạp, cách diễn đạt này trở nên rườm rà,
+ Nếu a = s thì ghi nhận vị trí của phần tử s (p)
+ Nếu a ≠ s và s chưa phải phần tử cuối cùng trong dãy thì gán s bằng phần
tử tiếp theo và lặp lại bước 4
+ Nếu a ≠ s và s là phần tử cuối cùng của dãy thì gán p = 0
- Bước 5: Nếu p ≠ 0 thì đưa ra vị trí cần tìm là p, ngược lại thông báo khôngtìm thấy Kết thúc
Thuật toán “Tìm ước số chung lớn nhất của 2 số nguyên dương a,b.
- Bước 1: Nhập 2 số nguyên dương là a,b
- Bước 2: So sánh giá trị a và b Nếu a bằng b thì sang bước 3, ngược lại akhác b thì sang bước 4
Trang 13- Bước 3: Tìm được ước số chung là a và kết thúc chương trình.
- Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a:=a-b và quay trở lạibước 2 Ngược lại ước số chung là b:=b-a và quay trở lại bước 2
Thuật toán “giải phương trình bậc nhất dạng tổng quát bx + c = 0”
- Bước1 Nhập b, c là các số nguyên
- Bước2 Nếu b = 0 chuyển đến bước 4
- Bước 3 Tính nghiệm phương trình x = - c /b và chuyển tới bước 5
- Bước 4 Nếu c ≠ 0, thông báo phương trình đã cho vô nghiệm ngược lại (c
= 0) thông báo phương trình có vô số nghiệm
- Bước 5 Kết thúc
Thuật toán “Tính chu vi, diện tích hình chữ nhật”
- Bước1 Nhập hai cạnh a,b
- Bước 2 Tính chu vi C = 2*(a+b)
- Bước 3 Tính diện tích S = a*b
- Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc
- Bước 4: Nếu ai > Max thì Max ← ai ;
i ← i+1 ; rồi quay lại bước 3 ;
b.2 : Phương pháp biểu diễn bằng sơ đồ khối:
* Phương pháp:
- Sử dụng mũi tên để quy định trình tự thực hiện các thao tác
- Sử dụng các hình khối để minh hoạ cho các lệnh hay thao tác
Trang 14+ Khối bắt đầu+ Khối kết thúc+ Khối thao tác thực hiện tính toán+ Khối kiểm tra điều kiện
+ Khối vào/ra dữ liệu+ Khối gọi chương trình con,…
Các ký hiệu trong phương pháp biểu diễn này:
Từ các khối ở trên có một số cấu trúc như sau:
* Ưu - nhược điểm: Đây là cách diễn đạt khoa học, có tính nhất quán cao
- Gọi chương trình con A
- Kiểm tra điều kiện: Tùy thuộc điều kiện(Đúng hay Sai) mà rẽ nhánh thích hợp
repeat… until…
Trang 15Thuật toán “Tính chu vi, diện tích hình tam giác”
Thuật toán “Tìm giá trị lớn nhất của một dãy số nguyên”
GV: Nguyễn Việt Hưng Năm học 2016-201715
Begin
End
C := 2*(a+b)
S := a*b §äc c¹nh a,b
* ) (
* ) (