Đại cương về lập trình

6 391 1
Đại cương về lập trình

Đang tải... (xem toàn văn)

Thông tin tài liệu

Kỹ thuật lập trì nh 1 CHƯƠNG i ĐạI CƯƠNG Về LậP TRìNH I. Khái niệm thuật toán: I.1. Khái niệ m : Thuậ t toá n là tậ p hợp cá c quy tắ c có logic nhằ m giả i một lớp bà i toán nà o đó để được một kế t quả xá c định. I.2. Các tí nh chất đặc trưng của thuật toán : I.2.1. Tí nh tổng quát : Thuậ t toá n được lậ p không phả i chỉ để giả i một bà i toá n cụ thể mà thôi mà còn phả i giả i đ ược một lớp cá c bà i toá n có dạ ng tương tự. I.2.2. Tí nh giới hạn : Thuậ t toá n giả i một bà i toá n phả i đ ược thực hiệ n qua một số giới hạ n cá c thao tá c để đạ t đế n kế t quả . I.2.3. Tí nh duy nhất : Toà n bộ quá trì nh biế n đổi, cũng như trậ t tự thực hiệ n phả i đ ược xác định và là duy nhấ t. Như vậ y khi dùng thuậ t toá n cùng một dữ liệ u ban đầ u phả i cho cùng một kế t quả . I.3. Phân loại: Theo cấ u trúc, ta có thể phâ n thà nh ba loạ i thuậ t toá n cơ bả n sau : - Thuậ t toá n không phâ n nhá nh. - Thuậ t toá n có phâ n nhá nh. - Thuậ t toá n theo chu trì nh có bước lặ p xá c định và có bước lặ p không xá c định. II. Mô tả thuật toán bằng lưu đồ : II.1. Lưu đồ : Lưu đồ là một dạ ng đồ thị dùng để mô tả quá trì nh tí nh toá n một cá ch có hệ thống. Người ta thường thể hiệ n thuậ t toá n bằ ng lưu đồ. II.2. Các ký hiệu trên lưu đồ : Tê n khối Ký hiệ u ý nghĩ a Khối mở đầ u hoặ c kế t thúc Dùng mở đầ u hoặ c kế t thúc chương trì nh Khối và o ra Đưa số liệ u và o hoặ c in kế t quả Kỹ thuật lập trì nh 2 Khối tí nh toá n Biể u diễ n cá c công thức tí nh toá n và thay đổi giá trị của cá c biế n Khối điều kiện Dùng để phâ n nhá nh chương trì nh Chương trì nh con Dùng để gọi chương trì nh con Mũi tê n Chỉ hướng truyề n thông tin, liê n hệ cá c khối II.3. Một số ví dụ biể u diễ n thuật toán bằng lưu đồ II.3.1. Thuật toán không phân nhánh: Ví dụ 1 : Tí nh A = x 2 + y 2 Begin Nhaọp (x,y) A = x 2 + y 2 Xuaỏt (A) End Ví dụ 2 : Tí nh y x CByAx S 2 2 + ++ = ; biế t A,B,C,x,y Begin Nhaọp (A, B, C, x,y) S = (Ax + By + C) / SQRT (x*x + y*y) Xuaỏt S End Kỹ thuật lập trì nh 3 II.3.2. Thuật toán có phân nhánh: Ví dụ 1 : Tì m giá trị max của ba số thực a,b,c Begin Nhaọp (a, b, c) Max = a Xuaỏt (Max) End a > b Max < c Max = c S S Max = b ẹ ẹ Ví dụ 2 : Giả i phương trì nh bậ c nhấ t Ax+B =0 với cá c nghiệ m thực. Begin Nhaọp (a, b) Xuaỏt (PTVẹ) End a = 0 S S Xuaỏt (-b/a) b = 0 Xuaỏt (PTVN) ẹ ẹ Kü tht lËp tr× nh 4 VÝ dơ 3 : Gi¶ i ph­¬ng tr× nh bË c hai Ax 2 +Bx+C =0 víi c¸ c nghiƯ m thùc. Begin Nhập (a, b, c) Xuất (‘X 1 = ’,(-b + SQRT(Delta)) / (2*a)) Xuất (‘X 2 = ’,(-b - SQRT(Delta)) / (2*a)) End a = 0 Đ Đ PTB1 (b, c) Delta < 0 Xuất (‘PTVN’) S S Delta = b*b - 4*a*c Đ Delta = 0 Xuất (-b / (2*a)) S II.3.3. Tht to¸n cã chu tr× nh: Th t to¸ n cã chu tr× nh víi c¸c b­íc lỈ p x¸ c ®Þnh th­êng ® ­ỵc thĨ hiƯ n b» ng l­u ®å sau : i = giá trò ban đầu Lệnh S; Tăng i i <= n S Đ víi n lµ gi¸ trÞ kÕ t thóc. Kỹ thuật lập trì nh 5 Ví dụ 4: Tí nhS= i i n x = 1 , với cá c x i do ta nhậ p và o. Begin Nhaọp (n) i = 1 S = 0 Nhaọp (x i ) End i = i+1 S = S+x i i <= n Xuaỏt (S) S ẹ III. CáC NGôN NGữ LậP TRìNH & CHươNG TRìNH DịCH : III.1. Ngôn ngữ lập trì nh: III.1.1. Giới thiệ u: Con người muốn giao tiế p với má y tí nh phả i thông qua ngôn ngữ. Con người muốn má y tí nh thực hiệ n công việ c, phả i viế t cá c yê u cầ u đ ưa cho má y bằ ng ngôn ngữ má y hiể u đ ược. Việ c viế t cá c yê u cầ u ta gọi là lậ p trì nh (programming). Ngôn ngữ dùng để lậ p trì nh đ ược gọi là ngôn ngữ lậ p trì nh. Nế u ngôn ngữ lậ p trì nh gầ n với vấ n đề cầ n giả i quyế t, gầ n với ngôn ngữ tự nhiê n thì việ c lậ p trì nh sẽ đ ơn giả n hơn nhiề u. Những ngôn ngữ lậ p trì nh có tí nh chấ t như trê n đ ược gọi là ngôn ngữ cấ p cao. Nhưng má y tí nh chỉ hiể u đ ược ngôn ngữ riê ng của mì nh, đó là cá c chuỗi số 0 với 1 và như vậ y rõ rà ng là khó khă n cho lậ p trì nh viê n, vì nó không gầ n gũi với con người. Hiệ n tạ i, ngôn ngữ lậ p trì nh được chia ra là m cá c loạ i sau: III.1.2. Phân loại ngôn ngữ lập trì nh: - Ngôn ngữ má y (machine language) Kü tht lËp tr× nh 6 - Hỵp ng÷ (assembly language) - Ng«n ng÷ cÊ p cao (higher-level language) Do m¸ y tÝ nh chØ hiĨ u ®­ỵc ng«n ng÷ m¸ y, cho nª n mét ch­¬ng tr× nh viÕ t trong ng«n ng÷ cÊ p cao ph¶ i ® ­ỵc biª n dÞch sang ng«n ng÷ m¸ y. C«ng cơ thùc hiƯ n viƯ c biª n dÞch ®ã ® ­ỵc gäi lµ ch­¬ng tr× nh dÞch. III.2. Ch­¬ng tr× nh dÞch: Ch­¬ng tr× nh dÞch ® ­ỵc chia ra lµ m 2 lo¹ i : tr× nh biªn dÞch (compiler) vµ tr× nh th«ng dÞch (interpreter) III.2.1. Tr× nh biª n dÞch: lµ viƯ c chu n mét ch­¬ng tr× nh trong ng«n ng÷ cÊ p cao nµ o ®ã (ch­¬ng tr× nh ngn) sang ng«n ng÷ m¸ y (ch­¬ng tr× nh ®Ý ch). - Thêi gian chu n mét ch­¬ng tr× nh ngn sang ch­¬ng tr× nh ®Ý ch ® ­ỵc gäi lµ thêi gian dÞch. - Thêi gian mµ ch­¬ng tr× nh ®Ý ch thùc thi ® ­ỵc gäi lµ thêi gian thùc thi. Nh­ vË y, ch­¬ng tr× nh ngn vµ d÷ liƯ u ®Ĩ ch­¬ng tr× nh thùc thi ® ­ỵc xư lý trong c¸ c thêi ®iĨ m kh¸ c nhau, ® ­ỵc gäi lµ thêi gian dÞch (compile time) vµ thêi gian thùc thi (run-time) Chương trình nguồn Trình biên dòch Chương trình đích Máy tính thực hiện Kết quả Dữ liệu H× nh I.1. Ch­¬ng tr× nh thùc thi theo c¬ chÕ dÞch cđa tr× nh biª n dÞch III.2.2. Tr× nh th«ng dÞch: qu¸ tr× nh dÞch vµ thùc thi x¶ y ra cïng 1 thêi gian, dÞch ®Õ n ®© u thi hµ nh lƯ nh ®Õ n ®ã. Chương trình nguồn Chương trình thông dòch Kết quả Dữ liệu H× nh I.2. Ch­¬ng tr× nh thùc thi theo c¬ chÕ dÞch cđa tr× nh th«ng dÞch . Kỹ thuật lập trì nh 1 CHƯƠNG i ĐạI CƯƠNG Về LậP TRìNH I. Khái niệm thuật toán: I.1. Khái niệ m : Thuậ t. = S+x i i <= n Xuaỏt (S) S ẹ III. CáC NGôN NGữ LậP TRìNH & CHươNG TRìNH DịCH : III.1. Ngôn ngữ lập trì nh: III.1.1. Giới thiệ u: Con người muốn giao

Ngày đăng: 29/09/2013, 05:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan