Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
- Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máy tính có thể hiểu và thực hiện được.
- Chương trình dịch: Là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao sang chương trình thực hiện được trên máy.
Bài 2 : Các thành phần của ngôn ngữ lập trình
- Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.
+ Số học: - Số thực
- Số nguyên
+ Logic: True, False
+ Xâu: ‘ ‘
- Biến:
+ Được đặt tên
+ Lưu giá trị
+ Giá trị có thể thay đổi
- Tên dành riêng: Dùng với ý nghĩa xác định, người lập trình không được sử dụng với ý nghĩa khác.
- Quy tắc đặt tên:
+ Tên bắt đầu chữ cái hoặc dấu gạch dưới.
+ Các kí tự bao gồm các chữ cái, chữ số, dấu gạch dưới.
+ Trong Free Pascal tên có độ dài tới 255 kí tự.
Bài 3: Cấu trúc chương trình
- Các thành phần trong cấu trúc của 1 chương trình:
+ Phần khai báo VD: var x:integer;
+ Phần thân VD: Begin
......
End.
Bài 4: Một số kiểu dữ liệu chuẩn
- Các kiểu dữ liệu:
+ Kiểu nguyên:
▪︎ Byte
▪︎ Integer
▪ Word
▪︎ Longint
+ Kiểu thực
▪︎ Real
▪︎ Extended
+ Kiểu kí tự
▪︎ Char
▪︎ Boolean
Bài 5: Khai báo biến
Từ khai báo biến : Var
Cú pháp: Var <danh sách biến> : < kiểu dữ liệu>;
VD: khai báo kiểu số nguyên
Var y,x: integer;
Khai báo kiểu số thực
Var x,y:real;
Bài 6: Phép toán, biểu thức, câu lệnh gán
Viết biểu thức trong chương trình Pascal
VD: 2x -3y >0
=> 2*x - 3*y > 0
4x²+ 2x-7=0
=> 4*x*x + 2*x -7 =0
=> 4* sqr(x) + 2*x – 7 =0
Bài 7: Các thủ tục chuẩn vào/ra đơn giản
Read (<danh sách biến vào>);
Readln(<danh sách biến vào>);
VD: read(a,b);
Readln(a,b);
Write (<danh sách biến ra>);
Writeln (<danh sách biến ra>);
VD: write(‘nhap a,b’); nhap a,b
a:=7; b:= 10;
Writeln(a,b); 7 10
Bài 8: Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
Các phím tắt :
F2 : lưu chương trình
Alt + F9 : kiểm tra chương trình, nếu chương trình lỗi phầm mềm sẽ thông báo
Ctrl + F9 : chạy chương trình
Alt +F3 : đóng cửa sổ chương trình
Alt + X : thoát khỏi phần mềm
Bài 9: Cấu trúc rẽ nhánh
- Câu lệnh rẽ nhánh:
Dạng thiếu:
+ Nếu điều kiện đúng thực hiện câu lệnh sau “then”
+ Nếu điều kiện sai thì thoát khỏi If .... then
If <điều kiện> then <câu lệnh> ;
Dạng đủ:
+ Nếu điều kiện đúng thực hiện câu lệnh 1 sau “then”
+ Nếu điều kiện sai thì thực hiện câu lệnh 2 sau “else”
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
- Câu lệnh ghép
Begin
<các câu lệnh>;
End;
VD: If a>b then begin
Max:=a;
Min:=b;
end,
Bài 10: Cấu trúc lặp
- Có 2 dạng lặp:
+Dạng tiến
For <biến đếm> :=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+Dạng lùi
For <biến đếm> :=<giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
VD:S = 1+2+3+4+...+n
Var s,i,n:integer;
Begin
Write(‘nhap n = ‘); Readln(n);
For i:=1 to n do s:=s + i;
Write(‘tong =’ , s);
Readln;
End.
Bài 11: Kiểu mảng
- Khái niệm mảng 1 chiều:
Là dãy hữu hạn các phần tử cùng kiểu, mảng được đặt tên và mỗi phần tử của nó chỉ có 1 chỉ số.
- Cách khai báo:
▪︎ Cách trực tiếp:
Var <tên biến mảng>:array [kiểu chỉ số] of <kiểu phần tử>;
VD: Var a: array[1..100] of integer;
▪︎ Cách gián tiếp:
Type <tên kiểu mảng> =array [kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng> :<tên kiểu mảng>;
VD: Type khoi =array [1..100] of integer;
Var a,b,c: khoi;
- Cách truy cập tới các phần tử: xác định tên mảng cùng với chỉ số ,được viết trong cặp ngoặc [ ] .
VD: Trong mảng a ô thứ 24 -> a[24]
VD: Nhập mảng số nguyên, các phần tử không quá 100. Tính tổng các phần tử trong mảng chia hết cho 2 và đưa kết quả ra màng hình.
Bài làm:
Var a: array [1..100] of integer;
S,i,n: integer;
Begin
Write(‘nhap so luong phan tu :’ );
Readln(n);
For i:= 1 to n do read(a[i]);
S:=0;
For i:=1 to n do
If a[i] mod 2=0 then s:=s+ a[i];
Write (‘tong = ‘,s);
Readln;
End.