Pascal: SOLUTIONS BÀI TẬP 8

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 8.1:

Mã chương trình:

Cách 1:

Program Tach_so;

Var haisodau, haisocuoi, i : integer;

Begin
  Writeln('cac so thoa man dieu kien gom co');
  For i:=1000 to 9999 do
    Begin
      haisodau:=i Div 100; {lay 2so dau tien ab}
      haisocuoi:=i mod 100; {lay 2so cuoi cd}
      If i=SQR(haisodau+haisocuoi) then write(i:5);
    End;
  Readln;
End.

Cách 2:

Program Xet_so;

Var a,b,c,d : integer;

Begin
  Writeln('cac so thoa man dieu kien gom co');
  For a:=1 to 9 do
    For b:=0 to 9 do
      For c:=0 to 9 do
      For d:=0 to 9 do
        If i=(1000*a + 100*b + 10*c+ d) = SQRT(10*a+b + 10*c+d) then write(i:5);
  Readln;
End.

Bài tập 8.2:

Mã chương trình:

Program Chu_so_thu_k;
Var M: array[1..10] of integer;
so: Longint;
i,k:integer;
Begin
  Write('Nhap so: ');Readln(so);
  so:=abs(so);
  Write('Nhap k: ');Readln(k);
  i:=0;
  While so>0 do
    begin
      i:=i+1;
      M[i]:=so mod 10;
      so:=so div 10;
    end;
  Write('Chu so thu ',k,'la: ',M[i-k+1]);
  Readln;
End.

Nhận xét :

Nếu bài toán yêu cầu tìm chữ số thứ k tính từ phải sang trái thì đơn giản hơn nhiều. Lúc đó ta chỉ cần xóa k-1 chữ số cuối. Rồi lấy chữ số cuối.

Bài tập 8.3:

Mã chương trình:

Program So_bac_thang;
Var i,n1,n2: integer;
Function BT(n:integer):Boolean;
Var ok: boolean;
so:byte;
Begin
  ok:=true;
  While n>=10 do
  Begin
    so:=n mod 10;
    n:=n div 10;
    if so < (n mod 10) then
      ok:=ok and false;
  End;
  BT:=ok;
End;
Begin
  Write('Nhap so n1: ');Readln(n1);
  Write('Nhap so n2: ');Readln(n2);
  For i:= n1 to n2 do
    if BT(i) then Write(i:4);
  Readln
End.

Bài tập 8.4:

Mã chương trình:

Program Doi_co_so;
Var n,s: longint;
Function D10_CS(n:longint;s:byte):string;
Var CS: array[0..100] of char;
i: integer;
ch:Char;
Tam:string;
Begin
  {Khoi tao cac chu so 0 den 9}
  i:=0;
  ch:='0';
  while i<=9 do
  Begin
    CS[i]:=Ch;
    inc(i);
    inc(ch);
  End;
  {Khoi tao cac chu so A den Z}
  i:=10;
  ch:='A';
  While ch<'Z' do
  Begin
    CS[i]:=ch;
    inc(i);
    inc(ch);
  End;
  tam:='';
  While n<>0 do
  Begin
    tam:= CS[n mod s]+ Tam;
    n:=n div s;
  End;
  D10_CS:=Tam;
End;
Begin
  Write('Nhap n:');Readln(n);
  Write('Doi sang co so: ');Readln(s);
  Write(D10_CS(n,s));
  Readln
End.

Bài tập 8.5:

Mã chương trình:

Program Doi_co_so;
Var n: String;
s:byte;
Function DCS_10(st:String;s:byte):longint;
Var CS1: array['0'..'9'] of byte;
CS2: array['A'..'Z'] of byte;
ch:Char;
i:byte;
Tam:longint;
Begin
  i:=0;
  ch:='0';
  while i<=9 do
  Begin
    CS1[ch]:=i;
    inc(i);
    inc(ch);
  End;
  i:=10;
  ch:='A';
  While ch<'Z' do
  Begin
    CS2[ch]:=i;
    inc(i);
    inc(ch);
  End;
  Tam:=0;
  While st<>'' do
  Begin
    ch:=st[1];
    if (ch>='0') and (ch<='9')
      then Tam:=Tam*s+CS1[ch]
    else Tam:=Tam*s+CS2[ch];
    Delete(st,1,1);
  End;
  DCS_10:=Tam;
End;
Begin
  Write('Nhap n:');Readln(n);
  Write('Co so cua so vua nhap: ');
  Readln(s);
  Write(DCS_10(n,s));
  Readln
End.

Bài tập 8.6:

Mã chương trình:

Program Do_ben;
uses crt;
Var n,d,i,j,max:longint;
Function TICH(n:Longint):Longint;
Var tam:integer;
Begin
  if n=0 then tam:=0 else tam:=1;
  While n<> 0 do
  Begin
    Tam:=tam*(n mod 10);
    n:=n div 10;
  End;
  TICH:=Tam;
End;
Begin
  clrscr;
  Write('Nhap n:');Readln(n);
  Max:=0;
  For i:=1 to n do
  Begin
    d:=0;
    j:=i;
    gotoxy(1,2);
    Write('Dang duyet den so: ',i);
    While j>9 do
    Begin
      d:=d+1;
      j:=TICH(j);
    End;
    if d>=Max then
    Begin
      max:=d;
      gotoxy(1,3);
      Writeln('So co do ben lon nhat dang la ',i,' do ben la:',d);
    End;
  End;
  Gotoxy(1,4);
  Writeln('Da duyet xong');
  Readln
End.
» Tiếp: THỰC HÀNH PASCAL
« Trước: BÀI TẬP 8: Chuyên đề chữ số, hệ cơ số
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 !!!