Bài 5. Từ bài toán đến chương trình
Bài 2 (SGK trang 45)
Giả sử x và y là các biến số. Hãy cho biết kết quả của việc thực hiện thuật toán sau:
- Bước 1. \(x \leftarrow x + y\)
- Bước 2. \(y \leftarrow x - y\)
- Bước 3. \(x \leftarrow x - y\)
Hướng dẫn giải
- Bước 1: Ở bước này giá trị của x sẽ bằng x cộng với y: x= x+y.
- Bước 2: Tiếp đến giá trị của y bằng giá trị của x – y: y= x (bước 1)-y= x+y-y= x.
- Bước 3: Cuối cùng giá trị của x bằng x-y: x=x(bước1)-y(bước 2)= x+y-x=y.
Vậy kết quả của thuật toán là x=y và y=x
Bài 4 (SGK trang 45)
Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên (nếu cần) để x và y theo thứ tự có giá trị không giảm.
Hướng dẫn giải
Thuật toán đổi giá trị theo thứ tự có giá trị không giảm:
Bước 1: Nhập giá trị của x, y.
Bước 2: Nếu x > y thì chuyển tới bước 3. Ngược lại chuyển tới bước 4.
Bước 3: Tráo đổi giá trị của x và y.
Thuật toán tráo đổi giá trị:
Bước 1: Khai báo một biến cùng kiểu dữ liệu với x,y là tg.
Bước 2: Gán giá trị tg:=a;
Bước 3: Gán giá trị a:=b;
Bước 4: Gán giá trị b:=tg;
Bước 4: Kết thúc thuật toán.
Bài 6 (SGK trang 45)
Hãy mô tả thuật toán tính tổng các số dương trong dãy số A = {a1, a2,..., an} cho trước.
Hướng dẫn giải
Input :n,dãy A
Output: Tổng A( điều kiện phần tử A>= 0)
B1: Nhập n
B2: Nhập các phần tử
B3:Xét a1;a2;a3;...an >= 0 Nếu phần tử nào dương thì chuyển qua một danh sách
B4 S-< a1,a2,...an;
B5: Kết thúc thuật toán
Bài 5 (SGK trang 45)
Hãy mô tả thuật toán giải bài toán tính tổng các phần tử của dãy số A= {a1, a2,..., an} cho trước.
Hướng dẫn giải
Bài 3 (SGK trang 45)
Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x và y có giá trị tăng dần.
Hướng dẫn giải
Bài 1 (SGK trang 45)
Hãy chỉ ra INPUT và OUTPUT của các bài toán sau:
a) Xác định số học sinh trong lớp cùng mang họ Trần.
b) Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước.
c) Tìm số các số có giá trị nhỏ nhất trong n số đã cho.
Hướng dẫn giải
a) INPUT: Danh sách số học sinh trong lớp.
OUTPUT: Số học sinh trong lớp mang họ Trần.
b) INPUT: Dãy gồm n số.
OUTPUT: Tổng các phần tử lớn hơn 0.
c) INPUT: Cho n số.
OUTPUT: Số các số có giá trị nhỏ nhất trong n số.