TỔNG HỢP KIẾN THỨC TIN HỌC ĐẠI CƯƠNG – ĐHXDLẠI CAO NOEL – 58XD5 I, Tổng hợp các lí thuyết cần nhớ 1.. Cho các tập hợp A,B,C.. Các phép toán trong pascal 3.. Trình bày các làm việc của câ
Trang 1TỔNG HỢP KIẾN THỨC TIN HỌC ĐẠI CƯƠNG – ĐHXD
LẠI CAO NOEL – 58XD5
I, Tổng hợp các lí thuyết cần nhớ
1 Các câu lệnh ghi , đọc xuất dữ liệu ( trên màn hình , trên tệp )
2 Cho các tập hợp A,B,C Các phép toán trong pascal
3 Trình bày các làm việc của câu lệnh If then… và If…then…else
4 So sánh sự giống và khác nhau giữa 2 vòng lặp for to do… và while…do…
5 Các khai báo một trường bản ghi , Cho ví dụ
6 Các thao tác xử lí với tệp Cho ví dụ
7 Trình bày cấu trúc của máy tính
8 Cho một sơ đồ khối ( vòng lặp ) Viết đoạn code cho sơ đồ đó
9 Cho 1 phép toán Viết phép toán đó trong pascal ( bình phương : spr( ) , căn bậc hai : sqrt( ) )
10.Chuyển các hệ đếm với nhau : Dùng máy tính Mode 4
II, Một số câu lệnh hay dùng
1 Write/writeln( ) ; { ghi dữ liệu ra màn hình hoặc têp }
2 Read/readln(n) ; { nhập dữ liệu từ bàn phím hoặc đọc dữ liệu từ tệp }
3 Câu điều kiện
If điều kiện then câu lệnh ; { khi điều kiện đúng thì thực hiện câu lệnh , điều
kiện sai thì chuyển sang câu lệnh tiếp theo }
If điều kiện then câu lệnh 1 else câu lệnh 2 ; { khi điều kiện đúng thì thực
hiện câu lệnh 1 , khi điều kiện sai thì thực hiện câu lệnh 2 }
Lưu ý : nếu điều kiện là 1 biểu thức thì không có dấu “ : “
4 Vòng lặp for i:= giá trị đầu to giá trị cuối do câu lệnh;
For i:=giá trị cuối downto giá trị đầu do câu lệnh ;
5 Đoạn Begin … end; khi trong câu lệnh trong vòng lặp hay câu điều kiện có từ
2 câu lệnh thực hiện trở lên thì ta đặt các câu lệnh đó trong Begin… End ;
III , Các cách khai báo , xử lí thuật toán đối với dãy số và ma trận
1 Khai báo các 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 dữ liệu của phần tử dãy số hoặc 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;
Trang 22 Xử lí một số yêu cầu
Lưu ý : phần tử của dãy số x[ chỉ số ]
Phần tử của ma trận x[ chỉ số hàng , chỉ 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 do s:=s+x[i];
Tb:= s/n;
Tìm min,max của dãy số
Min := x[1];
Max :=x[1];
For i:=1 to n do
If Max < x[i] then max := x[i];
For i:=1 to n do
If min > x[i] then min := x[i];
Sắp xếp dãy số theo thứ tự tang dần
For i:=1 to n-1 do
For j:=i+1 to n do
If x[i] > x[j] then Begin
Tg:=x[i];
X[i]:=x[j];
X[j]:=tg;
End;
Xóa một phần tử của ma trận tại vị trí k cho sẵn
For i:= k to n-1 do x[i]:=x[i+1];
Khi đó ma trận còn n-1 phần tử ( khi in ra biến đếm chạy từ 1 đến n-1)
Chèn số p vào ma trận tại vị trí k cho sẵn
For i:= n downto k do 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 do
Begin
If x[i] <0 then s:=s+x[i];
If x[i]> 0 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 trên For i:=1 to n do
For j:=I to n do
Ma trận tam giác dưới
Trang 3For i:= 1 to n do For j:= 1 to i dp
Đường chéo chính For i:= 1 to n do Các phần tử sẽ là x[i,i]
Lưu ý : Ma trận thực chất là gồm nhiều dãy số gọp vào , thế nên sẽ có 2 vòng lặp lồng nhau
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 từng 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 do { chay theo hang doc } For j:=1 to n do { 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; { cho bien dem so luong cac phan tu ban dau = 0} for i :=1 to m do
if i mod 2 = 0 then { kiem tra xem i co chan khong } begin
for j:=1 to n do
if A[i,j] < 0 then d1:=d1+1; { d1 dem so phan tu am hang chan }
end else { khi I le } begin
for j:=1 to n do
if A[i,j] > 0 then d2:=d2+1; { d2 dem so phan tu duong hang
le } end;
Trang 4
{ sap xep hang theo thu tu tang dan }
For i:=1 to m do For j:=1 to n-1 do For k:= j +1 to n do
If A[i,j] > A [i,k] then Begin
tg:= A[i,j];
A[i,j]:=A[i,k]; { doi cho 2 phan tu chon nhau } A[i,k] := tg;
End;
{ in ma tran }
For i:=1 to m do For j:=1 to n do Begin
Write(A[i,j] :7); { in ra man hinh phan tu voi 7 cho trong }
If j=n then writeln; { in het 1 hang thi xuong dong } End;
End