Pascal: SOLUTIONS BÀI TẬP 4


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Bài tập 4.1:

Mã chương trình:

Program In_So_Le;

uses crt;

var i,n:integer;

begin

      clrscr;

      Repeat

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

      until n>0;

      i:=1;

      while i<=n do

      begin

           write(i:3,', ');

           i:=i+2;

      end;

      readln

end.

Nhận xét:

- Mọi vòng lặp For ... to ... do đều có thể thay thế bằng vòng lặp while ... do.

- Đoạn mã:

Repeat

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

until n>0;

Dùng để kiểm tra, khống chế điều kiện của dữ liệu vào.

- Trong vòng lặp while nhất thiết phải có một câu lệnh làm thay đổi điều kiện lặp. Ở đây là i:=i+2. Nếu không có sẽ dẫn đến trường hợp lặp vô hạn. Chương trình chạy mãi mà không có lối ra (Không thoát ra khỏi vòng lặp được).

Bài tập 4.2:

Mã chương trình:

Program Giai_Thua_while;

uses crt;

var n, gt:longint;

begin

     clrscr;

     Repeat

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

     until n>0;

     gt:=1;

     while n>0 do

     begin

     gt:=gt*n;

     n:=n-1;

     end;

     writeln('Giai thua cua n la: ',gt);

     readln

end.

Nhận xét:

Tiết kiệm được một biến i để chạy nhưng làm thay đổi n nên khi xuất ra chỉ có thể xuất một câu chung chung “Giai thua cua n la:”.

Bài tập 4.3:

Mã chương trình:

Program  Giai_thua_kep;

uses crt;

var n,gt:longint;

begin

    Repeat

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

    until n>0;

    gt:=1;

    while n>0 do

    begin

    gt:=gt*n;

    n:=n-2;

    end;

    write('Giai thua la: ',gt);

    readln

end.

Nhận xét:

- Với thuật toán trên ta không cần xét n là chẵn hay lẻ.

Bài tập 4.4:

Mã chương trình:

Program Tong_Repeat;

uses crt;

var i: byte;

    so, tong: real;

begin

     write('NHAP CAC SO - NHAP 0 DE NGUNG ');

     readln;

     repeat

     clrscr;

     write('Nhap so thu ',i,': ');

     readln(so); tong:=tong+so; i:=i+1;

     until so=0;

     write('Tong la: ',tong:6:1);

     readln

end.

Bài tập 4.5:

Mã chương trình:

Program UCLN;

uses crt;

var a,b,r:byte;

begin

     clrscr;

     writeln('CHUONG TRINH TIM UCLN CUA HAI SO');

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

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

     r:=a mod b;

     while r<> 0 do

     begin

         b:=r;

         a:=b;

         r:=a mod b;

     end;

     write('UCLN cua hai so la: ',b);

     readln

end.

Bài tập 4.6:

Mã chương trình:

Program Fi_Bo_na_xi;

Var n, F_2,F_1, F: Longint;

Begin

    Write('Nhap n: ');Readln(n);

    F_1:=1; F_2:=1;

    Write(F_2,';',F_1,';');

    Repeat

    F:=F_2+F_1;

    if F< n then Write(F,';');

    F_2:=F_1; F_1:=F;

    Until F>n;

    Readln;

End.

Nhận xét:

Giữa Repeat ... until có thể chứa nhiều lệnh mà không cần ghép.

Hãy phát triển bài tập theo hướng chỉ in một phần tử trong dãy lớn nhất nhưng bé hơn n hoặc theo hướng phần tử thứ k của dãy.

» Tiếp: Mảng một chiều
« Trước: BÀI TẬP 4
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!