# data[].attributes.body
- Biến được dùng để lưu trữ dữ liệu

- Dữ liệu được biến lưu trữ có thể thay đổi trong khi thực hiện chương trình.

- Dữ liệu do biến lưu trữ được gọi là giá trị của biến.

# data[].attributes.body
- Việc khai báo biến gồm:

+ Khai báo tên biến

+ Khai báo kiểu dữ liệu của biến.
- Cú pháp khai báo biến:
Var tên biến: kiểu dữ liệu;
-VD: Cho khai báo biến sau:
Var  m,n:integer;
S, dientich:real;
thongbao:string;
+ Var: từ khoá khai báo biến
+ m,n: là các tên biến có kiểu số nguyên
+ S, dientich: là các tên biến có kiểu số thực
+ thongbao: là tên biến có kiểu xâu kí tự

# data[].attributes.body
Câu hỏi 1: Biến dùng để làm gì?
Câu hỏi 2: Trong khi thực hiện chương trình, dữ liệu được biến lưu trữ như thế nào?

# data[].attributes.body
Câu hỏi 1: Khai báo biến gồm những khai báo nào?
Câu hỏi 2: Tên biến trong khai báo biến như thế nào?
Câu hỏi 3: Muốn khai báo biến x, y là kiểu số nguyên; a, b là kiểu số thực, hoten là kiểu xâu kí tự. các em làm ntn?
Var  x,y:integer;
a,b:real;
hoten:string;

# data[].attributes.body
- Các thao tác có thể thực hiện với biến:
+ Gán giá trị cho biến
+ Tính toán với biến
- Cú pháp câu lệnh gán:
Tên biến:=Biểu thức;
Lưu ý:
+ giữa dấu : và dấu = không có kí tự trống, tức là phải viết liền nhau
+ tên biến và biểu thức phải trùng kiểu dữ liệu
- VD:
x:=12;     Gán giá trị 12 cho biến x
x:=y;       Gán giá trị biến y cho biến x
x:=(a+b)/2;      Gán giá trị tính trung bình cộng của 2 biến a, b cho biến x

# data[].attributes.body
- Hằng được dùng để lưu trữ dữ liệu

- Hằng là đại lượng có giá trị không đổi trong khi thực hiện chương trình.
- Cú pháp khai báo hằng:
Const Tên hằng=giá trị;
- Vd:
Const pi = 3.14;
bankinh = 2;
Trong đó:
+ Const: từ khoá khai báo hằng
+ Pi, bankinh là các tên hằng

# data[].attributes.body
Câu hỏi 1: Nêu các thao tác có thể thực hiện với biến?
Câu hỏi 2: Nêu cú pháp câu lệnh gán trong Pascal?
Câu hỏi 3: Bài tập 1 sgk/32

# data[].attributes.body
Câu hỏi 1: Hằng là gì?
Câu hỏi 2: Nêu sự khác nhau giữa biến và hằng?
Câu hỏi 3: Bài tập 3/sgk 32
Câu hỏi 4: Bài tập 4/sgk 32

# data[].attributes.headline
Bài 1: Viết chương trình Pascal có khai báo và sử dụng biến

# data[].attributes.subject
Bài 1: Viết chương trình Pascal có khai báo và sử dụng biến

# data[].attributes.headline
Bài 1.a. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa từng câu lệnh

# data[].attributes.subject
Bài 1.a. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa từng câu lệnh

# data[].attributes.headline
b. Lưu chương trình với ten TINHTIEN.PAS. Dịch và chỉnh sửa lỗi nếu có.

# data[].attributes.subject
b. Lưu chương trình với ten TINHTIEN.PAS. Dịch và chỉnh sửa lỗi nếu có.

# data[].attributes.body
- Lưu: nhấn phím F2
- Dịch chương trình: Alt+F9

# data[].attributes.headline
c. Chạy chương trình vơi các bộ dữ liệu (đơn giá và số lượng) như sau (1000,20), (3500,200), (18500,123). Kiểm tra tính đúng của các kết quả in ra..

# data[].attributes.subject
c. Chạy chương trình vơi các bộ dữ liệu (đơn giá và số lượng) như sau (1000,20), (3500,200), (18500,123). Kiểm tra tính đúng của các kết quả in ra..

# data[].attributes.headline
d. Chạy chương trình với bộ dữ liệu (1,35000). Quan sát kết quả nhận được hãy thử đoán lí do tại sao chương trình cho kết quả sai.

# data[].attributes.subject
d. Chạy chương trình với bộ dữ liệu (1,35000). Quan sát kết quả nhận được hãy thử đoán lí do tại sao chương trình cho kết quả sai.

# data[].attributes.body
- Chương trình bị sai là do soluong thuộc kiểu dữ liệu integer chỉ đến giới hạn 32767<35000 nên bị lỗi. Muốn sửa chương trình cho đúng ta cần phải cho biến soluong thuộc kiểu dữ liệu longint.

# data[].attributes.headline
Bài 2: Thử viết chương trình nhập số nguyên X và Y rồi in ra giá trị ra màn hinh

# data[].attributes.subject
Bài 2: Thử viết chương trình nhập số nguyên X và Y rồi in ra giá trị ra màn hinh

# data[].attributes.headline
BÀI 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH

# data[].attributes.subject
BÀI 1. MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH

# data[].attributes.body
Câu 1: Con người chỉ dẫn cho máy tính thực hiện công việc như thế nào?
Câu 2: Chương trình máy tính là gì?
Câu 3: Ngôn ngữ lập trình là?
Câu 4: Chương trình dịch dùng để?
Câu 5: Việc tạo ra chương trình máy tính gồm mấy bước? Kể ra?

# data[].attributes.headline
BÀI 2. LÀM QUEN VỚI CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

# data[].attributes.subject
BÀI 2. LÀM QUEN VỚI CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

# data[].attributes.body
Câu 1: Ngôn ngữ lập trình gồm những gì?
Câu 2: Phân biệt từ khoá và tên?
Câu 3: Tên trong ngôn ngữ lập trình phải tuân thủ những quy tắc nào?
Câu 4: Cấu trúc chung của chương trình gồm mấy phần? Kể ra?
Câu 5: Ví dụ về ngôn ngữ lập trình (soạn thảo, lưu, dịch chương trình, chạy chương trình)?

# data[].attributes.body
Câu 1: Các kiểu dữ liệu thường dùng nhất?
Câu 2: Phạm vi các kiểu dữ liệu số nguyên và số thực?
Câu 3: Các phép toán đối với kiểu dữ liệu số?

# data[].attributes.headline
BÀI 4. SỬ DỤNG BIẾN VÀ HẰNG TRONG CHƯƠNG TRÌNH

# data[].attributes.subject
BÀI 4. SỬ DỤNG BIẾN VÀ HẰNG TRONG CHƯƠNG TRÌNH

# data[].attributes.body
Câu 1: Biến là gì?
Câu 2: Nêu cú pháp khai báo biến?
Câu 3: Nêu cú pháp câu lệnh gán?
Câu 4: Hằng là gì?
Câu 5: Nêu cú pháp hằng?

# data[].attributes.body
- Khái niệm bài toán: là 1 công việc hay 1 nhiệm vụ cần được giải quyết.
- Xác định bài toán là xác định điều kiện cho trước (Input) và kết quả cần thu được (Output).
- Ví dụ 1: Tính diện tích tam giác

+ Điều kiện cho trước (INPUT) : 1 cạnh và 1 chiều cao

+ Kết quả cần thu được (OUTPUT): Diện tích tam giác (S=1/2*cạnh*chiều)

- Vd2: Tính tổng của 2 số a và b
+ Input: a và b
+Output: tổng của 2 số a và b (tong=a+b)

- Vd3: Tính trung bình cộng của 3 môn Toán, Lí, Tin
+ Input: điểm 3 môn Toán, Lí, Tin
+ Output: trung bình cộng của 3 môn Toán, Lí, Tin

- Vd4: Hãy cho biết kết quả so sánh 2 số a và b

+ Input: a và b
+ Output: kết quả so sánh 2 số a và b

- Vd5: Tính diện tích hình vuông
+ Input: cạnh
+ Output: diện tích hình vuông

# data[].attributes.headline
2. Quá trình giải bài toán trên máy tính

# data[].attributes.subject
2. Quá trình giải bài toán trên máy tính

# data[].attributes.body
- Khái niệm thuật toán: các thao tác cần thiết để giải quyết 1 bài toán.
- Quá tình giải bài toán gồm các bước:

+ B1: Xác định bài toán (Input và Output)

+ B2: Mô tả thuật toán (liệt kê các thao tác cần thực hiện)

+ B3: Viết chương trình

# data[].attributes.body
- Xét ví dụ: Pha trà mời khách

INPUT: Trà, nước sôi, ấm và chén.

OUTPUT: Chén trà đã pha để mời khách

+ B1: Tráng ấm, chén bằng nước sôi

+ B2: Cho trà vào ấm

+ B3: Rót nước sôi vào ấm và đợi khoảng 3 đến 4 phút.

+ B4: Rót trà ra chén để mời khách.

- Khái niệm thuật toán: là dãy các thao tác cần thực hiện theo 1 trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.

- Khái niệm mô tả thuật toán: là việc liệt kê các bước thực hiện công việc( như ví dụ pha trà). Các bước của thuật toán thực hiện tuần tự từ trên xuống dưới.

# data[].attributes.body
Ví dụ 1: một hình A được ghép từ hình chữ nhật với chiều rộng 2a, chiều dài b và 1 hình bán nguyệt bán kính a
INPUT: các số a là ½ chiều rộng của hình chữ nhật và là bán kính của hình bán nguyệt, b là chiều dài của HCN.

OUTPUT: Diện tích của A

Thuật Toán:

B1: tính S hình chữ nhật, S1 = 2a.b;

B2: tính S hình bán nguyệt (S hình tròn/2), S2 = 1/2.π.a 2

B3: tính S tổng, S = S1 + S2;

# data[].attributes.headline
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên

# data[].attributes.subject
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên

# data[].attributes.body
INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100.

OUTPUT: Tổng của 100 số tự nhiên đầu tiên  (1 + 2 + 3 +.... 100)

Thuật toán:

- B1: SUM <- 0; I <- 0.

- B2: SUM <- SUM + I; I <- I + 1;

- B3: nếu I ≤ 100, thì quay lại bước 2. Ngược lại, thông báo giá trị SUM và kết thúc thuật toán.
(i=101)

# data[].attributes.body
* Xác định Bài toán
INPUT: Hai biến x, y (có giá tri tương ứng là a và b)

OUTPUT: Đổi gía trị của hai biến x  và y (có giá trị tương ứng là b và a)

* Mô tả Thuật Toán:

- B1: z := x, khi đó z có giá trị là a

- B2: x := y, khi đó x có giá trị là b

- B3: y := z, khi đó y có giá trị là a.

vd:  x=5 y=6. Sau khi hoán vị x=6, y=5

- B1: z:=x=5
- B2: x:=y=6
- B3: y:=z=5

# data[].attributes.headline
Ví dụ 4: Cho hai số thực a, b. Hãy cho biết kết quả so sánh hai số đó dưới dạng ″a lớn hơn b″, ″a nhỏ hơn b″ hoặc ″a bằng b″.

# data[].attributes.subject
Ví dụ 4: Cho hai số thực a, b. Hãy cho biết kết quả so sánh hai số đó dưới dạng ″a lớn hơn b″, ″a nhỏ hơn b″ hoặc ″a bằng b″.

# data[].attributes.body
INPUT: hai số thực a và b

OUTPUT: kết quả so sánh hai s ố đó dưới dạng ″a lớn hơn b″, ″a nhỏ hơn b″ hoặc ″a bằng b″.

Thuật Toán:

- B1: Nếu a >b, kết quả là ″a lớn hơn b″ và chuyển đến Bước 3

- B2: Nếu a < b, kết quả là "a nhỏ hơn b"; ngược lại, kết quả là ″a bằng b″

- B3: Kết thúc thuật toán

Vd1: Cho a=5, b=4
- B1: Nếu a>b (5>4), kq "5 lớn hơn 4". Kết thúc

Vd2: Cho a=4, b=5
- B1: Nếu a>b (4>5)
- B2: Nếu a< b (4<5) kq "4 nho hon 5". Kết thúc

Vd1: Cho a=5, b=5
- B1: Nếu a>b (5>5)
- B2: Nếu a<5 (5<5), ngược lại: kq "5 bằng 5". Kết thúc

# data[].attributes.headline
Ví dụ 5: Tìm số lớn nhất trong dãy các số A1, A2,… An cho trước.

# data[].attributes.subject
Ví dụ 5: Tìm số lớn nhất trong dãy các số A1, A2,… An cho trước.

# data[].attributes.body
INPUT: Dãy A các số A1, A2,.. An ( n ≥ 1)

OUTPUT: Giá trị MAX = max{A1, A2,..An}

Thuật Toán:

- B1: MAX := A1, I := 1.

- B2: Nếu Ai > MAX, gán MAX := Ai.

- B3: I := i+1.

- B4: Nếu I ≤ n, quay lại bước 2.

- B5: Thông báo giá trị MAX và kết thúc thuật toán.

# data[].attributes.body
Tìm số lớn nhất của dãy số sau:
-10 -5 -2 0 20 8 40 50

# data[].attributes.body
Tìm số lớn nhất của dãy số sau:
10 -10 0 -5 5 10 8

# data[].attributes.body
b. Câu lệnh điều kiện dạng đủ
* Cú pháp:

If <điều kiện> then <câu lệnh 1>

else <câu lệnh 2>;
* Hoạt động

•B1: Kiểm tra điều kiện.

•B2: Nếu điều kiện được thoả mãn (đúng), chương trình sẽ thực hiện câu lệnh 1. Ngược lại, câu lệnh 2 sẽ được thực hiện.

# data[].attributes.body
Nếu a>b thì in ra màn hình giá trị a, ngược lại thì in ra giá trị b

# data[].attributes.body
Nếu a>0 thì in ra màn hình a là số dương, ngược lại thì in ra a là số âm

# data[].attributes.body
Diễm Trâm

# data[].attributes.body
Thanh Phong

# data[].attributes.body
Luân 8/3

# data[].attributes.body
Mỹ Trinh 8/3

# data[].attributes.body
Minh Nguyệt 8/3

# data[].attributes.body
Lê Ngọc Bảo Trâm

# data[].attributes.body
Trần Thị Anh Thư