© 2020 Bài Kiểm Tra.com. All Rights Reserved.

Đề cương ôn tập cuối học kì 2, Tin học 8

Thứ tư - 26/04/2023 10:58
Đề cương ôn tập cuối học kì 2, môn: Tin học 8. Đề cương gồm các phần lý thuyết và một số bài tập tham khảo. Các em chú ý luyện tập nhé!
ĐỀ CƯƠNG ÔN TẬP CUỐI HỌC KỲ II
MÔN: TIN HỌC 8

I. Lý thuyết:
1/ Câu lệnh lặp với số lần biết trước For..do:
- Cho ví dụ về hoạt động lặp với số lần đã biết trước
Ví dụ: For i:=1 to 10 do S:=S+1;
- Cú pháp và cách hoạt động của câu lệnh lặp với số lần biết trước For..to..do?
Cú pháp: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Khi thực hiện, ban đầu biến đếm sẽ nhạn giá trị đầu sau mỗi vòng lặp biến đếm sẽ tăng một đơn vị cho đếm khi bằng giá trị cuối.
- Biến đếm, giá trị đầu, giá trị cuối trong câu lệnh For..do cần chú ý điều gì?
For, to, do là từ khóa.
Biến đếm, giá trị đầu, giá trị cuối phải là số nguyên.
Giá trị đầu phải bé hơn ( <) hoặc bằng ( =) giá trị cuối.
- Cách tính số vòng lặp?
Số vòng lặp bằng giá trị cuối – giá trị đầu + 1.

2/ Câu lệnh lặp với số lần chưa biết trước While..do:
- Cho ví dụ về hoạt động lặp với số lần chưa biết trước
While x<10 do x:=x+1;
- Cú pháp và cách hoạt động của câu lệnh lặp với số lần chưa biết trước while..do?
While <điều kiện> do <câu lệnh>;
Bước 1: Kiểm tra điều kiện.
Bước 2: -Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
              -Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc lặp lại câu lệnh sẽ bị kết thúc.
- Khi nào câu lệnh lặp While..do dừng lại?
Khi nào điều kiện trong While..do sai thì việc lặp lại mới kết thúc.

3/ Dãy số (mảng):
- Cú pháp khai báo biến mảng?
Var <tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
- Viết câu lệnh Pascal khai báo mảng a gồm 100 phần tử là số nguyên; mảng b gồm 50 phần tử số thực?
Var a:array [1..100] of integer;
Var b:array [1..50] of real;
- Để truy cập vào phần tử thứ 3, 100, n, i trong mảng A ta viết thế nào?
Để truy cập vào phần tử thứ 3, ta viết: A[3]
Để truy cập vào phần tử thứ 100, ta viết: A[100]
Để truy cập vào phần tử thứ n, ta viết: A[n]
Để truy cập vào phần tử thứ i, ta viết: A[i]
- Viết được câu lệnh nhập giá trị vào cho biến mảng và in giá trị của biến mảng ra màn hình.
a) Nhập vào giá trị của mảng:
Writeln(‘Nhap vao so phan tu cua mang:’); Readln(n);
For i:=1 to n do begin
Writeln(‘Nhap vao so phan tu thu’, i ,’la:’);
Readln(a[i]);
End;

b) In vào giá trị của mảng:
Writeln(‘Nhap vao so phan tu cua mang:’); Readln(n);
For i:=1 to n do begin
Writeln(‘Nhap vao so phan tu thu’, i ,’la:’);
Readln(a[i]);
Writeln(‘Gia tri so phan tu thu’, i ,’la:’, a[i]);
End;

II. Một số bài tập tham khảo:
Bài 1: Hãy giải thích vì sao các câu lệnh Pascal sau đây sai và sửa lại
a. For i=3 to 25.3 do x:=x+5
Vì giá trị cuối không phải là sô nguyên, sai dấu gán và cuối câu thiếu dấu chấm phẩy.
Sửa lại: For i:=3 to 25 do x:=x+5;
b. For i:=50 to 10 do x:=x-2;
Vì giá trị đầu lớn hơn giá trị cuối.
Sửa lại: For i:=10 to 50 do x:=x-2;
c. While x>0 do ; x=x-1;
Vì sau từ khóa do dư dấu chấm phẩy và sai dấu gán.
Sửa lại: While x>0 do x:=x-1;  
d. While x:=3 do x:=x-2
Vì câu điều kiện không phải là một phép so sánh và cuối câu thiếu dấu chấm phẩy. \
Sửa lại: While x=3 do x:=x-2;

Bài 2: Tính giá trị của biến x sau mỗi đoạn chương trình sau và cho biết câu lệnh sau từ khóa do được thực hiện mấy lần? Biết trước đó x=30
a. For i:=5 to 9 do x:=x-3;
i 5 6 7 8 9
x 27 24 21 18 15
Vậy giá trị của x là 15
Câu lệnh sau do thực hiện: 5 lần                         
b. For i:=0 to 4 do x:=x+i;
i 0 1 2 3 4
x 30 29 27 24 20
Vậy giá trị của x là 20
Câu lệnh sau do thực hiện: 5 lần
c. While x<42 do x:=x+3;
x 30 33 36 39 42
x<42 Đ Đ Đ Đ S
Giá trị của x là 42
Câu lệnh sau do thực hiện: 4 lần                
d. While x>=16 do x:=x-4;
x 30 26 22 18 14
x>=16 Đ Đ Đ Đ S
Giá trị của x là 14
Câu lệnh sau do thực hiện: 4 lần

Bài 3: Chỉ ra lỗi trong đoạn chương trình sau và sửa lại cho đúng
          Var i, x: real ;
                 D: array[1..y] of  Integer;
          Begin
                   x:=0;
                   for i:=1 to 4 do x:=x*Ai;
                   Writeln(‘tich bang ’ , x);
                   Readln
          End.
          Dòng 1: Biến đếm khai báo không đứng kiểu dữ liệu.
          Sửa lại: Var i: integer;
                             x: real ;
          Dòng 2: Khai báo không đúng tên mảng và chỉ số cuối không phải là một số cụ thể.
          Sửa lại: A: array[1..100] of  Integer;
          Dòng 4: Gán sai giá trị cho x
          Sửa lại: x:=1;
Dòng 5: i chưa được đặt trong ngoặc vuông []
          Sửa lại: for i:=1 to 4 do x:=x*A[i];

Bài 4: Giả sử biến mảng X có 5 phần tử và giá trị của các phần tử lần lượt là 1; 9; 7; 10; 6. Tính giá trị của biến S sau khi thực hiện mỗi đoạn lệnh sau:
a/ S:=0; For i:=2 to 5 do S:=S+x[i];
i 2 3 4 5
x[i] 9 7 10 6
S 9 16 26 32
Vậy giá trị của S sau đoạn lệnh là 32
b/ S:=45; For i:=1 to 4 do S:=S-x[i];
i 1 2 3 4
x[i] 1 9 7 10
S 44 35 28 18
Vậy giá trị của S sau đoạn lệnh là: 18

Bài 5. Viết chương trình nhập một dãy số gồm 100 phần tử là số thực. Sau đó in ra màn hình các các số vừa nhập.
Viết chương trình
Program baitap5;
Uses crt;
Var a:array [1..100] of real;
       n, i: integer;
Begin
Clscsr;
Writeln(‘Nhap vao so phan tu cua mang:’);  Readln(n);
For i:=1 to n do begin
Writeln(“Nhap vao gia tri cua phan tu thu’, i ,’la;’);
Readln(a[i]);
Writeln(‘Gia tri cua phan tu thu’, i ,’la:’,a[i]);
End;
Readln
End.

Bài 6: Viết chương trình nhập một mảng gồm n số nguyên. Sau đó thực hiện các công việc sau:
a/ Tính tổng các phần tử là số lẻ
b/ In ra màn hình các phần tử có giá trị nhỏ hơn 10

Viết chương trình
Program baitap6;
Uses crt;
Var b:array [1..100] of Integer;
       n, i, S:integer;
Begin
Clscsr;
Writeln(‘Nhap vao so phan tu cua mang:’);
Readln(n);
S:=0;
For i:=1 to n do begin
Writeln(“Nhap vao gia tri cua phan tu thu’, i ,’la;’);
Readln(b[i]);
If b[i] mod 2=1 then S:=S+b[i];
Writeln(‘Cac phan tu co gia tri nho hon 10 la:’);
If b[i]<10 then writeln(b[i]);
End;
Writeln(‘Tong cac so le co trong mang la:’, S);
Readln
End.

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây