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

Ngôn ngữ lập trình

Chia sẻ: Nguyen Viet Dong | Ngày: | Loại File: DOC | Số trang:28

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

Nhằm giúp các bạn chuyên ngành Công nghệ thông tin có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu, mời các bạn cùng tham khảo nội dung tài liệu "Ngôn ngữ lập trình" dưới đây. Nội dung tài liệu cung cấp cho các bạn khái niệm ngôn ngữ lập trình, lập trình bằng ngôn ngữ Fortran, ngôn ngữ lập trình hướng vào máy,...

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ lập trình

  1. NGÔN NGƯ LÂP TRINH ̃ ̣ ̀ I KHAI NIÊM ́ ̣ 1. CAC NGÔN NG ́ Ữ ̣ Khi lâp trinh phai s ̀ ̉ ử dung cac ngôn ng ̣ ́ ư, goi la cac ngôn ng ̃ ̣ ̀ ́ ữ lâp trinh, co 2 loai: ̣ ̀ ́ ̣ ­ Ngôn ngư lâp trinh h ̃ ̣ ̀ ương vao may; ́ ̀ ́ ­ Ngôn ngữ lâp trinh h ̣ ̀ ương vao ng ́ ̀ ươi viêt ch ̀ ́ ương trinh, con goi la ngôn ng ̀ ̀ ̣ ̀ ư  ̉ phât triên, hoăc la ngôn ng ́ ̣ ̀ ữ bâc cao. ̣ A. Ngôn ngữ lâp trinh h ̣ ̀ ương vao may ́ ̀ ́ a. Nôn ngữ may t ́ ương đôi gân v ́ ̀ ới câu truc cua may tinh, s ́ ́ ̉ ́ ́ ử dung chung rât ph ̣ ́ ́ ức  ̣ ̀ ́ ́ ́ ương tiên đê kiêm tra s tap va co rât it ph ̣ ̉ ̉ ự đung đăn cua ch ́ ́ ̉ ương trinh. ̀ Thao tac trên ngôn ng ́ ữ may rât ph ́ ́ ưc tap, ng ́ ̣ ươi lâp trinh phai năm v ̀ ̣ ̀ ̉ ́ ững phân ̀  cưng cua may; h ́ ̉ ́ ơn nưa cac ma đ ̃ ́ ̃ ược thê hiên d ̉ ̣ ưới dang nhi phân nên thao tac ̣ ̣ ́  rât vât va va trong qua trinh tinh không kiêm tra đ ́ ́ ̃ ̀ ́ ̀ ́ ̉ ược chương trinh.  ̀ b. Cać   chương   trinh ̀   dich ̣   hợp   ngư:̃   Viêṭ   chương   trinh ̀   dươí   dang ̣   text,   sau   đó  chương trinh dich se dic cac ch ̀ ̣ ̃ ̣ ́ ương trinh dangg text sang dang ngôn ng ̀ ̣ ̣ ữ may. ́ c. Cac ch ́ ương trinh dich h ̀ ̣ ợp ngữ Macro: Được viêt theo t ̣ ưng dang modul, môi ̣ ̃  modul bao ham nhiêu tâp h ̀ ̀ ̣ ợp lênh, ngươi s ̀ ử dung se kêt h ̣ ̃ ́ ợp nhiêu modul theo ̀   ̣ ̉ ̣ dang Macro đê tao thanh môt ch ̀ ̣ ương trinh hoan chinh. ̀ ̀ ̉ d. Cac ngôn ng ́ ữ co câu truc cho hê thông ́ ́ ́ ̣ ́    B. Cac ngôn ng ́ ữ phat triên (Ngôn ng ́ ̉ ữ bâc cao) ̣ Ngươi lâp trinh d ̀ ̣ ̀ ựa vao viêc x ̀ ̣ ử  ly thông tin thông qua cac d ́ ́ ữ liêu đa cho, viêṭ ̃ ́  chương trinh x ̀ ử ly qua cac ngôn ng ́ ́ ữ lâp trinh. ̣ ̀ Từ chương trinh  ̀ ở  dang mac nguôn (viêt theo ngôn ng ̣ ̀ ́ ữ phat triên nao đo) phai ́ ̉ ̀ ́ ̉  được chuyên đôi (biên dich) vê ngôn ng ̉ ̉ ̣ ̀ ư may. ̃ ́ Ở đây, ta nghiên cưu nh ́ ưng phân co liên quan đên ch ̃ ̀ ́ ́ ương trinh. ̀ ̣ ̉ ́ ́ ́ ương trinh: Khi nghiên c 1. Khi lâp trinh phai biêt câu truc hoa cac ch ̀ ́ ́ ̀ ứu giaỉ   quyêt cac vân đê cân phai co s ́ ́ ́ ̀ ̀ ̉ ́ ự  kêt h ́ ợp cac thao tac, cac câu truc ngôn ́ ́ ́ ́ ́   ngư trong ngôn ng ̃ ư phat triên cho phep cac biêu diên sau: ̃ ́ ̉ ́ ́ ̉ ̃ + Tuân t ̀ ự: Thực hiên cac lênh lân l ̣ ́ ̣ ̀ ượt ́ ̣ Vi du: D = A+B*C   được viêt la:  E = B*C ́ ̀                                                            D = A+E + Điêu kiên:  ̀ ̣        Nêu  ̣ ̀ ̀ ̣ ́  điêu kiên nay la hiên th ̀ ưc, thì   ta thi hanh lênh x ̀ ̣ ử  ly nay;  ́ nêu ́  không thì thực hiên lênh x ̣ ̣ ử ly khac. ́ ́ ̣ ́ ̣ ̣ ̣ + Lăp sô hoc (lăp lai bao nhiêu lân thi tinh toan bây nhiêu lân) ̀ ̀ ́ ́ ́ ̀ 1
  2. ̣ ̣ ̣ ́ ́ ư thê nao t + Lăp logic (Lăp lai tinh toan nh ́ ̀ ơi khi thu lai điêu kiên nh ́ ̣ ̀ ̣ ư thế  đây). ́ Trong chương trinh may tinh la môt chuôi liên tuc cac chi thi, khi  ̀ ́ ́ ̀ ̣ ̃ ̣ ́ ̉ ̣ đó  chương trinh phât triên se đ ̀ ́ ̉ ̃ ược câu truc thanh cac “khôi” x ́ ́ ̀ ́ ́ ử ly, v ́ ới cac “ ́   ́ ử  ly nay nh khôi” x ́ ̀ ưng ng ̃ ươi lâp trinh se đê dang kiêm tra qua trinh viêt ̀ ̣ ̀ ̃ ̃ ̀ ̉ ́ ̀ ́  chương trinh cua minh d ̀ ̉ ̀ ựa vao cac “khôi” – Cac “ khôi” đo con goi la “ ̀ ́ ́ ́ ́ ́ ̀ ̣ ̀   sơ đô khôi”. ̀ ́ ́ ́ ư liêu 2. Câu truc hoa d ́ ̃ ̣  Sô ĺ ượng : sô nguyên ́ ́ ̉ ́  Gia ca, kich th ươc …: sô thâp phân (sô th ́ ́ ̣ ́ ực) ̉  Văn ban: la l ̀ ơi (ky t ̀ ́ ự; text) ̣ ̉ Cac loai thê hiên  ́ ̣ ở  trên được ma hoa trong ch ̃ ́ ương trinh, chung đ ̀ ́ ược  lưu trư v ̃ ơi bô nh ́ ̣ ớ khac nhau. ́ ̉ 3. Chuyên đôi ̉ ̣ ương trinh đ Môt ch ̀ ược viêt theo ngôn ng ́ ữ nao đo tr ̀ ́ ước khi sử dung phai ̣ ̉  ̉ qua  ngôn  ngữ may  chuyên  ́ băng môt ̀ ̣ chương  trinh ̣ ̀  phiên  dich nao  ̀ đo.́  ̣ Trong qua trinh phiên dich co thê xay ra tr ́ ̀ ́ ̉ ̉ ương h ̀ ợp chương trinh qua l ̀ ́ ơn, ́   lam cho may tinh không thê lam viêc đ ̀ ́ ́ ̉ ̀ ̣ ược. Co 2 cac giai quyêt: ́ ́ ̉ ́ a. Thu nho ch ̉ ương trinh lai băng cach: cho it ân, biên h ̀ ̣ ̀ ́ ́ ̉ ́ ơn (trương h ̀ ợp   nay kho th ̀ ́ ực hiên) ̣ ́ ̉ ực hiên băng cach chia nho ch    Co thê th ̣ ̀ ́ ̉ ương trinh (tôt h ̀ ́ ơn), tưc la ́ ̀  ̉ ̣ ́ chia nho công đoan tinh (bai toan nho) thanh nh ̀ ́ ̉ ̀ ưng ch ̃ ương trinh con, ̀   được goi la cac “modul”. ̣ ̀ ́ b. Thực   hiên ̣   chế  độ   biên   dich ̣   chương   trinh ̉   chông ̀   theo   kiêu ̀   lớp   (overlap): co thê th ́ ̉ ực hiên  ̣ ở  bô nh ̣ ớ trong may tinh, hoăc  ́ ́ ̣ ở  bô nh ̣ ơ ́ ngoai may tinh, no chi th ̀ ́ ́ ́ ̉ ực hiên phân trong tâm cua ch ̣ ̀ ̣ ̉ ương trinh, ̀   ́ ̀ ̀ ̀ ̀ ̣ sau đo tuy theo yêu câu dân dân nap cac phân cân thiêt vao ch ́ ̀ ̀ ́ ̀ ương  ̀ ̣ trinh, phân nap sau phu lên phân nap tr ̀ ̉ ̀ ̣ ước.   Nhược điêm: cân phai truy câp va trao đôi v ̉ ̀ ̉ ̣ ̀ ̉ ới bô nh ̣ ớ ngoai (ô c ̀ ̉ ứng)   nên thơi gian biên dich lâu. ̀ ̣   C.  Cac ngôn ng ́ ữ phat triên chinh ́ ̉ ́    Co rât nhiêu cac ngôn ng ́ ́ ̀ ́ ữ phat triên chinh. Môi ngôn ng ́ ̉ ́ ̃ ữ co môt hiêu năng, ́ ̣ ̣   ́ ̉ ́ ̀ ́ ̉ ử dung đung luc, đung chô. tinh chât riêng cua no, ta cân biêt đê s ́ ̣ ́ ́ ́ ̉ a. Ngôn ngư FORTRAN ̃ Được sử dung trong tinh toan khoa hoc ky thuât. ̣ ́ ́ ̣ ̃ 2
  3. ­ Thang 9/1957 FORTRAN II đ ́ ược xuât hiên, cuôi 1958 FORTRAN III; đên ́ ̣ ́ ́  ́ ̣ ̉ ́ ̣ 1962 FORTRAN  IV xuât hiên; năm 1977 FORTRAN IV chuân xuât hiên, con ̀  ̣ ̀ ́ ́ ̣ goi la FORTRAN 77., sau đo xuât hiên FORTRAN 90.. ̉ ̉ Yêu điêm chinh cua FORTRAN la không co ph ́ ́ ̀ ́ ương tiên thao tac ky t ̣ ́ ́ ự, nhưng   FORTRAN rât thanh công trong cac bai toan KHKT, no la ngôn ng ́ ̀ ́ ̀ ́ ́ ̀ ữ lâp trinh tôi ̣ ̀ ́  ưu nhât. ́ Vi FORTRAN la ngôn ng ̀ ̀ ữ bâc cao tiên tiên va lâu đ ̣ ́ ̀ ời nên no đê lai môt tai san ́ ̉ ̣ ̣ ̀ ̉   ̀ ương trinh đô sô, quy gia trong nhêu vinh v vê ch ̀ ̀ ̣ ́ ̀ ̃ ực khac nhau, trong đo co toan ́ ́ ́ ́  ̣ ơ hoc, kêt câu công trinh. Cung vi ly do đo, ta chon ngôn ng hoc, c ̣ ́ ́ ̀ ̃ ̀ ́ ́ ̣ ứ FORTRAN   ̉ đê nghiên c ưu va s ́ ̀ ử dung. ̣ b. Ngôn ngư PASCAL ̃ La ngôn ng ̀ ữ được phat triên trong lâp trinh KHKT va trong hoc đ ́ ̉ ̣ ̀ ̀ ̣ ường. No co ́ ́  câu truc kiêm tra h ́ ́ ̉ ưu hiêu, co s ̃ ̣ ́ ự  tô ch ̉ ưc d ́ ữ liêu tôt, co điêu kiên kiêm tra dê ̣ ́ ́ ̀ ̣ ̉ ̉  dang hiêu l ̀ ̣ ực cua môt ch ̉ ̣ ương trinh. Ng ̀ ươi ta con coi PASCAL la ngôn ng ̀ ̀ ̀ ữ tôt́  ́ ̉ ́ ương trinh. Ngôn ng nhât đê viêt ch ̀ ữ PASCAL được xuât hiên t ́ ̣ ừ 1972 đên nay.  ́ c. Ngôn ngư BASIC  ̃ La ngôn ng ̀ ữ quen thuôc nhât cua vi tin hoc. No xuât hiên cung luc v ̣ ́ ̉ ̣ ́ ́ ̣ ̀ ́ ơi s ́ ự xuât́  ̣ ̉ hiên cua may vi tinh. Cac thiêt bi vao ra h ́ ́ ́ ́ ̣ ̀ ơi nhiêu, công kênh, thich h ̀ ̀ ́ ợp cho   nhưng ng ̃ ươi không chuyên va it đ ̀ ̀ ́ ược đao tao vê tin hoc. ̀ ̣ ̀ ̣ Nhược: ́ ̣ ̀ ­ Chê đô vao ra không thich h ợp; ­  Dung lượng nho;̉ ­ Sự chuyên đôi ch ̉ ̉ ương trinh không linh hoat ̀ ̣ ­ Câu truc kiêm tra ngheo nan; ́ ́ ̉ ̀ ̀ ­ Câud truc d ́ ư liêu không linh hoat ̃ ̣ ̣ Tom lai: ́ ̣ Ở  trinh đô cao va  ̀ ̣ ̀ở  nhưng bai toan khoc hoc ph ̃ ̀ ́ ̣ ưc tap không nên s ́ ̣ ử  ̣ dung BASIC. d. Ngôn ngư C ̃ La ngôn ng ̀ ữ hiên đai đ̣ ược sử dung rông rai nhât trong moi  ̣ ̣ ̃ ́ ̣ ứng dung. Cac  ̣ ́ ưnǵ   ̣ dung va cac phân mêm hiên đai đêu đ ̀ ́ ̀ ̀ ̣ ̣ ̀ ược viêt trên ngôn ng ́ ữ C. Nhiêu n ̀ ước coi   ngôn ngư C la ngôn ng ̃ ̀ ữ chinh thông đê s ́ ́ ̉ ử dung va phat triên đai tra. ̣ ̀ ́ ̉ ̣ ̀ Nhiêu ly thuyêt vê tin hoc đa đ ̀ ́ ́ ̀ ̣ ̃ ược thê hiên thanh công trong ngôn ng ̉ ̣ ̀ ữ C. Có  thê noi s ̉ ́ ưc manh cua ch ́ ̣ ̉ ương trinh va tinh hoc thuât cao cua ngôn ng ̀ ̀ ́ ̣ ̣ ̉ ữ C đa dâñ ̀  ̀ ưa ngôn ngư C thanh ngôn ng dân đ ̃ ̀ ữ chuân đ ̉ ược nhiêu ng ̀ ười ưa chuông ̣   3
  4. PHÂN A. LÂP TRINH BĂNG NGÔN NG ̀ ̣ ̀ ̀ Ữ FORTRAN CHƯƠNG I CAC KHAI NIÊM C ́ ́ ̣ Ơ BAN ̉ I. Cac ky hiêu dung cho FORTRAN 90 ́ ́ ̣ ̀ ̣ ́ ̣ Co 3 loai ky hiêu chinh: ́ ́ 1. ́ ́ ừ 1   9 va cac tô h Cac sô: t ̀ ́ ̉ ợp cua no ̉ ́ ́ ̣       Vi du: 12;  12.345      2. ́ ữ cai la tinh: Co thê viêt hoa, co thê viêt th Cac ch ́ ́ ́ ̉ ́ ́ ̉ ́ ường. Chữ cai hoa va ́ ̀  chư cai th ̃ ́ ương không đ ̀ ược hiêu giông nhau, đông nhât v ̉ ́ ̀ ́ ới nhau. 3. ́ ́ ự đăc biêt Cac ky t ̣ ̣ 4. ́ ̣ Ky hiêu ́ ự Tên ky t + ́ ̣ Dâu công ­ ́ ừ Dâu tr * Dâu nhân ́ / Dâu chia ́ ( Mở ngoăc̣ ) Đong ngoăc ́ ̣ . ̉ ́ ̣ Dâu châm (thay dâu phây trong sô thâp phân) ́ ́ ́ , Dâu phây ́ ́ ; Dâu châm phây ́ ́ ̉ = Dâu băng ́ ̀ _ ́ ́ ̉ ́ Dâu cachs, dâu đê trông ‘ Dâu nhay ́ ́ $ ́ ̣ Ky hiêu đô la 4
  5. Chu y phân biêt gi ́ ́ ̣ ữa chư O va sô 0. ̃ ̀ ́ ̉ Đê phân biêt, ng ́ ươi ta dung ky hiêu O la ch ̀ ̀ ́ ̣ ̀ ư Õ                                                             la sô 0 ̀ ́ II. Cac d ́ ư liêu ́ ̣   1. Dư liêu gôm cac loai: ̃ ̣ ̀ ́ ̣ – Sô nguyên ́ – Sô th ́ ực – Sô th ́ ực đô dai gâp đôi: sô le phia sau dai h ̣ ̀ ́ ́ ̉ ́ ̀ ơi (14 sô le) đê đam bao đô chinh ́ ̉ ̉ ̉ ̉ ̣ ́   ́ ̉ xac cua phep tinh (khi đo se chiêm nhiêu ô nh ́ ́ ́ ̃ ́ ̀ ớ va th ̀ ời gian tinh h ́ ơn) – Sô ph ́ ưć – Hăng logic (co, không, đung sai…) ̀ ́ ́ – Hăng l ̀ ời – chư viêt, không co ch ̃ ́ ữ số – So sanh ́ 2. Tên goị  Được câu tao thông th ́ ̣ ương gôm 1 tâp h ̀ ̀ ̣ ợp gôm 5 đên 6 ky hiêu . Tên ̀ ́ ́ ̣   ̣ goi phai đ ̉ ược băt đâu băng ch ́ ̀ ̀ ữ, vi du:  X1, N3, C3N ́ ̣  ̣ ̀ ̉ ̉ ́ ̀ Tên goi dung đê chi cac hăng, cac biên sô, cac mang, cac biên. (Mang ́ ́ ́ ́ ̉ ́ ́ ̉   ̣ la  1 tên goi trong đo co ch ̀ ́ ́ ưa nhiêu phân t ́ ̀ ̀ ử ở bên trong va đ ̀ ược xêp theo môt th ́ ̣ ư ́ tự  nao đo. Môi phân t ̀ ́ ̃ ̀ ử  ở  trong mang la môt hăng hay môt biên). Tên goi cung co ̉ ̀ ̣ ̀ ̣ ́ ̣ ̃ ́  ̉ thê tên cua ch ̉ ương trinh. ̀ ̣ ̀ 3. Cac loai hăng ́ a. Hăng nguyên ( INTEGER ) ̀ ̉ + Đê mô ta cac sô th ̉ ́ ́ ư t ́ ự, sô ĺ ượng, được tâp h ̣ ợp bởi cac sô t ́ ́ ừ 1  9 ́ ̣      Vi du: 1, 2, 12, 0, ­123456 ̣ ̣ +Cac tên goi đăt cho hăng nguyên đ ́ ̀ ược tâp h ̣ ợp bởi cac ch ́ ữ va sô (sô không ̀ ́ ́   được đăt  ̣ ở  đâu tâp) v ̀ ̣ ơi ch ́ ữ đâu tiên la cac ky t ̀ ̀ ́ ́ ự sau (6 ky t ́ ự): I, J, K L, N,   M ́ ̣      Vi du: MOMENT =12, I = 4, K = 5. + Hăng nguyên co thê mang dâu +, ­ ̀ ́ ̉ ́ b.  Hăng th ̀ ực ( REAL) + Hang th ̀ ực dung đê biêu diên sô thâp phân. Sô le thâp phân đ ̀ ̉ ̉ ̃ ́ ̣ ́ ̉ ̣ ược ngăn cach ́   bởi dâu “.”. Sô sô le co gia tri trong may la 7 sô le (Sô le th ́ ́ ́ ̉ ́ ́ ̣ ́ ̀ ́ ̉ ́ ̉ ứ 8 se đ ̃ ược lam̀   tron). ̀ ́ ̣ ̣ Vi du: 0.035, hoăc viêt la: .035, 12.956, 12.1234567  (không l ́ ̀ ớn hơn 7 sô le) ́ ̉       Chu y la viêt 0. cung t ́ ́ ̀ ́ ̃ ương đương khi viêt .0 ́ + Hăng th ̀ ực con biêu diên theo dang sô mu cua 10 ̀ ̉ ̃ ̣ ́ ̃ ̉ ́ ̣ ̀ Vi du: cân viêt: 1, 324 x 10 ́ 6  thi viêt la: 1.324E+06 ̀ ́ ̀ ̃ ́ ̣            Khi in ra se co dang:                     .1324E+07 5
  6. ­20             Sô 4,25 x 10 ́  FORTRAN viêt la:  4.25E­20 ́ ̀ ̣ ̉ + Tên goi cua cac hăng th ́ ̀ ưc được viêt băng cach tâp h ́ ̀ ́ ̣ ợp cac ch ́ ữ cai  va ch ́ ̀ ư ̃ ́ ữ sô va 6 ky t sô (ch ́ ̀ ́ ự đai diên cho sô nguyên – I, J, K, L, M, N không đ ̣ ̣ ́ ược   đứng đâu tâp h ̀ ̣ ợp). Tâp hăng tḥ ̀ ực bao gôm 5 ̀  6 ky t ́ ự. ́ ̣ ̉ ̣ Vi du: Thê hiên Momen = 20 phai viêt la: ̉ ́ ̀                           AMOMEN = 20. c. ́ ̣ ̀ ́ Hăng co đô dai gâp đôi (DOUBLE PRECISION) (Đô chinh xac gâp đôi) ̀ ̣ ́ ́ ́ +Khi sử dung hăng co đô dai gâp đôi, sô le cua hăng se la 14 sô ̣ ̀ ́ ̣ ̀ ́ ́ ̉ ̉ ̀ ̃ ̀ ́ ́ ̣ ̀ ́ Hăng co đô dai gâp đôi co thê đ ̀ ́ ̉ ươc biêu diên d ̉ ̃ ưới dang sô mu 10. Đê phân biêt v ̣ ́ ̃ ̉ ̣ ới   hăng th ̀ ực, ky hiêu E đ ́ ̣ ược thay băng ky hiêu D. ̀ ́ ̣ ́ ̣ Vi du: 2,35 x 10 6 ̃ ược viêt theo ngôn ng  se đ ́ ư FORTRAN la: 2.35D06 ̃ ̀ ̀ ́ ̣ ̀ ́ + Hăng co đô dai gâp đôi chiêm ô nh ́ ớ nhiêu h̀ ơn do co nhiêu sô le. May tinh se tinh ́ ̀ ́ ̉ ́ ́ ̃ ́   ̣ châm h ơn, nhưng cho ta kêt qua chinh xac h ́ ̉ ́ ́ ơn, tranh sai sô tich luy do qua trinh tinh ́ ́ ́ ̃ ́ ̀ ́   ̀ ̀ ̀ ́ ̉ ̉ va lam tron sô le cua may. ́   d. Cac hăng ph ́ ̀ ức ( COMPLEX ) Được biêu diên băng môt căp 2 sô th ̉ ̃ ̀ ̣ ̣ ́ ực viêt trong ngoăc, cach nhau băng môt dâu ́ ̣ ́ ̀ ̣ ́  ̉ phây. Sô th ́ ứ nhât la sô th ́ ̀ ́ ực, sô th ́ ứ 2 la sô ao. Vi du: ta co (a, b) thi a la sô th ̀ ́̉ ́ ̣ ́ ̀ ̀ ́ ực b là  ́̉ sô ao, nên khi viêt: (2.,13.) co nghia la 2+13i. ́ ́ ̃ ̀ ̣ Tên goi cua hăng ph̉ ̀ ưc co câu tao giôn nh ́ ́ ́ ̣ ́ ư  tên goi cua hăng th ̣ ̉ ̀ ực nhưng  trươc khi vao ch ́ ̀ ương trinh thi phai mô ta nh ̀ ̀ ̉ ̉ ững tên goi đo đê may tinh hiêu la hăng ̣ ́ ̉ ́ ́ ̉ ̀ ̀   phưc. ́ ́ ̣ ́  = 2,15 +4i Vi du: co  FORTRAN viêt:    ANFA = (2.15,4.) ́ ̉       (Phai thông bao tr ́ ươc  ́ ở đâu ch ̀ ương trinh hăng ANFA la hăng ph ̀ ̀ ̀ ̀ ưc, viêc thông ́ ̣   ́ ̀ ̃ ược đê câp va h bao nay se đ ̀ ̣ ̀ ướng dân  ̃ ở phân sau) ̀   e. Hăng LOGIC (LOGICAL) ̀ ̉       Hăng LOGIC chi mô ta 2 gia tri: ̀ ̉ ́ ̣ + Đung:        .TRUE. ́ + Sai:            .FALSE. f. ̀ ời Hăng l ̀ ơi đ Hăng l ̀ ược biêu diên băng tâp h ̉ ̃ ̀ ̣ ợp cac ky hiê dung trong FORTRAN, biêu ́ ́ ̣ ̀ ̉   diên nh ̃ ư sau: Cach 1: nHabcdef …. ́ ́ ự (n la sô ky t n ky t ̀ ́ ́ ự) ́ ́ ự’   Cach 2: ‘cac ky t ́ Tuy t̀ ưng tr ̀ ương h ̀ ợp co thê su dung cach 1 hoăc cach 2 cho thuân tiên. ́ ̉ ̉ ̣ ́ ̣ ́ ̣ ̣ ́ ̣ Vi  du: Viêt l ́ ời sau: lơp xây d ́ ựng công trinh biên ̀ ̉ Thi cach 1 se la: ̀ ́ ̃ ̀         28Hlop xay dưng cong trinh bien 6
  7. Cach 2 se la: ́ ̃ ̀         ‘Lop xay dung cong trinh bien’ ̀ ời lơn nhât la 128 ky t          Hăng l ́ ́ ̀ ́ ự vi may in chi co 128 côt ̀ ́ ̉ ́ ̣ (Thông thương nên ky hiêu khoang 110 đên 120 ky t ̀ ́ ̣ ̉ ́ ́ ự) 4.   Cac biên ́ ́ ̣ a. Đinh nghia. Biên la đai l ̃ ́ ̀ ̣ ượng co thê nhân nh ́ ̉ ̣ ững gia tri khac nhau tai nh ́ ̣ ́ ̣ ưng ̃   ̣ giai đoan khac nhau trong qua trinh tinh toan. ́ ́ ̀ ́ ́ ́ ̣ Vi du: ta co: ́ X = Y + 2.*Z Trong đo: 2. la sô th́ ̀ ́ ực (hăng); X, Y Z la biên ̀ ̀ ́ Hoăc:  ̣    DELTA = B*B­4.*A*C    Thi 4. la hăng, con A, B, C la cac biên;  ̀ ̀ ̀ ̀ ̀ ́ ́  (DENTA) cung la biên. ̃ ̀ ́ ́ ́ ̣ Biên tuân theo quy tăc tên goi, va phai theo yêu câu sau: ̀ ̉ ̀ ­ Mở đâu phai băng ch̀ ̉ ̀ ư (không phai la sô); ̃ ̉ ̀ ́ ­ Nêu biên băt đâu băng ch ́ ́ ́ ̀ ̀ ữ I,J K, L M, N thi biên đo la biên nguyên ̀ ́ ̀ ́ ­ Biên băt đâu băng cac ch ́ ́ ̀ ̀ ́ ư cai khac thi se la biên th ̃ ́ ́ ̀ ̃ ̀ ́ ực; ́ ́ ̉ ̣ ̀ ́ ­ Biên co thê đô dai gâp đôi, ph ức, logic… vơi điêu kiên tr ́ ̀ ̣ ước khi vao ch ̀ ương  trinhphair mô ta chung.  ̀ ̉ ́ b. Cac loai biên ́ ̣ ́ Caqwn cứ vao d ̀ ữ liêu ta co biên nguyên, biên th ̣ ́ ́ ực, biên đô dai gâp đôi, biên ph ́ ̣ ̀ ́ ́ ưc, ́  biên logic … ́ Co 2 cach mô ta biên: ́ ́ ̉ ́ Cach 1 ̉ ̉ ̉ ́ :Mô ta ân – Mô ta theo quy tăc tên goi, trong đo cac biên co ch ́ ̣ ́ ́ ́ ́ ử cacis đâu I, J, ̀   K, L, M, N la biên nguyên, con lai la biên th ̀ ́ ̀ ̣ ̀ ́ ực Cach ́   2:Dung ̀   toań   tử   mô   tả   loai; ̣   khi   dung ̀   toań   tử   mô   tả   loaị   thì  biên ́   sẽ  phụ   ̣ thuôcvaof toan t ́ ử mô ta ma không phu thuôc vao ch ̉ ̀ ̣ ̣ ̀ ư cai đâu. ̃ ́ ̀ Vi du: ́ ̣ Cach 1:  ́ IN = 3   biên nguyên ́                     AIN = 4.  biên th ́ ực Cach 2: REAL  IN, M  ́  biên IN va M la biên th ́ ̀ ̀ ́ ực (trong khi co ch ́ ư cai  la biên  ̃ ́ ̀ ́                                           nguyên)              COMPLEX  ANFA   biên ANFA la biên ph ́ ̀ ́ ưć  INTEGER ANFA, BETA    ANFA, BETA la nguyên ̀  LOGICAL M, N, A   M, N, A la biên LOGIC ̀ ́  DOUBLE PRECISION A   A co đô dai gâp đôi ́ ̣ ̀ ́   ̉ 5. Mang 7
  8. a. ̣ Đinh nghia: Mang la môt day cac đai l ̃ ̉ ̀ ̣ ̃ ́ ̣ ương săp xêp theothuws t ́ ́ ự  nhât đinh. ́ ̣   ̉ Mang th ương biêu diên cac ma trân. ̀ ̉ ̃ ́ ̣ ̣ Co cac loai mang sau: ́ ́ ̉ ̉ ­ Mang 1 chiêu: A(k)  ̀ ̉  biêu diên cac vecto co k phân t ̃ ́ ́ ̀ ử ̉ ­ Mang 2 chiêu: B(j,k)  ̀ ̉ ̣  biêu diên ma trân co j hang, k côt ̃ ́ ̀ ̣ ̉ ­ Mang 3 chiêu: C(i,j,k)  ̀ ̉ ̉ ̉  đê mô ta mang 3 chiêu ̀ b. ́ ̣  Cac dang chi sô cua mang ̉ ́ ̉ ̉ Cac sô nguyên  ́ ́ ở trong ngơcj được goi la chi sô, chi sô co thê la môt biêu th ̣ ̀ ̉ ́ ̉ ́ ́ ̉ ̀ ̣ ̉ ưc nguyên, ́   ́ ̣ vi du: A (k+4*j) la mang 1 chiêu ̀ ̉ ̀ Chu y:  ́ ́ ̉ ́ ̉ ­ Chi sô cua mang không thê la môt sô  ̉ ̉ ̀ ̣ ́  0 ̉ ́ ­ Chi sô không nên đê  ̉ ở dang biêu th ̣ ̉ ưc, vi du co mang 2 chiêu:  ́ ́ ̣ ́ ̉ ̀ A(3*k+2, 5*J**2) Nên đăt: k1= 3*k+2                k2= 5*j**2  A(k1,k2).      c. Cac loai mang: T ́ ̣ ̉ ương tự  như  biên, mang co cac loai mang nguyên, th ́ ̉ ́ ́ ̣ ̉ ực, độ  dai gâp đôi, ph ̀ ́ ưc, logic … Biêu diên mang co 2 cach t ́ ̉ ̃ ̉ ́ ́ ương tự như biêu diên biên. ̉ ̃ ́        Cach 1: ân ́ ̉        Cach 2 : dung toan t ́ ̀ ́ ử, vi du: ́   REAL IC(14) COMPLEX A(7) d.  Kich th ́ ươc mang ́ ̉ ́ ̣ ơn nhât cua tri sô ( …) la kich th Gia tri l ́ ́ ̉ ̣ ́ ̀ ́ ước mang, vi du:  ̉ ́ ̣ ̀ ̉  A(25) la mang 1 chiêu co kich th ̀ ́ ́ ươc la 25 (t ́ ̀ ưc la co 25 biên, hay 25 ́ ̀ ́ ́   ̀ ử: bao gôm: A(1), A(2), A(3) ….., A(24), A(25)) phân t ̀ ̀ ̉  B(12,15) la mang co kich th ́ ́ ươc 12x15 va co 12x15 = 180 phân t ́ ̀ ́ ̀ ử:  B(1), B(2) …. B(179), B(180). ̀ ự săp xêp mang theo bô nh e. Trinh t ́ ́ ̉ ̣ ớ  + Vơi mang môt chiêu thi phân t ́ ̉ ̣ ̀ ̀ ̀ ử mang săp xêp theo th ̉ ́ ́ ứ tự tăng dân ̀  + Vơi mang nhiêu chiêu thi cac phân t ́ ̉ ̀ ̀ ̀ ́ ̀ ử se săp xêp theo bô nh ̃ ́ ́ ̣ ớ tăng dân theo chiêu ̀ ̀  ̉ ̉ ́ cua chi sô: 1, 2, 3 … Vi du: ́ ̣ A(i,j), i=1,2, j=1,3    co nghia se đi theo hang tr ́ ̃ ̃ ̀ ươc, nh ́ ư sau: A(1,1), A(1,2),   A(1,3), A(2,1), A(2,2), A(2,3)    Nêu viêt: A(i,j), j=1,3, i=1,2 ́ ́ ́ ̃ ̃ ̣ ươc, nh     co nghia se đi theo côt tr ́ ư  sau: A(1,1),   A(2,1), A(1,2), A(1,2), A(1,3), A(2,3). 8
  9. Theo ngôn ngư FORTRAN, th ̃ ư t ́ ự chay theo mang đ ̣ ̉ ược viêt nh ́ ư sau: ̉ (A(I), I=1,10)                 Mang 1 chiêu ̀ ̉ (A(I,J), I=1,2, j=1,3)      Mang 2 chiêu ̀ ̉ (A(I,J),J=1,3, I=1,2)       Mang 2 chiêu ̀ III. Cac biêu th ́ ̉ ưć 1. Cac loai biêu th ́ ̣ ̉ ưć Cac biêu th ́ ̉ ưc co thê la hăng, la biên, la phân t ́ ́ ̉ ̀ ̀ ̀ ́ ̀ ̀ ử  mang ham sô hoăc cac tô h ̉ ̀ ́ ́ ́ ̉ ợp cuả   chung – đ ́ ược liên hê v ̣ ơi nhau b ́ ởi cac dâu cua phep tinh (+ ­ * / ….), dâu phây, dâu ́ ́ ̉ ́ ́ ́ ̉ ́  ngoăc. ̣ Co 3 loai biêu th ́ ̣ ̉ ưc: ́  Biêu th ̉ ưc sô hoc; ́ ́ ̣  Biêu th ̉ ưc logic; ́  Biêu th ̉ ưc quan hê ́ ̣ 2. Biêu th̉ ưc sô hoc ́ ́ ̣ Biêu th ̉ ưc sô hoc đ ́ ́ ̣ ược tao ra b ̣ ởi cac phep tinh va toan hang. Toan hang co thê lag ́ ́ ́ ̀ ́ ̣ ́ ̣ ́ ̉   hăng, biên, phân t ̀ ́ ̀ ử mang va ham sô. Cac toan hang va gia tri biêu th ̉ ̀ ̀ ́ ́ ́ ̣ ̀ ́ ̣ ̉ ưc sô hoc co thê ́ ́ ̣ ́ ̉  la nguyên, th ̀ ực, đô dai gâp đôi va ph ̣ ̀ ́ ̀ ức. Cac phep tinh: Co 5 loai: công (+), tr ́ ́ ́ ́ ̣ ̣ ừ (­), nhân (*), chia (/) va luy th ̀ ̃ ưa (**) ̀ ́ ̣ Vi du: A+B thi A va B la toan hang; ̀ ̀ ̀ ́ ̣                          Dâu + la phep tinh ́ ̀ ́ ́ Trong phep tinh cho phep dung dâu ngoăc, môi dâu ngoăc đong va m ́ ́ ́ ̀ ́ ̣ ̃ ́ ̣ ́ ̀ ở ngoăc̣   ̣ tao thanh 1 l ̀ ơp; co thê co nhiêu l ́ ́ ̉ ́ ̀ ớp va đ ̀ ược tinh t ́ ừ trong ra ngoaì ́ ̣ Vi du: X1 = (­B+A1)?(2.*A) Khac v ́ ơi biêu th ́ ̉ ức:                 X2=(­B+A1)/2.*A    luc nay may tinh se hiêu la: X2= ((­B+A1)/2.)*A ́ ̀ ́ ́ ̃ ̉ ̀ Hoăc: Y=4.*(12*A*(B+C))   Tinh gia tri (B+C) tr ́ ́ ̣ ươc, sau đo m ́ ́ ới nhân cac kêt qua ́ ́ ̉  vơi nhau. ́ Chu y ́ ́  + Không được viêt A.B ma phai viêt: A*B ́ ̀ ̉ ́ + Không được viêt: A*­B ma phai viêt: A*(­B) ́ ̀ ̉ ́ + Biêu th ̉ ưc ( ́ ( A )  theo ngôn ngư FORTRAN viêt la: (A**B)**C B C ̃ ́ ̀ C ̉ + Biêu th ́ A( B ) theo ngôn ngư FORTRAN viêt la: A**(B**C) ưc  ̃ ́ ̀ ̣ ̣ ̀ ̀ ừ trai qua phai va phep tinh trong ngoăc đ Trong cung môt bâc thi lam t ̀ ́ ̉ ̀ ́ ́ ̣ ược lam ̀   trươc. ́ Cac chu y khac ́ ́́ ́ 9
  10. ̉ + Nêu trong biêu th ́ ưc co cac đai l ́ ́ ́ ̣ ượng nguyên va th ̀ ực thi kêt qua đ ̀ ́ ̉ ưa ra la đai ̀ ̣  lượng thực, vi du: A=4*B t ́ ̣ ương đương:  A=4.*B (không nên dung 4 đê tinh, vi khi ̉ ́ ̀   ́ ương trinh se chuyên 4 thanh 4. sau đo m đo ch ̀ ̃ ̉ ̀ ́ ới nhân, se tinh châm h ̃ ́ ̣ ơn do qua trinh ́ ̀   ́ ̉ ́ ́ ực. biên đôi sô nguyên thanh sô th ̀ ̃ ưa nguyên hoăc th + Nên dung nguyên luy th ̀ ̀ ̣ ực luy th ̃ ưa th ̀ ực ́ ̣ ̣ Vi du: 2**4 hoăc 2.**4. ̉                        2**2.5 nên đôi thanh 2.**2.5 ̀ ̣ ́ ̣ ̃ ưa đ +Môt sô loai luy th ̀ ược châp nhân: ́ R**R R**I R**DP (Tực luy th ̃ ưa đô dai gâp đôi) ̀ ̣ ̀ ́ C**I ̉ +Biêu thưc: A**2 nên viêt A*A (tinh se nhanh h ́ ́ ́ ̃ ơn) ̣          Hoăc A**3 nên viêt A*A*A ́ ̉ 3.  Biêu thưc quan hê ́ ̣ Được câu tao b ́ ̣ ơi 2 biêu th ́ ̉ ưc sô hoc, đ ́ ́ ̣ ược liên hê v ̣ ới nhau bơi phep tinh quan hê. ́ ́ ́ ̣  ́ ̣ ̉ Gia tri biêu thưc quan hê la loai LOGIC: Chi nhân đung (TRUE) hoăc sai (FALSE) ́ ̣ ̀ ̣ ̉ ̣ ́ ̣ ̉ Biêu th ưc quan hê co thê la nguyên, th ́ ̣ ́ ̉ ̀ ực, đô dai gâp đôi (co thê la ph ̣ ̀ ́ ́ ̉ ̀ ức) gôm: ̀ .LT.         tưc  la  () lơn h ́ ơn – Greater .GE.                  ( ) lơn h ́ ơn hoăc băng – Greater or Equal ̣ ̀ .EQ.                  (=) Băng – Equal ̀ .NE.                  ( ) Không băng – Not Equal ̀ ́ ̣ ́ ̣ Vi du: viêt lênh: Nêu A nho h ́ ̉ ơn B thi đi … ̀ FORTRAN viêt nh ́ ư sau: IF(A.LT.B)  GO TO … ̉ 4.  Biêu thưc LOGIC ́ Được câu tao b ́ ̣ ởi toan hang va cac phep tinh LOGIC. Toan hang co thê la ́ ̣ ̀ ́ ́ ́ ́ ̣ ́ ̉ ̀  ̀ ử mang logic, ham logic va cac biêu th hăng logic, biên logic, phân t ̀ ́ ̉ ̀ ̀ ́ ̉ ức quan hê.̣ Ta co cac phep tinh quan hê nh ́ ́ ́ ́ ̣ ư sau: .OR.          (Hoăc)̣ 10
  11. .AND.       (Va)̀ .NOT.        (Không) ́ ̣ Vi du: IF(A.LT.B.AND.C.GT.D.OR.  ….)        Nêu A  D hoăc … ́ ̀ ̣ Trinh t ̀ ự thực hiên: ̣ ̣ Bâc 1:    .NOT. ̣ Bâc 2:    .AND. ̣ Bâc 3:    .OR.   Nêu  ́ ở trong dâu ngoăc thi th ́ ̣ ̀ ực hiên tr ̣ ước. ̣   Nêu co phep tinh quan hê trong biêu th ́ ́ ́ ́ ̉ ưc LOGIC thi phep tinh th ́ ̀ ́ ́ ực hiên theo th ̣ ư ́ tự sau: ­ Thực hiên phep tinh sô hoc tr ̣ ́ ́ ́ ̣ ước ­ Phep tinh quan hê tiêp theo ́ ́ ̣ ́ ­ Sau đo th ́ ực hiên phep tinh LOGIC ̣ ́ ́ IV. Phân loai cac toan t ̣ ́ ́ ử 1. Toan t ́ ử thực hiên: ̣ ­ Toan t ́ ử gań ­ Toan t ́ ử điêu khiên ̀ ̉ ­ Toan t ́ ử vao/ra  ̀ 2.  Toan t ́ ử không thực hiên ̣ ­ Toan t ́ ử mô tả ­ Toan t ́ ử cho gia tri ban đâu ́ ̣ ̀ ­ Toan t ́ ử mô ta khuôn, d ̉ ư liêu ̃ ̣ ­ Toan t ́ ử xac đinh ham va ch ́ ̣ ̀ ̀ ương trinh con  ̀ 3. Thư tự viêt cac toan t ́ ́ ́ ử trong chương trinh ̀ ́ ́ ử mô ta đăc biêt: th ­ Viêt toan t ̉ ̣ ̣ ực, nguyên … ­ Toan t ́ ử xac đinh ham ́ ̣ ̀ ­ Toan t ́ ự thực hiên ̣ ­ Dong cuôi la dong kêt thuc ch ̀ ́ ̀ ̀ ́ ́ ương trinh băng ch ̀ ̀ ữ END. V. Toan t ́ ử gan dung đê gan cac kêt qua tinh toan, cac hăng, cac biên vao cac tên goi: ́ ̀ ̉ ́ ́ ́ ̉ ́ ́ ́ ̀ ́ ́ ̀ ́ ̣ 1. Toan t ́ ử gan sô hoc: ́ ́ ̣    V = A ̣ ̣   Trong đo: V – Tên goi: hoăc cua hăng, biên, hoăc cua phân t ́ ̉ ̀ ́ ̣ ̉ ̀ ử mang; V co thê la nguyên, ̉ ́ ̉ ̀   thực, đô dai gâp đôi hoăc ph ̣ ̀ ́ ̣ ưc. ́ ̉ ́                    A – Kêt qua tinh toan, hăng, biên … ́ ́ ̀ ́ ́ ̣  Vi du: DENTA = b**2­ 4.*a*c X(10) = 4. IN = I**2+J 11
  12. Chu ý́ ̣ + Tên goi (vê trai) không thê la môt biêu th ́ ́ ̉ ̀ ̣ ̉ ưc, môt phep tinh hoăc la môt sô, nh ́ ̣ ́ ́ ̣ ̀ ̣ ́ ững biêu thỉ ̣  sau la sai, vi du: ̀ ́ ̣ X+Y =7 7+X = y … + Gan môt sô th ́ ̣ ́ ực cho 1 tên goi nguyên se đ ̣ ̃ ược1 sô nguyên băng cach loai bo sô le thâp ́ ̀ ́ ̣ ̉ ́ ̉ ̣   phân chư không lam tron sô. ́ ̀ ̀ ́ ́ ̣ Vi du: Cho  A = 2.3 B = 2.999 I1 = A    se đ ̃ ược gia tri 2. ́ ̣ I2 = B    se đ ̃ ược gia tri 2. ́ ̣ Như vây: J = I1/I2 = 1 (ket qua sai) ́ ̉ Trong thực tê, nêu cân tim sô le thi lam nh ́ ̀ ̀ ́ ̉ ̀ ̀ ư sau: B = 2.999 I=B     I = 2 A = 1.*I   A = 2. C = B – A    C = 0.999 2. Toan t ́ ử gan LOGIC ́ ́ ̉ Co biêu th ưc: ́                   V = L ̣ ̉ Trong đo: V la tên goi cua biên logic hay cua phân t ́ ̀ ́ ̉ ̀ ử mang logic ̉ ̀ ̉                  L la biêu th ưc logic ́ ́ ̣ Vi du:   L1 =.TRUE. L2 =.FALSE. L = L1.OR. … .NOT. L2 VI. Cac toan t ́ ́ ử điêu khiêǹ ̉ 1. Y nghia ́ ̃ : Nêu nh́ ư không co toan t ́ ́ ử điêu khiên thi may se lam theo cac lênh th ̀ ̉ ̀ ́ ̃ ̀ ́ ̣ ừ trên  xuông. Toan t ́ ́ ử điruf khiên dung đê re nhanh chuyên đên môt vi tri cân thiêt ̉ ̀ ̉ ̉ ́ ̉ ́ ̣ ̣ ́ ̀ ́ Toan t ́ ử điêu khiên co 6 loai ̀ ̉ ́ ̣ a. GOTO (đi đên) – hoăc co thê viêt r ́ ̣ ́ ̉ ́ ời ra: GO TO b. IF (nêu) ́ c. CALL (goi) ̣ d. RETURN   (trở vê)̀ e. DO (thực hiên)  ̣ f. CONTINUE  (tiêp tuc) ́ ̣ 2. Toan t ́ ử GOTO Co 3 dang  ́ ̣ 12
  13. ̉ + Chuyên vô điêu kiên ̀ ̣ ̉ ́ ̀ ̣ + Chuyên  co điêu kiên (co tinh toan) ́ ́ ́ ̉ ́ ̣ + Chuyên ân đinh ̉ ̉ a. Chuyên điêu khiên vô điêu kiên ̀ ̀ ̣ Lênh: GOTO m ̣ ́ ̀ ̃ ̉ ́ ử thực hiên ma ta cân đi đên Trong đo: m la nhan cua toan t ̀ ̀ ́ ́ ̣         Vi du: A = 2. B = 1.5 I = J+1 IF(A.GT.B) GOTO 3 C=A+B GOTO 4 3 C=A*B 4 …… ́ ́ ư côt 1 Chu y: T ̀ ̣ ̣ ́ 5 côt găn nhan ̃ ̣ ̉ ́ ̀              Côt 6 dung đê nôi hang ̀              Tư côt 7 đê đi viêt ch ̀ ̣ ̉ ́ ương trinh  ̀ ́ ử chuyên điêu khiên co tinh toan (co điêu kiên) b. Toan t ̉ ̀ ̉ ́ ́ ́ ́ ̀ ̣ Lênh: GOTO (M ̣ 1, M2, M3, … Mn), K ̉ ́ ́ ̣ Trong đo K la 1 chi sô xac đinh t ́ ̀ ừ 1   n Con M ̃ ̉ ̀ 1  Mn la cac nhan cua toan t ̀ ́ ́ ử. ̀ ́ ử điêu khiên cho nhay đên nhan co tri sô la M Nêu K = j thi toan t ́ ̀ ̉ ̉ ́ ̃ ́ ̣ ́ ̀ j ́ ̣ Vi du: I=J+K A=4. B=2. GOTO(1,3,7,9),I 1 C=A*B GOTO 10  3 D=A+B GOTO 10 7 E=2.*A GOTO 10 9 E=2.*A**3 10 ́ ư liêu ra …. Viêt d ̃ ̣ 13
  14. Như vây, I co tri sô t ́ ̣ ́ ừ 1 đên 4, tuy gia tri I ta co thê chuyên qua cac nhan khac nhau đê tinh ́ ̀ ́ ̣ ́ ̉ ̉ ́ ̃ ́ ̉ ́   toan: ́ ̉ I=1   nhay qua nhan 1 ̃ ̉ I=2   nhay qua nhan  3 ̃ ̉ I=3   nhay qua nhan 7 ̃ ̉ I=9   nhay qua nhan 9 ̃ 3. Toan t ́ ử IF ̣ ́ ̣ Co 2 dang: IF sô hoc va IF logic ́ ̀ a. IF sô hoc ́ ̣ ̣ ̉ Lên tông quat:   IF(A) m ́ 1, m2, m3 Trong đo A la biêu th ́ ̀ ̉ ức sô hoc, hoăc môt tên goi ́ ̣ ̣ ̣ ̣ ̃ ̉ ́ ử thực hiên.                 m1, m2, m3 la ̀nhan cua toan t ̣ ́ ̃ ̉ Y nghia tông quat: ́ ́ ̀ ̉   Nêu A0. thi nhay đên nhan m ́ ̃ 3 ́ ̣  Vi du: A=B+C­2.*D IF(A)1,1,4 1 A=­A GOTO 5 4 CC=SQRT(A) 5 ́ ̣ Tiêp tuc ch ương trinh … ̀ b. IF logic  ̣ ̉ Lênh tông quat: IF(L)S ́ Trong đo: L la biêu th ́ ̀ ̉ ức logic, thương la biêu th ̀ ̀ ̉ ức quan hệ ́ ̣                     Vi du: biêu th ̉ ưc L nh ́ ư sau: (A.LT.B.OR.A.EQ.C) ̣                                                       Hoăc: (A.LE.0)                                                S la toan t ̀ ́ ử th ực hiên bât ky, tr ̣ ́ ̀ ừ 2 toan t ́ ử IF va DO. ̀   Toan t́ ử S thương la toan t ̀ ̀ ́ ử chuyên vô điêu kiên: GOTO m. ̉ ̀ ̣ Khi sử dung cho toan t ̣ ́ ử thực hiên bât ky thi chu y quan hê sau: ̣ ́ ̀ ̀ ́ ́ ̣ A=B+C­2.*D IF(A.GT.0) GOTO 4 A=­A 5 CC=SQRT(A) 14
  15. Chu y:  ̣ ́ ́ 2  đoan ch ương  trinh  ̀ nêu trên  là tương  đương..  Ta   cung co thê ̃ ́ ̉   viêt đoan ́ ̣   chương trinh trên băng cach khac: ̀ ̀ ́ ́ A=B+C­2.*D IF(A.LE.0) A=­A CC=SQRT(A)         ́ ̀ ̀ ́ ̀ ̉ ̣ ̀ ̃ ̣         Cach nay hay dung, nêu dung không cân thân thi dê bi sai ̣ ́ ́ ̣ Ta lam môt sô vi du: ̀ Nêu I = 1 thi A=B+C ́ ̀ Nêu I = 2 thi A= 2B+D**E ́ ̀ Ta co nhiêu cach viêt: ́ ̀ ́ ́ A=B+C IF(I.EQ.Q) GOTO 2 A=2.*B+D**E 2 ́ ̣ ́ Tiêp tuc tinh …   Hoăc̣ IF(I.EQ.1) A=B+C IF(I.EQ.2) A=2.B+D**E Hoăc IF(I.EQ.1) GOTO 2 IF(I.EQ.2) A=2.B+D**E GOTO 3 2 A=B+C 3 ́ ̣ ́ Tiêp tuc tinh … ́ ̣ Vi du khac: ́ A=2B nêu  ­ ́ x10 ́ ́ ương trinh nh Viêt ch ̀ ư sau: E=­1.E+20 A=2.*B IF(E.LE.X.AND.X.LT.10.) GOTO 4 A=4.*B 4 ́ ̣ ́ Tiêp tuc tinh … 15
  16. Hoăc̣ A=4.*B IF(X.GT.10.) GOTO 4 A=2.*B  4 ́ ̣ ́ Tiêp tuc tinh … Hoăc̣ IF(X.GT.10.) GOTO 4 A=4.*B GOTO 5  4 A=2.*B 5 ́ ̣ ́ Tiêp tuc tinh … ̀ ́ ̉ ́ Con co thê viêt: IF(X­10.) 1,1,4 1 A=2.*B GOTO 2 4 A=4.*B 2 ́ ̣ ́ Tiêp tuc tinh …. 4. Toan t́ ử điêu khiên ch ̀ ̉ ương trinh: PAUSE va STOP ̀ ̀ a. Toan t́ ử PAUSE la toan t ̀ ́ ử tam nghi, sau đo chay tiêp. Co 2 loai: ̣ ̉ ́ ̣ ́ ́ ̣ PAUSE PAUSE n ́ ̀ ́ ̉ ̉ ̣          Trong đo n la 1 ô đê chi đia chi d ̉ ưng, toan t ̀ ́ ử PAUSE thương it dung (d ̀ ́ ̀ ưng may đê ̀ ́ ̉  ́ ̣ ưa sô liêu vao)  tiêp tuc đ ́ ̣ ̀ b. Toan t́ ử STOP co 2 dang: ́ ̣ STOP STOP n           Ta hay dung toan t ̀ ́ ử STOP – dưng hăn. ̀ ̉ ́ ử  STOP n, trong đo n la chi sô, khi đên chi sô đo m           Con toan t ̀ ́ ̀ ̉ ́ ́ ̉ ́ ́ ới dừng Thông tương môi ch ̀ ̃ ương trinh (ch ̀ ương trinh chinh), tr ̀ ́ ươc khi muôn kêt thuc ta ́ ́ ́ ́   ̣ dung lênh STOP, nh ̀ ư vây trong môi ch ̣ ̃ ương trinh co it nhât 1 lênh STOP. ̀ ́́ ́ ̣ 16
  17. 5. Toan t ́ ử DO ́ ử  DO thương dung trong thuât toan co chu trinh. Đây la toan t   Toan t ̀ ̀ ̣ ́ ́ ̀ ̀ ́ ử  cơ  ban cua ̉ ̉   FORTRAN. Lênh nh ̣ ư sau:  DO m  i=m1,m2,m3 ̀ ̃ ̉ Trong đo, m la nhan cua toan t ́ ́ ử thực hiên nao đo sau toan t ̣ ́ ́ ́ ử DO. Toan t́ ử m con goi la ̀ ̣ ̀  ́ ử cuôi cua chu trinh DO toan t ́ ̉ ̀ Toan t́ ử cuôi cua DO không đ ́ ̉ ược la6 toan t ̀ ́ ử sau: ́ ̣ IF sô hoc IF logic STOP PAUSE RETURN DO Nêu cân chuyên t ́ ̀ ̉ ới 6 toan t ́ ử đothif co thê thay toan t ́ ́ ̉ ́ ử chứa nhan m băng 1 toan t ̃ ̀ ́ ử rông ̃   (được ky hiêu la CONTINUE) ́ ̣ ̀ i la biên nguyên, biên điêu khiên cua ch ̀ ́ ́ ̀ ̉ ̉ ương trinh ̀ ́ ̉ ̀ ̀ ̣ ̣ ̀ m1 co thê la hăng nguyên, hoăc biên nguyên, goi la thông sô ban đâu; ́ ́ ̀ ̀ ̀ ̣ m2 la hăng nguyên, hoăc biên nguyên, goi la thông sô cuôi ́ ̣ ̀ ́ ́ ̀ ̀ ̣ m3 la hăng nguyên, hoăc biên nguyên, la gia sô hoăc la b ́ ̀ ́ ̣ ̀ ước cua chu trinh. ̉ ̀ ̉ m1, m2, m3 phai > 0 (nêu không chăc chăn phai co toan t ́ ́ ́ ̉ ́ ́ ử điêu khiên IF). ̀ ̉ ̀ ̣ Nêu m3 = 1, thi lênh th ́ ực hiên co thê viêt gon lai băng cach bo m3: ̣ ́ ̉ ́ ̣ ̣ ̀ ́ ̉ DO m  i=m1,m2 ́ ̣ Vi du: ̉ Giai ph ương trinh bâc 2: AX ̀ ̣ 2 + BX + C = 0    tim x; A, B, C đa biêt ̀ ̃ ́ Sơ đô khôi nh ̀ ́ ư sau: ̣                       Đoc A, B, C                   = B2 – 4AC        So sanh:       ́    0   +   Lam tiêp         D= ̀ ́                                                   ­                             ̣                        Vô nghiêm                       Tinh X ́ 1, X2 17
  18.                                                                             STOP                           Viêt X ́ 1, X2                                                                           STOP  B D B D      Trong đo:  X ́ 1 =         X2 =  2A 2A Chương trinh viêt nh ̀ ́ ư sau: ̣ ́ ̣ Đoc sô liêu A, B, C DENTA = B**2­4.*A*C IF(DENTA.LT.0.) GOTO 1 D=SQRT(DENTA) X1=(­B+D)/(2.*A)  X2=(­B­D)/2./A Viêt X1, X2 ́ GOTO 2 1 Viêt: Ph ́ ương trinh vô nghiêm ̀ ̣ 2 STOP END ́ ̉ ́ Co thê viêt theo nhiêu cach khac nhau … ̀ ́ ́ ̉ Nêu co nhiêu bai toan giai ph ́ ́ ̀ ̀ ́ ương trinh bâc 2 thi đ ̀ ̀ ̣ ̀ ưa vao lênh GOTO 3 (lênh đâu ch ̀ ̀ ương  ̉ ́ ́ ́ ̀ ́ ̉ ́ ́ ường trinh, se xem xet  trinh đê tinh tiêp. Co nhiêu cach đê kêt thuc ch ̀ ̀ ̃ ́ ở phân sau. ̀ n ́ ̣ ̉ Vi du:  Tinh tông:    S =  ́ Ri 1 Cach viêt 1 ́ ́ ̣ Đoc N ̣ Đoc (R(I), I=1,N) SUM = 0. I=1 1 SUM=SUM+R(I) I=I+1 IF(I.LE.N) GOTO 1 ̉ ̉ Viêt kêt qua cua SUM ́ ́ 18
  19. STOP END Cach 2 ́ ̣ Đoc N ̣ Đoc (R(I), I=1,N) SUM = 0. DO 5 I = 1,N SUM=SUM+R(i) 5 CONTINUE Viêt KQ́ STOP END ́ ̣ ̣ Trong qua trinh viêt cô găng tiêt kiêm lênh. ́ ̀ ́ ́ ́ Thuât toan    ̣ ́  Co 5 dang thuât toan: ́ ̣ ́ ̣ ­ Thuât toan th ́ ương (đ ̀ ơn gian): Cac khôi đ ̉ ́ ́ ược ghep tuân t ́ ̀ ự với nhau ̣ ­ Thuât toan tich luy va chu trinh; ́ ́ ̃ ̀ ̀ ̣ ­ Thuât toan phân nhanh; ́ ́ ̣ ­ Thuât toan lăp; ́ ̣ ̣ ̣ ̣ ­ Thuât toan nhân dang, gôm ma hoa cac d ́ ̀ ̃ ́ ́ ư liêu. ̃ ̣ Chu y khi dung toan t ́ ́ ̀ ́ ử DO + Biên I va cac thông sô m1, m2, m3 không đ ́ ̀ ́ ́ ược dung cac toan t ̀ ́ ́ ử khac đê thay ́ ̉   ̉ đôi trong miên DO; ̀ Trong miên DO co ch ̀ ́ ưa chu trinh DO khac (DO lông nhau), chu y la: ́ ̀ ́ ̀ ́ ́ ̀ ́ ́ ̉ ­ Cac biên phai khac nhau; ́ ­ Chu trin hf DO  ở  phia ngoai co thê ch ́ ̀ ́ ̉ ưa 1 hay nhiêu chu trinh DO  ́ ̀ ̀ ở  phiá   ̀ ược kêt thuc băng 1 toan t trong va đ ́ ́ ̀ ́ ử cuôí ́ ̣ Vi du: DO 5 I1= . . . . DO 5 I2 =… . . 19
  20. . 5 CONTINUE . ̣ ̀ Hoăc la: DO 5 I1=1,N . . . DO 10 I2 = 1,N1 . . . DO 15 I3 =1,M . . . 15 CONTINUE  10 CONTINUE 5 CONTINUE ̣ ̀ Hoăc la: DO 5 I=1,N . . DO 10 I1=1,M 10 CONTINUE DO 15 J =1,K 15 CONTINUE 5 CONTINUE 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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