KPL

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Bài 1:

FUNC isUpperTriangularMatrix(matrix[][]: ARRAY[][] OF INT, n: INT): INT


VAR isUpperTriangular: INT = 1 # Giả sử ban đầu ma trận tam giác trên

FOR i FROM 1 TO n DO
FOR j FROM 1 TO n DO
IF i > j AND matrix[i][j] <> 0 THEN
isUpperTriangular = 0 # Nếu có phần tử khác 0 ở dưới đường chéo
chính, không phải tam giác trên
END IF
END FOR
END FOR

RETURN isUpperTriangular
END FUNC

# Chương trình chính


FUNC main
VAR n: INT
PRINT "Nhập kích thước ma trận (n): "
INPUT n

VAR matrix: ARRAY[n][n] OF INT

PRINT "Nhập các phần tử của ma trận:"


FOR i FROM 1 TO n DO
FOR j FROM 1 TO n DO
INPUT matrix[i][j]
END FOR
END FOR

VAR result: INT = isUpperTriangularMatrix(matrix, n)

IF result = 1 THEN
PRINT "Ma trận là ma trận tam giác trên."
ELSE
PRINT "Ma trận không phải là ma trận tam giác trên."
END IF
END FUNC
Bài 2:

```kpl
FUNC main
VAR a, b, sum: INT

PRINT "Nhập số thứ nhất: "


INPUT a

PRINT "Nhập số thứ hai: "


INPUT b

sum = a + b

PRINT "Tổng của hai số là: ", sum


END FUNC
```

Phân tích trái (dãy số hiệu sản xuất) cho chương trình trên như sau:
1. `FUNC main`: Khai báo một hàm có tên `main`.

2. `VAR a, b, sum: INT`: Khai báo biến `a`, `b`, và `sum` kiểu số nguyên (INT)
để lưu trữ các số và tổng.

3. `PRINT "Nhập số thứ nhất: "`: Hiển thị thông báo để nhập số thứ nhất.

4. `INPUT a`: Nhận giá trị từ bàn phím và lưu vào biến `a`.

5. `PRINT "Nhập số thứ hai: "`: Hiển thị thông báo để nhập số thứ hai.

6. `INPUT b`: Nhận giá trị từ bàn phím và lưu vào biến `b`.

7. `sum = a + b`: Tính tổng của hai số và lưu vào biến `sum`.

8. `PRINT "Tổng của hai số là: ", sum`: Hiển thị thông điệp kết quả, in tổng ra
màn hình.

You might also like