1. Kết quả Event Ghost 2016


    Dưới đây là danh sách những thành viên đoạt giải thưởng trong Event Ghost 2016

Help bài pascal này.

Thảo luận trong 'Pascal, C , C++' bắt đầu bởi 01295200997, 15 Tháng tư 2012.


  1. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    Mình vừa thi tin học trẻ tp về muốn m.n chữa dùm bài này.
    1. Tuổi của bố hiện nay là x tuổi, tuổi của con là y tuổi (x-y >20 và x, y là các số nguyên dương). Hãy viết chương trình nhập x,y và kiểm tra xem tuổi của con có bằng nửa tuổi của bố không ? Nếu dung thì đưa ra màn hình “Hiện nay tuổi của con bằng nửa tuổi của bố’ trường hợp ngược lại, hãy tính số năm n( trước đó hoặc sau đó) tuổi con bằng nửa tuổi bố và đưa ra màn hình thong báo “n năm trước đây tuổi con bằng nửa tuổi của bố” hay “sau n năm tuổi con bằng nửa tuổi bố”.
    Còn 3 bài nữa nhưng tối mình up cho h đi học đã thanks
     
  2. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Mình tháng 5 hay tháng 7 mới thi, code mình làm đây:
    Mã:
    PROGRAM bailam;
    USES crt;
    VAR bo,con,dem,ba,cu:INTEGER;
    BEGIN
        clrscr;
        write('Nhap tuoi bo, tuoi con: '); readln(bo,con);
        IF (bo-con>20) AND ((bo>0) AND (con>0)) THEN
           IF con*2=bo THEN write('Hien nay tuoi con bang nua tuoi bo!')
           ELSE 
           BEGIN    
            dem:=0; ba:=bo; cu:=con;     
            IF con*2>bo THEN
              REPEAT         
                bo:=bo-1;
                con:=con-1;
                dem:=dem+1;       
                IF con*2=bo THEN writeln('Cach day ',dem,' nam tuoi con bang nua tuoi bo!');
              UNTIL con*2=bo;                                                                
            dem:=0;   
            IF con*2<bo THEN      
              REPEAT         
                ba:=ba+1;
                cu:=cu+1;
                dem:=dem+1;  
                IF cu*2=ba THEN writeln('Sau ',dem,' nam tuoi con bang nua tuoi bo!');
              UNTIL cu*2=ba; 
           END
        ELSE 
            begin
                IF (bo<0) OR (con<0) THEN Writeln('Tuoi phai lon hon 0 chu! Nhap sai rui! Nhap lai di!')
                ELSE Writeln('Theo yeu cau thi tuoi bo - tuoi con phai lon hon 20! Hay nhap lai!');   
            END;
        readln
    END.
    
     
  3. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    Thanks bạn nhé. Thôi khéo mấy bài kia không cần chữa nữa. Mình biết kết quả rôi được có mỗi giải khuyến khích thôi àk. :(
     
  4. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Cho mình xin cái đề đi, lấy để ôn tập.....;);););););););););)
     
  5. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Cái này suy luận chút là ra mà

    Hiện tại tuổi bố là x tuổi con là y

    n năm trước bố (x-n) tuổi còn con là y-n => 2*(y-n)=x-n <=> n= 2y-x
    n năm sau bố (x+n) tuổi còn con là y+n => 2*(y+n)=x+n <=> n= x-2y

    Chẳng cần gì nữa hết
     
    01295200997 thích bài này.
  6. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Bác Quang cho ngay cái vòng lặp kia thì .....=))
     
  7. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    => Vâng, cám ơn thuật toán của bác => Giải phương trình hả bác, em ít khi giải phương trỉnh trong pascal lắm.
    Thanks bác đã chỉ giáo....[-O<[-O<[-O<[-O<[-O<[-O<[-O<[-O<[-O<[-O<
     
  8. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Cái quán trọng nữa là phải kiểm tra điều kiện 2y-x và x-2y không âm
     
  9. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    Bài 2:
    Viết chương trình nhập một dãy số nguyên (=< 100 số). Đưa ra màn hình dãy số vừa nhập: Mỗi hàng có 10 số, mỗi số cách nhau ít nhất 2 kí tự. Chỉ ra trong dãy số co bao nhiêu số chẵn, bao nhiêu sô lẻ, bao nhiêu số dương, bao nhiêu số âm và bao nhiêu số 0 ?.
    Bài 3.(Mình bó cẳng bài này)
    Để giúp các gia đình có con em đang ôn thi vào lớp 10 THPT năm học 2011-2012 nắm được tình hình qua 2 đợt thi thử gần đây nhất (3 môn Văn,Toán hệ số 2), trường X có n sinh dự thi được tập hợp kết quả và gửi danh sách về các gia đình. Hãy lập trình nhập họ tên của các học sinh, điểm thi thử lần 1, điểm thi thử lần 2. Đưa ra màn hình danh sách kết quả 2 lần thi gồm các cột: Họ tên, các điểm vừa nhập, tông điểm và ghi chú - tạm chi làm 4 loại, gồm: Nếu tổng 2 lần thi >80 điểm và điểm lần 2>= lần 1 thì ghi chứ" Tốt cần phát huy", điểm lần 2 < điểm lần 1 thì ghi " Cần ổn định khả năng": Từ 60 đến 80 điểm và lần 2 >= lần 1 thì ghi chú " Khá- Cần cố gắng hơn nữa"; Các trường hợp khác thì ghi chú " Còn phải cố gắng nhiều hơn !".
    Bài 4:
    Lập trình mảng A gồm m x n phần tử.
    a. Viết ra mảng vừa nhập
    b. Tính cà viết ra tổng của các phần tử khác 0
    c. Có mấy phần tử bằng 0, phần tử cuối cùng ở vị trí nào ?
    d. Chỉ ra phần tử lớn nhất đầu tiên tại vị trí nào và bằng bao nhiêu ?.

    The End.
     
  10. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    ACE nào giải hộ bài 3 đi.
     
  11. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Code của mình đây:
    Mã:
    PROGRAM bai2;
    USES crt;
    VAR A:ARRAY[1..100] OF INTEGER;
        n,am,duong,khong,chan,le,i:BYTE;
    BEGIN
        clrscr;
        write('Nhap so phan tu: '); readln(n);
        FOR i:=1 TO n DO
            BEGIN
                write('A[',i,']='); readln(a[i]);
            END; 
        am:=0; duong:=0; chan:=0; le:=0;
        FOR i:=1 TO n DO
            BEGIN
                write(a[i]:2,'  ');         
                IF a[i]<0 THEN inc(am)
                ELSE IF a[i]>0 THEN inc(duong)
                ELSE inc(khong);
                IF a[i] MOD 2=1 THEN inc(le)
                ELSE inc(chan);
                IF i MOD 10=0 THEN writeln;
            END; 
        writeln;
        writeln('So so chan la: ',chan,' va so so le la: ',le);
        writeln('So so am la: ',am,' so so duong la: ',duong,' va so so khong la: ',khong);
        readln
    END.
    
     
    01295200997 thích bài này.
  12. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Mã:
    PROGRAM bai4;
    USES crt;
    VAR A: ARRAY[1..100,1..100] OF INTEGER;
        n,m,i,j,dem,x,y: BYTE; tong:LONGINT; 
    BEGIN
        clrscr;
        write('Nhap so n, m:'); readln(n,m);
        FOR i:=1 TO n DO 
            FOR j:=1 TO m DO
            BEGIN
                write('A[',i,',',j,']=');
                readln(a[i,j]);
                IF a[i,j]=0 THEN BEGIN x:=i; y:=j; dem:=dem+1; END
                ELSE tong:=tong+a[i,j];
            END;
        tong:=0; dem:=0;
        writeln('So so 0 trong mang la: ',dem,' phan tu = 0 cuoi cung o vi tri A[',x,',',y,']');
        writeln('Tong cac so khac 0 la:',tong);
        readln             
    END.   
    
     
    01295200997 thích bài này.
  13. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Lưu ý nên tối ưu thuật toán chút.

    Không lên làm theo mô hình

    Nhập vào mảng > duyệt từng phần tử > Đối chiếu diều kiện > Xuất

    Mà lên:
    Nhập xong 1 phần tử cải là đối chiếu luôn. > xuất kết quả
     
    AntiCr@ck thích bài này.
  14. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Đệ hiểu ý huynh rùi, làm vậy thì tốc độ thực hiện sẽ nhanh hơn, sau này nếu đệ có bí thuật toán thì chắc phải nhờ huynh ::D:D:D:D:D

    Đệ đã edit lại.
     
  15. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Này 01295200997-Cậu đã học tới record chưa vậy? Hay mới học tới mảng 2 chiều thui????
     
  16. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    Mình chưa được học tại bà dạy tin giới hạn kiến thức mảng 2 chiều thôi. Mà Quang giúp mình làm bài 3 đi. Mấy bài kia mh cũng làm được chỉ mỗi bài 3 là chịu... Khó kinh.
     
  17. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Bài 3 cũng có gì đâu. Mới học tì có thể dùng bảng cho dễ
     
  18. 01295200997

    01295200997 Member Chính Thức

    35
    3
    8
    Bạn cứ làm hd cho mình bài 3 đi mình chả nghĩ ra cái gì để làm cả :(
     
  19. AntiCr@ck

    AntiCr@ck Member Tích Cực

    192
    104
    0
    Chỉ nhập văn và toán thui à, code của mình đây, test xem đúng ko nhé:
    Mã:
    PROGRAM bai3;
    USES crt;
    VAR hoten,ghichu:ARRAY[1..500] OF STRING;
        van,van2,toan,toan2,tong:ARRAY[1..500] OF REAL;   
        n,i:WORD;      
        x,y:BYTE;
    BEGIN        
        clrscr;
        write('Nhap so thi sinh:'); readln(n); 
        FOR i:=1 TO n DO
            BEGIN
                write('Nhap ten thi sinh thu ',i,' :'); readln(hoten[i]);
                write('Nhap diem van, toan lan 1:'); readln(van[i],toan[i]);
                write('Nhap diem van, toan lan 2:'); readln(van2[i],toan2[i]); 
                tong[i]:=(van[i]+toan[i]+van2[i]+toan2[i])*2;
                IF (tong[i]>80) THEN
                  IF (toan2[i]+van2[i])>=(toan[i]+van[i]) THEN ghichu[i]:='Tot can phan huy'
                  ELSE ghichu[i]:='Can on dinh kha nang'
                ELSE  
                IF (tong[i]>=60) AND ((toan2[i]+van2[i])>=(toan[i]+van[i])) THEN ghichu[i]:='Kha - can co gang hon nua'
                  ELSE ghichu[i]:='Con phai co gang nhieu hon';
            END;    
        writeln('|  Ho ten thi sinh  |       Diem thi        | Tong |          Ghi chu         |');
        writeln('|                   |Van1 |Toan1|Van2 |Toan2|      |                          |');   
        FOR i:=1 TO n DO
         BEGIN
                x:=wherex; y:=wherey;
                writeln('|                   |     |     |     |     |      |                          |');   
                x:=x+1; gotoxy(x,y); write(hoten[i]);
                x:=x+20; gotoxy(x,y); write(Van[i]:4:2);  
                x:=x+6; gotoxy(x,y); write(toan[i]:4:2);
                x:=x+6; gotoxy(x,y); write(van2[i]:4:2);      
                x:=x+6; gotoxy(x,y); write(toan2[i]:4:2); 
                x:=x+6; gotoxy(x,y); write(tong[i]:6:2);         
                x:=x+7; gotoxy(x,y); write(ghichu[i]);
                writeln;
         END;
        readln
    END. 
    
     
  20. xdhcda

    xdhcda Moderator

    1,254
    551
    113
    Nên cho cái đống goto thành 1 lênh wiriteln thôi
     

Chia sẻ trang này