Lập trình pascal tập 2

266 70 0
Lập trình pascal  tập 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BÙI VIỆT HÀ LẬP TRÌNH PASCAL TẬP HAI ■ (T'ái b ả n lần th ứ h a i) NHÀ XUẤT BẢN GIÁO DỤC 617,3 1053/103 - 04 G D -04 Mã s ố : 8H785T4ị - DAI À/ LỜI NÓI ĐẦU Đây tập thứ hai cùa sách gồm ba tập hướng dẫn lập trình trẽn ngơn ngừ Pascal cho học sinh phô thông Sách gôm 250 tập lời giài chi tiết chia thành 15 lớn Các từ I đến 11 lù phần c bán, từ 12 đên 15 phân n â n g cao Phần bủn bao quát van để kiêu mang, kiêu tập hợp, kiêu bàn ghi, kiêu file Kiêu d ữ liệu trỏ, kiêu dừ liệu phức tạp cùa Pascal nói riêng cúc ngơn ngữ lập trình bậc cao nói chung để cập Trong, phan học sinh bước đầu làm quen với khái niệm đồ thị, írong cơng cụ mạnh đê giủi nhiêu tốn thực tê Tỉêp lù thuật tốn vù kỹ tạo hiệu ím g chun động màu hình đồ họa loạt tốn hình học hay, có thuật giòi hữu hiệu thẻ thơng qua mơ hình thuật íoủn hục Bài cuối phan c ban dùng để ơn ìityỌn lại dạng bùi tốn học từ đầu quyên sách Phán nâng cao bao gôm Trong "Bài toán duyệt Thuật toán quay lu i”giới thiệu th u ậ t toán quay lui, thuật toán quen thuộc sứ dụng rát nhiêu trường hợp đẻ giời tốn khó Đây ìù Irong kỹ bắt buộc dành cho học sinh lớp chun tiu "Bùi tốn tìm điròvg Euler" gôm nội dung giới thiệu khái niệm, định nghĩa, tiêu chn cùa đường vò chu trình Euỉer đồ thị Học sinh /ùm quen với thuật tốn tìm đường hay chu trình Euler ứ ng dụng thuật toán đẽ giai loại tốn tiêu biếu thị Tmm% tự với "Chu trình H am ilton” Bài "Các toán trẽn đồ thị" ơn luyện thuật tốn giải tốn ỉơn g hợp kiến thức học Hi vụng rcmg sách có ích cho íhầỳ giáo, em học sinh góp phân vào việc luyện thi học sinh gioi Tin học Chúng r m ong nhận nhũng ỷ kiến đóng góp đẽ sách hoàn thiện nỉnm g lân xuất ban tới Tác giả LỜI NHÀ XUẤT BẢN Tron nhữnq nủm gần đây, việc đào tạo Cônạ nẹhệ Thôn tin (C N T T ) d ã trỏ thành nhu cầu ngày cấp thiết m ọi người, từ nhân viên bán hàn %, k ĩ sư, bác s ĩ phóng viên, đến nhà doanh nạhiệp, cán qn lí Phù hợp vói xu th ế phát triển x ã hội, tin học đ ã trở thành m ột mơn học u thích nhà trườn Ngay từ g h ế nhà trường khơng học sinh đ ã tâm học tập â ể trò thành chuyên giơ C N TT m ột s ố em đ ã đạí thành tích cao k í í hi học sinh ẹiỏi nước quốc t ế tin học Đ ể đáp ứng nhu cầu sách tham khảo tin học cho học sinh p h ổ thorn* góp phần nâng cao chất lượng tạo tin học tron % nhà trường, Nhà xu ấ t Giáo dục thành lập tủ sách " Tin học nhà trường" s ẽ cho m bạn đọc loạt sách dược chọn lọc có hệ thơìiịị cho học sinh p h ổ thông Chủng mong nhận dược ỷ kiến đónạ ạóp vác thày giáo, em học sinh đông đáo bạn đọc ạần xa đ ể ngày cànẹ đáp ứng tốt nhu cầu bạn đọc Thư từ góp ỷ xin gửi NXB Giáo dục, 81 Trần Hưng Đ o , H nội N hà xuất G iá o d ụ c PHÀN I TÓM TẮT LÝ THUYÉT VÀ ĐÈ BÀI TẬP Bài Mảng nhiều chiều A Tóm tắt lý thuyết Mảng kiểu liệu có cấu trúc, bao gồm số cố định thành phần có kiểu, có tên chung Khai báo mảng: Tên biến_mảng: ARRAY[ chỉ_số_l, ,chi_số_n] OF kiểu_phần_tử; + Mảng hai chiều: Ví dụ khai báo mảng A hai chiều có phần tử thuộc kiểu nguyên sau: A: Arrayf 5,1 5] of Integer; Trong đó, số phần tử mảng 5x5 = 25, đặt nhớ theo thứ tự sau: A [1,1], A [ , ] , A[l,5]; A [ J ], A[2,2], A[2,5]; A[5,l], A [ , ] , A [ , ] ; Vì mảng hai chiều gọi ma trận Trong ví dụ, A ma trận cấp 5x5 Đẻ truy nhập tới phân tử hàng thứ i cột j ta dùng cách viết: A[i][j] A[i j] + Các mảng nhiêu chiều suy diễn cách tự nhiên từ mảng chiều hai chiều Ví dụ, để khai báo mảng ba chiều B có phân tử thuộc tập số nguyên, ta viết sau: B : Array [ 2,1 3,1 2] of Integer; Số phần tử màng B 2x3x2 = 12, xếp nhớ theo thứ tự sau: B[1,1,1];B[1J,2]; B [l,2 ,lj; B[l,2,2]; B[1,3,1];B[1,3,2]; B[2,1,1];B[2,1,2]; B[2,2,l]; B [2,2,2]; B[2,3,1];B[2,3,2]; Các tập sau chủ yếu ứng dụng mảng hai chiều B Bài tập Trong tập từ đến 11, kích thước cùa m ảng m ảng nhập từ tệp văn bàn INPƯT.DATA có dạng sau: dòng ghi số n kích thước ma trận, n dòng ghi số hạng hàng tương ứng, môi số cách bới dấu cách Kết quà chương trình đưa hình Cho mảng vng số thực A = (a,p kích thước nxn Hãy lập mảng B = (b ịj) kích thước, biết bjj tổng phần tủ* cùa A nằm phân tô đậm a? Cho mảng vng số thực A = (ajj) Hãy tìm cách đổi chỗ hàng đổi chỗ cột ma trận cho phần tử lớn cùa mảng nằm góc trái Cho mảng vng số thực A = (ajj) Hãy tìm cách đổi chỗ hàng đổi chỗ cot ma trận cho phần tử lớn mảng năm góc trái trên, phần tử nhò mảng nằm góc phải Cho mảng vng số thực A = (a jj) Hãy lập mảng từ A cách bỏ hàng cột có chứa phân tử có trị tuyệt đơi lớn nhât Hãy lập mảng vng kích thước 7x7 từ số ,2 , 3, số xếp mảng theo thứ tự sau: —I rrâi 49 biết Program P21507; {Duong di ngan nhat tu A den B chi di tren cac canh cua luoi} U ses Crt; Var m,n: byte; a : a r r a y [ , 26] o f lo n g in t ; Procedure Chuan bi; Var i: byte; Begin Write('Do rong cua luoi (khong qua 25) M = ');Readln(m); Write('Do dai cua luoi (khong qua 25) N = ');Readln(n); For i:= l to m+1 a [i,l]:= l; For i:=l to n+1 a [l,i]:= l; End; Procedure Xu ly; Var ij: byte; Begin For i:=2 to m+1 For j:=2 to n+1 a [ij]:= a [ij-l]+ a [i-lj]; Writeln('So cac duong di ngan nhat tu A den B: ',a[m +l,n+l]i; Readln; End; BEGIN ClrScr; C h u an b i; Xu_ly; END Program P21509; {Tim dai duong di ngan nhat} U ses Crt; Const nm ax-100; inp-INPUT.DAT'; Var f: text; 250 n,imin: byte; d,dmin: longint; a: array [l nm ax,l nm ax] o f integer; b,bmin,c: array [l nm ax] o f byte; Procedure Nhap; Var ij: byte; Begin Assign(f,inp); Reset(f); Readln(f,n); For i:= l to n begin For j:= l to n Read(f,a[ij]); Readln(f); end; Close(f); End; Procedure Viet; Var i: integer; ]Begin Writeln('Duong di ngan nhat la:'); For i:= l to imin W rite(bmin[i],''); Writeln; Write('Co dai ’,dmin); Readln; JEnd; IProcedure Sinh(i: integer); AVar j,k: integer; IBegin For j:= l to n If (a[b[i-l],j]o0)and(c[j]=0)and(dd then begin dmin:=d; imin:=i; For k:=l to i bmin[k]:=b[k]; end; end Else If (i

Ngày đăng: 21/11/2019, 23:33

Từ khóa liên quan

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

Tài liệu liên quan