cần giải hộ mấy bài toán pascal lớp 11

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi intermilanfc-01, 29/3/09.

  1. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    Tìnhb hình là mình sắp phải kt 1 tiết, đề cương có 24 câu, bà dạy tin sẽ cho từng đứa bốc thăm, ai câu nao thì ngồi máy ấy. mà có mấy bài này mà bà ấy chưa chữa, tớ ko làm dc, đang lo lắm, mong mọi người giúp đỡ. Ko nhỡ dính phải mấy bài này chắc tớ die
     
  2. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    giúp mình với các bạn ơi
     
  3. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    giúp mình với các bạn ơi, đang cần gấp lắm
     
  4. whatisthis2112

    whatisthis2112 The Warrior of Light Lão Làng GVN

    Tham gia ngày:
    12/6/08
    Bài viết:
    2,376
    Nơi ở:
    Hà Nội
    Ui zời,dễ ợt
    Mình bó tay thôi :)
     
  5. Bối Bối

    Bối Bối C O N T R A

    Tham gia ngày:
    20/2/06
    Bài viết:
    1,859
    Nơi ở:
    Ha Noi, Vietnam,
    tự giải đi cho nhớ, mấy bài này cũng đâu có khó lắm .
    tiếc là ko bít gì về pascal :'> :'>
     
  6. t3_ro

    t3_ro Mr & Ms Pac-Man

    Tham gia ngày:
    18/6/04
    Bài viết:
    154
    Nơi ở:
    fifa2004fan
    Thuật toán thôi nhá. Tớ học c++ nên không biết cú pháp pascal
    nếu cần thì tớ post mấy cái vòng lặp trong c++ lên

    3 bài này trước, tí post tiếp:hug:

    đặt biến min = phần tử đầu tiên, cho chạy vòng lặp từ i=0 đến i<n, xét điều kiện nếu min > phần tử i thì gán min = phần tử i.

    đặt 1 biến tạm x;
    cho chạy 2 vòng lặp lồng nhau, vòng thứ nhất chạy từ i=0 đến i<n, vòng thứ 2 chạy từ j=i+1 đến j<n, trong vòng thứ 2 xét điều kiện nếu phần tử thứ i nhỏ hơn phần tử thứ j ( a<a[j] ) thì gán x=a, gán a=a[j], gán a[j]=x ;
    xong rồi xuất mảng.

    thêm 2 biến tổng=0, đếm=0;
    chạy vòng lặp từ i=0 đến i<n, xét điều kiện nếu phần tử i = k thì gán tổng = tổng + phần tử i, đếm = đếm + 1;
     
  7. matran241091

    matran241091 Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    13/11/06
    Bài viết:
    4,583
    Nơi ở:
    Bá Thiên Bang
    quan trọng là chương trình chứ thuật toán dễ ợt=))
    1/
    var i,min,n:integer;
    a:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap a[',i,']:');
    readln(a);
    end;
    min:=maxint;
    for i:=1 to n do if min>a then min:=a;
    writeln(min);
    readln;
    end.
    2.var i,j,tam,n:integer;
    a:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap a[',i,']:');
    readln(a);
    end;
    for i:=1 to n-1 do
    for j:=i+1 to n do if a<a[j] then
    begin
    tam:=a;
    a:=a[j];
    a[j]:=tam;
    end;
    for i:=1 to n do write(a,' ');
    readln;
    end.
    3.var i,j,dem,tong,n:integer;
    a:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap a[',i,']:');
    readln(a);
    end;
    write('nhap k:');readln(k);
    dem:=0;
    for i:=1 to n do if a=k then inc(Dem);
    writeln('so so hang bang k la:',dem);
    writeln('tong cac so do la:',dem*k);
    readln;

    end.
    4.var i,j,dem,tong,n:integer;
    a:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap a[',i,']:');
    readln(a);
    end;
    write('nhap k:');readln(k);
    dem:=0;
    tong:=0;
    for i:=1 to k do if (a>0) and (k mod a=0) then
    begin
    inc(Dem);
    tong:=tong+a);
    end;
    writeln('so so la:',dem);
    writeln('tong cac so do la:',tong);
    readln;

    end.
    5.var i,j,am,duong,n:integer;
    b:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap b[',i,']:');
    readln(b);
    end;
    write('nhap k:');readln(k);
    am:=0;duong:=0;
    for i:=1 to n do if b>0 then inc(duong)
    else if b<0 then inc(am);
    writeln('so so duong la:',duong);
    writeln('so so am la:',am);
    readln;
    end.
    6.var i,j,am,duong,n:integer;
    a,b,c:array[1..100] of integer;
    begin
    write('nhap n:');readln(n);
    for i:=1 to n do
    begin
    write('nhap a[',i,']:');
    readln(a);
    end;
    write('nhap k:');readln(k);
    am:=0;duong:=0;
    for i:=1 to n do if a>0 then
    begin
    inc(duong);
    b[duong]:=a;
    end
    else if a[i]<0 then
    begin
    inc(am);
    c[am]:=a[i];
    end;
    for i:=1 to n do write(a[i],' ');writeln;
    for i:=1 to duong do write(b[i],' ');writeln;
    for i:=1 to am do write(c[i],' ');
    readln;
    end.[/i][/i][/i][/i][/i]
     
  8. sega_s3000

    sega_s3000 Sonic the Hedgehog

    Tham gia ngày:
    18/3/07
    Bài viết:
    4,914
    bài 4:
    cho vòng lặp chạy từ i=0 -->n(số phần tử của mảng)
    xét đk k chia lấy dư(hình như là mod) a mà bằng 0 thì cho biến T(khởi tạo = 0)=T+a;
    in ra T
    bài 5:
    làm vòng lặp tương tự bài 4...xét đk a>0 then dem1(khởi tạo =0)=dem1+1;else dem2(khởi tạo =0)=dem2+1;
    in ra dem1 và dem2;
    bài 6:
    bài này nói lời dài dòng nên làm cái giả mã...hy vọng ko sai cú pháp quá nhiều:p
    for i=1 to n do
    if a>0 then
    begin
    dem1=dem1+1;
    b[dem1]=a;
    end;
    else if a<0 then
    begin
    dem2=dem2+1;
    c[dem2]=a;
    end;
    phần in phần tử 3 mảng thì cứ cho i chay từ 1 tới n thôi...như in mảng bt.
    p/s: mấy bài này giống hệt cái giáo trình pascal cơ bản bên ĐH =)) hồi học cấp 3 mình còn phải làm mấy bài làm cái ô tô chạy từ trái qua phải...khó vãi lều :'>:'>
    p/s bài ở trên bài này.....cậu phát biểu đần độn vê lờ....lập trình thì nó sẽ có 1 thằng nghĩ thuật toán (trùm---lãnh đạo---lương cao) và 1 đống thằng culy ngồi thực hiện cái thuật toán ấy(lương tầm tầm)...và tôi nghĩ là việc nào lương cao hơn thì việc đó khó hơn =))
     
  9. t3_ro

    t3_ro Mr & Ms Pac-Man

    Tham gia ngày:
    18/6/04
    Bài viết:
    154
    Nơi ở:
    fifa2004fan
    tớ thì nghĩ
    học 1 năm trời ít nhất cũng phải biết viết mấy cái vòng lặp với rẽ nhánh này chứ;;)

    p/s: xong hết rồi à, chủ topic may mắn thật;;)
     
  10. matran241091

    matran241091 Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    13/11/06
    Bài viết:
    4,583
    Nơi ở:
    Bá Thiên Bang
    mấy cậu trên không phải xoáy=))=)).Mấy đứa bạn tôi cùng học lớp chuyên tin mà giờ hỏi pascal đếch đứa nào biết.Trình cấp cao và trình cấp thấp khác nhau nhiều cái lắm=))=))
     
  11. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    bài của matran làm mình thấy ko ổn lắm, sao chạy chương trình bài nào sau khi nhập n xong nso cứ báo nhap a[1], nhap a[2],............
    Sau đó mình nhập tiếp 1 số là nó thoát chương trình, bài nào cũng vậy
     
  12. matran241091

    matran241091 Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    13/11/06
    Bài viết:
    4,583
    Nơi ở:
    Bá Thiên Bang
    đúng là hơi nhầm thật.Sửa lại..........
     
  13. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    thêm mấy bài này nữa, matran giải giúp mình nhé, quên mất còn mấy bài này chưa làm dc
     
  14. HieuNM

    HieuNM Mayor of SimCity

    Tham gia ngày:
    3/3/07
    Bài viết:
    4,078
    Nơi ở:
    H.U.S.T
    readln(a,b,c);
    if (a*a+b*b-c*c)*(a*a-b*b+c*c)*(b*b+c*c-a*a)=0 then write('tam giac vuong') else write('tam giac thuong');

    đại loại thế ;;)
     
  15. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    cứ giải đầy đủ như bác matran đi bác để mình còn hiểu cho rõ, phần lập trình pascal này mình cũng kém lắm.
     
  16. HieuNM

    HieuNM Mayor of SimCity

    Tham gia ngày:
    3/3/07
    Bài viết:
    4,078
    Nơi ở:
    H.U.S.T
    Mã:
    var a,b,c:real;
        begin
          write('nhap a:');readln(a);
          write('nhap b:');readln(b);
          write('nhap c:');readln(c);
          if (a*a+b*b-c*c)*(a*a-b*b+c*c)*(b*b+c*c-a*a)=0 then write('tam giac co 3 canh da nhap la tam giac vuong ') 
                                                         else write('tam giac co 3 canh da nhap la tam giac thuong');
        end;
    được chưa :whew:
     
  17. intermilanfc-01

    intermilanfc-01 Mr & Ms Pac-Man

    Tham gia ngày:
    9/3/08
    Bài viết:
    203
    uhm, nhưng mới được có bài 1, còn 6 bài nữa, bạn giúp mình với
     
  18. HieuNM

    HieuNM Mayor of SimCity

    Tham gia ngày:
    3/3/07
    Bài viết:
    4,078
    Nơi ở:
    H.U.S.T
    :| :| :| :| :| :| :| :| :| :|
    Mã:
    var a:array[1..n] of real;
         i,n,am,duong:integer;
        begin
          write('n= ');readln(n);
          for i:=1 to n do readln(a[i]); 
          duong:=0;
          for i:=1 to n do 
          if a[i]>0 then duong:=duong+1; {nếu thấy a[i]> thì tăng biến đếm (duong) lên 1 đơn vị}
          am:=n-duong; {tính được số giá trị dương của mảng a thì sẽ tìm được số giá trị âm của mảng vì am+duong=n}
        end;
    Mã:
    var a,b,c:array[1..n] of real;
         i,j,k,n:integer;
        begin
          write('n= ');readln(n);
          for i:=1 to n do readln(a[i]); 
          j:=0;
          for i:=1 to n do 
          if a[i]>0 then {nếu a[i]>0} 
            begin
             j:=j+1;
             b[j]:=a[i]; {gán giá trị của mảng b bởi a[i]}
            end;
          k:=0;
          for i:=1 to n do 
          if a[i]<0 then {nếu a[i]<0} 
            begin
             k:=k+1;
             c[k]:=a[i]; {gán giá trị của mảng c bởi a[i]}
            end;
        end;
    phần mảng quên hết rồi [​IMG] tự làm đi :-"
    chỉ nhớ là viết hoa các chữ cái thì dùng upcase
    vd: ch:=upcase('n') ~~> ch='N' (ch có type là char)
     
  19. sega_s3000

    sega_s3000 Sonic the Hedgehog

    Tham gia ngày:
    18/3/07
    Bài viết:
    4,914
    LoL--tôi nghi mấy bài này ko phải của PTTH đâu---phức tạp vãi lu =))
    nói thật là đề cho thì thế thôi chứ học tin ở phổ thông chỉ là lấy cái điểm nghề....mà cái này +1 vào điểm tốt nghiệp---nói thẳng ra là vô dụng vì 1 khi đã có ý muốn vào ĐH thì TN đương nhiên nhắm mắt cũng phải đỗ--->học cho thành thạo các bài cơ bản là đủ--chứ giờ mà lên đây hỏi code rồi về học vẹt thì đc cái tích sự gì thế bạn trẻ???
     
  20. matran241091

    matran241091 Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    13/11/06
    Bài viết:
    4,583
    Nơi ở:
    Bá Thiên Bang
    bác này chưa học tin pascal bao giờ ah.Nhưng ai chăm chỉ+hơi có năng khiếu 1 chút thì 2-3 ngày là làm được hết tất cả các bài trên..\
    @hieuNM:bác làm admin của vnoi mà quên readln kìa,end; sao chạy được:-":-"
    4.var s,s1,tam:string;
    i,j,k,n:integer;
    begin
    write('nhap xau:');readln(s);
    i:=1;
    s1:='';
    n:=length(s);
    repeat
    while (a<>'a') and (i<=n) do
    begin
    s1:=s1+s;
    inc(i);
    end;
    if i<=n-2 do tam:=copy(s,i,3);
    if tam='anh' then
    begin
    i:=i+3;
    s1:=s1+tam;
    end;
    until i>n;
    writeln(s1);
    readln;
    end.
    5.
    var s,s1,tam:string;
    i,j,k,n:integer;
    begin
    write('nhap xau:');readln(s);
    i:=1;
    n:=length(s);
    dem:=0;
    repeat
    while s=' ' do inc(i);
    while s<>' ' do inc(i);
    inc(dem);
    while (s=' ') and (i<=n) do inc(i);
    until i>n;
    writeln(dem);
    readln;
    end.
    2 câu cuối chả nhớ viết hoa là gì..
     

Chia sẻ trang này