Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

1.1. Mục đích, yêu cầu

– Hiểu và viết được chương trình với thuật toán tìm giá trị lớn nhất, nhỏ nhất của một dãy số, tính tổng dãy số.

Show

– Ôn luyện cách sử dụng câu lệnh điều kiện, lặp với số lần biết trước.

– Củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình.

– Thực hành khai báo và sử dụng các biến mảng.

– Học tập nghiêm túc, có ý thức tự giác, tinh thần vươn lên vượt qua khó khăn.

1.2. Nội dung

a. Ôn tập kiến thức

– Cách khai báo mảng trong Pascal như sau:

Tên mảng: array [ .. ] of ;

Trong đó:

– Tên mảng: Do người lập trình đặt

– array, of: Là từ khóa của chương trình

– Chỉ số đầu, chỉ số cuối: Là 2 số nguyên, thỏa mãn: chỉ số đầu ≤ chỉ số cuối giữa hai chỉ số là dấu ..

– Kiểu dữ liệu: Là kiểu của các phần tử, là Integer hoặc Real

– Số phần tử = chỉ số cuối – chỉ số đầu + 1

– Truy cập đến giá trị phần tử trong mảng:

Tên mảng [ Chỉ số ];

– Nhập giá trị cho mảng:

Sử dụng lệnh Read (hoặc Readln) kết hợp với For … do để nhập giá trị cho mảng.

– Các bước nhập giá trị cho mảng:

+ Bước 1. Nhập số phần tử của mảng;

+ Bước 2. Nhập vào giá trị từng phần tử của mảng (A[i]).

– In giá trị các phần tử của mảng:

Sử dụng lệnh Write (hoặc Writeln) kết hợp với For … do để in giá trị các phần tử của mảng.

– Các bước in giá trị của mảng:

+ Bước 1. Thông báo;

+ Bước 2.  In giá trị của từng phần tử.

b. Thực hành

Bài 1: Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém (theo tiêu chuẩn từ 8.0 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5.0 đến 6.4 đạt trung bình và dưới 5.0 xếp loại kém).

a) Xem lại các ví dụ 2 và ví dụ 3, Bài 9 về cách sử dụng và khai báo biến mảng trong Pascal

b) Liệt kê các biến sẽ sử dụng trong chương trình. tìm hiểu phần khai báo dưới đây và tìm hiểu tác dụng của từng biến.

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

c) Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai.pas. Tìm hiểu các câu lệnh trong phân thân chương trình dưới đây. Dịch và chạy thử chương trình.

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

Hướng dẫn giải

b. Các biến sử dụng trong chương trình:

– i: Biến đếm

– N: Biến để nhập số các bạn trong lớp sẽ được nhập vào.

– Gioi, Kha, Trungbinh, Kem: Số các học sinh giỏi, khá, trung bình, yếu.

– A: Biến mảng, dùng để lưu điểm số của các học sinh trong lớp, có kiểu số thực.

c. Ý nghĩa các câu lệnh

– Đặt các giá trị ban đầu: Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;

– Lần lượt cho chạy từ 1 đến N và kiểm tra:

– Nếu A[i]>=8.0 thì đếm số học sinh giỏi là: Gioi:=Gioi+1;

– Nếu A[i]=6.5 thì đếm số học sinh khá là: Kha:=Kha+1;

– Nếu A[i]=5.0 thì đếm số học sinh trung bình là: Trungbinh:=Trungbinh+1;

– Còn lại là số học sinh yếu: Kem:=Kem+1

Chạy chương trình:

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

Bài 2: Bổ sung và chỉnh sửa chương trình trong Bài 1 để nhập hai loại điểm Toán và Ngữ văn của các bạn, sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp (theo công thức Điểm trung bình = (điểm Toán + điểm Ngữ văn)/2), điểm trung bình của cả lớp theo từng môn Toán và Ngữ văn.

a. Tìm hiểu ý nghĩa các câu lệnh dưới đây:

Phần khai báo:

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

Phần thân chương trình:

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

b. Dịch và chạy chương trình với các số liệu thử.

Hướng dẫn giải

a. Thuật toán:

– Bước 1: Nhập N là số các bạn học sinh trong lớp;

– Bước 2: Nhập điểm môn Toán và môn Văn vào từ bàn phím;

– Bước 3: In điểm trung bình mỗi học sinh: (điểm Toán + điểm Văn)/2

– Bước 4: Tính điểm trung bình cả lớp theo từng môn:

TBToan := TBToan/N;

TBVan :=TBVan/N.

– Bước 5: In điểm TBToan, TBVan ra màn hình và kết thúc.

b. Kết quả

Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

Tổng kết

– Cú pháp khai báo biến mảng kiểu số nguyên và số thực trong Pascal:

Var : array [..] of integer( hoặc real);ỉ>ỉ>ên>

Trong đó, chỉ số đầu không lớn hơn chỉ số cuối

– Tham chiếu tới phần tử của mảng bằng cách: [chỉ số]ên>

2. Luyện tập

Câu 1: Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1; Giá trị của t là:

A. t=1

B. t=3

C. t=6

D. t=2

Câu 2: Các khai báo biến mảng sau đây trong Pascal là đúng?

A. Var x: array [3.5..4.8] of Integer;

B. Var x: array [5..10.5] of Integer;

C. Var x: array [4..13] of Integer;

D. Var x: array [10..1] of Integer;

Câu 3: Câu lệnh nào sau đây là câu lệnh nhập cho phần tử thứ 10 của biến mảng A?

A. Readln(A[i]);

B. Readln(A10);

C. Readln(A[10]);

D. Readln(A[k]);

Câu 4: Cách khai báo mảng sau đây cách nào khai báo đúng?

A. var X : Array [3.4..4.8] of integer;

B. var X : Array [10 .. 1] of integer;

C. var X : Array [1..10] of real;

D. var X : Array [10, 13] of integer;

Câu 5: Số phần tử trong khai báo dưới đây là bao nhiêu? Var tuoi : array[12..80] of integer;

A. 69

B. 80

C. 68

D. 70

3. Kết luận

Sau khi học xong bài thực hành số 7 các em học sinh nắm được một số nội dung chính sau đây:

  • Củng cố lại kiến thức toàn bài học, kĩ năng đọc hiểu chương trình.
  • Viết được chương trình với thuật toán tìm giá trị lớn nhất, nhỏ nhất của một dãy số, tính tổng dãy số.
  • Ôn luyện cách sử dụng câu lệnh điều kiện, lặp với số lần biết trước.

Xem toàn bộ tài liệu Lớp 8: tại đây

Giải Bài Tập Tin Học 8 – Bài 5: Từ bài toán đến chương trình giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Khoa Tin Học Lớp 8
    • Sách Giáo Viên Tin Học Lớp 8

    Bài 1 (trang 44 sgk Tin học lớp 8): 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.

    Trả lờ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ố.

    Bài 2 (trang 44 sgk Tin học lớp 8): 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 ← x + y

    Bước 2. y ← x – y

    Bước 3. x ← x – y

    Trả lờ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 3 (trang 44 sgk Tin học lớp 8): Cho trước ba số dương a, b và c. Hãy mô tả thuật toán cho biết ba số đó có thể là độ dài ba cạnh của một tam giác hay không.

    Trả lời:

    – Thuật toán ba số có là một cạnh của tam giác:

    Bước 1: Nếu a – b < c và c < a – b thì ba số a,b và c là độ dài ba cạnh của một tam giác. Nếu không thỏa mãn 1 trong 2 điều kiện thì ngược lại.

    Bước 2: Kết thúc thuật toán.

    Bài 4 (trang 45 sgk Tin học lớp 8): 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.

    Trả lờ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 5 (trang 45 sgk Tin học lớp 8): Hãy cho biết kết quả của thuật toán sau:

    Bước 1. SUM ← 0;i ← 0.

    Bước 2. Nếu i > 100 thì chuyển tới bước 4.

    Bước 3. i ← i + 1; SUM ← SUM + i. Quay lại bước 2.

    Bước 4. Thông báo giá trị SUM và kết thúc thuật toán.

    Trả lời:

    – Bước 1: Gán giá trị cho 2 biến SUM = 0 và i = 0.

    – Bước 2: Do i=0 < 100 nên chuyển tới bước 3. Nếu i > 100 chuyển tới bước 4.

    – Bước 3: Tăng giá trị i thêm 1. Giá trị của SUM bằng SUM + i.

    – Bước 4: Thông báo giá trị SUM. Thuật toán kết thúc.

    Kết quả thực hiện thuật toán SUM = 5050.

    Bài 6 (trang 45 sgk Tin học lớp 8): 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.

    Trả lời:

    Bước 1: Nhập n và dãy số a1, a2…, an.

    Bước 2: SUM ← 0; i ← 0.

    Bước 3: Nếu ai >0 thì SUM ← SUM + ai, ngược lại đến bước 4.

    Bước 4: i ← i + 1;

    Bước 5: Nếu i <= n thì quay lại bước 3.

    Bước 6: Thông báo giá trị SUM. Kết thúc thuật toán.

    Tìm hiểu mở rộng (trang 45 sgk Tin học lớp 8): 1. Một trong những yêu cầu quan trọng của thuật toán và mô tả thuật toán là tính dừng, tức thuật toán phải được kết thúc sau một số hữu hạn bước¬. Việc mô tả thuật toán có bước nhảy (ví dụ, chuyển đến bước 5, trở lại bước 2) có thể gây khó khăn nhất định cho việc theo dõi tính dừng của thuật toán. Hãy tìm hiểu và cho ít nhất một ví dụ về thuất toán không dừng.

    2. Để biểu diễn thuật toán cho sơ đồ khối, người ta thường phân biệt hai loại thao tác chính trong thuật toán: 1) Thao tác chọn lựa theo một điều kiện nào đó (được biểu diễn bằng khối hình thoi); 2) Các thao tác không thuộc loại chọn lựa được xếp vào loại hành động (được biểu diễn bằng khối hình chữ nhật). Ngoài ra, người ta còn thường dùng các khối hình bình hành để biểu diễn thao tác nhập/ xuất dữ liệu và khối elip để biểu diễn khối bắt đầu và kết thúc thuật toán (h.1.32).

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

    Em có thể vẽ sơ đồ khối biểu diễn các thuật toán nêu trong bài học không?

    Trả lời:

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học

    Tin học lớp 8 bài tập thực hành 1 BƯỚC đầu giải bài toán Tin học