1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

cho em hỏi 2 bài pascal với . em xin đa tạ . gấp lắm ạ

Chủ đề trong 'Hỏi đáp Tin học' bởi thuyyy, 04/06/2009.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. thuyyy

    thuyyy Thành viên mới

    Tham gia ngày:
    20/09/2008
    Bài viết:
    565
    Đã được thích:
    0
    cho em hỏi 2 bài pascal với . em xin đa tạ . gấp lắm ạ

    1 . Cho trước tệp VANBAN.DAT có chứa nhiều xâu ký tự , phân biệt bằng dấu xuống dòng . Viết chương trình đọc tệp đã cho , tính số dòng và số ký tự của văn bản rồi ghi kết quả ra màn hình .
    2. Cho trước tệp VANBAN.DAT có chứa một hoặc nhiều dòng văn bản . Viết chương trình đọc tệp đã cho , lưu vào mảng các xâu ký tự s[1],...,s[n] , mỗi phần tử lưu một dòng . Liệt kê các phần tử mảng có chứa kí tự ''A'' ra màn hình .



    ~~~> kô biết topic này có vi phạm quy định kô nữa . Nếu trong hôm nay mà chưa có bác nào giúp em thì mod cho em chuyển qua f69 nhé .

    Hic , em biết những bài kiểu này kô phải là quá phức tạp nhưng mà tại em ngu quá , nghỉ học nhiều nên lơ tơ mơ . Kô phải là em lười kô chịu làm đề cương đâu , có 20 câu em làm hết rồi chỉ còn 2 bài này đọc chả hiêu gì hết . Kính mong bác nào có thời gian thì giúp em chút xíu nhé .

    Em xin đa tạ :(
  2. guma

    guma Thành viên mới

    Tham gia ngày:
    16/02/2006
    Bài viết:
    2.775
    Đã được thích:
    0
    lâu lắm rồi không sờ đến pascal. Muốn giúp mà chả nhớ gì cả.
    1. Truy cập vào file rồi dùng lệnh readln đọc từng dòng thì phải. Đặt thêm một biến count để đếm số dòng. Còn độ dài của xâu dùng hàm length thì phải.
    2. Tạo mảng rồi lưu bình thường thôi. Quét xâu từ 1 đến length nếu có chữ A thì in ra màn hình.
  3. thuyyy

    thuyyy Thành viên mới

    Tham gia ngày:
    20/09/2008
    Bài viết:
    565
    Đã được thích:
    0
    hic , thực tình là em rất ngu dốt , em kô biết gì mấy cái này đâu ạ . Đề cương em toàn phải tham khảo các kiểu sách với cả vở ghi . Em học vẹt với cả chép sẵn mang phao vào thôi ạ nên chỉ gợi ý thì em vẫn không làm được . Hic dốt thế đấy ạ , dù sao cũng thank anh
    chờ người cứu :(
  4. newcomer2003

    newcomer2003 Thành viên quen thuộc

    Tham gia ngày:
    29/05/2003
    Bài viết:
    751
    Đã được thích:
    0
    Em không nói rõ đang học đến phần nào nhưng đoán là đang học tệp văn bản - file of text.
    Lâu rồi nên cũng quên hết TP rồi, bài này làm không biết có đúng ý thầy giáo của em không.
    Bài 1:
    program thuyyy_bai1;
    uses crt;
    var f:text;
    st:string;
    s,d:integer;
    BEGIN
    clrscr;
    d:=0;s:=0;
    { Ghi cac dong vao file }
    assign(f,''vanban.dat'');
    rewrite(f);
    writeln(f,''Dong thu 1'');
    writeln(f,''Dong thu 2'');
    writeln(f,''Dong thu 3'');
    writeln(f,''Dong thu 4'');
    writeln(f,''Dong thu 5'');
    writeln(f,''Dong thu 6'');
    close(f);
    { In ket qua }
    assign(f,''vanban.dat'');
    reset(f);
    while not eof(f) do
    begin
    readln(f,st);
    writeln(st);
    d:=d+1;
    s:=s+length(st);
    end;
    close(f);
    writeln(''So dong = '',d);
    writeln(''So ky tu = '',s);
    readln;
    END.
    Chạy thử kết quả trên màn hình sẽ là:
    Dong thu 1
    Dong thu 2
    Dong thu 3
    Dong thu 4
    Dong thu 5
    Dong thu 6
    So dong = 6
    So ky tu = 60
    Theo đề bài thì file vanban.dat có sẵn nhưng nếu thế thì bài làm sẽ rất ngắn và không rõ ràng khi lập trình nên mình làm cả công việc nhập các dòng cho file vanban.dat
    Việc này để kiểm tra luôn kết quả tính toán, chỉ cần thay đổi các ký tự trong các "Dong thu 1", "Dong thu 2",... sẽ thấy kết quả thay đổi.
    Không hiểu sao các dấu nháy đơn trong bài cứ chuyển thành dầu nhấy kép thế nhỉ, sửa cũng vẫn thế ?
    Được newcomer2003 sửa chữa / chuyển vào 21:22 ngày 04/06/2009
  5. newcomer2003

    newcomer2003 Thành viên quen thuộc

    Tham gia ngày:
    29/05/2003
    Bài viết:
    751
    Đã được thích:
    0
    program thuyyy_bai2;
    uses crt;
    var f:text;
    st:string;
    s:array[1..100] of string;
    i,j:integer;
    BEGIN
    clrscr;
    i:=1;
    j:=1;
    assign(f,''vanban.dat'');
    reset(f);
    while not eof(f) do
    begin
    readln(f,st);
    s:=st;
    for j:=1 to length(st) do
    if st[j] = ''A'' then
    writeln(s);
    i:=i+1;
    end;
    close(f);
    readln;
    END.
  6. thuyyy

    thuyyy Thành viên mới

    Tham gia ngày:
    20/09/2008
    Bài viết:
    565
    Đã được thích:
    0
    cám ơn anh vì 2 bài trên nhé . Kiểu làm thì đúng kiểu của thầy em rùi đấy ạ .
    Nhưng mà thầy em bắt phải làm
    - tạo 1 file vanban.dat chứa một vài dòng nào đó
    - lập trình để đếm số dòng trong cái file của mình
    hic . lằng nhằng kiểu thế ạ , nhưng em nghĩ phần thân anh làm đúng rồi thì em sẽ dựa vào để thử làm kiểu của thầy em xem ạ .
    Còn bài 2 thì em chạy thử nó kô tìm những từ có kí tự A :(
    Tối nay em sẽ ngồi nghiên cứu xem , hi vọng là sẽ làm đc . Hic , lậy trời thi đừng bốc phải bài này
    Thank anh nhìu nhé
  7. newcomer2003

    newcomer2003 Thành viên quen thuộc

    Tham gia ngày:
    29/05/2003
    Bài viết:
    751
    Đã được thích:
    0
    he he, như vậy bài 1 có phần nhập vài dòng cho file là đúng đoá ! Còn phần đếm số dong thì có thể là thầy em muốn dùng dấu xuống dòng để đếm số dòng chăng ?
    Với bài 2 thì trong file vanban.dat em phải gõ vào vài kí tự "A" thì nó mới ra chứ. Nhớ là A hoa nhé.
    2 bài được làm trên máy và chạy thử thành công rồi mà.
  8. thuyyy

    thuyyy Thành viên mới

    Tham gia ngày:
    20/09/2008
    Bài viết:
    565
    Đã được thích:
    0
    hic , từ lúc đi học về đọc đc post của anh ngồi hì hục mãi . Nhưng chắc do em dốt quá nên vẫn chưa làm ổn
    Bài 1 thì em đã thêm mấy cái assign file vào rùi mà nó cứ báo lỗi , lỗi sai date/time file vanban.dat là sao nhỉ? :(
    Bài 2 thì em gõ trong vanban.dat có chữ A rồi , nhưng khi chạy thì nó kô tìm tự có chứa kí tự ra , mà lại chạy cả dòng em gõ trong file
    em sẽ thử lại xem , em cũng không hiểu gì nhiều về cái này nên cứ vừa làm vừa mò mò .
    Cám ơn anh nhé .
  9. newcomer2003

    newcomer2003 Thành viên quen thuộc

    Tham gia ngày:
    29/05/2003
    Bài viết:
    751
    Đã được thích:
    0
    Bài 1 đâu cần thêm gì đâu, tự nó tạo ra file vanban.dat rồi ghi các dòng vào rồi còn gì. Còn bài 2 theo đúng đề bài là in ra các phần tử mảng có chứa kí tự A mà, đâu phải là in ra chữ A làm gì.

Chia sẻ trang này