TỔNGHỢPKIẾNTHỨCTINHỌCĐẠICƯƠNG – ĐHXD LẠI CAO NOEL – 58XD5 I, Tổnghợp lí thuyết cần nhớ Các câu lệnh ghi , đọc xuất liệu ( hình , tệp ) Cho tập hợp A,B,C Các phép toán pascal Trình bày làm việc câu lệnh If then… If…then…else So sánh giống khác vòng lặp for to do… while…do… Các khai báo trường ghi , Cho ví dụ Các thao tác xử lí với tệp Cho ví dụ Trình bày cấu trúc máy tính Cho sơ đồ khối ( vòng lặp ) Viết đoạn code cho sơ đồ Cho phép tốn Viết phép tốn pascal ( bình phương : spr( ) , bậc hai : sqrt( ) ) 10 Chuyển hệ đếm với : Dùng máy tính Mode 4 II, Một số câu lệnh hay dùng Write/writeln( ) ; { ghi liệu hình têp } Read/readln(n) ; { nhập liệu từ bàn phím đọc liệu từ tệp } Câu điều kiện If điều kiện then câu lệnh ; { điều kiệnthực câu lệnh , điều kiện sai chuyển sang câu lệnh } If điều kiện then câu lệnh else câu lệnh ; { điều kiệnthực câu lệnh , điều kiện sai thực câu lệnh } Lưu ý : điều kiện biểu thức khơng có dấu “ : “ Vòng lặp for i:= giá trị đầu to giá trị cuối câu lệnh; For i:=giá trị cuối downto giá trị đầu câu lệnh ; Đoạn Begin … end; câu lệnh vòng lặp hay câu điều kiện có từ câu lệnh thực trở lên ta đặt câu lệnh Begin… End ; III , Các cách khai báo , xử lí thuật tốn dãy số ma trận Khai báo biến • Biến dãy số : x : array[1 1000] of integer; • Biến ma trận : x : array[1 1000,1 1000] of integer; • Biến trung bình :real; • Biến min, max,đếm số lượng , tổng , trung gian : integer ( giống kiểu liệu phần tử dãy số ma trận ) Ví dụ : Cho dãy số x1,x2….xn Tính tổng dãy số , tìm trung bình cộng dãy số Var n,i,s : integer; Tb : real; x:array[1 1000] of integer; Xử lí số yêu cầu Lưu ý : phần tử dãy số x[ số ] Phần tử ma trận x[ số hàng , số cột ] • • • • • • • Tính tổng dãy số , tính trung bình cộng dãy số S:=0; For i:=1 to n s:=s+x[i]; Tb:= s/n; Tìm min,max dãy số Min := x[1]; Max :=x[1]; For i:=1 to n If Max < x[i] then max := x[i]; For i:=1 to n If > x[i] then := x[i]; Sắp xếp dãy số theo thứ tự tang dần For i:=1 to n-1 For j:=i+1 to n If x[i] > x[j] then Begin Tg:=x[i]; X[i]:=x[j]; X[j]:=tg; End; Xóa phần tử ma trận vị trí k cho sẵn For i:= k to n-1 x[i]:=x[i+1]; Khi ma trận n-1 phần tử ( in biến đếm chạy từ đến n-1) Chèn số p vào ma trận vị trí k cho sẵn For i:= n downto k x[i+1]:=x[i]; X[k]:=p; So sánh tổng phần tử âm với tích phần tử dương S:=0; p:=1; For i:=1 to n Begin If x[i] then p:=p*x[i]; End; Một số cách chạy vòng lặp dành cho ma trận Ma trận tam giác For i:=1 to n For j:=I to n Ma trận tam giác For i:= to n For j:= to i dp Đường chéo For i:= to n Các phần tử x[i,i] Lưu ý : Ma trận thực chất gồm nhiều dãy số gọp vào , nên có vòng lặp lồng • Cho ma trân Amxn So sánh số phần tử âm hàng chẵn với số phần tử dương hàng lẻ Sắp xếp hàng theo thứ tự giảm dần Var m,n,i,j,k : integer; d1,d2 : integer; tg : integer; A:array[1 1000,1 1000] of integer; Begin { nhap ma tran } Write(‘ nhap m,n ‘); Readln( m,n ); For i:=1 to m { chay theo hang doc } For j:=1 to n { chay theo hang ngang } Readln( A[i,j] ); { doc du lieu choc ac phan tu tu ban phim } { dem so phan tu am hang chan va so phan tu duong hang le } d1:=0 ; d2:=0; for i :=1 to m { cho bien dem so luong cac phan tu ban dau = 0} if i mod = then { kiem tra xem i co chan khong } begin for j:=1 to n if A[i,j] < then d1:=d1+1; { d1 dem so phan tu am hang chan } end else { I le } begin for j:=1 to n if A[i,j] > then d2:=d2+1; { d2 dem so phan tu duong hang le } end; { sap xep hang theo thu tu tang dan } For i:=1 to m For j:=1 to n-1 For k:= j +1 to n If A[i,j] > A [i,k] then Begin tg:= A[i,j]; A[i,j]:=A[i,k]; { doi cho phan tu chon } A[i,k] := tg; End; { in ma tran } For i:=1 to m For j:=1 to n Begin Write(A[i,j] :7); If j=n then writeln; End; End { in man hinh phan tu voi cho } { in het hang thi xuong dong } ...Lưu ý : phần tử dãy số x[ số ] Phần tử ma trận x[ số hàng , số cột ] • • • • • • • Tính tổng dãy số , tính trung bình cộng dãy số S:=0; For i:=1 to n s:=s+x[i]; Tb:= s/n; Tìm min,max dãy... đến n-1) Chèn số p vào ma trận vị trí k cho sẵn For i:= n downto k x[i+1]:=x[i]; X[k]:=p; So sánh tổng phần tử âm với tích phần tử dương S:=0; p:=1; For i:=1 to n Begin If x[i]