Hiển thị kết quả từ 1 đến 10 / 11
Chủ đề: Các bài tập pascal
-
29-11-2007 19:18 #1
Các bài tập pascal
Bạn nào giỏi giúp mình với !
Mình mới học các câu lệnh kiểu rẻ nhánh(If) và kiểu lặp(for , while ) mà ông thầy ông cho các bài tập ác quá !
Bài 1 : Nhập các số , kết thúc bằng số 0 . Đếm các số có giá trị bằng 5 .
Bài 2 : Nhập các số , kết thúc bằng số 0 . Đưa ra dãy ngược lại
Bài 3 : Nhập các số , kết thúc bằng số 0 . Đưa ra dãy các số lẻ
Bài 4 : Nhập các số , kết thúc bằng số 0 . Đưa ra dãy các số nguyên tố trong dãy .
Mong nhận được nhiều bài làm của các bro !!
-
29-11-2007 20:21 #2
Bài này đâu khó đâu:
Bài 1: Lần lượt nhập các số, nếu bằng không thì kết thúc, nếu bằng 5 thì biến đếm tăng lên 1.
Bài 2 phải dùng mảng để lưu dữ liệu, chưa dc dạy thì ko cần làm.Code:Var a, i: Integer; {a để nhập số vào từ bàn phím, i để đếm} Begin a:=10; i:=0; While a<>0 Do Begin Write('Nhap a= '); Readln(a); If a=5 Then i:=i+1; End; Writeln('So cac so 5 la: ',i); Readln; End.
Bài 3 tương tương tự bài 1, chỉ cần sửa lại điều kiện If là xong.
Bài 4 cũng phải sửa lại điều kiện If nhưng cần biết về cách kiểm tra số nguyên tố.
Cách thông dụng nhất: Theo định nghĩa, SNT là số chỉ chia hết cho nó và chính nó, tức là ko chia hết cho bất kỳ số nào nằm giữa khoảng đó. Giả sử có một số S, ta có thể phần tích S=a*b, dễ thấy nếu S chia hết cho a thì cũng chia hết cho b=>khi phân tích S thành tích 2 số, chỉ cần kiểm tra S có chia hết cho số nhỏ hơn ko mà thôi. Dễ thấy, số nhỏ hơn lớn nhất chính là căn bậc 2 của S => Vậy chỉ cần xét có chia hết cho bất kỳ số nào từ 2 đến phần nguyên của căn bậc 2 của S hay ko mà thôi.
-
29-11-2007 20:49 #3
DDTH.com
- Tham gia
- 25-09-2006
- Bài viết
- 532
- Like
- 0
- Thanked 1 Time in 1 Post
từ bài 2 trở đi bắt buộc phải học mảng hay string thì mới làm duoc
-
30-11-2007 10:43 #4
Bài 2

program vd;
const max=5;{giả sử nhập 5 số}
var a:array[1..max] of real;
var i:byte;
begin
for i:=1 to max do
begin
Write('Nhap so thu ',i,' ');
read(a[i]);
end;
for i:=max downto 1 do
write(a[i]:4:0);
readln;
readln;
end.
-
30-11-2007 12:35 #5
cảm ơn các bro .
Được sửa bởi tinhve lúc 20:18 ngày 05-12-2007
-
05-12-2007 20:18 #6Cho em hỏi tại sao Lại gán a:=10 , Và bài toán của em là đếm các số bằng 5 có nghĩa là nhập các số sao cho có số 5 là đếm . Chẳng hạn các số 514 556 thì trong 2 số đó có 3 số 5 ??? Ai help nhanh với sắp nộp bài rồi !Code:
Var a, i: Integer; {a để nhập số vào từ bàn phím, i để đếm} Begin a:=10; i:=0; While a<>0 Do Begin Write('Nhap a= '); Readln(a); If a=5 Then i:=i+1; End; Writeln('So cac so 5 la: ',i); Readln; End.
-
05-12-2007 23:52 #7
Registered User
- Tham gia
- 14-10-2007
- Bài viết
- 7
- Like
- 0
- Thanked 0 Times in 0 Posts
sao ở đây toàn hỏi mấy bài linh tinh vậy???
chịu khó đọc sách chứ mấy bài này hỏi làm gì ông ơi
-
06-12-2007 08:58 #8
à cái đó là để cho cái vòng lập ko bị error tại vì nếu mình ko nhập giá trị cho a thì nó sẽ = 0
.Còn cái trên thì bạn đã thấy rồi đó nếu a:=5 thì biến i sẽ +1 giá trị cho đến khi bạn nhập a=0 thì nó sẽ thoát và in ra giá trị i :| bạn ko hiểu à
-
05-03-2009 22:03 #9
Registered User
- Tham gia
- 13-01-2009
- Bài viết
- 1
- Like
- 0
- Thanked 0 Times in 0 Posts
help me
nhập các số từ bàn phím đến số o thì dừng tồi tính tổng các số đã nhập
-
11-08-2010 19:21 #10
Bạn tình về ơi!! Nếu bạn biết về mảng thì dễ hơn để giải những bài như thế này!! Theo minh 4 bài tập trên nên dùng mảng là tốt nhất coi như những con số là các ký tự sau đó so sánh với các ký tự số để làm theo yêu cầu của đề bài!! Chúc bạn thành công nha!! nếu muốn có bài giải thì nhắn tin qua yahoo cho minh nha! nguyenducthong1593@yahoo.com


Quote
Bookmarks