Tài liệu

BLOG NÊN XEM

Quản trị

  • (-----Admin-----)

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Trực tuyến BlogtinhoC

    0 khách và 0 thành viên

    Sắp xếp dữ liệu

    KHÁCH GHÉ THĂM

    Gốc > Lập trình > Pascal >

    Phần lý thuyết ôn thi HKII Tin hoc 8 (2014 - 2015)

    ĐỀ CƯƠNG ÔN THI HKII MÔN TIN HỌC 8

    A)   Phần lý thuyết: (6 điểm)

    1)    Lệnh lặp For:

    a)     Cú pháp và giải thích:

    For  <Biến đếm> := <Giá trị đầu>  To  <Giá trị cuối>  Do  <Câu lệnh>;

    Trong đó:

    -         For, To, Do là các từ khoá.

    -         “Biến đếm”. “Giá trị đầu” và “Giá trị cuối” là các giá trị nguyên.

    -         Số lần lặp được xác định bằng:

    Số lần lặp = Giá trị cuối – Giá trị đầu + 1

    b)    Hoạt động: Khi thực hiện, ban đầu “Biến đếm” được gán bằng giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng “Giá trị cuối”.

    2)    Khi thực hiện lệnh lặp For, điều kiện cần kiểm tra là gì?

    Ta phân biệt hai trường hợp sau:

    a)     Khi bắt đầu thực hiện lệnh lặp For, sẽ kiểm tra:

    “Giá trị cuối” >= “Giá trị đầu”

    Nếu đúng sẽ thực hiện lệnh lặp For. Ngược lại, sẽ bỏ qua câu lệnh lặp này.

    b)    Khi đang thực hiện lệnh lặp For, sẽ kiểm tra:

    “Biến đếm” <= “Giá trị cuối”

    Nếu đúng, thì thực hiện “Câu lệnh” sau từ khoá Do và tăng giá trị “Biến đếm” lên một đơn vị.

    3)    Bài 4 trang 61 SGK:

    Để tìm giá trị của biến J, ta có bảng sau:

    J

    I

    (I <= 5)?

    J:=J + 2

    0

    0

    0 <= 5 : Đúng

    J := 0 + 2

    2

    1

    1 <= 5 : Đúng

    J := 2 + 2

    4

    2

    2 <= 5 : Đúng

    J := 4 + 2

    6

    3

    3 <= 5 : Đúng

    J := 6 + 2

    8

    4

    4 <= 5 : Đúng

    J := 8 + 2

    10

    5

    5 <= 5 : Đúng

    J := 10 + 2

    12

    Vậy, sau khi thực hiện xong đoạn chương trình trên giá trị của J = 12.

    4)    Bài 5 trang 61 SGK:

    Nội dung câu lệnh

    Sai

    Nguyên nhân

    Điều chỉnh

    For I := 100 To 1 Do Writeln(‘A’);

    X

    Giá trị đầu > Giá trị cuối

    Hoán đổi hai giá trị

    For I := 1.5 To 10.5 Do Writeln(‘A’);

    X

    Giá trị đầu và giá trị cuối phải là giá trị nguyên

    Chọn giá trị nguyên

    For I = 1 To 10 Do Writeln(‘A’);

    X

    Thiếu dấu “:” ở phép gán

    Thêm dấu “:”

    For I := 1 To 10 Do; Writeln(‘A’);

    X

    Dư dấu “;” sau từ khoá Do

    Bỏ dấu “;”

    Var x : Real;

    Begin

          For x := 1 To 10 Do

               Writeln(‘A’);

    End.

    X

    Biến x phải có kiểu số nguyên.

    Khai báo kiểu số nguyên cho x

     

    5)    Bài 6 trang 61 SGK:

    Thuật toán được mô tả như sau:

    Khai báo các biến A kiểu số thực , I và N kiểu số nguyên.

    Bước 1: Aß 0;

    Bước 2: Nhập giá trị N từ bàn phím;

    Bước 3: Khi I có giá trị từ 1 dến N thì thực hiện A ß A + 1/(I*(I+2));

    Bước 4: In giá trị A ra màn hình và kết thúc thuật toán.

    6)    Bài 7 trang 61 SGK:

    Từ ví dụ 5 trang 59 SGK, ta chỉ cần điều chỉnh lệnh lặp For như sau:

    For I := 1 To N Do

         If (I Mod 3 = 0) Then S := S + I;

    7)     Lệnh lặp While:

    a)     Cấu trúc lặp với số lần chưa biết trước và nguyên tắc hoạt động:

    Lưu đồ mô tả

    Nguyên tắc hoạt động

     

     

     
       

     

     

     

     

     

     

     


    Chừng nào “Điều kiện lặp” còn đúng thì còn thực hiện “Câu lệnh’.

     

    b)    Cú pháp và giải thích:

     
     

    While <Điều kiện lặp> Do <Câu lệnh>;

     

     

     

     

    Trong đó:

         - While, Do là các từ khoá.

         - “Điều kiện lặp” là phép so sánh.

         - “Câu lệnh” có thể là câu lệnh đơn hay câu lệnh ghép.

    c) Hoạt động: Gồm hai bước

         - Bước 1: Kiểm tra điều kiện lặp.

      - Bước 2: Nếu “Điều kiện lặp” Sai, “Câu lệnh” sau từ khoá Do bị bỏ qua và lệnh lặp kết thúc. Nếu “Điều kiện lặp” Đúng thì thực hiện “Câu lệnh” rồi quay lại bước 1.

    8)    Bài tập 2 trang 70 SGK

     

    Lệnh lặp For

    Lệnh lặp While

    Giống nhau

    Cùng là câu lệnh lặp

    Khác nhau

    Số lần lặp = Giá trị cuối – Giá trị đầu + 1

    Phụ thuộc “Điều kiện lặp” còn Đúng hay Sai.

    Câu lệnh sau từ khoá Do được thực hiện ít nhất một lần.

    Câu lệnh sau từ khoá Do có thể không dược thực hiện lần nào.

    Biến đếm được tự động tăng thêm một đơn vị sau mỗi vòng lặp, cho đến khi bằng “Giá trị cuối”.

    Phải có dòng lệnh tác động đến “Điều kiện lặp” để có lúc chuyển từ Đúng sang Sai: Lệnh lặp kết thúc.

     

    9)    Bài tập 3 trang 70 SGK

    a)     Thuật toán 1:

    Bước

    Nội dung thực hiện

    Chương trình minh hoạ

    1

    Sß10; xß0.5;

    Program Thuat_Toan_1;

    Var

          S, x : Real;

    Begin

          S := 10;

          x := 0.5;

    2

    Nếu S<=5.2 chuyển tới bước 4;

          While (S>5.2) Do

                S := S – x;

    3

    SßS-x và quay lại bước 2;

    4

    Thông báo S và kết thúc.

          Writeln(‘S = ‘, S:4:2);

           Readln;

    End.

    *) Nhận xét:

         - Các biến S và x phải được khai báo kiểu số thực (Real).

         - Ở bước 2 của thuật toán mô tả “Điều kiện thoát”. Khi viết cho lệnh lặp While, ta phải chuyển lại thành “Điều kiện lặp” cho phù hợp.

         - Do S là biến kiểu số thực, nên khi in giá trị của nó ra màn hình ta cần định dạng.

         - Giá trị của biến S sau khi chay chương trình là: S = 5.00.

    b)    Thuật toán 2:

    Bước

    Nội dung thực hiện

    Chương trình minh hoạ

    1

    Sß10; Nß0;

    Program Thuat_Toan_1;

    Var

          S, N : Integer;

    Begin

          S := 10;

          N := 0;

    2

    Nếu S>=10 chuyển tới bước 4;

          While (S<10) Do

               Begin

                    N := N + 3;

                    S := S – N;

                End;

    3

    NßN+3;SßS-N và quay lại bước 2;

    4

    Thông báo S và kết thúc.

          Writeln(‘S = ‘, S);

           Readln;

    End.

              *) Nhận xét:

                       - Các biến S, N phải được khai báo kiểu số nguyên (Integer).

              - Ở bước 2 của thuật toán mô tả “Điều kiện thoát”. Khi viết cho lệnh lặp While, ta phải chuyển lại thành “Điều kiện lặp” cho phù hợp.

    - Do sau từ khoá Do là câu lệnh ghép (Có từ hai dòng lệnh trở lên) nên ta phải dùng cặp từ khoá Begin và End bọc các câu lệnh này.

    - Khi thực hiện xong chương trình, S có giá trị vẫn là 10 vì do ở bước 1 ngay lần kiểm tra đầu tiên, “Điều kiện lặp“ đã nhận kết quả Sai.

    10) Bài 4 trang 70 SGK

    Đoạn lệnh a

    Đoạn lệnh b

    S :=0 ; N := 0 ;

    While (S <= 10) Do

         Begin

              N := N + 1;

              S := S+ N;

          End;

    S :=0 ; N := 0 ;

    While (S <= 10) Do

          N := N + 1;

    S := S+ N;

     

    Nhận xét: Hai đoạn lệnh trên chỉ khác nhau ở chỗ có và không có cặp từ khoá Begin và End. Nghĩa là sau từ khoá Do ở đoạn lệnh b chỉ có câu lệnh đơn duy nhất (N := N + 1;). Từ đó, kết quả khi chạy các đoạn lệnh trên sẽ có khác biệt.

    Kết quả:

    -         Đoạn lệnh a: S = 15 và N = 5.

    -         Đoạn lệnh b: Bị lỗi “Lặp vô hạn lần”. Do câu lệnh sau từ khoá Do không có tác động gì đến “Điều kiện lặp”.

    11) Bài 5 trang 70 SGK

    Nội dung câu lệnh

    Sai

    Nguyên nhân

    Khắc phục

    x:= 10;

    While (x := 10) Do

          x := x + 5;

    X

    Dư dấu “:” ở phép so sánh trong “Điều kiện lặp”.

    Bỏ đi dấu dư này.

    x:= 10;

    While (x = 10) Do

          x = x + 5;

    X

    Thiếu dấu “:” trong phép gán ở “Câu lệnh” sau từ khoá Do.

    Thêm vào dấu còn thiếu.

    S:= 10;

    N := 0;

    While (S<=10) Do

          N := N + 1;

    S := S + N;

    X

    Lỗi “Lặp vô hạn lần” do “Điều kiện lặp” luôn Đúng (vì “Câu lệnh” sau từ khoá Do không có dòng lệnh nào tác động đến “Điều kiện lặp”).

    Thêm vào cặp từ khoá Begin và End để bọc câu lệnh ghép (gồm hai dòng lệnh trên).

     

    12) Dãy số và biến mảng:

         a) Định nghĩa: Dữ liệu kiểu mảng (Array) là tập hữu hạn các phần tử có thứ tự, có cùng kiểu dữ liệu. Mỗi phần tử có một chỉ số.

         Một biến có kiểu dữ liệu là kiểu mảng (Biến mảng) là các biến có cùng kiểu được sắp thứ tự theo chỉ số dưới một tên duy nhất.

         b) Cú pháp cách khai báo: Được khai báo trực tiếp tại từ khoá khai báo biến (Var) như sau:

    Var

     <Tên biến mảng> : Array[<Chỉ số đầu>..<Chỉ số cuối>] Of <Kiểu dữ liệu>;

    Trong đó:

    -         Array, Of là các từ khoá.

    -         “Chỉ số đầu” <= “Chỉ số cuối” và là các giá trị nguyên.

    -         “Kiểu dữ liệu” ở đây chỉ xét kiểu số nguyên hay số thực.

    c) Bài tập 2 trang 78 SGK

    Nội dung khai báo

    Sai

    Nguyên nhân

    Khắc phục

    Var

      X : Array[10, 13] Of Integer;

    X

    Dấu “,” dùng phân cách “Chỉ số đầu” và “Chỉ số cuối”.

    Đổi lại dấu “..”.

    Var

        X : Array[5..10.5] Of Real;

    X

    “Chỉ số cuối” có giá trị thực.

    Chỉ dùng giá trị nguyên

    Var

      X:Array[3.4..4.8] Of Integer;

    X

    “Chỉ số đầu” và “Chỉ số cuối” có giá trị thực.

    Chỉ dùng giá trị nguyên

    Var

       X:Array[10..1] Of Integer;

    X

    “Chỉ số đầu” lớn hơn “Chỉ số cuối”

    Đổi giá trị cho nhau.

    Var

       X:Array[4..10] Of Real;

     

     

     

     

    B)   Phần thực hành: (4 điểm)

    Xem các chương trình mẫu trong SGK.

     


    Nhắn tin cho tác giả
    Anh Kiet Chung Tan @ 18:11 18/02/2016
    Số lượt xem: 240
    Số lượt thích: 0 người
     
    Gửi ý kiến