*Lý thuyết Câu 1: hãy phân biệt sự khác nhau giữa hoạt động biết trước và hoạt động không biết trước số lần thực hiện? Cho ví dụ? Câu 2: viết cú pháp

*Lý thuyết
Câu 1: hãy phân biệt sự khác nhau giữa hoạt động biết trước và hoạt động không biết trước số lần thực hiện? Cho ví dụ?
Câu 2: viết cú pháp và nêu nguyên lý hoạt động của hai vòng lặp “For…to..do…” và “while…do…”
Câu 3: nêu tác dụng của biến mảng? Và cách khai báo biến mảng?
*Bài tập
Bài 1: Viết chương trình tính tổng các số chẵn 1-> n (n là số nguyên được nhập vào từ bàn phím)
Bài 2: Cho số nguyên được nhập vào từ bàn phím, hãy viết chương trình kiểm tra số n có phải số nguyên tố hay không?
Bài 3: Cho mảng a với n phần tử nguyên, Hãy viết chương trình tìm giá trị lớn nhất và nhỏ nhất.

0 bình luận về “*Lý thuyết Câu 1: hãy phân biệt sự khác nhau giữa hoạt động biết trước và hoạt động không biết trước số lần thực hiện? Cho ví dụ? Câu 2: viết cú pháp”

  1. $I$

    Câu 1:

    + Số lần lặp biết trước là một số lần lặp được quy định (được đặt trước)

    + Số lần lặp chưa biết trước là số lần lặp chưa được quy định

    – VD:

    + Biết trước: for i:=1 to 4 do inc(s,i);

    + Chưa biết trước:

    while i<=4 do 
            begin
                    inc(s,i);
                    inc(i);
            end;

    Câu 2:

    – Cú pháp:

    + Biết trước: for <biến>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

    + Chưa biết trước: while <điều kiện> do <câu lệnh>;

    – Hoạt động:

    + Biết trước: lặp một code với số lần được đặt trước, khi nào hết số lần lặp thì dừng.

    + Chưa biết trước:

    + Nếu điều kiện đúng, câu lệnh thực hiện đến khi điều kiện sai.

    + Nếu điều kiện sai ngay từ đầu, câu lệnh không thực hiện sau đó kết thúc.

    Câu 3:

    – Tác dụng:

    + Rút ngắn thời gian khai báo

    + Tiện lợi cho những bài dài

    + …

    – Cú pháp:

    <tên biến mảng>:array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;

    $II$

    Câu 1:

    uses crt;
    var n,i,s:longint;
    begin
            clrscr;
            write(‘Nhap n: ‘); readln(n);
            for i:=1 to n do if i mod 2=0 then s:=s+i;
            write(‘Tong: ‘,s);
            readln;
    end.

    Câu 2:

    uses crt;
    var n,i,d:longint;
            check:boolean;
    begin
            clrscr;
            write(‘Nhap so nguyen: ‘); readln(n);
            if n<=1 then begin check:=false; write(n,’ khong phai la so nguyen to’) end
            else begin
                    for i:=1 to n do if n mod i=0 then inc(d);
                            if d=2 then begin check:=true; write(n,’ la so nguyen to’) end
                            else begin check:=false; write(n,’ khong phai la so nguyen to’); end;
            end;
            readln;
    end.

    Câu 3:

    uses crt;
    var a:array[1..10000] of longint;
            n,i,max,min:longint;
    begin
            clrscr;
            write(‘Nhap so luong phan tu: ‘); readln(n);
            for i:=1 to n do
                    begin
                            write(‘Nhap phan tu thu ‘,i,’: ‘); readln(a[i]);
                    end;
            max:=a[1];min:=a[1];
            for i:=2 to n do
            begin
                    if a[i]>max then max:=a[i];
                    if a[i]<min then min:=a[i];
            end;
            writeln(‘GTLN: ‘,max);
            write(‘GTNN: ‘,min);
            readln;
    end.

    Bình luận
  2. Câu 1:

    For do:

    – Là câu lệnh lặp với số lần biết trước

    – Từ khóa: for, to, do

    – Cú pháp: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

    – Câu lệnh trong vòng lặp ko làm thay đổi giá trị của biến đếm

    While do:

    – Là câu lệnh lặp với số lần chưa biết trước

    – Từ khóa: while, do

    – Cú pháp: while <điều kiện> do <câulệnh>;

    – Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép

    Câu 2:

    For to do:

    Cú pháp: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

    Hoạt động:

       + Biến điếm sẽ nhận giá trị bằng giá trị đầu

       + Sau mỗi vòng lặp, biến đếm tăng thêm một đơn vị cho đến khi bằng giá trị cuối thì kết

          thúc lệnh lặp

    While do:

    Cú pháp: while <điều kiện> do <câu lệnh>;

    Hoạt động: 

       + Kiểm tra điều kiện

       + Nếu điều kiện sai sẽ bị bỏ qua và kết thúc lệnh lặp

       + Nếu điều kiện đúng sẽ thực hiện câu lệnh và quay lại kiểm tra điều kiện

    Câu 3:

    – Tác dụng:

       + Thay thế nhiều câu lệnh nhập và in bằng một câu lệnh

       + Có thể sử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu

       + Tiết kiêm nhiều thực gian và công sức viết chương trình

    – Cách 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>;

    Bài 1:

       program ct;

       uses crt;

       var S:longint;

             i,n:integer;

       begin clrscr;

          write(‘Nhap so n: ‘); readln(n);

            S:=0;

          for i:=1 to n do

            S:=S+i;;

          writeln(‘Tong la: ‘,S);

       readln;

       end.

    Học tốt!

    Bình luận

Viết một bình luận