Go Back   Cựu Học Sinh Lê Quý Đôn - Long An > :: Góc Học Tập :: > Tin học > Tin học phổ thông

Cứu bài tập pascal này với

Cứu bài tập pascal này với

this thread has 6 replies and has been viewed 10340 times

Gởi Ðề Tài Mới Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 02-02-2009, 08:07 PM   #1
Hồ sơ
johnceduy
Senior Member
 
johnceduy's Avatar
 
Tham gia ngày: Dec 2008
Cư ngụ: Lê Quý Đôn
Số bài viết: 115
Tiền: 25
Thanks: 54
Thanked 83 Times in 18 Posts
johnceduy is on a distinguished road
Tim Cứu bài tập pascal này với

Mod nào hướng dẫn em giải bài này với: Để quản lí kết quả thi tuyển vào lớp 10 của học sinh phổ thông, mỗi thí sinh cần lưu trữ các thông tin sau: Số báo danh, họ và tên, điểm thi các môn toán lí hóa.Viết Chương trình thực hiện các công việc sau:
a)Tạo 1 tập tin mới có tên là họcsinh.txt để nhập họ tên thí sinh (chỉ nhập tên và điểm các môn). Việc lập được lập lại cho đến khi họ tên thí sinh là xâu rỗng.
b) Sắp xếp theo thứ tự alpha b của danh sách thí sinh được nhập vào.
c) Hiển thị danh sách thí sinh lên màn hình kèm theo điểm các môn và tổng điểm. Thí sinh trúng tuyển là thí sinh có điểm trên 20 không có môn nào dưới 2.
__________________
Nhớ, nhớ, nhớ quá đi!

johnceduy is offline   Trả Lời Với Trích Dẫn
Đã có thành viên gửi lời cám ơn đến johnceduy vì bạn đã đăng bài:
Stevvinhith (14-09-2015)
Old 03-02-2009, 08:45 AM   #2
Hồ sơ
myhanh
 
myhanh's Avatar
 
Tham gia ngày: Dec 2004
Cư ngụ: Love Planet
Tuổi: 44
Số bài viết: 7,404
Tiền: 0
Thanks: 2,122
Thanked 5,472 Times in 2,040 Posts
myhanh is on a distinguished road
Default Ðề: Cứu bài tập pascal này với

Ở đây sẽ không ai đi giải bài tập cho em! Do đó em nên nêu lên cách giải, cách suy nghĩ của em và nói chỗ nào còn vướng để ACE có thể giúp em.
Chúc em học giỏi!
__________________
Necessity is the mother of in(ter)vention.
Speak softly & carry a big stick.
My Technical Blog
myhanh is offline   Trả Lời Với Trích Dẫn
Đã có thành viên gửi lời cám ơn đến myhanh vì bạn đã đăng bài:
Stevvinhith (14-09-2015)
Old 04-02-2009, 08:21 AM   #3
Hồ sơ
johnceduy
Senior Member
 
johnceduy's Avatar
 
Tham gia ngày: Dec 2008
Cư ngụ: Lê Quý Đôn
Số bài viết: 115
Tiền: 25
Thanks: 54
Thanked 83 Times in 18 Posts
johnceduy is on a distinguished road
Tim Ðề: Cứu bài tập pascal này với

Dạ vâng! Em đã giải đc 9/10 bài này! Ra đến kết quả thì phần nhập lại có vấn đề. Đầu tiên em gán i:=1 sau đó em cho nhập a[1] vào,nhập luôn điểm các môn, tiếp đến em dùng vòng lặp while để xét điều kiện xem chuỗi a[1] có phải là xâu rỗng không. Nếu không là rỗng thì i:=i+1 và nhập tiếp a[i], đồng thời nhập luôn điểm các môn của a[i]. Nhưng khi làm xong bài em cho chạy mới phát hiện là khi đánh kí tự rỗng vào ( tương đương phím enter) thì việc nhập a[i] có dừng lại, tuy nhiên sau vòng nhập a[i]= rỗng thì nó vẫn tiếp tục kêu nhập điểm các môn. Để em thí dụ cho mod về lúc chạy chương trình để dễ hiểu nhá!
VD:
Nhap vao a[1]:Le Anh Duy
Toan:9
Li:8
Hoa7
Nhap vao a[2]inh The Ngoc Nam
Toan:9
Li:8
Hoa:6
Nhap vao a[3]: (a[3] em nhập rỗng =phím enter)
Toan: (nó vẫn tiếp tục kêu nhập 3 dòng điểm này Y.Y)
Li:
Hoa:
Nhưng theo yêu cầu đề bài em nghĩ là khi nhập rỗng nó nên bắt đầu thực hiện công việc của câu b) chứ không phải như thế!
Mod nào bik được hướng dẫn em làm sao cho nó thoát ra khỏi while khi nhập rỗng với!
__________________
Nhớ, nhớ, nhớ quá đi!

johnceduy is offline   Trả Lời Với Trích Dẫn
Old 04-02-2009, 08:40 AM   #4
Hồ sơ
myhanh
 
myhanh's Avatar
 
Tham gia ngày: Dec 2004
Cư ngụ: Love Planet
Tuổi: 44
Số bài viết: 7,404
Tiền: 0
Thanks: 2,122
Thanked 5,472 Times in 2,040 Posts
myhanh is on a distinguished road
Default Ðề: Cứu bài tập pascal này với

Ở đây mình giả sử một lớp học khoảng 50 học sinh thì việc lưu trữ danh sách của em trên mảng là okie.
Em nên post phần code nhập liệu của em lên anh sửa cho
__________________
Necessity is the mother of in(ter)vention.
Speak softly & carry a big stick.
My Technical Blog
myhanh is offline   Trả Lời Với Trích Dẫn
Đã có thành viên gửi lời cám ơn đến myhanh vì bạn đã đăng bài:
Stevvinhith (14-09-2015)
Old 04-02-2009, 08:55 AM   #5
Hồ sơ
johnceduy
Senior Member
 
johnceduy's Avatar
 
Tham gia ngày: Dec 2008
Cư ngụ: Lê Quý Đôn
Số bài viết: 115
Tiền: 25
Thanks: 54
Thanked 83 Times in 18 Posts
johnceduy is on a distinguished road
Tim Ðề: Cứu bài tập pascal này với

Dạ vâng! Em cũng đã hỏi cô về trường hợp đó. Tuy nhiên do đây là đề để cô bồi dưỡng nên phải làm theo đề cô cho. Sau đây là toàn bộ code bài tập của em. Đáp án ra đúng, nhưng còn lộn xộn chỗ nhập dữ liệu, đồng thời em vẫn chưa nghĩ ra cách trình bày để xuất ra màn hình, mong các mod đóng góp cho em!
Program Tuyensinhlop10;
Uses crt;
Type hocsinh=record
hoten:string[20];
tong,Toan,Li,Hoa:real;
kp:string;
end;
var A:array[1..15]of hocsinh;
dem,j,i:byte;
tam:string; tam2,tam3,tam4,tam1:real;
f:text;
Begin
Clrscr;
assign(f,'D:\DuyGames\hocsinh.txt');
reset(f);
a[i].tong:=0;
i:=1;
dem:=0;
Write('Nhap vao a[',i,']:');readln(a[i].hoten);
Write('Toan:');Readln(a[i].Toan);
Write('Li :');Readln(a[i].Li);
Write('Hoa :');Readln(a[i].Hoa);
a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa;
While a[i].hoten<>'' do begin
dem:=dem+1;
i:=i+1;
Write('Nhap vao a[',i,']:'); readln(a[i].hoten);
Write('Toan:');Readln(a[i].Toan);
Write('Li :');Readln(a[i].Li);
Write('Hoa :');Readln(a[i].Hoa);
a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa;
end;
{ while ((a[i].tong>20) and not (a[i].toan<=2) and (a[i].li<=2) and (a[i].hoa<=2)) do a[i].kp:='Dau';}
For i:=1 to dem do a[i].hoten[1]:=UpCase(a[i].hoten[1]);
For i:=1 to dem-1 do
For j:=i+1 to dem do
If a[i].hoten>a[j].hoten then
begin
tam:=a[i].hoten;
a[i].hoten:=a[j].hoten;
a[j].hoten:=tam;
tam1:=a[i].tong;
a[i].tong:=a[j].tong;
a[j].tong:=tam1;
tam2:=a[i].toan;
a[i].toan:=a[j].toan;
a[j].toan:=tam2;
tam3:=a[i].Li;
a[i].Li:=a[j].Li;
a[j].Li:=tam3;
tam4:=a[i].hoa;
a[i].hoa:=a[j].hoa;
a[j].hoa:=tam4;
end;
For i:=1 to dem do
Writeln(a[i].hoten:5,a[i].toan:11:2,a[i].li:15:2,a[i].hoa:17:2,a[i].tong:19:2);
Writeln('Danh sach nguoi dau la:');
For i:=1 to dem+1 do begin
If ((a[i].tong>20) and not((a[i].toan<=2) or (a[i].li<=2) or (a[i].hoa<=2))) then
Writeln(a[i].hoten); end;
close(f);
readln;
end.
Trong chương trình trên biến "dem" có thể xem là "n" tức là số lượng học sinh có trong danh sách sau khi nhập.
__________________
Nhớ, nhớ, nhớ quá đi!

johnceduy is offline   Trả Lời Với Trích Dẫn
Đã có thành viên gửi lời cám ơn đến johnceduy vì bạn đã đăng bài:
Stevvinhith (14-09-2015)
Old 04-02-2009, 09:02 AM   #6
Hồ sơ
myhanh
 
myhanh's Avatar
 
Tham gia ngày: Dec 2004
Cư ngụ: Love Planet
Tuổi: 44
Số bài viết: 7,404
Tiền: 0
Thanks: 2,122
Thanked 5,472 Times in 2,040 Posts
myhanh is on a distinguished road
Default Ðề: Cứu bài tập pascal này với

Code:
a[i].tong:=0;
i:=1;
dem:=0;
Write('Nhap vao a[',i,']:');readln(a[i].hoten);
Write('Toan:');Readln(a[i].Toan);
Write('Li  :');Readln(a[i].Li);
Write('Hoa :');Readln(a[i].Hoa);
a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa;
While a[i].hoten<>'' do begin
 dem:=dem+1;
 i:=i+1;
  Write('Nhap vao a[',i,']:'); readln(a[i].hoten);
  Write('Toan:');Readln(a[i].Toan);
  Write('Li  :');Readln(a[i].Li);
  Write('Hoa :');Readln(a[i].Hoa);
 a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa;
   end;
Em chỉ cần kiểm tra một tí:
Code:
a[i].tong:=0;
 i:=1;
 dem:=0;
 Write('Nhap vao a[',i,']:');readln(a[i].hoten);
 Write('Toan:');Readln(a[i].Toan);
 Write('Li  :');Readln(a[i].Li);
 Write('Hoa :');Readln(a[i].Hoa);
 a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa;
 While a[i].hoten<>'' do begin
  dem:=dem+1;
  i:=i+1;
   Write('Nhap vao a[',i,']:'); readln(a[i].hoten);
if a[i].hoten<>'' then
begin
   Write('Toan:');Readln(a[i].Toan);
   Write('Li  :');Readln(a[i].Li);
   Write('Hoa :');Readln(a[i].Hoa);
  a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa
end
    end;
Chúc em thành công nha!
__________________
Necessity is the mother of in(ter)vention.
Speak softly & carry a big stick.
My Technical Blog
myhanh is offline   Trả Lời Với Trích Dẫn
Đã có 2 thành viên gửi lời cám ơn đến myhanh vì bạn đã đăng bài:
johnceduy (04-02-2009), Stevvinhith (14-09-2015)
Old 04-02-2009, 04:55 PM   #7
Hồ sơ
johnceduy
Senior Member
 
johnceduy's Avatar
 
Tham gia ngày: Dec 2008
Cư ngụ: Lê Quý Đôn
Số bài viết: 115
Tiền: 25
Thanks: 54
Thanked 83 Times in 18 Posts
johnceduy is on a distinguished road
Tim Ðề: Cứu bài tập pascal này với

Dạ vâng! Em làm đc rồi cám ơn bác nhìu! Lúc này bài nhìu quá nhìu lúc những chỗ nhỏ như thế khó lòng em nhận ra. Cám ơn anh mod myhanh nhiều ^^!
__________________
Nhớ, nhớ, nhớ quá đi!

johnceduy is offline   Trả Lời Với Trích Dẫn
Trả lời



Quyền Sử Dụng Ở Diễn Ðàn
Bạn không được quyền gởi bài
Bạn không được quyền gởi trả lời
Bạn không được quyền gởi kèm file
Bạn không được quyền sửa bài

vB code đang Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Chuyển đến


Website sử dụng phần mềm vBulletin phiên bản 3.6.8
do Công ty TNHH Jelsoft giữ bản quyền từ 2000 - 2024.
Múi giờ GMT +7. Hiện tại là 02:17 AM.

Hội CHS Lê Quý Đôn-Long An giữ bản quyền nội dung của website này

Tự động[F9]TELEX VNI VIQR VIQR* TắtKiểm chính tảDấu cũ
phan mem quan ly ban hang | thuê vps