Pascal: SOLUTIONS BÀI TẬP 3

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Bài tập 3.1:

Mã chương trình:

Program In_So_Le;

Uses crt;

var i,n: integer;

Begin

     Clrscr;

     Write('Nhap so n ='); readln(n);

     For i:=1 to n do if i mod 2 =1 then Write(i:3,',');

     readln

end.

Bài tập 3.2:

Mã chương trình:

Program In_So_Le;

Uses crt;

var Dem,i,n: integer;

Begin

     Clrscr;

     Write('Nhap so n ='); readln(n);

     Dem:= 0;

     For i:=1 to n do if i mod 2 =1 then

     Begin

          Write(i:3,',');

          Dem:= Dem + 1;

          if Dem mod 15 = 0 then Writeln;

     end;

     readln

end.

Nhận xét:

Lệnh writeln không có tham số cho phép xuống hàng.

Nếu có nhận xét trong 30 số thì có 15 số lẻ, ta có thể không cần thêm biến đếm mà chỉ cần kiểm tra biến i để xuống hàng.

Bài tập 3.3:

Mã chương trình:

Program In_So_Le;

Uses crt;

var S,i,n: integer;

Begin

     Clrscr;

     Write('Nhap so n ='); readln(n);

     S:= 0;

     For i:=1 to n do if i mod 2 =1 then S:= S+i;

     Writeln('Tong cac so le nho hon ',n,' la: ',S);

     readln

end.

Nhận xét:

Ta dùng biến S để cộng dồn nên nó được khởi tạo giá trị đầu bằng 0.

Bài tập 3.4:

Mã chương trình:

Program Tim_uoc;

uses crt;

Var n, i: integer;

Begin

    clrscr;

    Write('Nhap so n ='); readln(n);

    For i:=1 to n do if n mod i = 0 then write(i:3,',');

    readln

end.

Nhận xét:

Chương trình trên có hai điểm yếu:

- In dư một dấu phẩy ở cuối dãy các ước.

- Khi n = 0 thì không in một số nào trong khi mọi số đều là ước của 0.

Hãy tìm cách khắc phục yếu điểm này.

Bài tập 3.5:

Mã chương trình:

Program So_Hoan_Chinh;

uses crt;

var n, i, s: integer;

begin

     write('nhap so n: ');readln(n);

     s:=0;

     for i:= 1 to n -1 do if n mod i = 0 then s:=s+i;

     if s = n then write(n, ' la so hoan chinh')

     else writeln(n, ' khong phai la so hoan chinh');

     readln

end.

Bài tập 3.6:

Mã chương trình:

Program Tim_uoc_2;

uses crt;

Var S, n, i,j: longint;

Begin

    clrscr;

    Write('Nhap so n ='); readln(n);

    For i:=1 to n do

    Begin

      S:=0;

      For j:=1 to i do if i mod j = 0 then S:=S+j;

      if S = 2*i then write(i:6,',');

    end;

    readln

end.

Nhận xét:

Ở đây ta sử dụng hai vòng lặp lồng nhau.

Bài tập 3.7:

Mã chương trình:

Program Cuu_Chuong_1;

uses crt;

var  n, i : integer;

begin

    clrscr;

    write('Nhap n: '); readln(n);

    for i:= 1 to 9 do writeln(n,' x ', i, ' = ', n*i);

    readln

end.

Bài tập 3.8:

Mã chương trình:

Program Cuu_Chuong_1;

uses crt;

var  i,j : integer;

begin

    clrscr;

    for i:= 2 to 9 do

    Begin

    Writeln('Bang cuu chuong ',i);

    For j := 1 to 9 do writeln(i,' x ', j, ' = ', j*i);

    readln

    end;

    readln

end.

Nhận xét:

Chương trình này in bảng cửu chương dọc (Hết bảng này đến bảng khác tính từ trên xuống). Hãy sửa chương trình để in theo kiểu ngang thường thấy.

Bài tập 3.9:

Mã chương trình:

Program Nguyen_to_1;

uses crt;

var n, i: integer;

    ok: boolean;

begin

   ok:=true;

   write('Nhap n: ');readln(n);

   for i:= 2 to n - 1 do if n mod i = 0 then

   ok :=false;

   if ok then write(n,' la so nguyen to')

   else write(n, ' khong la so nguyen to');

   readln

end.

Nhận xét:

Ở đây ta sử dụng biến có kiểu logic (Đúng, sai). Chỉ cần một lần n mod i = 0 thì sau khi thực hiện xong vòng lặp ok có giá trị là false.

Bài tập 3.10:

Mã chương trình:

Program Nguyen_to_1;

uses crt;

var n, i, j: integer;

    ok: boolean;

begin

   clrscr;

   write('Nhap n: '); readln(n);

   for i := 2 to n do

   begin

   ok:=true;

   for j:= 2 to i - 1 do if i mod j = 0 then

   ok :=false;

   if ok then write(i,';')

   end;

   readln

end.

» Tiếp: Vòng lặp REPEAT và WHILE
« Trước: BÀI TẬP 3
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!