Pascal ... 5 đề bài nhỏ ... giúp em với

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi :ToanAZ:, 24/1/07.

  1. :ToanAZ:

    :ToanAZ: Legend of Zelda

    Tham gia ngày:
    8/3/05
    Bài viết:
    975
    Nơi ở:
    ???
    1/ Nhập số tự nhiên n, kiểm tra số đó có phải là số nguyên tố hay không ?
    2/ Vẽ hình chữ nhật sau
    *****
    *****
    *****
    với n là số cột, m là số hàng
    3/ Nhập 2 số nguyên dương, xuất ước chung lớn nhất và bội chung nhỏ nhất.
    4/ Xuất bảng cửu chương (không dùng mảng array)
    5/ Nhập số tự nhiên n, xuất nhưng số nguyên tố nhỏ hơn n.

    trong đó bài tập 1 là em cần nhất .....
    giúp em với ... cám ơn ..........
     
  2. korangar

    korangar Mega Man

    Tham gia ngày:
    11/6/03
    Bài viết:
    3,122
    Bài 1 cần nhất làm bài 1 trước :))
    Mã:
    Var i,n,d : integer ;
     begin
      write ('nhap n') ; readln (n);
      d:= 0 ;
      for i := 2 to ( n div 2 ) do
       if n mod i = 0 then 
        d := d + 1 ;
      If d>= 2 then writeln ( ' ko phai so nguyen to ' )
      else writeln (' la so nguyen to');
      readln;
    end.
    
    Bạn vào đây đi , mình sẽ giúp đỡ hoàn chỉnh hơn : http://diendanpascal.com/forum ::)
     
  3. sogetsu

    sogetsu Mr & Ms Pac-Man

    Tham gia ngày:
    7/2/03
    Bài viết:
    282
    Nơi ở:
    wherever
    có nhiều cách để kiểm tra số nguyên tố
    tuy nhiên bạn mới làm quen với lập trình thì nên chọn những cách đơn giản dễ hiểu, đừng vội cố gắng học những cách code theo kiểu quá tối ưu mà ko có lợi cho tư duy lập trình sau này
    số nguyên tố là số chỉ chia hết cho 1 và chính nó, do đó bạn sử dụng một vòng lặp từ i chạy từ 1 đến n (với n là số cần kiểm tra) nếu n chia hết cho i thì tăng biến đếm lên 1. Sau khi ra khỏi vòng lặp thì kiểm tra nếu biến đếm = 2 thì số n là số nguyên tố, còn ngược lại n ko phải là số nguyên tố
    P.S : đoạn code của koranga mình nghĩ là bạn nhầm chỗ kết luận : d>=2 thì ko là số nguyên tố, ngược lại mới là số nguyên tố ^__^
     
  4. korangar

    korangar Mega Man

    Tham gia ngày:
    11/6/03
    Bài viết:
    3,122
    à , đúng là nhầm thật :D Để sửa lại . Quê quá :'>
     
  5. hacker_IT

    hacker_IT Youtube Master Race

    Tham gia ngày:
    2/7/06
    Bài viết:
    30
    Bác Korangar này suốt ngày quảng cáo

    Bài 1:
    Mã:
    uses crt;
    var n,j:integer;
    q:boolean;
    begin clrscr;
    write('Nhap N: '); readln(n); q:=true;
    for j:= 2 to sqrt(n) do
    if n mod j = 0 then
    begin
    q:=false;
    break;
    end;
    if q then write('So do la so nguyen to')
    else write('So do ko la so nguyen to');
    readln;
    end.
    
    Bài 2:

    Mã:
    uses crt;
    var m,n,i,j:integer;
    begin clrscr;
    write('Nhap m: '); readln(m);
    write('Nhap n: '); readln(n);
    for i:=1 to m do
    begin
         for j:=1 to n do write('*');
         writeln;
    end;
    readln;
    end.
    
    Bài 3:
    Mã:
    uses crt;
    var m,n,a,b,tg:integer;
    begin clrscr;
    write('Nhap m: '); readln(m);
    write('Nhap n: '); readln(n);
    a:=m; b:=n;
    repeat
    tg:=b;
    b:=b mod a;
    a:=tg;
    until b=0;
    writeln('Uoc chung lon nhat la: ',a);
    writeln('Boi chung nho nhat la: ',m * n div a);
    readln;
    end.
    
    Bài 4:
    Mã:
    uses crt;
    var i,j:integer;
    begin clrscr;
    for i:=1 to 9 do
    begin
         for j:=1 to 9 do write(i,' * ',j,'= ',i*j,'   ');
         writeln;
    end;
    readln;
    end.
    
    Bài 5: bài này thì tương tự bài 1
    Chỉ cần làm thêm cái hàm kiểm tra số nguyên tố là xong
     
  6. congnhonla

    congnhonla Youtube Master Race

    Tham gia ngày:
    22/12/08
    Bài viết:
    1
    em cũng có một đề nè! Chỉ em với! Nhập vào một dãi số và cho ra màn hình số nào là số nguyên tố số nào ko, và sắp xếp theo thứ tự tăng dần và chẵn lẻ!
    Nếu anh dang onl thì gửi bài truc típ vào mail của em nha!! Mai em thi rùi da_ca_la@yahoo.com Thanks anh nhìu!!
     
  7. Fireemblem&me

    Fireemblem&me Dragon Quest

    Tham gia ngày:
    22/3/07
    Bài viết:
    1,424
    Nơi ở:
    HCM
    lâu ko sài pascal nên có thể sai cú pháp mong các bác thông cảm
    phân làm 3 procedure rồi gọi trong hàm chính hoặc làm trực tiếp như sau (lười và ko có pascal dể test)

    program
    use crt;
    var a = array[1..100] type integer;
    var mangNT = array[1..100] type integer;
    var mangKNT = array[1..100] type integer;
    var mangChan = array[1..100] type integer;
    var mangLe = array[1..100] type integer;
    Var i,j,n,spt1,spt2,spt3,spt4 : integer ;
    var q : boolean;
    begin
    spt1 = 0;{so phan tu nguyen to}
    spt2 = 0;{so phan tu ko nguyen to}
    write ('nhap n') ; readln (n);
    for i := 1 to n do
    begin
    write ('a[' + i + ']=' ) ; readln (a);
    q:= true;

    {xuly nguyen to hay ko}
    for j:= 2 to sqrt(n) do
    if a mod j = 0 then
    begin
    q:=false;
    break;
    end;

    if q = true then
    begin
    mangNT[spt1 + 1] = a;
    spt1 := spt1 + 1;
    end;
    else
    begin
    mangKNT[spt2+ 1] = a
    spt2 := spt2 + 1;
    end;
    q := true;
    end;

    writeln ( ' so nguyen to ' );
    for i := 1 to spt1 do
    writeln ( mangNT );
    writeln ( ' so nguyen to ' );
    for i := 1 to spt2 do
    writeln ( mangKNT );

    {sap tang}
    for i := 1 to n - 1 do
    for j:= 2 to n do
    begin
    if a > a[j] then
    begin{doi cho}
    a := a + a[j];{a := a + b}
    a[j] := a - a[j];{b := a + b - b = a}
    a := a - a[j];{a := a + b - a = b}
    end;
    end;
    {sap chan le}

    {ghi chu muon co thu tu tang thi nen dat cai saptang thanh 1 procedure va goi o nhung vi tri ghi chu sau *}
    spt3 = 0;
    spt4 = 0;
    {*}
    { Saptang(mangChan);}
    { Saptang(mangLe);}
    for i := 1 to n do
    begin
    if a mod 2 = 0 then
    begin
    spt3 := spt3 + 1;
    mangChan[spt3] = a;
    end;
    else
    begin
    spt4 := spt4 + 1;
    mangLe[spt4] = a;
    end;
    end;
    for i := 1 to spt3 do
    begin
    write(mangChan + ' ');
    end;
    for i := 1 to spt4 do
    begin
    write(mangLe + ' ');
    end;
    readln;
    end.
    .
    .
    ___________Auto Merge________________

    .
    ui, cái này ko hỗ trợ lùi dòng bó tay rồi, lười edit lại quá , sr bạn cố gắng nhìn nha
     

Chia sẻ trang này