Diễn đàn tin học Nguyễn Văn Linh
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn tin học Nguyễn Văn Linh

The second house for every one
 
Trang ChínhLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Bài tập pascal về tệp cần giải gấp!!!

Go down 
4 posters
Tác giảThông điệp
dongsonghienhoa
Gà mờ
dongsonghienhoa


Tổng số bài gửi : 2
Join date : 21/03/2010

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSun 21 Mar 2010, 14:32

Anh chị giải giúp em bài này với:
Viết chương trình cho nhập vào một bảng (gồm tên bút, mã bút, số lượng, giá bán, số lượng bán, thành tiền {dự tính} và lưu tệp vào file banhang.txt. Đọc tệp và lưu vào một mảng. Sắp xếp bảng theo thứ tự giảm dần của số lượng bán {sao cho khi mở tệp lên thì tệp được sắp xếp theo thứ tự đó}).
Em rất cảm ơn

Đề trên đã được chỉnh sửa bằng cách thêm dấu câu vào bản nguyên văn

Nguyên văn:
Trích dẫn :
Anh chi giai giup em bai nay voi:
Viet chuong trinh cho nhap vao mot bang ban hang(gom ten but, ma but, so luong,gia ban, so luong ban, thanh tien{tự tính}) va luu tep vao file banhang.txt.Doc tep va luu vao mot mang.Sap xep bang theo thu tu giam dan cua so luong ban{sao cho khi mo tep len thi tep duoc sap xep theo thu tu do}).
Em cam on!
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSun 21 Mar 2010, 18:21

Chào mừng bạn đến với diễn đàn ^^. Lần sau bạn nhớ đánh dấu nhé, mình đọc hơi bị khó khăn. Bài làm thì tí ti nữa tớ up lên cho. Vì bài này đơn giản nên chả biết nói thuật toán là ra sao nữa.
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSun 21 Mar 2010, 18:44

Bài này do đề bạn cho ko rõ ràng lắm nên mình nghĩ đến hai khả năng. Khả năng 1 là bảng đã cho chưa có, mình cần nhập vào, sắp xếp rồi đưa kết quả ra mảng. Khả năng thứ hai là bảng đã có trong banhang.txt rồi, giờ mình cần đọc ra, sắp xếp rồi in vào lại. Vì đề bài bạn cho là "cần gấp" nên mình sẽ giải cả hai trường hợp trên cho bạn.

P/s: đối với bài này, bạn nên nêu suy nghĩ của mình để được trợ giúp. Như vậy khả năng của bạn sẽ được nâng cao hơn.
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSun 21 Mar 2010, 19:55

Trường hợp 1:
Code:
program banhang;
uses crt;
const ff='banhang.txt';
type sanpham=record
      tenbut:string[20];
      mabut:longint;
      soluong:integer;
      giaban:longint;
      soluongban:integer;
      tien:longint;
    end;
var a:array[1..100] of sanpham;
    i,j,n:integer; k:longint;
    st:string; f:text;

procedure nhap;
 begin
  clrscr;
  n:=0; st:='t';
  while (st='t')or(st='T') do
  begin
    inc(n);
    writeln('nhap thong tin cua san pham thu ',n);
      write('nhap ten cua loai but: ');readln(st);
      a[i].tenbut:=st;
      write('nhap ma cua but ',st,': ');readln(k);
      a[i].mabut:=k;
      write('nhap so luong cua but ',st,': ');readln(k);
      a[i].soluong:=k;
      write('nhap gia ban cua but ',st,': ');readln(k);
      a[i].giaban:=k;
      write('nhap so luong da~ ban cua but ',st,': ');readln(k);
      a[i].soluongban:=k;
      a[i].tien:=a[i].soluongban*a[i].giaban; writeln;
    write('Co tiep tuc nhap them ko? Neu co nhap T, neu ko thi nhap bat ki: ');
    readln(st);
  end;
 end;

procedure xuly;
 begin
  for i:=1 to n-1 do
  for j:=i+1 to n do
    if a[i].soluongban<a[j].soluongban then
    begin
      st:=a[i].tenbut;a[i].tenbut:=a[j].tenbut;a[j].tenbut:=st;
      k:=a[i].mabut;a[i].mabut:=a[j].mabut;a[j].mabut:=k;
      k:=a[i].soluong;a[i].soluong:=a[j].soluong;a[j].soluong:=k;
      k:=a[i].giaban;a[i].giaban:=a[j].giaban;a[j].giaban:=k;
      k:=a[i].soluongban;a[i].soluongban:=a[j].soluongban;a[j].soluongban:=k;
      k:=a[i].tien;a[i].tien:=a[j].tien;a[j].tien:=k;
    end;
 end;

procedure xuat;
 begin
  assign(f,ff);
  rewrite(f);
  writeln(f,'DANH SACH CUA ',n,' LOAI BUT:');
  writeln(f,'danh sach gom: ten but, ma but, so luong, gia ban, so luong ban ra, tien thu duoc');
  for i:=1 to n do
  with a[i] do
    writeln(f,tenbut,' ',mabut,' ',soluong,' ',giaban,' ',soluongban,' ',tien);
  close(f);
 end;

begin
 nhap;
 xuly;
 xuat;
end.

Sorry, máy mình củ chuối+phần mềm pascal lỗi nên với cách dùng này ko test được. Tuy nhiên 80% là bài này đúng. Bạn về test thử đi.
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSun 21 Mar 2010, 20:11

Bài 2: (tình trạng tương tựu trường hợp 1)
Code:
program banhang;
uses crt;
const ff='banhang.txt';
type sanpham=record
      tenbut:string[20];
      mabut:longint;
      soluong:integer;
      giaban:longint;
      soluongban:integer;
      tien:longint;
    end;
var a:array[1..100] of sanpham;
    i,j,n:integer; k:longint;
    st:string; f:text;

procedure nhap;
 begin
  n:=0;
  while not eof(f) do
  begin
    inc(n);
    with a[n] do
    begin
      readln(f,tenbut,mabut,soluong,giaban,soluongban);
      tien:=soluongban*giaban;
    end;
  end;
 end;

procedure xuly;
 begin
  for i:=1 to n-1 do
  for j:=i+1 to n do
    if a[i].soluongban<a[j].soluongban then
    begin
      st:=a[i].tenbut;a[i].tenbut:=a[j].tenbut;a[j].tenbut:=st;
      k:=a[i].mabut;a[i].mabut:=a[j].mabut;a[j].mabut:=k;
      k:=a[i].soluong;a[i].soluong:=a[j].soluong;a[j].soluong:=k;
      k:=a[i].giaban;a[i].giaban:=a[j].giaban;a[j].giaban:=k;
      k:=a[i].soluongban;a[i].soluongban:=a[j].soluongban;a[j].soluongban:=k;
      k:=a[i].tien;a[i].tien:=a[j].tien;a[j].tien:=k;
    end;
 end;

procedure xuat;
 begin
  assign(f,ff);
  rewrite(f);
  writeln(f,'DANH SACH CUA ',n,' LOAI BUT:');
  writeln(f,'danh sach gom: ten but, ma but, so luong, gia ban, so luong ban ra, tien thu duoc');
  for i:=1 to n do
  with a[i] do
    writeln(f,tenbut,' ',mabut,' ',soluong,' ',giaban,' ',soluongban,' ',tien);
  close(f);
 end;

begin
 nhap;
 xuly;
 xuat;
end.
Về Đầu Trang Go down
dongsonghienhoa
Gà mờ
dongsonghienhoa


Tổng số bài gửi : 2
Join date : 21/03/2010

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeThu 25 Mar 2010, 12:32

Cảm ơn bạn nhiều!
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeThu 25 Mar 2010, 13:25

Không có chi đâu.
Về Đầu Trang Go down
cbmsinh
Gà mờ
cbmsinh


Tổng số bài gửi : 2
Join date : 24/03/2010
Age : 28
Đến từ : Trường Nguyễn Văn Linh

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSat 27 Mar 2010, 12:48

mấy anh chị đưa ra cấu trúc của cách 2 giùm em đi,
ghi rõ ra từng bước một giùm em nha. hypnotized
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeSat 27 Mar 2010, 13:32

cbmsinh đã viết:
mấy anh chị đưa ra cấu trúc của cách 2 giùm em đi,
ghi rõ ra từng bước một giùm em nha. hypnotized

Em là ai thế, anh không để ý lắm nên giờ không đoán được ^^. Mà thầy đã dạy em về file chưa nhỉ, anh nhớ hình như là chưa thì phải. Mà em đã học về chương trình con chưa vậy. Nếu chưa thì theo anh em không nên tìm hiểu bài trên, vì nó có đến 3 kiến thức mà em chưa được học (hoặc chưa vững), đó là file, chương trình con và cấu trúc dữ liệu kiểu bản ghi. Nếu em thích anh có thể ra cho em một vài bài em có thể giải được, hoặc không thì giải thích cho em một vài thứ nào đó.
Về Đầu Trang Go down
kuvuqt1996
Gà mờ
kuvuqt1996


Tổng số bài gửi : 1
Join date : 16/11/2010

Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitimeTue 16 Nov 2010, 20:45

Có ai làm bài này giùm không. confused confused confused
Viết chương trình tính tổng các chủ số của một số tự nhiên dược nhận từ tệp Bai3.inp. Kết quả dược lưu trong tệp Bài3.out.
Ví dụ:

Bài 3.inp 12345
Bai3.out Tong cac chu so cua 12345 la 15

Về Đầu Trang Go down
Sponsored content





Bài tập pascal về tệp cần giải gấp!!! Empty
Bài gửiTiêu đề: Re: Bài tập pascal về tệp cần giải gấp!!!   Bài tập pascal về tệp cần giải gấp!!! I_icon_minitime

Về Đầu Trang Go down
 
Bài tập pascal về tệp cần giải gấp!!!
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Giải dùm mình bài Pascal cực khó này
» Ai giải được bài pascal này không?
» Nhờ các bạn mấy bài Pascal
» Giải bài các số nguyên tố tương đương
» giải hộ vài bài

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn tin học Nguyễn Văn Linh :: Góc tin học :: Lớp chuyên tin-
Chuyển đến