PDA

View Full Version : hoi ve pascal



bigmicky
18-10-2009, 16:28
tại sao năm nhuận lại chia hết cho 400 hoặc chia hết cho 4 và ko chia hết 100. ko chia hết 100 để ktra cái gì ?nếu ko đã vậy thì cần /hết 4 thôi. help me. thanks

mrcuongwinter
18-10-2009, 17:20
năm nhuận là năm chia hết cho 4 mà không chia hết cho 100. nếu chia hết cho 100 thì nó phải chia hết cho 400.
VD như ban lấy năm 2000 là năm nhuận tại vì nó chia hết cho 100 đồng thời no cũng chia hết cho 400.
nếu bạn lấy năm 2100 đây không phai là năm nhuận. ta xét trường hợp thứ nhất la nó chia hết cho 4 và cũng chia hết cho 100. vì nó chia hết cho 100 nên ta phải xét đến trường hợp thứ hai đó là nó có chia hết cho 400 hay không. 2100 không chia hết cho 400 nên không phải là năm nhuận.
bạn thấy chưa. nếu ta chỉ lấy chia hết cho 4 thôi thì không được. như ví dụ trên năm 2100 chia hết cho 4 nhưng không phải năm nhuận tại vì nó chia hết cho 100 nhưng không chia hết cho 400. có gì sai thông cam hen HjHj

hungkcdhv
18-10-2009, 17:26
Theo lịch Gregory - loại lịch tiêu chuẩn hiện nay được dùng trên hầu khắp thế giới thì những năm nào chia hết cho 4 được coi là năm nhuận. Trong năm nhuận, tháng 2 có 29 ngày thay cho 28 ngày. Cứ 4 năm lại thêm 1 ngày vào lịch bởi vì một năm dương lịch dài khoảng 365 ngày và 6 giờ.

Tuy nhiên, vẫn có một số ngoại lệ đối với nguyên tắc này vì một năm dương lịch ngắn hơn 365.25 ngày một chút. Những năm chia hết cho 100 chỉ được coi là năm nhuận nếu chúng cũng chia hết cho 400. Ví dụ, 1600 và 2000 là các năm nhuận nhưng 1700, 1800 và 1900 không phải năm nhuận. Tương tự như vậy, 2100, 2200, 2300, 2500, 2600, 2700, 2900 và 3000 không phải năm nhuận nhưng 2400 và 2800 là các năm nhuận. Theo nguyên tắc này thì trung bình một năm có 365 + 1/4 − 1/100 + 1/400 = 365.2425 ngày, tức là 365 ngày, 5 giờ, 49 phút và 12 giây.

mrcuongwinter
18-10-2009, 17:27
nếu dùng pascal thi ta co phương pháp kiểm tra như sau
trước tiên ta kiểm tra nếu NAM chia hết cho 400 thi trả về true. sau đó ta xét tiếp nếu NAM chia hết cho 4 và NAM khong chi hết cho 100 thi tra về true. các trường hợp còn lại là false. chú ý là bạn kiểm tra trường hợp nếu chia hết cho 400 trước. nếu không thi sai đó.

kEm...mUa.dOnG
18-10-2009, 17:27
a ơy muốn học được pascal thỳ kần phải học kái rỳ trước vậy.....học méy kái lý thuyết về integer, var với mấy thứ ling ting àk a.....nhưng đọc kái đéy e vẫn không hiểu....giờ mà ra 1 bài toán thỳ phải làm theo hướng nào để giải hả a....đọc mà không biết hướng giải thỳ phải làm thế nào a....sao học lập trình khó vậy trờy....

mrcuongwinter
18-10-2009, 17:29
bạn đã biết được cách viết một chương trình chua?

kEm...mUa.dOnG
18-10-2009, 17:32
a nói rõ hơn được không ạk......viết một chương trình thỳ e cũng biết wa loa thôy

mrcuongwinter
18-10-2009, 17:36
trước tiên bạ phải nắm được các kiểu dữ liệu và cách viết một chương trình. tât nhiên là ban học toán cung phai tương đôi tôt rôi. nắm được những cái đó thì bạn dễ dàng học hơn. tiếp theo là bạn học các câu điều kiên IF ELSE ... sau đó là các vòng lặ FOR, WHILE... nói chung là ngày càng nâng cao. bạn phải code chương trình trên máy và tìm những chỗ mà mình đã viết sai sau đó sữa chúng lại.

kEm...mUa.dOnG
18-10-2009, 17:39
thế giờ e lấy những bài đã học làm lại để thay cho việc học lại lý thuyết thỳ có được không???/Hay phải học thuộc lý thuyết rồi mới đc thực hành vậy

mrcuongwinter
18-10-2009, 17:44
bạn phải thật sự hiểu chúng được dùng khi nào. VD như các bài toán tính tổng 1+2+3+4+5+6+..+n với n đựoc nhập từ bàn phim. ta sẽ dùng vòng lặp FOR hoặc vòng lặp WHILE... đẻ giải quyết bài toán này.
chúng ta khai báo một biên i và một biến tổng kiểu INTEGER. cho i chay từ 1 tới n sau mỗi vòng lặ sẽ cộng các i lại với nhau.

[=========> Bổ sung bài viết <=========]

trời. lý thuyết học làm gì cho mệt. bạn chỉ cần lấy lại những bài cũ làm là được rồi. chỗ nào không hiểu thi lật lý thuyết ra. chẳng hạng nhủ bạn khai báo biến CanBacHai để tính hàm tính căn bậc hai nhưng ban không biết dùng kiễu dữ liệu nao. ban se lật sach ra và xem. tính căn bậc hai thì se co những trường hợp kết quả la số chẵn VD tinh căn bậc hai cua 4. và có những trường hợp kết quả sẽ cho ra lá số lẻ VD tính căn cua 5 nen ban se lay kieu du lieu la so thuc REAL

bigmicky
18-10-2009, 18:43
thanks mrcuongwinter, tôi thấy bài toán tính tổng 1+2+3+4+5+6+..+n với n đựoc nhập từ bàn phím, chương trình làm = vòng lặp while thì lam sao. có thể viết ct và gthich1 cặn kẻ đc ko?

mrcuongwinter
18-10-2009, 19:58
ok. neu dung bang vong lap while thi nhu sau. minh cho ghi code thoi nha. con chuongtrinh chinh thi ban tu ghi vao nha. neu minh viet bang ham FUNCTION thi minh khong biet ban da hoc no chua

function Tong(n: integer):integer;
begin
t: integer;
i: integer // bien nay dung de tinh tong
int i:=1; // bien nay dung de chay tu 1 cho toi n
While (i<=n) do // trong khi i < n thi lam
begin
t:=t+i; // cong cac i lai voi nhau
i:=i+1; // tahng i len 1;
end;
Tong:=t; // tra gia tri cho ham Tong
end.
neu ban chua hoc ve ham FUNCTION thi doc trong sach. hoac la minh se code lai chuong trinh bang chuong trinh chinh.
hoi kho nhin nen ban ghi code ra giay ma lam nha.
ban vua doc doan giai thich vua nhin trong chuong trinh nha. xin loi minh khong ghi tieng viet cho ban de doc hjhj:

minh cho ban mot vi du nhu sau
nhap n =5
ban dau ta gan t=0 de tinh tong;

vong lap se bat dau tu 1; no se kiem tra xem 1 co be hon hoac bang 5 hay khong. ro rang la 1 <5 nen no se thuc hien cac lenh trong WHILE tuc la cong them 1 cho bien t; t = 1. sau khi cong them 1 vao bien t thi no se thuc hien dong lenh tang i them 1 nua i=2;
no se kiem tra xem 2 co be hon hoac bang 5 hay khong. ro rang 2 < 5 nen no se thuc hien cac dong lenh trong WHILE cong i=2 vao bien t; luc nay bien t =3
sau khi cong i vao t thi no tang i len 1 nua va cu nhu the no se tiep tuc kiem tra dieu kien va thuc hien dong lenh trong WHILE cho toi khi i=6; luc nay no kiem tra thay 6 >5 khong thoa man dieu kien nen vong lap se ket thuc.
cuoi cung in ra tongla xong.

truongmaitrang
19-10-2009, 09:43
Mình sưu tầm được tài liệu bồi dưỡng học sinh giỏi pascal 9, bao gồm: lý thuyết, bài tập, các đề thi...
Nhờ tài liệu này mà mình có học sinh giỏi tỉnh môn tin học 9 năm học 08-09.
Các bạn học sinh lớp 11 cũng có thể down về mà học.
link :http://www.ziddu.com/download/697192...ascal.rar.html
Chúc diễn đàn ngày càng phát triển.

bigmicky
22-10-2009, 11:58
thanks ,các bạn đã gthich. mình co 1vde92: về vòng lặp while do và mảng. ai co nhieu vd và know nh thì share cho mình,nếu gthich1 luon thì thanks

bigmicky
26-10-2009, 17:40
theo mr cuong thì chia hất cho 4 nhưng ko / hết 100 là năm nhuận nhưng 2000 vẫn chia hết cho 4 và 100, dồng thời / hết 400 luôn. why ? phần gthich of mr cuong thấy saosao... xin gthich ky phần này cho.

[=========> Bổ sung bài viết <=========]

có who biết ngôn ngữ pascal đc viết từ ngôn ngữ nào ko? xin các bạn tìm hiểu cho? đừng thắc mắc vì sao hỏi thế?????? thanks