Tin Học - Không Hiểu Câu Lệnh While...Do - HOCMAI Forum
Có thể bạn quan tâm
- Diễn đàn Bài viết mới Tìm kiếm trên diễn đàn
- Đăng bài nhanh
- Có gì mới? Bài viết mới New media New media comments Status mới Hoạt động mới
- Thư viện ảnh New media New comments Search media
- Story
- Thành viên Đang truy cập Đăng trạng thái mới Tìm kiếm status cá nhân
Tìm kiếm
Everywhere Đề tài thảo luận This forum This thread Chỉ tìm trong tiêu đề Search Tìm nâng cao… Everywhere Đề tài thảo luận This forum This thread Chỉ tìm trong tiêu đề By: Search Advanced…- Bài viết mới
- Tìm kiếm trên diễn đàn
- Thread starter kimyen65
- Ngày gửi 27 Tháng ba 2019
- Replies 7
- Views 9,159
- Bạn có 1 Tin nhắn và 1 Thông báo mới. [Xem hướng dẫn] để sử dụng diễn đàn tốt hơn trên điện thoại
- Diễn đàn
- CÁC MÔN HỌC KHÁC
- Tin học - máy tính
- Tin học trong nhà trường
- Tin học cấp III
kimyen65
Học sinh
Thành viên 4 Tháng chín 2018 222 47 41 Bắc Ninh Du học sinh
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn. Các bạn có thể giải thích giúp mình câu lệnh While...Do nó có chức năng gì được không ạ. Với giải thích giúp mình câu lệnh này với ạ: While not eof(f) do Lục Vân Tiên
Học sinh chăm học
Thành viên 4 Tháng tư 2017 340 231 131 Thanh Hóa Minecraft Gamerkimyen65 said: While not eof(f) do Bấm để xem đầy đủ nội dung ...Mỗi lần bạn gọi thủ tục đọc dữ liệu, nó sẽ đọc dòng hiện tại, tức là nếu mở lần đầu tiên thì nó sẽ đọc nguyên dòng đầu tiên nếu dòng này chứa ký tự, còn nếu dòng này chỉ chứa các ký số thì nó sẽ đọc 1 ký số (mỗi ký số cách nhau bằng khoảng trống). Nếu dùng read thì sau khi đọc xong 1 ký số hay là một chuỗi ký tự thì con trỏ vẫn đặt ở dòng đó, cho nên nếu bạn gọi thủ tục read lần thứ hai, nó sẽ không đọc được dữ liệu hoặc là nếu còn dữ liệu trên dòng này thì nó sẽ đọc các dữ liệu đó. Vì vậy nếu bạn muốn đọc dữ liệu ở các dòng tiếp theo, bạn cần dùng thủ tục readln để sau khi đọc xong một dòng thì con trỏ sẽ chuyển xuống dòng dưới và khi đó nếu gọi thủ tục một lần nữa thì bạn có thể đọc được dữ liệu mới ở các dòng tiếp theo. Ví dụ: Một tệp có nội dung như sau: dong 1 dong 2 dong 3 dong 4 Dùng Pascal đọc dữ liệu: read(f, st); // đây là lần đầu gọi nên st sẽ bằng 'dong 1' read(f, st); // hông có dữ liệu vì con trỏ vẫn ở dòng đầu Vì vậy cần sửa lại: readln(f, st); // st = 'dong 1', sau đó con trỏ xuống dòng readln(f, st); // sr = 'dong 2', sau đó con trỏ xuống dòng readln(f, st); //st = 'dong 3', sau đó con trỏ xuống dòng readln(f, st); //st = 'dong 4', sau đó con trỏ xuống dòng Với cách dùng liên tiếp các thủ tục readln như thế sẽ giúp đọc hết dữ liệu tệp nhưng nếu số dòng tăng lên lớn thì ghi theo kiểu 'liệt kê' như vậy không khả thi, để giải quyết ta dùng vòng lặp While, lặp cho đến khi hết tệp, tức là hàm eof trả về true. Mã lệnh: While not(eof(f)) do begin readln(f, st); // ghi các câu lệnh lưu trữ hay xử lý dữ liệu vừa lấy được end; Hàm eof(f) sẽ trả về true nếu con trỏ ở cuối tệp vì vậy đoạn lệnh trên có thể hiều là lặp cho đến khi con trỏ về cuối tệp. Ví dụ: Đọc dữ liệu từ một tệp chứa các số, mỗi số cách nhau 1 khoảng trắng. Tệp nội dung như sau: 7 11 13 41 5 1 2 32 1 21 51 6 10 2 51 5 14 5 61 90 100 Mã lệnh: WHILE not(EOF(f)) DO begin if not(EOLN(f)) then read(f, x) else readln(f); // xuống dòng end; Với cấu trúc trên bạn có thể đọc được hết dữ liệu từ tệp. * EOLN(f) trả về true nếu con trỏ ở cuối dòng.
Trâm Nguyễn Thị Ngọc
Giải Nhất event Thế giới Sinh học 2
Thành viên 13 Tháng mười 2018 1,523 1,339 241 19 Quảng Trị Trường TH&THCS Hải Bakimyen65 said: Các bạn có thể giải thích giúp mình câu lệnh While...Do nó có chức năng gì được không ạ. Với giải thích giúp mình câu lệnh này với ạ: While not eof(f) do Bấm để xem đầy đủ nội dung ...Câu lệnh While do dùng để lặp với số lần không biết trước đó chị Về chức năng thì em nghĩ nó cũng giống với for do thôi chị, nhưng về cấu trúc thì khác K
kimyen65
Học sinh
Thành viên 4 Tháng chín 2018 222 47 41 Bắc Ninh Du học sinhThe Minecraft PC said: Mỗi lần bạn gọi thủ tục đọc dữ liệu, nó sẽ đọc dòng hiện tại, tức là nếu mở lần đầu tiên thì nó sẽ đọc nguyên dòng đầu tiên nếu dòng này chứa ký tự, còn nếu dòng này chỉ chứa các ký số thì nó sẽ đọc 1 ký số (mỗi ký số cách nhau bằng khoảng trống). Nếu dùng read thì sau khi đọc xong 1 ký số hay là một chuỗi ký tự thì con trỏ vẫn đặt ở dòng đó, cho nên nếu bạn gọi thủ tục read lần thứ hai, nó sẽ không đọc được dữ liệu hoặc là nếu còn dữ liệu trên dòng này thì nó sẽ đọc các dữ liệu đó. Vì vậy nếu bạn muốn đọc dữ liệu ở các dòng tiếp theo, bạn cần dùng thủ tục readln để sau khi đọc xong một dòng thì con trỏ sẽ chuyển xuống dòng dưới và khi đó nếu gọi thủ tục một lần nữa thì bạn có thể đọc được dữ liệu mới ở các dòng tiếp theo. Ví dụ: Một tệp có nội dung như sau: dong 1 dong 2 dong 3 dong 4 Dùng Pascal đọc dữ liệu: read(f, st); // đây là lần đầu gọi nên st sẽ bằng 'dong 1' read(f, st); // hông có dữ liệu vì con trỏ vẫn ở dòng đầu Vì vậy cần sửa lại: readln(f, st); // st = 'dong 1', sau đó con trỏ xuống dòng readln(f, st); // sr = 'dong 2', sau đó con trỏ xuống dòng readln(f, st); //st = 'dong 3', sau đó con trỏ xuống dòng readln(f, st); //st = 'dong 4', sau đó con trỏ xuống dòng Với cách dùng liên tiếp các thủ tục readln như thế sẽ giúp đọc hết dữ liệu tệp nhưng nếu số dòng tăng lên lớn thì ghi theo kiểu 'liệt kê' như vậy không khả thi, để giải quyết ta dùng vòng lặp While, lặp cho đến khi hết tệp, tức là hàm eof trả về true. Mã lệnh: While not(eof(f)) do begin readln(f, st); // ghi các câu lệnh lưu trữ hay xử lý dữ liệu vừa lấy được end; Hàm eof(f) sẽ trả về true nếu con trỏ ở cuối tệp vì vậy đoạn lệnh trên có thể hiều là lặp cho đến khi con trỏ về cuối tệp. Ví dụ: Đọc dữ liệu từ một tệp chứa các số, mỗi số cách nhau 1 khoảng trắng. Tệp nội dung như sau: 7 11 13 41 5 1 2 32 1 21 51 6 10 2 51 5 14 5 61 90 100 Mã lệnh: WHILE not(EOF(f)) DO begin if not(EOLN(f)) then read(f, x) else readln(f); // xuống dòng end; Với cấu trúc trên bạn có thể đọc được hết dữ liệu từ tệp. * EOLN(f) trả về true nếu con trỏ ở cuối dòng. Bấm để xem đầy đủ nội dung ...
Trâm Nguyễn Thị Ngọc said: Câu lệnh While do dùng để lặp với số lần không biết trước đó chị Về chức năng thì em nghĩ nó cũng giống với for do thôi chị, nhưng về cấu trúc thì khác Bấm để xem đầy đủ nội dung ...Mình chân thành cảm ơn 2 bạn nhiều. Mình vẫn có 1 thắc mắc chữ lặp ở đây có nghĩa đơn giản là gì ạ, lặp lại hay lặp ở đây mang ý nghĩa sao ạ
Trâm Nguyễn Thị Ngọc
Giải Nhất event Thế giới Sinh học 2
Thành viên 13 Tháng mười 2018 1,523 1,339 241 19 Quảng Trị Trường TH&THCS Hải Bakimyen65 said: Mình chân thành cảm ơn 2 bạn nhiều. Mình vẫn có 1 thắc mắc chữ lặp ở đây có nghĩa đơn giản là gì ạ, lặp lại hay lặp ở đây mang ý nghĩa sao ạ Bấm để xem đầy đủ nội dung ...
kimyen65 said: Mình chân thành cảm ơn 2 bạn nhiều. Mình vẫn có 1 thắc mắc chữ lặp ở đây có nghĩa đơn giản là gì ạ, lặp lại hay lặp ở đây mang ý nghĩa sao ạ Bấm để xem đầy đủ nội dung ...Đúng như nghĩa rồi chị, lặp là lặp lại
kimyen65
Học sinh
Thành viên 4 Tháng chín 2018 222 47 41 Bắc Ninh Du học sinhTrâm Nguyễn Thị Ngọc said: Đúng như nghĩa rồi chị, lặp là lặp lại Bấm để xem đầy đủ nội dung ...nó lặp lại cái gì e ơi, nó vẫn trù tượng sao sao á
Lục Vân Tiên
Học sinh chăm học
Thành viên 4 Tháng tư 2017 340 231 131 Thanh Hóa Minecraft Gamerkimyen65 said: Mình chân thành cảm ơn 2 bạn nhiều. Mình vẫn có 1 thắc mắc chữ lặp ở đây có nghĩa đơn giản là gì ạ, lặp lại hay lặp ở đây mang ý nghĩa sao ạ Bấm để xem đầy đủ nội dung ...
kimyen65 said: nó lặp lại cái gì e ơi, nó vẫn trù tượng sao sao á Bấm để xem đầy đủ nội dung ...lặp có nghĩa là hành động đc lặp lại, ở câu lệnh While...do thì lặp là câu lệnh được lặp lại cho đến khi nào điều kiện sai.
Trâm Nguyễn Thị Ngọc
Giải Nhất event Thế giới Sinh học 2
Thành viên 13 Tháng mười 2018 1,523 1,339 241 19 Quảng Trị Trường TH&THCS Hải Bakimyen65 said: nó lặp lại cái gì e ơi, nó vẫn trù tượng sao sao á Bấm để xem đầy đủ nội dung ...Vd em viết: Readln(n); I:=1; While i<n do Begin T:=t+i; I:=i+1; End; Thì nó sẽ kt điều kiện, nếu đúng thì nó thực hiện, mà sai thì dừng lại Như VD trên nếu em cho n=3 thì kt lần 1 đúng, sau khi đúng nó thực hiện lệnh và cộng i=2, rồi tiếp tục kt đến khi sai mới thôi Chị có thể tham khảo ảnh phía dưới
Attachments
-
20190327_212300.jpg 60.9 KB · Đọc: 257
- Diễn đàn
- CÁC MÔN HỌC KHÁC
- Tin học - máy tính
- Tin học trong nhà trường
- Tin học cấp III
- Vui lòng cài đặt tỷ lệ % hiển thị từ 85-90% ở trình duyệt trên máy tính để sử dụng diễn đàn được tốt hơn.
Từ khóa » Câu Lệnh While Not Eof Trong Pascal
-
Cái Lệnh While Not Eof(f) Do Nghĩa Là Gì Vậy ạ? Tại Sao Chương Trình ...
-
Dữ Liệu Kiểu Tệp: GIỚI THIỆU VÀ SỬ DỤNG (p2) MỞ TỆP VÀ ĐỌC ...
-
Pascal - Tự Học Tin - Tin Học Cho Người Việt
-
Cho đoạn Chương Trình Sau: VAR F:text; Begin While Not Eof(f) Do End
-
EOF (hàm EOF - Microsoft Support
-
Cái Lệnh While Not Eof(f) Do Nghĩa Là Gì Vậy ạ? Tại Sao ... - DocumenTV
-
Kiểu Tập Tin Trong Pascal | SAO LINH Group
-
Dữ Liệu Kiểu Tệp Trong Pascal - WIKIPASCAL
-
While (!feof(f)) Dùng để Làm Gì? - Programming
-
Tập Tin - File - Hoàn Chân • Blog
-
Pascal, Prompted Read In WHILE Not Eof Loop
-
Phương Pháp Dạy Học Sinh Cách Viết Chương Trình Sử Dụng Kiểu Dữ ...
-
[DOC] SỞ GIÁO DỤC VÀ ĐÀO TẠO TP ĐÀ NẴNG
-
Cac Ham Va Thu Tuc Trong Pascal - SlideShare