PDA

View Full Version : TIN HỌC 11(các bạn lớp 11 vào đây để xem có BT mình định hỏi chưa nha )



Pages : [1] 2

cashier
04-04-2008, 15:19
Tính 18/7/2002 ( bắt đầu có box Pascal/Delphi/Kylix) tới trước tháng 9/2007 (trước khi có bộ môn "Tin học 11") <==> 5 năm có 50 trang topic <==> 1 năm có 10 trang topic.

Nhưng từ khi "phổ cập Tin học" tới mọi mem 11 thì tới nay trong vòng 8 tháng (9/1007-4/2008) số pages topic tăng đến con số 25 trang :| (đương nhiên không phải tất cả 25 pages này đều là hỏi về Tin học 11 nhưng "phần lớn" là vậy :D)

Thống kê qua vậy chắc các bạn cũng thấy được "sự phát triển" của box nhờ công sức mà các mem 11 "đem lại". Nhưng thực tế 25 page này thì mỗi một topic ít cũng phải dc nhắc lại từ 3-5 lần :( <--> 1 bài tập đã được "thảo luận" và "bàn bạc" ít nhất từ 3-5 lần :|

1 năm học lại sắp hết và 1 thế hệ mem 11 nữa sẽ lại chuẩn bị ra đời :) . Nếu cứ theo tình hình này ( công nghệ ngày càng phát triển <-> càng nhiều người biết đến sự có mặt của ddth hơn và ít, thực sự ít các bạn tìm xem bài tập này đã được nói tới chưa) thì số pages ko biết sẽ còn tăng với tốc độ chóng mặt nào :(

Chính vì vậy mình hy vọng đây sẽ là topic (gần như) cuối cùng được lập để trả lời cho các câu hỏi về Tin học 11 .
Tại topic này mình sẽ tổng hợp lại tất cả các bài tập về Tin học 11 cũng như cách giải của các bài này, bạn nào còn chưa rõ cách giải về bài đó ( sau khi đã đọc hết các bài thảo luận) thì nên viết luôn thắc mắc vô topic này nha ( nhớ ghi rõ là thắc mắc về bài toán nào :D )

Chú ý là topic này sẽ luôn được cập nhật vì thế nên nếu chưa thấy có bài toán bạn cần hỏi ở đây ( mà bài toán đó thuộc về lớp 11) thì hãy viết luôn đề bài vào đây và bạn sẽ có được câu trả lời :) (sau bao lâu thì mình không dám nói trước :p)

Mình sẽ ghi trước mỗi bài là bài số bao nhiêu trong sách giáo khoa hay sách bài tập để cho các bạn tiện theo dõi nhưng hiện tại thì có một số bài mình vẫn chưa tìm được "nguồn gốc" nên ghi tạm là bài 1,2,.. nha :) ( thêm nữa là một số bài có lẽ là ko có trong SGK hay SBT nhưng mình nghĩ nó phù hợp với Tin học 11 nên post cả lên )

Các bạn kích chuột vào chỗ Thảo luậncuối mỗi đầu bài để tới nơi có "lời giải" :D

(1) Nhập từ bàn phím tuổi cha và con (hiện tại tuổi cha lớn hơn 2 lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25). Đưa ra màn hình câu trả lời cho câu hỏi "Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con"?
Thảo luận (http://ddth.com/showthread.php?t=138326 )

(2) 1 người gửi tiết kiệm không kì hạn với số tiền A đồng với lãi suất là 0,3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó rút hết tiền thì sẽ nhận được số tiền ít nhất là B đồng? Biết rằng với việc gửi tiết kiệm không kì hạn thì lãi không được cộng vào vốn?
Thảo luận (http://ddth.com/showthread.php?t=138326)

(3)Viết chương trình con in ra số đảo ngược của 1 số.
Thảo luận (http://ddth.com/showthread.php?t=140181)

(4) Viết chương trình nhập từ bàn phím, kiểm tra nó và:
- hiển thị la so nếu nó là số.
- hiển thị la chu hoa nếu nó là chữ hoa.
- hiển thị la chu thuong nếu nó là chữ thường.
- ngoài ra, hiển thị Khong phai la so hoac chu cai.
Thảo luận (http://ddth.com/showthread.php?t=140460)

(5)Giải phương trình bật hai : ax*x + bx + c = 0
Thảo luận (http://ddth.com/showthread.php?t=140460)

(6)TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊN
Thảo luận (http://ddth.com/showthread.php?t=140236&page=2)

(7)nhập 1 số cho biết số đó chẵn hay lẻ
Thảo luận (http://ddth.com/showthread.php?t=132710)

(8)Nhập vào chuỗi c1 1 câu dài không quá 70 ký tự. tìm xem từ dài nhất và ngắn nhất là những từ nào, và độ dài các từ là bao nhiu.(Giữa các từ được phân biết bởi dấu cách(space).
Thảo luận (http://ddth.com/showthread.php?t=138437&page=2)

(9)Cho trước 2 số M và N nhập từ bàn phím. Tìm số nguyên k sao cho N! chia hết cho M mũ k nhưng không chia hết cho M mũ (k+1).
Thảo luận (http://ddth.com/showthread.php?t=138896&page=2)

(10)Nhập vào mảng 2 chiều m x n phần tử. Sắp xếp mảng như sau:

Vi dụ:
Mảng nhập vào:
1 2 3
4 5 6
7 8 9
10 11 12

Sau khi sắp xếp:
1 8 9
2 7 10
3 6 11
4 5 12
Thảo luận (http://ddth.com/showthread.php?t=139333)

(11)tính giai thừa của 1 số
Thảo luận (http://ddth.com/showthread.php?t=142949)

(12)tính diện tích hình thang vuông đáy lớn b , đáy nhỏ a,và góc alpha
Thảo luận (http://ddth.com/showthread.php?t=143637)

(13)giải bài toán cổ sau
vừa gà vừa chó
pó lại cho tròn
ba mươi sáu con
một trăm chân chẵn
chỉ dùng câu lệnh "if....then....elese và vòng lặp for...do"
Thảo luận (http://ddth.com/showthread.php?t=146930)

(14)Nhập vào 1 dãy, xác định xem trong dãy có bao nhiu số nguyên tố ?
Thảo luận (http://ddth.com/showthread.php?t=141313)

(15)tìm số lớn nhất trong 3 số nguyên a,b,c
Thảo luận (http://ddth.com/showthread.php?t=147399)

(16)CHo số nguyên N ở hệ 10 dưới dạng xâu không quá 50 chứ số và không có các số 0 có nghĩa ở đầu. Số thống kê của N được xây dựng như sau:
+ Tính tần số xuất hiện các chữ số của N;
+ Viết liên tiếp tần số và chữ số theo thứ tự tăng dần của các chứ số khác nhau trong N.
Ví dụ :Với N=353 ,ta có tần số xuất hiện của 3 là 2, của 5 là 1. Như vậy số thống kê sẽ là 2315.
a) xác định các kiểu dữ liệu cần sử dụng;
b) Viết đoạn chương trình tính số thống kê tương ứng.
Thảo luận (http://ddth.com/showthread.php?t=148396)

(17)Bằng hàm RANDOM(10000) gán cho mỗi phần tử A[i,j] một giá trị ngẫu nhiên với i= 1,....,10. J=1,....,10. Hãy:
a) xác định các kiểu dữ liệu cần sử dụng.;
b) Xác dịnh hai vecto U=(u1,u2,...,u10) và V=(v1,v2,...,v10), trong đó :
Ui = max{ai,j};
J=1,....,10
Vj =min{ai,j};
I=1,....,10
Thảo luận (http://ddth.com/showthread.php?t=148396)

(18) Cho ba so nguyên m,n,l. Tìm bình phương của các số không âm và lập
phương của những số âm.
Thảo luận (http://ddth.com/showthread.php?t=148784)

(19) Cho ba số nguyên m,n,k. Nếu ba số này theo thứ tự nhập vào tạo thành một
cấp số cộng thì tăng gấp đôi mỗi số, trong trường hợp ngược lại thì giảm mỗi số một đơn vị.Viết chương trình thực hiện yêu cầu trên.
Thảo luận (http://ddth.com/showthread.php?t=148784)


(20) Cho ba số nguyên p,q,r(khác 0) kiểm tra ba số này theo thứ tự nhập vào
có thể tạo thành một cấp số nhân hay không.viết chương trình thực hiện yêu
cầu trên.
Thảo luận (http://ddth.com/showthread.php?t=148784)


(21) Nhập từ bàn phím 2 số bất kì M và N (M<N), đếm số nguyên tố và số chính phương trong khoảng từ M->N
Thảo luận (http://ddth.com/showthread.php?t=148960)


(22) viết CT nhập 2 sô a,b đưa ra màn hình tổng,hiệu,tính thương của chúng : a,b thuộc R
Thảo luận (http://ddth.com/showthread.php?t=149951)

(23) viết ct tính tổng: (n nhập từ bàn phím)
S= 1 + 1/3 + 1/5 + ... + 1/(2n+1)

S = 1 - 1/2 + 1/3 - 1/4 + ... + ((-1)^(n+1))*1/n
Thảo luận (http://ddth.com/showthread.php?t=149951)


(24) Viết ct tính
s = 1/(1+2) + 1/(2+3) + ...+1/(n+(n+1))+...
cho đến khi 1/(n+(n+1)) < 0,00001
Thảo luận (http://ddth.com/showthread.php?t=149951)

(25) Dùng lệnh If để viết ct :
giải hệ pt: ax+by=c và dx+ey=f
Thảo luận (http://ddth.com/showthread.php?t=149951)


(26) Cho N số nguyên dương lập trình tính tổng các số đã nhập nhỏ hơn 20. dữ liệu nhập từ bàn phím cho ra màn hình
Thảo luận (http://ddth.com/showthread.php?t=149476)

(27) Hãy viết chương trình tìm UCLN và BCNN của hai số bất kỳ
Thảo luận (http://ddth.com/showthread.php?t=148812)

(28) Viết chương trình tính : (a+b)*(c+d)
Thảo luận (http://ddth.com/showthread.php?t=100773)

(29) Hãy viết các biểu thức sau dưới dạng công thức tin học tương ứng:
1/ a/b**2
2/ a**b**c/2
3/ x**y**z/a/b
4/ abs(x**(y/x) - (y/x)**(1/3))
5/ sqrt(x1-x2)**x+(y1-y2)**2);
Thảo luận (http://ddth.com/showthread.php?t=150472)

(30) Viết chương trình tính
S(n)=1+2+3+4+...+N
S(n)=1/1 + 1/2 +...+ 1/N
S(n)=1+3+5+...+(2n+1)
S(n)=0! +1! +2! +3! +...+N!
Thảo luận (http://ddth.com/showthread.php?t=151610)

(31) 0< a;b;c <=100 a,b,c thuộc N
Viết chương trình xuất ra màn hình a,b,c thỏa a(bình) = b(bình) + c(bình) và b+c > a
Thảo luận (http://ddth.com/showthread.php?t=151610)


(32) Tìm điểm yên ngựa(phần tử vừa là lớn nhất của hàng, vừa là nhỏ nhất của cột chứa nó) của ma trận
Thảo luận (http://ddth.com/showthread.php?t=121505)

(33) Viết ra mảng 1 chiều với n <= 100; phần tử nguyên.
a, Tính tổng phần tử chẵn của mảng viết ra màn hình.
b, Tìm phần tử nhỏ nhất của mảng viết ra màn hình.
Thảo luận (http://ddth.com/showthread.php?t=151623)

(34) Với mảng 2 chiều 8*8 phần tử, yêu càu viết ra các phần tử nằm trên đường chéo;tổng phần tử nằm trên đg` chéo phụ.
Thảo luận (http://ddth.com/showthread.php?t=151623)


(35) chạy chương trình nhiều lần trong Pascal mà ko cần phải thoát ra
Thảo luận (http://ddth.com/showthread.php?t=152231)

(36) biểu diễn căn bậc 3 trong Pascal
Thảo luận (http://ddth.com/showthread.php?t=152067)

(37) có 100 bó cỏ,bò đứng ăn 5 bó,bò nằm ăn 3 bó,3 bò già ăn 1 bó.Hỏi có bao nhiêu bò đứng,bò nằm,bò già.
Thảo luận (http://ddth.com/showthread.php?t=153945)


(38) Nhập số tự nhiên N: In ra dạng biễu diễn nhị phân của N
Thảo luận (http://ddth.com/showthread.php?t=155564)

(39) Dùng câu lệnh rẽ nhánh để giải:
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 .
Thảo luận (http://ddth.com/showthread.php?t=154947)

(40) Tính trung bình cộng các số nguyên tố từ 1->N.Với N nhập từ bàn phím.
Thảo luận (http://ddth.com/showthread.php?t=156203)


(41) Cho số thực x . Tính((x-2)(x-4)(x-8)...(x-64))/((x-1)(x-3)(x-7)...(x-63)).
Thảo luận (http://ddth.com/showthread.php?t=156466)

(42) (bài 3.32 trang 23)
Xét dãy số nguyên A0, A1,...,An, trong đó:
- A0 = p;
- A1 = q;
- An = An-2 + p nếu n chẵn
An-2 + q nếu n lẻ
Viết đoạn chuơng trình tính An với n>=0 cho trước
Thảo luận (http://ddth.com/showthread.php?t=156025&page=2)



(hết page 15 :emlaugh:)

(Các bạn thông cảm , có tới 25 pages liền mà sức người có hạn nên mỗi ngày chỉ dám cố 1 tí, mong mọi người cùng bổ sung cho nó nhanh chóng đầy đủ :) )

-- to be continue --

chopes
04-04-2008, 17:50
Mình có bài này muốn hỏi:
Cho một dãy số nguyên a1-->an
Hãy sắp xếp dãy theo thứ tự tăng dần của số đảo của mỗi phần tử .
Ví dụ;
input
3 27 13 91
output
3 91 13 27
Không sử dụng mảng.

m2mpro
04-04-2008, 18:47
Cho một dãy số nguyên a1-->an

Không dùng mảng đọc vô bằng cách nào ?

chungkid1
04-04-2008, 23:32
Ko dùng mảng thì đọc bằng DSLK,nhưng cái đấy chỉ lớp chuyên mới có,còn với lớp thường thì bài này quả là impossible(đú tí cho oai)

cashier làm cái topic này oai ghê,có cần đây giúp thì lấy rẻ thôi,hai cốc chè huế là được

real_time
05-04-2008, 11:01
nên stick cái thread lại để cho các mem lớp 11 vào xem khỏi phải tìm đâu xa nhỉ?

chopes
05-04-2008, 11:37
ngoài cách dùng dslk còn cách nào khác nữa không.

QuyNam
05-04-2008, 19:59
đọc vào chuỗi cũng được. Mỗi số cách nhau 1 space

cashier
05-04-2008, 21:06
Tóm lại có thể là :
- Dùng danh sách liên kết
- Dùng xâu ( chuỗi ) (Mỗi số cách nhau 1 space)
- Đọc file nhiều lần ( hình như các bạn lớp 11 học đến file rồi đúng không nhỉ )

@chungkid : 2 cốc á mơ giữa ban ngày hả ông bạn ???

chopes
05-04-2008, 22:11
dùng xâu thì phải làm thế nào?

hoa_ngoc_ha
06-04-2008, 09:38
Giúp Ngọc Hà bài này với
Cho dãy bi gồm các màu xanh đỏ vàng .Lập trình với thuật toán sắp xếp mảng có biến định vị(đóng vai trò lính canh giữ mốc) Hãy sắp xếp lại dãy sao cho các bi xanh liên tiếp rồi đến các bi đỏ cuối cùng là bi vàng .
Mong moi nguoi giúp Hà nhanh với.Thứ 2 Hà thi rồi

clicktwo
08-04-2008, 22:46
àh mấy anh giải dùm em bài này : viết công thức nhập xâu st , nhập 1 kí tự ch . đếm số lần xuất hiện của ch trong st!!!^_^ thank you trc nha !!

vampjr3
12-04-2008, 15:11
Thấy thầy cho một bài tập khá hay nên vừa đi học về là nhảy vào máy ngay post lên chia sẻ cho mọi người ...hj..
Nhập mảng số nguyên n dòng ,m cột .Sắp xếp mảng theo thứ tự không tăng theo dòng và không tăng theo cột.
MỌI NGƯỜI CÙNG THẢO LUẬN NÀO.........

tank304
12-04-2008, 18:31
giúp mình bài này nhe': lập trình vẽ 1 hình tam giác cân với cạnh bất kì.

0nizuka
12-04-2008, 22:35
giúp bài này với
Viết chương trình nhập từ bàn phím số nguyên dương N (N=<100) và dãy A gồm N số nguyên A1,A2,...,An có giá trị tuyệt đối ko lớn hơn 1000. Hãy cho biết dãy A có phải là 1 cấp số cộng hay không và thông báo kết quả ra màn hình.

chopes
13-04-2008, 14:58
giúp bài này với
Viết chương trình nhập từ bàn phím số nguyên dương N (N=<100) và dãy A gồm N số nguyên A1,A2,...,An có giá trị tuyệt đối ko lớn hơn 1000. Hãy cho biết dãy A có phải là 1 cấp số cộng hay không và thông báo kết quả ra màn hình.

Function xet:boolean;
Begin
xet:=true;
For i:=1 to n do
If (a[i+1]-a[i])<>(a[i+2]-a[i+1]) then Begin xet:=false;Break;End;
End;

Begin
If xet then Writeln('dãy A là 1 cấp số cộng ')
Else Writeln('dãy A ko là cấp số cộng ');
readln;
End.
Có lẽ ko cần viết chương trình con đọc du liệu vào đâu nhỉ

pikachucr1991
17-04-2008, 20:49
mấy bạn ui
help me!
lập hàm tính diện tích hình thang
nhap du lieu 2 thửa ruợng và tính tổng diện tích 2 thửa ruỗng đó

zoejoe
26-04-2008, 21:13
mấy bạn ui
help me!
lập hàm tính diện tích hình thang
nhap du lieu 2 thửa ruợng và tính tổng diện tích 2 thửa ruỗng đó

- Diện tích hình thang thì theo công thức : chiều cao nhân trung bình cộng của 2 đáy => sẽ nhập dữ liệu là 1 góc của hình thang (hoặc độ dài đừong cao) + độ dài đáy 1 + độ dài đáy 2 D: rồi tính
- Dữ liệu 2 thửa ruộng thì hơi mờ nhưng thừong là hình chữ nhật, cứ nhập 4 số : 2 rộng 2 cao ròi tính theo công thức (không biết thì đập đầu vô mông chết đi) :D

Okie chưa ta ?? :d

chooco_pie
27-04-2008, 10:50
giải giùm My bài nỳ theo pascal hay C cũng được nhé
Đề nà :
Cho mảng số thực vuông có tên là a có kích thước 2n x 2n .hãy lập các mảng mới bằng các khối vuông có kích thước n x n của mảng a theo cách sau : mảng ban đầu được cho trong tập tin nhom2.dat.Kết quả được lưu trong tập tin có tên ketqua2.dat

Hồi âm sớm giúp bé nhé ...
rất mong được làm quen với bạn
yahoo My nè : chooco_pie
giải tỉ mỉ nhé, vì mới học nên chưa rành đâu á

The_Phenomenal
28-04-2008, 20:12
ChẢ LÀ MỚi VÀo HỌc Pascal ThÌ Ông ThẦy Giao Cho TỚ BÀi TẬp NÀy VỀ NhÀ:

Cho MỘt DÃy SỐ NguyÊn GỒm N PhẦn TỬ ( N NhẬp TỪ BÀn PhÍm):
A/ XuẤt Ra SỐ LỚn NhẤt VÀ SỐ NhỎ NhẤt Trong DÃy SỐ TrÊn
B/ SẮp XẾp DÃy SỐ Theo ThỨ TỰ GiẢm DẦn
C/ XuẤt Ra DÃy SỐ Khi SẮp XẾp

VÌ LÀ LÍnh MỚi NÊn TỚ ChỈ BiẾt Đc MẤy CÁi ĐẦu ThÔi ChỨ PhẦn GiẢi QuyẾt Ở GiỮa ThÌ KhÓ ThẬt!!! Mong Ai Cao Tay CÓ ThỂ GiÚp TỚ NhÉ!!! Thank NhiỀu

anhtuanhack
30-04-2008, 15:03
bạn nên viết đoạn chương trình nhập vào thì mới có thể Ctrl+F9 được chứ

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

bạn nên dùng vòng For...to...do để tìm kiếm i[max]
rồi dùng lệnh if...then...else để Write ra các phần tử giảm dần
sau do mình dùng Write cái mà mình nhập vào ví dụ:
khi nhập là như thế này.
Write('Nhap N: ');
Readln(N);
For i:= 1 to n do
Write(i);

khi chạy sẽ được kết quả như bạn muốn. Mình chỉ biết thế thôi vì mình cũng chỉ biết thế thôi. Mình không có Turbo Pascal 7.0 ỏ nhà nên không thể làm được để giúp bạn, mình chỉ suy nghĩ và hình dung ra thôi ! Bạn thông cảm.

zoejoe
30-04-2008, 15:44
ChẢ LÀ MỚi VÀo HỌc Pascal ThÌ Ông ThẦy Giao Cho TỚ BÀi TẬp NÀy VỀ NhÀ:

Cho MỘt DÃy SỐ NguyÊn GỒm N PhẦn TỬ ( N NhẬp TỪ BÀn PhÍm):
A/ XuẤt Ra SỐ LỚn NhẤt VÀ SỐ NhỎ NhẤt Trong DÃy SỐ TrÊn
B/ SẮp XẾp DÃy SỐ Theo ThỨ TỰ GiẢm DẦn
C/ XuẤt Ra DÃy SỐ Khi SẮp XẾp

VÌ LÀ LÍnh MỚi NÊn TỚ ChỈ BiẾt Đc MẤy CÁi ĐẦu ThÔi ChỨ PhẦn GiẢi QuyẾt Ở GiỮa ThÌ KhÓ ThẬt!!! Mong Ai Cao Tay CÓ ThỂ GiÚp TỚ NhÉ!!! Thank NhiỀu

Dễ thế :D
- Câu đầu tứ dùng 1 biến tạm và cho nó là max(hoặc min) rồi so sánh với từng phần tử kể từ sau nó trở đi, cái nào có giá trị lớn hơn (hoặc nhỏ hơn) thì cho nó là max(hoặc min) rồi so sánh tiếp (dùng mảng cho dễ).
- Mở sách giáo khoa lớp 10 (hình như thế) có sơ đồ khối hướng dẫn giải thuật toán sắp xếp tăng dần, rồi dùng 1 biến phụ để chứa mản g đã săp xếp đó, xong rồi gán lại vào biếng chính cũng là mảng theo cách sau : cho nó lặp ngược, rồi phần tử cuối cùng của mảng phụ sẽ đưa vào phần tử đầu của mảng chính. Nếu khá hơn, có thể dùng phuơng pháp nổi bọt ngược để sắp xếp (bubble float :D)
- Lặp thuận tới khi hết mảng rồi xuất lần lượt ra, dễ mà :D

anhtuanhack
01-05-2008, 17:42
mình học dc một số kỹ thuật lập trình và nhờ sáng tạo minh đã cho ra đời một phiên bản BETA của chương trình hack lấy XU Boom Online mà đông đảo các bạn đều nghe nói đến !
Mình kết hợp Pascal cà C++ và VisualBasic đã đánh lừa dc một số phần mềm an ninh của VNGAME đã lấy tất cả các mã nguồn GAME của họ. Rồi chiết khấu thành bản hack hoàn mỹ như phin viễn tưởng. Tạo liên kết giữa các trò của VNGAME lại với nhau và khi nạp thẻ vào một trò thì tất cả các ACC của trò còn lại đều nhận dc XU hay KNB. Nhưng quả thật, làm dc những thành quả đó mình mất nhiều thời gian lắm khoảng 2 tháng cắm cụi làm. Đây là cảnh báo cho VNGAME:
Nếu không qunr lý chặt chẽ nhân viên của công ty mình thì xin chắc chắn rằng một ngày nào đó VNGAME sạt nghiệp. VINASAT 1 đã phóng lên thì tôi càng dễ làm các bản hack hơn vì nó hộ trợ nhiều cái ví dụ như: dùng di động có thể chuyển tiền trong ngân hàng => USD hoặc EURO để tiêu sài. Như cao thanh lâm đã làm trong phim. Đây chỉ là ví dụ nên xin các đồng bào đừng nóng.co gì xin liên hệ tại địa chỉ 22 ngõ 8/7 tầng 18 địa ngục nếu không tìm dc thì hỏi diêm vương là biết tôi. Tôi là con trai của diêm vương ! ha ha ha ha !

zoejoe
02-05-2008, 10:42
giải giùm My bài nỳ theo pascal hay C cũng được nhé
Đề nà :
Cho mảng số thực vuông có tên là a có kích thước 2n x 2n .hãy lập các mảng mới bằng các khối vuông có kích thước n x n của mảng a theo cách sau : mảng ban đầu được cho trong tập tin nhom2.dat.Kết quả được lưu trong tập tin có tên ketqua2.dat

Hồi âm sớm giúp bé nhé ...
rất mong được làm quen với bạn
yahoo My nè : chooco_pie
giải tỉ mỉ nhé, vì mới học nên chưa rành đâu á

Đã hứa là sẽ làm mà, lo gì mà lo thế :))

amida
02-05-2008, 16:57
Nhớ bài này mình cho bạn My ấy thuật toán rồi mà :D

huyenhuyen
05-05-2008, 14:02
Không cần dùng chương trình con đâu
chỉ cần câu lệnh if-then chắc cũng ổn rồi

mousegold
27-05-2008, 15:07
đề nè: thay thế tất cả cụm từ 'anh' = cụm kí tự 'em'
vd: anh va toi..
---> em va toi..

thì phải làm sao?

Nhoc_chuoi
27-05-2008, 21:48
Ai có thể làm cho em bài này không:
Tính 100! .............HẾt^_^
nhanh dùm em cái nha thank trước!

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


ChẢ LÀ MỚi VÀo HỌc Pascal ThÌ Ông ThẦy Giao Cho TỚ BÀi TẬp NÀy VỀ NhÀ:

Cho MỘt DÃy SỐ NguyÊn GỒm N PhẦn TỬ ( N NhẬp TỪ BÀn PhÍm):
A/ XuẤt Ra SỐ LỚn NhẤt VÀ SỐ NhỎ NhẤt Trong DÃy SỐ TrÊn
B/ SẮp XẾp DÃy SỐ Theo ThỨ TỰ GiẢm DẦn
C/ XuẤt Ra DÃy SỐ Khi SẮp XẾp

VÌ LÀ LÍnh MỚi NÊn TỚ ChỈ BiẾt Đc MẤy CÁi ĐẦu ThÔi ChỨ PhẦn GiẢi QuyẾt Ở GiỮa ThÌ KhÓ ThẬt!!! Mong Ai Cao Tay CÓ ThỂ GiÚp TỚ NhÉ!!! Thank NhiỀu

Bài Giải Chi tiết nè:
Program baigiai;
uses:crt;
var a:array[1..100] of integer;
i,n,max,min,tg:integer;
BEGIN
write (' nhap so luong phan Tu? N:=');
readln(n);
For i:=1 to n do
begin
write('nhap phan tu a[',i,'] =');
readln(a[i]);
end;
max:=a[1]; min:=a[1];
(* tìm số lớn nhất và nhỏ nhất*)
for i:=1 to n do
begin
if a[i]>max then a[i]:=max;
If a[i] < min then a[i]:=min;
end;
writeln(' số lớn nhất mảng là: ',max);
writeln('số nhỏ nhất mảng là: ',min);
(*-----------------------------------*)
(* sắp xếp nè*)
for i:=1 to n-1 do
if a[i]>a[i+1] then
begin
tg:=a[i];
a[i]:=a[i+1];
a[i+1]:=a[i];
end;
(----------------------------------------------*)
(* Xuất ra dãy số khi sắp xếp nè:*)
for i:=1 to n do
write(a[i]:2);
(*--------------------------------------------*)
readln
END.


Còn phần hướng dẫn về thuật giải bạn xem bên trên nha ! có gì sai sót mong các tiền bối lượng thứ cho Thank!!!!

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


đề nè: thay thế tất cả cụm từ 'anh' = cụm kí tự 'em'
vd: anh va toi..
---> em va toi..

thì phải làm sao?

xài đến hàm Pos('anh',xs);
bài giải chi tiết nè:
PROGRAM bailam;
uses crt;
var i:integer;
BEGIN
Write('nhập xâu S');
readln(S);
i:=pos('anh,S);
While i<>0 then
begin
delete(s,i,3);
Insert('em',s,i);
i:=pos('anh',s);
end;
Write(s);
readln

Hi vọng là đúng!
END.

can8818
30-05-2008, 08:30
Có bạn nào có Đề thi tin học không chuyên BRVT và các tỉnh khác một số năm trước không ? Cho mình với. cám ơn các bạn trước nha !

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

Có nhiều cách làm bài này. Mình nghĩ cách làm của Chopes là được rồi nhưng có lẽ chưa tối ưu lắm. Có thể làm = cách
Xet:=TRUE;
FOR i:=2 TO n-1 DO
IF A[i-1]+A[i+1]<>(A[i]/2) THEN Xet:=FALSE;
...
Mình nghĩ là thế.

Nhoc_chuoi
30-05-2008, 20:21
ko ai giúp em à LAm thế nào để tính 100! vâyyyyyyyyyyyyyy

tiensusu
31-05-2008, 06:21
Đây là đoạn code tính giai thừa của những số n<140, kết quả có thể đạt 150000 chữ số


Var a:array[1..150000] of byte;
n,l:word;
i:byte;
Function Nhan(x:word):longint;
var j,nho:byte;
tich:longint;
Begin
Nho:=0;
Tich:=0;
For j:= 1 to l do
Begin
tich:=a[j]*x+nho;
nho:=0;
a[j]:=tich mod 10;
nho:=tich div 10;
End;
While nho <> 0 do
Begin
inc(l);
a[l]:= nho mod 10;
nho:=nho div 10;
End;
end;
BEGIN
Write('n= ');
readln(n);
a[1]:=1;
l:=1;
for i := 1 to n do
nhan(i);
for i:= l downto 1 do
write(a[i]);
readln;
END.

7aijoo
31-05-2008, 21:47
hình như hết năm học rồi nên chẳng ai hỏi gì hết nhỉ ^^! sao số người hỏi thì nhiều mà số người trả lời lại ít thế ^^!

fascist
01-06-2008, 07:37
giúp mình bài này
lập chương trình nhập các mảng: họ tên, điểm văn, toán,nn của n học sinh. sau đó tính điểm bình quân và xếp hạng rồi in ra danh sách kết quả

pro112
10-06-2008, 19:36
Các bạn giúp mình bài này với.
Đề bài: Nhập vào 1 xâu kí tự. Tìmvà đưa ra màn hình 2 đoạn giống nhau dài nhất và vị trí ký tự đầu tiên của chúg.
Ví dụ: Nhập vào abc34c34cn
Kết quả: c34c vị trí 3 và 6

udi_love
10-06-2008, 22:22
có ai biết cách giải bàip: "tim số fibonaci thứ n" bằng pascal giúp mình với. cám ơn tước nha

mousegold
28-06-2008, 20:34
giúp mình hiểu thêm về kiể bảng ghi(record) kết hợp với mảng nhé.
VD đề cho:
- nhap vào N tam giác,
-N dòng tiếp theo có tọa đọ 3 đỉnh A(Xa,Ya),B(Xb,Yb),C(Xc,Yc);

+ Xuất ra:
- dòng 1: số lượng tam giác dều
- dong 2: số lượng tam giác cân
- dong 3: vuông.
<===========================================>

program Xac_dinh_tam_giac;
uses crt;
const eps=1.e-06;
max=10;
type
Diem=record
x,y:real;
end;
Tamgiac = record
A,B,C:Diem;

end;

var T:Tamgiac;
Deu,Can,Vuong:boolean;
n,i:integer;
M:array[1..max]of integer;
Function kh_cach(P,Q:Diem):real;
begin
Kh_cach:=sqrt((P.x-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));
end;
procedure Daicanh(var R:Tamgiac; var a,b,c:real);
begin
a:=kh_cach(R.B,R.C);
b:=kh_cach(R.A,R.C);
c:=kh_cach(R.A,R.B);
end;
Function Chuvi(var R:Tamgiac):real;
var a,b,c:real;
begin
Daicanh(R,a,b,c);
Chuvi:=a+b+c;
end;
Function Dientich(var R:Tamgiac):real;
var a,b,c,p:real;
begin
Daicanh(R,a,b,c);
p:=(a+b+c)/2;
Dientich:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
Procedure Hienthi(var R:Tamgiac);
begin
writeln('Toa do 3 dinh cua tam giac la: ');
writeln(' - Dinh A(',R.A.x:0:0,', ', R.A.y:0:0,' )');
writeln(' - Dinh B(',R.B.x:0:0,', ', R.B.y:0:0,' )');
writeln(' - Dinh B(',R.C.x:0:0,', ', R.C.y:0:0,' )');
end;
Procedure Tinhchat(var R:Tamgiac; var Deu,Can,Vuong:Boolean);
var a,b,c:real;
begin
Deu:=false;
Can:=false;
Vuong:=false;
Daicanh(R,a,b,c);
if (abs(a-b)<eps) or (abs(a-c)<eps) then
Deu:=true
else
if(abs(a-b)<eps) or (abs(a-c)<eps) or (abs(b-c)<eps) then
Can:=true;
if (abs(a*a+b*b-c*c)<eps) or(abs(a*a+c*c-b*b)<eps) or(abs(b*b+c*c-a*a)<eps) then
Vuong:=true;

end;
Begin
clrscr;
write('Nhap N tam giac: '); readln(n);
for i:=1 to n do
begin
writeln('Nhap tam giac thu ',i,' la ');

write(' Toa do dinh A: '); readln(T.A.x,T.A.y);
write(' Toa do dinh B: '); readln(T.B.x,T.B.y);
write(' Toa do dinh C: '); readln(T.C.x,T.C.y);
end;
writeln('==================================');
for i:=1 to n do
begin
Hienthi(T);
writeln('Dien tich: ',Dientich(T):9:3);
writeln('Chu vi: ',Chuvi(T):9:3);
Tinhchat(T,Deu,Can,Vuong);
writeln('Tam giac co tinh chat: ');
if Deu then writeln('La tam giac deu')
else
if Can then writeln(' La tam giac can')
else
if Vuong then writeln('La tam giac vuong')
else
writeln('Khong la tam giac'); writeln;
end;

readln
end.

bài này mình vùa làm,chua xong,phan khai bao xai nua,các bạn chỉ giúp nhé.
cảm ơn trước.

timberlake
30-06-2008, 10:06
Một lần trong chương trình chiếc nón kỳ diệu, ở phần chơi dành cho khán giả, thay vì đón chử như mọi khi , người dẫn chương trình tự mình quay chiếc nón và cho hiện lên màn hình trước mặt các khán giả trong trường quay các số trong các ô mà mũi tên lần lượt đi qua . Mũi tên quay đúng một số nguyên vòng, vì vậy số cuối cùng trong dãy trùng với số đầu tiên . Sau đó người dẫn chương trình mời một khán giả ở cuối trường quay ,không nhìn thấy chiếc nón, cho biết chiếc nón có bao nhiêu ô. Hãy lập trình trả lời câu hỏi trên, khi bạn là khách mời của trường quay.
Dữ liệu: vào tiẹp văn bản MAGIC>INP:
- Dòng đầu tiên chứa N số nguyên - số lượng hiện lên màn hình,(2<=N<=);
- Dòng thứ hai chứa N số nguyên dương,mỗi số không quá 32000.
Kết quả: Đưa ra tệp văn bản MAGIC.OUT một số nguyên là số lượng tối thiểu cần có.
Ví Dụ:
MAGIC.INP
13
5 3 1 3 5 2 5 3 1 3 5 2 5
Đưa ra kết quả
MAGIC.OUT
6

lamthilethuy
01-07-2008, 08:08
[QUOTE=Nhoc_chuoi;1160736]ko ai giúp em à LAm thế nào để tính 100! vâyyyyyyyyyyyyyy[/QUO
sao bạn không nói rỏ cái đề thêm một chúc
cám ơn

tungdech
17-07-2008, 14:04
ai giải hộ em cái nay` với
làm thế nào để tạo ra một văn bản trong 'D:\new folder\ABC.txt' có dãy số 1 đến 1000. giúp em với!

bld
17-07-2008, 17:49
Bài của timberlake :


var a:array[1..101] of byte;
d,i,vt,n:byte;
found : boolean;
BEGIN
d:=1;
write ( 'nhập số các số của dãy :');readln(n);
for i:=1 to n do
begin
write('a[',i,'] = ');
readln(a[i]);
end;
while (d<=n-1) and (found=false) do
begin
vt:=d+1 ;
found:=true;
while (vt<>n) and (found=true) do
begin
for i:=1 to d do if a[vt+i-1]=a[i] then found:=true
else begin
found:=false;
break;
end;
vt:=vt+d;
end;
d:=d+1;
end;
if found=false then writeln(n-1)
else writeln(d-1);
END.

:)

nhat_truong
19-07-2008, 09:57
Ko dùng mảng thì đọc bằng DSLK,nhưng cái đấy chỉ lớp chuyên mới có,còn với lớp thường thì bài này quả là impossible(đú tí cho oai)

cashier làm cái topic này oai ghê,có cần đây giúp thì lấy rẻ thôi,hai cốc chè huế là được

cho mình hỏi về cách đọc bằng DSLK với

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

chỉ giùm cách đọc bằng DSLK với
thanks nhiều

langtusitinh225
24-07-2008, 16:00
ai giải hộ em cái nay` với
làm thế nào để tạo ra một văn bản trong 'D:\new folder\ABC.txt' có dãy số 1 đến 1000. giúp em với!



const fo='D:/new folder/ABC.txt';
var f:text;
i:integer;
begin
assign(f,fo);
rewrite(f);
for i:=1 to 1000 do
write(f,i:5);
close(f);
end.


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


ko ai giúp em à LAm thế nào để tính 100! vâyyyyyyyyyyyyyy

Mình đã từng làm bài này và tính được tới 10000! (100.000! cũng được nhưng hơi lâu một tý). Bạn liên lạc với mình qua Y!M: langtu_sitinh225 mình gửi bài giải cho

langtusitinh225
24-07-2008, 16:06
ko ai giúp em à LAm thế nào để tính 100! vâyyyyyyyyyyyyyy

Mình đã từng làm bài này và tính được tới 10000! (100.000! cũng được nhưng hơi lâu một tý). Bạn liên lạc với mình qua Y!M: langtu_sitinh225 mình gửi bài giải cho

zoejoe
29-07-2008, 18:41
có ai biết cách giải bàip: "tim số fibonaci thứ n" bằng pascal giúp mình với. cám ơn tước nha

Dùng đệ quy pác à. Số thứ fib ( n ) = fib ( n-1 ) + fib ( n-2 ); Điều kiện neo là nếu n = 1 hoặc n = 2 thì trả về 1.

P học lâu quá quên tiu rùi, xem thử cái đoạn mã này có giúp gì được hem :


long Fib ( int n )
{
if ( n == 1 || n == 2 )
{
return 1;
}

return Fib ( n-1 ) + Fib ( n-2 );
}

ta_thanh
03-08-2008, 13:18
Các bạn giúp mình giải bài này với:
Nhập số nguyên n từu bàn phím. Tím số nguyên k nhỏ nhất thoả mãn 5^k>n. Đưa ra màn hình số k và giá trị 5^k

huysun
09-08-2008, 13:41
c1: cho k bắt đầu từ 0 nhân s vs 5 đến khi lớn hơn n;
{k,s,n:longint;}
read(n);
k:=0;
s:=1;
while(s<=n)do begin k:=k+1;s:=s*5 end;
wite(k);
c2:tính k để căn bậc k cua n=5 bàng cách chia liên tiêp n cho 5;
{n,k:longint}
k:=0;
read(n);
while(n>1)do begin n:=n div 5; k:=k+1;end;
write(k);

vuhuu
04-09-2008, 11:24
giờ tớ mới lên lớp 11 nên chưa biết tẹo gì về pascal cả.....
thầy giáo dạy thì khá nghiêm khắc.. thầy ít nói lại khó tính nữa....
giúp tớ trả lời câu này với.. trong sgk 11 thôi nhưng mình cũng có biết chi đâu tại ít nghiên cứu: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?.. àh hằng số học trong pascal có có bắt đầu bằng chữ được khôgn nhỉ..? 'C có phải là hằng xâu đúng quy tắc trong pascal khôgn vậy..? nhờ mọi người giúp.. trình độ của tớ còn kém nên mong được chỉ giáo nhiều.....

huysun
22-09-2008, 13:15
giờ tớ mới lên lớp 11 nên chưa biết tẹo gì về pascal cả.....
thầy giáo dạy thì khá nghiêm khắc.. thầy ít nói lại khó tính nữa....
giúp tớ trả lời câu này với.. trong sgk 11 thôi nhưng mình cũng có biết chi đâu tại ít nghiên cứu: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?.. àh hằng số học trong pascal có có bắt đầu bằng chữ được khôgn nhỉ..? 'C có phải là hằng xâu đúng quy tắc trong pascal khôgn vậy..? nhờ mọi người giúp.. trình độ của tớ còn kém nên mong được chỉ giáo nhiều.....


đã nói "hằng số học" mà lại có "chữ",chịu luôn.
'C' là hằng xâu, 'c thì không.

boringrain84
26-09-2008, 21:08
mấy anh chị ơi giúp em với em không nhờ giải bài tập dùm đâu, em ch ỉmuốn hỏi
để viết chương trình xuất ra m ànhình tam giác vuông cạnh 3,4,5 thì ph ảilàm sao ạ viết như thế n ào để hiện ra tam giác
em la linh moi to te nen bo tay.com

huysun
26-09-2008, 22:04
bạn phải dùng unit graph mới vẽ dc hình, nhưng lớp 11 đâu có học cái ấy.
đây là 1 cách ngớ ngẩn do tui nghĩ ra,trong màn hình dos nõ sẽ cho 1 tam giác hơi vuông.

___*
__****
_*******
**********

cocdaihiep
26-09-2008, 22:46
Cho mình cách giải của bài phân tích một số ra thừa số nguyên tố

huysun
27-09-2008, 12:17
Cho mình cách giải của bài phân tích một số ra thừa số nguyên tố

phân tích số N:
tìm tất cả các số nguyên tố là ước của N, sau đó chia(dùng div).

cocdaihiep
27-09-2008, 15:34
bạn có thể làm mẩu cho mình dc hok?

huysun
02-10-2008, 12:04
vào đây dể xem cách tìm các số nguyên tố nhỏ hơn n(bạn chỉ cần tìm các số <= n div 2 thôi) http://ddth.com/showthread.php?t=148960
sau đó chia cho từng số trong mảng nguyên tố:
(*so_luong là số các số nguyên tố tìm dc, mu[i]là số mũ của nguyen_to[i]*)
for i:=1 to so_luong do
if n mod(nguyen_to[i]=0)then
begin
inc(mu[i]);
n:=n div nguyento[i];
end;

write('n=');
for i:=1 to so_luong do
if mu[i]>0 then
write(nguyento[i],'^',mu[i]);

mrnam102
28-10-2008, 11:01
Các vabj ai cũng biết cái máy tính bỏ túi CASIO 500MS, thầy mình giao bài tập: đưa ra màn hình các câu VD : ấn 1 để giải PT bậc 2
Ấn 2.........
Ấn 3.........
Sau khi ấn tiếp tục nhập a b c để tính PT bậc 2
hoắc nhập a b c và a' b' c' để giải hệ PT
nói chung nó như 1 cái máy tính bỏ túi vậy...Giúp mình nhé Thax nhiều

huysun
03-11-2008, 11:17
bạn có biết "case..of" không,nếu không thì dùng if..then cũng dc. viết 3 chương trình con giải quyết 3 phần, sau đó dùng rẽ nhánh để xem in ra kết quả của chương trình con nào.

duy_dl
21-11-2008, 17:51
ai giúp em bài này với ... tính định thức của ma trận cấp 3 :((

Pascalhaynhat
26-11-2008, 19:44
Các anh chj có bài nào khó hơn ko, em làm nhàm lắm rồi, em phải đi thi hsg môn pascal này cho nên em lo lắm, mong các anh các chj cho em bài nào khó khó về mảng một tý. Thank!!!

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

anh chj ơi làm giúp em bài này, nó khó quá: Tạo một quả bóng chuyển động ở màn hình pascal cho đến khi keypressed

hoangtu123
03-12-2008, 17:18
tinh

s=1/1!+1/2!+...............+1/n! cho den khi 1/n! < 2*10^-6

ban nao biet thi post nhanh cho minh nha

nguoivocmaytinh
06-12-2008, 10:17
mình xin giải bài số 6 nhé
program tongcacchusu;
var n,du,tong:integer;
begin
write('nhap so nguyen n:');
read(n);
tong:=0;
repeat
du:=n mod 10;
tong:=tong+du;
n:=n div 10;
until n=0;
write('tong cac chu so cua n:',tong);
readln
end.

Small_Apple1992
08-12-2008, 19:09
Viết chương trình chơi đỗ xúc sắc( có 5 người chơi)

huysun
09-12-2008, 12:06
Viết chương trình chơi đỗ xúc sắc( có 5 người chơi)

dùng đồ họa hay không?
nếu chỉ cần biết giá trị của xúc xắc thì đơn giản là gt:= random(5)+1; là xong.

tinhyeudaukho
13-12-2008, 12:58
ai giúp em mấy bài này với

Câu 1: Viết chương trình nhập vào 1 số nguyên N tính tổng S
• Nếu N lẻ thì : S + 1+3+5+….+N
• Nếu N chẵn thì : S = 2+4+….+N
Xuất kết quả S ra màn hình
Câu 2: Viết chương trình và nhập vào 2 số nguyên N, M tìm ước chung lớn nhất của N, M. Xuất kết quả ra màn hình và tính tổng các số tự nhien bé hơn hoặc bằng ước chung đó
Câu 3: Viết chương trình và nhập vào 2 số nguyên N, M. Tính tổng S.
• Nếu N>M và N – M là một số lẻ thì S = 1+ 1/2 + 1/3 + 1/4 +…….. + 1/(N – M)
• Nếu M > N và M - N là 1 số chẵn thì S = 1+ 1/2 + 1/3 + ……… + 1/(M – N)
• Còn lại S = 0
Xuất kết quả ra S ra màn hình.
Câu 4: Viết chương trình nhập vào số nguyên N, tính tổng S = 1 + 1/(1+1) + 1/(1+2) + 1/(1+3) + …. 1/(1+N) cho đến khi (1/(1+N)) < 10¬¬-6 . Xuất kết quả ra màn hình.
Câu 5: Viết chương trình , nhập số nguyên N. Xuất ra màn hình các ước dương của N mà vé hơn N
Hướng dẫn: Các ước dương của N mà bé hơn N thì luận nhỏ hơn hoặc bằng phần nguyên của N chia 2

duyhien01
18-12-2008, 12:25
Giải hộ mình bài này nhá ..
Nhập vào một mảng n*m .tìm các số nguyên tố trong mảng và cho biết vị trí của nó .
Thank nhìu ...

blackcactus
19-12-2008, 19:58
Giải hộ mình bài này nhá ..
Nhập vào một mảng n*m .tìm các số nguyên tố trong mảng và cho biết vị trí của nó .
Thank nhìu ...

Những bài này là bài đơn giản và đã có lời giải trên diễn đàn, bạn nên xem lại từ trang đầu của thread này. Nếu bạn nào có bài hay khi post lên cũng nên cho mọi người xem luôn hướng giải quyết (hay là code nếu có), như vậy thì mọi người đều có thể thảo luận được! Đừng post bài để hỏi những bài tập về nhà mà giáo viên các bạn cho, hãy suy nghĩ làm bài trước khi post lên diễn đàn. (Như vậy thì tư duy thuật toán và kỹ năng lập trình của các bạn sẽ tăng lên rất nhiều khi tham gia diễn đàn đó!!)

huysun
19-12-2008, 21:43
blackcactus nói rất hay, tui cũng chán làm mấy bài tập mà chả phải suy nghĩ gì cả rồi.

hacu
20-12-2008, 21:04
Mọi người ơi!!!Cứu chứ!!! Bi h tớ sắp thi học kì rồi mà ko bít j` về pascal cả.........Có 2 bài này thầy cho về nhà làm, nhưng cũng mù tịt, mọi người xem giúp tớ với.Tớ có bài kiểm tra học kì vào thứ 2 tuần tới rồi, năn nỉ đấy

Câu 1: Cho mảng 2 chiều kích thước n n với các phần tử là những số nguyên . Tìm trong mỗi hàng phần tử lớn nhất đổi chỗ nó với phần tử có chỉ số hàng bằng chỉ số cột. Chương trình sau đây giải bài toán trên:

Program diag;
Var
N, i, j, Max, Ind, Vsp: integer;
A: array [1..15, 1..15] of integer;
Begin
Write (‘nhap N nho hon 15: ‘); readln (N);
For i:=1 to N do
For j:=1 to N do
Begin
Write (‘A[‘, i, ‘,’ j, ‘]= ‘); readln (A[i;j]); end;
End;
For i:=1 to N do
Begin
Max: = A[i,j]; Ind:=j;
For j:= 2 to N do
If A[i,j] > Max then
Begin
Max: = A[i,j]; Ind:= j
end;
Vsp: = A[i,j]; A[i;j]:= Max; A[i,Ind] :=Vsp; end;
For i:=1 to N do
Begin
Writeln;
For j:=1 to N do write (A[i;j] : 3); end;
Writeln
End.

Hãy sửa lại chương trình trên khi thay yêu cầu tìm kiếm trong mỗi hàng bằng tìm kiếm trong mỗi cột.

Bài 2:Chương trình sau đây thực hiện những gì?

Program BT8;
Const NMax=50;
Type Mass = array[1..NMax, 0..Nmax-1] of real;
Var A: Mass;
i, j, N: byte; C: real;
Begin
Write (‘nhap N = ‘); readln(N);
For i:=1 to N do
For j:= 0 to N-1 do
Begin
Write (‘A[‘,i,’,’,j,’ ]= ‘); readln (A[i,j]); end;
For i:=1 to N do
For j:=0 to N-1 do
Begin
C:= A[i;j];
A[i,j]:= A[N-i+1,j];
A[N-i+1,j]:= C;
End;
For i:= 1 to N do
Begin
For j:=0 to N-1 do write (A[i;j]:5:2,’ ‘);
Writeln; end; readln
End.

shinichi_wata
01-01-2009, 16:40
giúp mình bài này với:
Nhập vào ngày tháng năm xuất ra nó là thứ mấy(kiểu bản ghi nha)
có ai có công thức ngắn gọn thì cho tui xin lun nha

ghostknight
08-02-2009, 10:06
Em nay nay học 11, ở quê em tới 11 mới học pascal cơ nên em còn gà lắm.Có mấy bài này mong các bác chỉ giúp:
1.Nhập vào 1 xâu
a.Xóa các ký tự trống chỉ chừa lại 1 ký tự trống giữa các từ
b.Đếm số loại chữ cái tiếng anh trong xâu
( tức là khi nhập vào 1 xâu như thế này:' asd 23g hj " thì máy sẽ cho ra xâu như thế này 'asd 23g hj' cùng với câu 'có 6 loại chữ cái')
2.Tạo mảng vuông số nguyên kích thước N
a.tính trung bình các phần tử chẵn
b.tính tổng các phần tử ở đường chéo chính, tam giác trên
c.tìm phần tử max
d.xắp xếp các phần tử theo chiều ko giảm
Mong mọi người chỉ giúp em,cặn kẽ 1 tí.Em cảm ơn trước :D

Karenbi
10-02-2009, 18:40
mấy u giúp mình với!!!
Viết công thức khai báo 1 mảng số nguyên dương gồm N phần tử (N<=10) sau đó thực hiện theo các yêu cầu sau:
1/ Nhập giá trị cho N phần tử trong mảng (giá trị <=10)
2/ Xuất ra màn hình các phần tử có giá trị bằng nhau nằm trên cùng 1 dòng.
VD: Với N=5 và dãy giá trị 2 1 2 3 1
kết quả: 1 1 hoặc 2 2

Local321
27-02-2009, 21:44
Lây cái topic này làm nơi lưu trữ đề đc đó, 1 đống bài + câu hỏi lạ lùng chưa ai giải ;;)

tungthanh500
11-03-2009, 23:03
Bài 4.38 SBT tin học 11 nói về việc tìm số lần lặp của 1 kí tự trong xâu. Theo giải thì nó nói dùng hàng rào kĩ thuật của bài 4.35 và 4.34, mình hiều 2 bài đó nhưng không biết áp dụng sao cho bài 4.38

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


Em nay nay học 11, ở quê em tới 11 mới học pascal cơ nên em còn gà lắm.Có mấy bài này mong các bác chỉ giúp:
1.Nhập vào 1 xâu
a.Xóa các ký tự trống chỉ chừa lại 1 ký tự trống giữa các từ
b.Đếm số loại chữ cái tiếng anh trong xâu
( tức là khi nhập vào 1 xâu như thế này:' asd 23g hj " thì máy sẽ cho ra xâu như thế này 'asd 23g hj' cùng với câu 'có 6 loại chữ cái')
2.Tạo mảng vuông số nguyên kích thước N
a.tính trung bình các phần tử chẵn
b.tính tổng các phần tử ở đường chéo chính, tam giác trên
c.tìm phần tử max
d.xắp xếp các phần tử theo chiều ko giảm
Mong mọi người chỉ giúp em,cặn kẽ 1 tí.Em cảm ơn trước :D

1.
Uses Crt;
Var st:string;
i,x: integer;
Begin
Write('Nhập xâu:');readln(st);
{Xóa dấu cách theo SBT mình chưa làm bao giờ nhưng cũng thử xem sao =.=}

Repeat
x:=pos(' ',st);{Khoảng trống là '__' không phải là '_'}
delete(st,x,1);
Until x:=0;

{Đếm chữ cái}
dem:=0;
For i:=1 to length(n) do
Begin
x:=ord(st[i]);
If (64 < x and x < 91) or (96 < x and x< 123) then dem:=dem + 1;
End;
readln;
end.

truc ly
14-03-2009, 11:24
hic co bác nào rảnh ko giải giùm e bài tập này với :
Hãy viết thủ tục ChuChay(s,dong) nhận đầu vào là xâu s gồm không quá 79 ký tự và biến nguyên "dong" , đưa ra xâu s có dạng chữ chạy ở dòng 'dong'. Viết và chạy chương trình có sử dụng thủ tục này .

changkho67
17-03-2009, 22:27
trả lời giùm bạn trúc ly ^^

program binh;
uses crt;
var s1,s2:string;
i,l,n:integer;
procedure chuchay(s1:string;n:integer);
begin
clrscr;
l:=length(s1);
repeat
for i:=2 to 80- l do
begin
clrscr;
gotoxy(i,n);
write(s1);
delay(10000);
end;
for i:=81-l to 80 do
begin
s2:=s1[length(s1)]+s2;
gotoxy(1,n);
write(s2);
delete(s1,length(s1),1);
gotoxy(i,n);
write(s1);
delay(10000);
clrscr;
end;
s1:=s2;
s2:='';
until keypressed;
end;
{-----------------------------------------------}
begin
clrscr;
write('nhap chuoi s:');readln(s1);
write('nhap so dong:');readln(n);
chuchay(s1,n);
readln;
end.

bài mình làm còn nhìu chổ sai xót (ví dụ như lúc thoát chương trình^^ và còn nhìu lổi nửa ^^!)mong bạn chỉnh xửa lại dùm ^^!
lâu rùi ko làm pascal nên wen hết rùi,mong bạn thông củm nha ^^

cupidangel3112
19-03-2009, 21:29
2222222222222!
Các bạn giai giúp mình bài tập này với:
Nhập xâu bất kì, viết chương trình xóa các dấu cách ở đầu xâu và cuối xâu, sau đó, thay thế các dấu cách liên tiếp bằng 1 dấu cách.
Mình làm bài này theo câu lệnh while...do... nhưng ko chạy. Chắc lỗi gì rồi. Các bạn chỉ giúp cho mình với. Thanks trước nha.

huysun
20-03-2009, 16:47
2222222222222!
Các bạn giai giúp mình bài tập này với:
Nhập xâu bất kì, viết chương trình xóa các dấu cách ở đầu xâu và cuối xâu, sau đó, thay thế các dấu cách liên tiếp bằng 1 dấu cách.
Mình làm bài này theo câu lệnh while...do... nhưng ko chạy. Chắc lỗi gì rồi. Các bạn chỉ giúp cho mình với. Thanks trước nha.
tui lại quay lại đây xì pam nè.
bạn đưa bài ra để mọi người kiểm tra cho, nếu không thì chịu khó search 1 lúc, sẽ thấy vài bài giống hệt.

quangdiemhp
23-03-2009, 10:20
Bài tính giai thừa kiểu này không ổn. Vì chỉ tính được số <=12 là cùng. Nếu bạn tính số n >=12 và có thể lên tới 100 hoặc lớn hơn thì có thể làm được bằng thuật toán này không?
Mọi góp ý, ý kiến xin chia sẻ qua mail quangdiem_hp@yahoo.com.vn

ngmanhtuan
23-03-2009, 13:56
2222222222222!
Các bạn giai giúp mình bài tập này với:
Nhập xâu bất kì, viết chương trình xóa các dấu cách ở đầu xâu và cuối xâu, sau đó, thay thế các dấu cách liên tiếp bằng 1 dấu cách.
Mình làm bài này theo câu lệnh while...do... nhưng ko chạy. Chắc lỗi gì rồi. Các bạn chỉ giúp cho mình với. Thanks trước nha.
to cupidangel3112
mình làm thế này
for i:=1 to length(s) do
begin
if s[i]=' ' then
begin
while s[i+1]=' ' do for j:=i to length(s) do s[j]:=s[j+1);
end;
end;
đấy bạn chỉ cần in nữa thôi là xong

muatuyet81
07-04-2009, 17:10
DE bai :

B1: trình bày cách tìm giá trị lớn nhất trong 1 mảng 2 chiều ,
viết 1 chương trình ( có sử dụng chương trình con ) để tìm giá trị lớn nhất trong cột thứ 2 của mảng hai chiều …. )


B2 : đổi chỗ 2 cột bất kỳ trong mảng 2 chiều !


PHP Code:
Uses Crt;
Type
Mang=Array[1..100,1..100] of Integer;
Var
A:Mang;
B:Array[1..100] of Integer;
I,N,M,j,Max,x,y: Integer;
{Ham nay se tra ve giai tri max cua cot 2}
Function max2:Integer;
Var
tg:Integer;
Begin
tg:=A[2,1];
For I:=1 to N do If tg<A[2,I] then tg:=A[2,I];
max2:=tg;
End;
Begin
ClrScr;
Write('Nhap so cot cua ma tran M= ');ReadLn(M);
Write('Nhap so hang cua ma tran N= ');ReadLn(N);
{Nhap mang}
For i:=1 to M do
For j:=1 to N do
Begin
Write('Nhap phan tu A[',i,',',j,']= ');
ReadLn(a[i,j]);
End;
{Hien mang}
WriteLn;
For j:=1 to N do
Begin
For i:=1 to M do
Write(a[i,j]:3);
WriteLn;
End;
{Tim gia tri max}
Max:=a[1,1];
For i:=1 to M do
For j:=1 to N do
If A[i,j]>Max then Max:=A[i,j];
{hien gia tri lon nhat}
WriteLn('Gia tri lon nhat cua mang Max= ',max:3);
{hien gia tri lon nhat cua cot 2}
WriteLn('Gia tri lon nhat cua cot 2 trong mang Max2= ',max2:3);
ReadLn;
WriteLn('Hoan doi vi tri 2 cot: x --> y');
Write('Nhap cot x (0<x<=M), x= ');ReadLn(x);
Write('Nhap cot y, (x<y<=M) y= ');ReadLn(y);
{Doi cot x sang cot trung gian}
For I:=1 to N do B[i]:=A[x,i];
{Doi cot x sang cot y}
For I:=1 to N do A[x,i]:=A[y,i];
{Doi cot y sang cot x}
For I:=1 to N do A[y,i]:=B[i];

{Hien mang}
WriteLn('Mang sau khi da hoan doi tu cot ',x,' sang cot ',y,' la:');
For j:=1 to N do
Begin
For i:=1 to M do
Write(a[i,j]:3);
WriteLn;
End;
ReadLn;
End.


==========================================!

free15
12-04-2009, 16:49
Thầy em cho làm kt Tin 15' thực hành mà em thì mù tịt. Làm giúp em 2 bài này với, gấp lắm ạ!!! Thứ 3 em nộp rồi...
1. Cho 2 đoạn thẳng AB và CD trong mặt phẳng với các toạ độ điểm đầu và cuối tương ứng là (xa,xb), (xb,yb), (xc, yc), (xd, yd), các toạ độ đều là số thực, xa < xb, xc < xd. Hãy viết hàm CAT(xa,ya,xb,yb,xc,yc,xd,yd) kiểm tra xem 2 đoạn thẳng AB và CD cắt nhau hay không, tức là chúng có 1 và chỉ 1 điểm chung hay không. Hàm này cho giá trị True, nếu AB và CD có ít nhất 1 điểm chung và cho giá trị False trong trường hợp ngược lại.
2. Xét 2 hình chữ nhật ABCD và EFGH có các cạnh song song với trục tọa độ đỉnh là các số thực. Hai đỉnh A và C tương ứng là đỉnh trên trái và đỉnh dưới phải của ABCD, các đỉnh E và G tương ứng là đỉnh trên trái và đỉnh dưới phải của EFGH. Các hình chữ nhật này được cho bởi tọa độ (xa,ya), (xc,yc), (xe,ye), (xg,yg) tương ứng của các đỉnh A, C, E, G. Hãy viết chương trình con xác định tọa độ tâm và bán kính của hình tròn nhỏ nhất chứa 2 hình chữ nhật trên.
Thanks lắm lắm!!!

danquenbk
21-04-2009, 19:18
viết chương trình đọc file dulieu.txt chứa các số nguyên , các số nguyên cách nhau một khoảng trắng .sau đó in các số nguyên tố ra màn hình ( sử dụng chương trình con )

kakakath15
23-04-2009, 08:23
Tính tổng:
1+1/2+1/3+...+1/n
1-1/2-1/3-1/4-..-1/n
1-1/2+1/3-1/4+..-1/n
1+1/2-1/3+1/4-..+1/n
có thể sử dung lệnh for... do
hoặc while...do
các anh chị ơi giúp em với ,con 1 ngày nữa thôi

Thanh_Dat
26-04-2009, 13:59
co ai co Heroes III k? lam on cho minh voi!!!!!!!!!!!

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

Cac ban oi lam ho minh bai nay, khong minh sap thi hoc ki rui:
giai PT bac 2 ax2 + bx + c=0
Nhung phai giai bang chuong trinh con.
Cac ban lam gium minh zoi minh dang can gap.
minh cam on cac ban truoc!
iam thanks!!!!!!!!!!!!!!!!1

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

nahnh len nhe!!!!!!!!!!!!

that11t2
27-04-2009, 21:20
Đề thi của trường em được báo trước là như thế này, thầy biểu về chuẩn bị mà em làm hok dc, cứu em mấy đại ca ơi!
Đề: Nhập vào mảng 1 chiều A gồm một dãy tùy ý các số nguyên âm và dương. Hãy tạo ra mảng B chứa toàn số âm và mảng C chứa toàn số dương (số 0 được tính là số dương) Sau đó in 3 mảng ra màn hình.

ngthduyanh
27-04-2009, 21:24
có ai không
giúp mình câu này:
viết chương trình xóa kí tự trắng bên phải cảu một xâu nhập từ bàn phím.
Ví dụ: ' HOGUOM ' -> ' HOGUOM';
' HOGUOM' -> ' HOGUOM';
Thank trước!

TEAR_ViEm_TEAR
12-05-2009, 15:00
Được gửi bởi cupidangel3112
2222222222222!
Các bạn giai giúp mình bài tập này với:
Nhập xâu bất kì, viết chương trình xóa các dấu cách ở đầu xâu và cuối xâu, sau đó, thay thế các dấu cách liên tiếp bằng 1 dấu cách.
Mình làm bài này theo câu lệnh while...do... nhưng ko chạy. Chắc lỗi gì rồi. Các bạn chỉ giúp cho mình với. Thanks trước nha.

ba`i nj` mi`nh la`m rui`, tham khao thu~ nha:

program xoakhoang;
var z:string;i:byte;
begin
write('Nhap vao mot chuoi: ');readln(z);
i:=pos(' ',z); {ti`m hai khoang cach nha ' '};
while i<>0 do
begin
delete(z,i,1);
i:=pos(' ',z);
end;
if z[1]=' ' then delete(z,1,1);{neu o truoc co 1 khoang thj` xoa};
if z[length(Z)]=' ' then delete(z,length(Z),1);{neu cuoi co 1 thj` xoa};
write(Z);
readln;
end.
{Bài nj` vì thý 2 sẽ xóa 1 nên có thể ở trước hay sau còn có khoảng dư nên xóa ngay}
bài nj` có vẻ ngắn hơn đó

raishusaku
09-06-2009, 22:59
Có thể cho mình link đến trang nào có dạng câu hỏi thế này
viết chương trình pascal giải pt bằng phương pháp cramer
phương trình có dạng sau
/ x1 + x2 + x3 = a
l x1 + x2 + x3 = b
\ x1 + x2 + x3 = c

mai mình phải thi rồi

cuonghoa003
10-06-2009, 20:12
ai du trinh lam ho minh bai nay nha can gap' :
Viết chương trình nhập vào một mảng a, có n phần tử. .In ra mảng con tăng ngặt dài nhất trong mảng a.

nhat_truong
14-06-2009, 23:17
Hỏi gì như tát nước vào mặt, ai trả lời hết nỗi các câu của mấy người

king_lord
15-06-2009, 14:24
các bác giúp em bài này với nha,làm nhanh nhanh dùm mai em còn đi nộp.
Viết chương trình nhập vào 1 xâu có tối đa 150 ký tự và đếm xem trong xâu đó có bao nhiêu chữ "a".
các bác giúp em nha.thanks trc.

nhat_truong
15-06-2009, 15:44
các bác giúp em bài này với nha,làm nhanh nhanh dùm mai em còn đi nộp.
Viết chương trình nhập vào 1 xâu có tối đa 150 ký tự và đếm xem trong xâu đó có bao nhiêu chữ "a".
các bác giúp em nha.thanks trc.



Program kitu_a;
Var s: String[150];
i,d: Byte;
Begin
Write('Nhap xau: ');
Readln(s);
d:=0;
For i:=1 to length(s) do
If s[i]='a' then inc(d);
Writeln('So ki tu a: ',d);
Readln;
End.


Nếu chương trình yêu câu đếm cả kí tự 'A' thì sửa s[i]='a' thành upcase(s[i])='A'

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


Có thể cho mình link đến trang nào có dạng câu hỏi thế này
viết chương trình pascal giải pt bằng phương pháp cramer
phương trình có dạng sau
/ x1 + x2 + x3 = a
l x1 + x2 + x3 = b
\ x1 + x2 + x3 = c

mai mình phải thi rồi

Phải thế này mới đúng chứ:


a1*x + b1*y + c1*z = d1;
a2*x + b2*y + c2*z = d2;
a3*x + b3*y + c3*z = d3;





Program cramer;
Uses crt;
Var a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3: Real;
D,Dx,Dy,Dz,x,y,z: Real;
Begin
Clrscr;
Write('Nhap a1,b1,c1,d1: '); Readln(a1,b1,c1,d1);
Write('Nhap a2,b2,c2,d2: '); Readln(a2,b2,c2,d2);
Write('Nhap a3,b3,c3,d3: '); Readln(a3,b3,c3,d3);
D := (a1*b2*c3 + a2*b3*c1 + a3*b1*c2) - (a3*b2*c1 + a2*b1*c3 + a1*b3*c2);
{Tương tự tính Dx, Dy, Dz}
If D=0 then
If (Dx=0)and(Dy=0)and(Dz=0) then Writeln('Hệ phương trình có vô số nghiệm')
Else Writeln('Hệ phương trình vô nghiệm')
Else
Begin
x:=Dx/D; Writeln('x = ',x:10:2);
y:=Dy/D; Writeln('y = ',y:10:2);
z:=Dz/D; Writeln('z = ',z:10:2);
End;
Readln;
End.


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


có ai không
giúp mình câu này:
viết chương trình xóa kí tự trắng bên phải cảu một xâu nhập từ bàn phím.
Ví dụ: ' HOGUOM ' -> ' HOGUOM';
' HOGUOM' -> ' HOGUOM';
Thank trước!



Program xoa_trang;
Var s: String;
i: Byte;
Begin
Write('Nhap xau: ');
Readln(s);
i:=length(s);
While s[i]=' ' do
Begin
delete(s,i,1);
dec(i);
End;
Writeln('Xau kq: ',s);
Readln;
End.


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


Tính tổng:
1+1/2+1/3+...+1/n
1-1/2-1/3-1/4-..-1/n
1-1/2+1/3-1/4+..-1/n
1+1/2-1/3+1/4-..+1/n
có thể sử dung lệnh for... do
hoặc while...do
các anh chị ơi giúp em với ,con 1 ngày nữa thôi

Đơn giản thôi


Program tinh_tong;
Uses crt;
Var n: Integer; kq: Real;
Begin
Clrscr;
Write('Nhap n: '); Readln(n);
Write('Vượt ngoài khả năng của máy. Vui lòng nhập luôn kết quả: '); Readln(kq);
Writeln('kq = ',kq10:2);
Writeln('Đúng sai bạn tự chịu trách nhiệm');
Readln;
End.


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


viết chương trình đọc file dulieu.txt chứa các số nguyên , các số nguyên cách nhau một khoảng trắng .sau đó in các số nguyên tố ra màn hình ( sử dụng chương trình con )



Program nt;
Var f:Text;
n:Longint;

Function ktnt(n:Longint):Boolean;
var i:Integer;
begin
ktnt:=false;
for i:=2 to trunc(sqrt(n)) do
if n mod i = 2 then exit;
ktnt:=true;
end;

Begin
assign(f,'dulieu.txt'); reset(f);
writeln('Cac so nguyen to trong day la:');
while not eof(f) do
begin
read(f,n);
if ktnt(n) then write(n,' ');
end;
close(f);
readln
End.

quangtq
25-06-2009, 12:05
Program xoa_trang;
Var s: String;
i: Byte;
Begin
Write('Nhap xau: ');
Readln(s);
i:=length(s);
While s[i]=' ' do
Begin
delete(s,i,1);
dec(i);
End;
Writeln('Xau kq: ',s);
Readln;
End.



Mệt quá, sao phải thế nhỉ.
1 câu duy nhất: While s[Length(s)]=' ' do Delete(s,length(s),1);

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

Tính tổng:
1+1/2+1/3+...+1/n
1-1/2-1/3-1/4-..-1/n
1-1/2+1/3-1/4+..-1/n
1+1/2-1/3+1/4-..+1/n
có thể sử dung lệnh for... do
hoặc while...do

1.


s:=0; For i:=1 to n o s:=s+1/i;

2.


s:=0; For i:=1 to n do s:=s-1/i;

3.


s:=0; j:=1;
For i:=1 to n do
Begin s:=s+(1/i)*j; j:=-j; End;

4.


s:=1; j:=1;
For i:=2 to n do
Begin s:=s+(1/i)*j; j:=-j; End;

Thanks nhá

hayate_amasaki
25-06-2009, 16:19
Mời các thử bài này: Cho A[A1, A2…An].Phép nén là phép tạo ra dãy A còn n-1 phần tử và các phần tử trong dãy mới được tạo ra theo qui tắc bằng Ai*Ai+1. Nén n-1 lần sẽ được 1 số nén Z
VD
Dãy A:1 2 3 4 5
Nén lần 1:2 6 12 20
Nén lần 2:12 72 240
Nén lần 3:864 17280
Nén lần 4:14929920
Yêu cầu; Cho dãy A gồm N số tự nhiên lien tiếp (N<=100). Xác định số chữ số 0 ở tân cùng bên phải của số nén Z
Zero.in: ghi N
Zero.out: ghi số chữ số 0

Zero.in
5
Zero.out
1
Edit/Delete Message

strawhero
13-07-2009, 22:17
bài này dạng số lớn.
z là số nén. Thông thường với n nhỏ thì chỉ cần nhân vào rồi tính số 0 ở tận cùng. Nhưng n lớn thì sẽ ko thể.
khới trị: z=1;
mỗi lần z nhân 10 thì sẽ có thêm một chữ số 0 bên phải. Vậy số chữ số 0 sẽ bằng số lần z nhân với thừ số 10 trong các số từ 1 đến n
Mà 10=2*5;
cho nên số thừa số 10 sẽ bằng số cặp thừa số (2,5). Mà từ 1 đến n thì số thừa số 2 luôn lớn hơn số thừa số 5.
Tóm lại, số chữ số 0 bên phải bằng số thừa số 5 trong dãy 1..n
Lưu ý: 5 có một thừa số 5, 10 có một thừa số 5, 25 có 2 thừa số 5.
Với thuật toán trên thì có thể làm với n rất lớn (n<=10^6). Nhưng cần phải chú ý cải thiện ở vòng lặp để rút ngắn thời gian.

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

Không hiểu xâu lưu trữ kiểu gì mà có lỗi này lạ khó hiều quá:
đoạn ct sau:
var s,t:string;
i:byte;
begin
t:='abc';
s:='';
for i:=1 to 3 do
s[i]:=t[i];
end.
đoạn ct trên đúng lý sẽ lưu 3 giá trị trên xâu t qua xâu s. Tức là s='abc'.
Nhưng thực tế thì xâu s vẫn là xâu rỗng: s='';
còn đoạn sau lại có hiệu quả:

var s,t:string;
i:byte;
begin
t:='abc';
s:='';
for i:=1 to 3 do
s[i]:=s+t[i];
end.
Kết quá ct trên thì s='abc';
ai có thể giải thích sự khác nhau giữa 2 ct trên không.
Giải thích luôn vì sao xâu lại không thể gán trực tiếp s[i]:=c được (c là char)

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

ghi thuật toán chắc các bạn khó hiểu. Có ct luôn nè:

var x,s,n:word;
procedure nhap;
begin
readln(n);
end;
function mu(x:word):word;
begin
mu:=0;
while x>=5 do
begin
x:=x div 5;
inc(mu);
end;
end;
procedure xuli;
var k,i:word;
begin
s:=0;
k:=n div 5;{*}
for x:=1 to k do
begin
if (x mod 5)=0 then
inc(s,mu(x)+1)
else inc(s);
end;
end;
procedure xuat;
begin
writeln('co ',s,' chu so 0 ben phai so nen:');
readln;
end;
begin
nhap;
xuli;
xuat;
end.

chú ý ở câu lệnh (*): k:=n div 5;
dùng lệnh này kết hợp với đoạn CT dưới sẽ thu gọn vòng lặp để tiết kiệm thời gian (như đã nói ở trên). Vòng lặp vẫn có thể thu gọn bằng đệ quy để cực tiểu n. Nhưng sợ các bạn khó hiểu nên chỉ dùng PP cơ bản này thôi.

7aijoo
14-07-2009, 18:54
chương trình lớp 11 thì làm khỉ gì đến cấp này (ko chơi chuyên chọn gì nhá)
cho hỏi tí, inp là 5 thì dãy đó là 1 2 3 4 5 huh ? vậy thì 10 là 1 ->10 đúng ko ? hay là inp fai~ nhập vào từng phần tử ?
nếu là 1 2 3... thì đây ko phải dạng bài xử lí dữ liệu đâu, nó là thằng "cho gì làm nấy" đó chú straw, dạng này toàn chơi công thức, mẹo riêng chứ ko phải xử lí dữ liệu đâu ^^

ack ack... cái đề cỡ đó mà chú Straw vik code có nhiu đó là nghi rồi... ai dè đúng là chú ta lấy Z = n! (1*2*3*...*n) ---> big mistake >"<
nghĩ cho cùng thì... cái đề phải đơn giản vậy mới hợp với trình độ 11 bình thường nhưng rõ là đề không phải vậy rồi... ^^!

bld
16-07-2009, 09:40
hề , đã bảo là cẩn thận mà , tính giai thừa số số 0 ở cuối có gì là khó , khó là đề này khác hoàn toàn
quan trọng là đếm thôi
1*2*3*4*5
1*2 2*3 3*4 4*5
1*2*2*3 2*3*3*4 3*4*4*5
1*2*2*3*2*3*3*4 2*3*3*4*3*4*4*5
1*2*2*3*2*3*3*4*2*3*3*4*3*4*4*5
số số 0 cần xét là nằm trong dãy cuối
nhận xét : số đầu và số cuối luôn xuất hiện 1 lần trong dãy tích
số lần xuất hiện của các số trong bước nén n-1 = của bước nén n-2
bài này các số có tính chất lây nhiễm qua các dãy tích , nói ngắn gọn thế này số nào nắm ở dãy tích ngoài rìa thì chỉ xuất hiện 1 lần duy nhất , các số còn lại luôn được nhân 2 về số lượng , có thể mô ta các bước nhân rồi đếm hoặc viết công thức (hoàn toàn có thể) nhưng rắc rối , không rãnh ^^

Thieu Phong
25-07-2009, 10:46
Cho mình hỏi QHĐ trạng thái là gì vậy? Nó có trong sách giáo khoa ko? Nếu có thì sách gì, lớp mấy vậy các bạn?

7aijoo
26-07-2009, 15:26
cái chỗ chú ko hiểu về xâu (tách ra làm 2 bài viết vì vấn đề khác nhau ha)

đơn giản thôi mà
xâu (string - chuỗi) gồm n kí tự sẽ đc thằng pascal hiểu ngầm là mảng n phần tử (mỗi phần tử là 1 char)

ban đầu xâu s của chú để s='' ; --> xâu rỗng tức là ko có mảng gì cả --> s[1],s[2].. ko tồn tại
còn thằng t='abc' tức là có 3 phần tử

for i:=1 to 3 do s[i]:=s+t[i] ;

i=1 --> s[1]

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

QHĐ là thuật giải bạn à
bạn tìm những cuốn sách về pascal kiểu "thuật toán, thuật giải" sẽ có giải thích về QHĐ
chương trình đại học cũng sẽ có QHĐ

p1995
18-08-2009, 16:59
mấy anh có biết thuật toán nào sắp sếp 1 số thành số đối xứng không?

ngocdung_93
22-08-2009, 20:45
wow. các bạn pro quá lớp 11 lên 12 hay sao vậy. tui mới 10 lên 11 nên mới bắt đầu chơi với Pascal thui. ai có mẹo jì cho tui hay với

binhqb12
25-08-2009, 20:56
Mjnh` la` HS lop' 9
Aj co the? giup' mjnh` lam` nhung~ baj` sau:
1)Nhap 1 mang? n phan tu;Nhap m;Tim` xem trong mang? n co' m so ljen tjep nao` co tong? lon' nhat'.

2)Nhap 1 mang? n phan tu;Nhap m;Tim` xem trong mang? n co' m so ljen tjep nao` co tong? nho? nhat'.

3)Nhap 1 mang? n phan tu. Jn ra man` hjnh`mang? do' nhu sau
a[1] a[2]^2 a[3]^3 ......a[n]^n.

3)Nhap n tu an phim. In ra man` hjnh` nhu sau:
a1! a2! a3!....an!;
Ai lam` nhung~ bai` tren thj` help nha :D

phongcnttd
25-08-2009, 22:42
Các sư huynh nào giải được bài toán này ko"tổng của 3 số là 4208, cho bíet số thứ nhất gấp 3 lần tổng 2số kia và khi dem chia số thứ 2 cho số thứ 3 thì dc thưong la 4 dư 2 .tìm số thứ 3".

hang_vt
27-08-2009, 19:06
x+y+z=4208
x=3(y+z)
y mod z = 2
y div z = 4

for i:=1 to 4208 do
if {thỏa mãn n~ điều kiện ở trên} then
{in ra x,y,z}

quangtq
28-08-2009, 17:50
1. 3 số x,y,z mà chạy có 1 vòng là sao chị?
2. Vét lâu quá. Có cách nào khác ko nhỉ?
Ko có giấy ở đây. Tí nữa thử lập HPT ra xem.
:D

vuatintac
28-08-2009, 18:01
Đã lâu rồi mình không ngồi tính toán lại những con số va những phép toán thế này.

Hòi đó mình học c, có quyển C++ trong 21 ngày, gần như là sách gói đầu nằm!

hang_vt
29-08-2009, 23:29
uhm , 3 for :)
đừng suy nghĩ cao siêu quá , 3 for là đủ xài ùi e :) . Quay lui thì tới bao h` vì bài toán có rất nhiều dk + tổng lên tới 4208

quangtq
30-08-2009, 15:45
Uhm. Em cũng chưa nghĩ ra cách nào khác :D
Em đâu định bảo quay lui. Quay lui thì chậm hơn 3f là chắc.
Dù sao cách này cũng phải ngồi chờ :D
Có cách nào tầm ~2s thì tốt :D

mr_invincible
31-08-2009, 23:26
x+y+z=4208
x=3(y+z)

=> 4(y+z) = 4208
=> y+z = 1052

for z => y => x
=> 1 vòng for

kid_0850
03-09-2009, 20:16
chao kak bak.cho em hoi ti:cach viet chuong trinh tim so trung binh cong kua 4 so bat ki.thank may bak truong nha.

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

cho hoi: chuong trinh tinh so trung binh cong kua 4 so bat ki

quockiet2525
19-09-2009, 16:02
chao kak bak.cho em hoi ti:cach viet chuong trinh tim so trung binh cong kua 4 so bat ki.thank may bak truong nha.

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

cho hoi: chuong trinh tinh so trung binh cong kua 4 so bat ki

vậy mà cũng hỏi thuong quá đi
code:
var
a,b,c,d:integer;
tb:real;
begin
writeln('nhap bon so a,b,c,d');readln(a,b,c,d);
tb:=(a+b+c+d)/4;
Writeln('trung binh cua bon so a,b,c,d',tb);
readln;
end.

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

nho cam on minh nhe, quockiet2525@yahoo.com.vn
đi không đổi danh,ngồi không đổi họ,chết cũng không đỗi mail.

tinhcabuon.end10
27-09-2009, 23:14
jup mình bài này nha
Nhập vào n số, cho ra kết wa là các số chẵn

quangtq
28-09-2009, 18:02
ek :|


For i:=1 to n do If (a[i] mod 2 = 0) then Write(A[i]:5);

manungudoc
10-10-2009, 16:54
Bạn nào giải hộ mình bài này với. Đề bài là: Nhập số nguyên dương n từ bàn phím, rồi tìm 2 số tự nhiên a và b sao cho n=a+b và f=a*b^2 lớn nhất.
Giúp mình càng nhanh càng tôt nhé. Thanks trước .

quangtq
10-10-2009, 21:02
Cách đơn giản nhất là vét thôi.
Còn f=a * (b^2) hay (a*b)^2
Nếu là a*(b^2) thì a=b^2 còn ko thì a=b

swrodman
15-10-2009, 19:00
bạn nào giải dùm mình bài này với:
nhập 1 dãy n số thực,xét xem dãy có đối xứng không,nếu không xét xem có thể cắt thành 2 đoạn đối xứng không.

truongmaitrang
19-10-2009, 09:34
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/6971927/tailieupascal.rar.html
Chúc diễn đàn ngày càng phát triển.
Edit/Delete Message

trang_sakura
19-10-2009, 21:44
Bài 1:lập chương trình tính tổng
S= 1+1/3!+1/5!+.....+1/(2n+1)! với n>=1
cho tới khi in kết quả ra màn hình
Bài 2:lập chương trình
A=n!/k!(n-k)! (n>=k)
Bài 3:Lập chương trình , nhập vào từ bàn phím số tự nhiên xem số đó có phải là số nguyên tố không?
Bài 4: lập chương trình , nhập vào từ bàn phím một số nguyên rồi đưa ra màn hình số chữ số của số nguyên đó!

songohan2009
19-10-2009, 21:50
1/
var
i , n : longint;
s : real;
giaithua : array[0..12] of longint;

begin
write('Nhap N: ');
readln(n);
giaithua[0] := 1;
for i := 1 to n*2 do
giaithua[i] := giaithua[i-1]*i;
s := 0;
for i := 1 to n do
s := s + 1/giaithua[i*2+1];
write('S = ',s);
readln;
end.


2/
var
i : longint;
k , n : longint;
giaithua : array[0..12] of longint;

begin
write('Nhap N: ');
readln(n);
write('Nhap K: ');
readln(k);
giaithua[0] := 1;
for i := 1 to n do
giaithua[i] := giaithua[i-1]*i;
write('A = ',(giaithua[n] div giaithua[k]) div giaithua[n-k]);
readln;
end.


3/
var
flag : boolean;
i , n : longint;

begin
write('Nhap n: ');
readln(n);
flag := true;
for i := 2 to trunc(sqrt(n)) do
if n mod i = 0 then
begin
flag := false;
break;
end;
if flag then write('N la So Nguyen To')
else write('N ko la So Nguyen To');
readln;
end.


4/
var
n : longint;
s : string;

begin
write('Nhap n: ');
readln(n);
str(n,s);
write('Do dai so nguyen N la: ',length(s));
readln;
end.

trang_sakura
19-10-2009, 22:09
Cảm ơn songohan 2009 nha!

trang_sakura
22-10-2009, 19:57
câu 1:so sánh sự khác nhau của câu lệnh if then (tiến) và while do
câu 2:
2000+1+1/2^2+1/3^2+......+1/n^2
với n là giá trị nhập từ bàn phím ,
lập chương trình và đưa kết quả ra màn hình

lastcreate
24-10-2009, 09:43
câu 1:so sánh sự khác nhau của câu lệnh if then (tiến) và while do
câu 2:
2000+1+1/2^2+1/3^2+......+1/n^2
với n là giá trị nhập từ bàn phím ,
lập chương trình và đưa kết quả ra màn hình

1. Lệnh If then là lệnh dùng để kiểm tra điều kiện, tùy theo điều kiện mà thực hiện những khối lệnh khác nhau, lệnh While do là lệnh lặp vòng lặp của một khối lệnh sẽ được thực hiện cho đến khi điều kiện của vòng lặp đúng (hoặc là sai bạn kiểm tra lại lâu quá ko nhớ nữa ).
2.
a. Tạo biến Tong kiểu Real, và biến i kiểu Interger

<<Nhập n>>
Tong := 2000;
For i:=1 to n do
begin
Tong = Tong + 1/(i^2); ("^" = hàm sqr nhưng cách dùng thì ko còn nhớ nữa)
end

kieu tam
28-10-2009, 12:47
Bài của em chắc là không có gì khó với các anh chị nhưng mà với em thì lại....khó vô cùng. Em mới học lập trình nên chưa hiểu lắm. Có đề bài này thầy kiểm tra mà em chưa biết làm sao cả..........??? Các anh chị giúp em với! Càng nhanh càng tốt, mai em kiểm tra rồi!Cảm ơn nhiều lắm ạ!
Đề là: Cho N là một số nguyên dương. Xác định tính nguyên tố của nó.
Giúp em với! Thầy bảo là viết hẳn chương trình ra ạ!

ngoxxuan
05-11-2009, 22:29
viet chuong trinh nhap tu ban phim so nguyen duong n va day a co n so nguyen co gia tri tuyet doi < 1000 .cho biet day a co phai la mot cap so cong khong va thong bao ra man hinh lam nhu the nao neu khong dung repeat- until
may anh chi giup em voi mai em co gio rui

vinhanthekimoi
07-11-2009, 16:57
Bài của em chắc là không có gì khó với các anh chị nhưng mà với em thì lại....khó vô cùng. Em mới học lập trình nên chưa hiểu lắm. Có đề bài này thầy kiểm tra mà em chưa biết làm sao cả..........??? Các anh chị giúp em với! Càng nhanh càng tốt, mai em kiểm tra rồi!Cảm ơn nhiều lắm ạ!
Đề là: Cho N là một số nguyên dương. Xác định tính nguyên tố của nó.
Giúp em với! Thầy bảo là viết hẳn chương trình ra ạ!

for i:=2 to n-1 do if x div i=0 then writeln('x khong phai so nguyen to')
else writeln('x la so nguyen to');

tui nghĩ là chắc bạn bít viết những thứ còn lại

songohan2009
09-11-2009, 00:49
for i:=2 to n-1 do if x div i=0 then writeln('x khong phai so nguyen to')
else writeln('x la so nguyen to');

tui nghĩ là chắc bạn bít viết những thứ còn lại

Tui chắc chắn bạn sẽ bị 0đ nếu dùng code này. (kể cả thêm "begin end." + phần khai báo) :)

andrei2
15-11-2009, 15:06
ai làm giúp em câu hỏi này mai thi rùi
Tổng S=1/a + 1/a+2 + 1/a+3 +...+ 1/a+100
Cảm ơn nhiều

windy123
17-11-2009, 23:20
Ai biết cách làm 2 bài này thì hướng dẫn cho em với. Em cảm ơn nhiều
Bài 1 :Viết chương trình nhập vào một dãy các số nguyên gồm M số (M<= 200) với mỗi số trong dãy không vượt quá 32000. Xuất dãy đã nhập trên hàng ngang và số phần tử là số âm trong dãy.
Bài 2: Viết chương trình nhập vào một dãy các số nguyên gồm M số (M<= 200) với mỗi số trong dãy không vượt quá 32000. Xuất dãy đã nhập trên hàng ngang và số phần tử là số chẵn dương trong dãy.

tuyettamtuyetnga
20-11-2009, 22:02
Bài của windy giải như sau,chắc bạn mới học nên mình cũng viết đầy đủ giùm
var m:byte; a:array[1..200]of integer;
begin
write('nhap M'); readln(m);
for i:=1 to m do
begin write('nhap a[',i,']'); readln(a[i]);
if a[i]>0 then write(a[i],' ');
end;{phần tử dương}
end;{phần tử âm thì đổi dấu lại}

nhungkethichdua`
25-11-2009, 19:57
bac nao giup em dc bai nay ko? Kho wa:
Dãy đơn điệu không giảm dài nhất.
Cho mảng A gồm N phần tử nguyên, hãy xóa đi một số ít nhất các phần tử của mảng để những phần tử còn lại lập thành một dãy không giảm dài nhất.
Dữ liệu vào: file văn bản DAYKG.INP
- Dòng đầu là số nguyên N (1<=N<=30000)
- Tiếp theo là N số nguyên lần lượt từ phần tử đầu đến phần tử cuối cảu dãy.
Kết quả ra: file văn bản DAYKG.OUT
- Dòng đầu là số K là số lượng phần tử giữ lại.
- Tiếp theo là K dòng mỗi dòng ghi 2 số: số thứ nhất là giá trị phần tử giữ lại, số thứ hai là chỉ số (trong mảng ban đầu) của phần tử được giữ lại này

Hj3pkhAch
25-11-2009, 21:12
Mấy anh cho em vài ví dụ về cái lặp với số lần bik trước và ko bik trước cái hôm nọ ông thầy khác vào dạy thay ngồi làm phát nhìn mặt đứa nào cũng ngu như đứa nào ...

songohan2009
25-11-2009, 21:24
bac nao giup em dc bai nay ko? Kho wa:
Dãy đơn điệu không giảm dài nhất.
Cho mảng A gồm N phần tử nguyên, hãy xóa đi một số ít nhất các phần tử của mảng để những phần tử còn lại lập thành một dãy không giảm dài nhất.
Dữ liệu vào: file văn bản DAYKG.INP
- Dòng đầu là số nguyên N (1<=N<=30000)
- Tiếp theo là N số nguyên lần lượt từ phần tử đầu đến phần tử cuối cảu dãy.
Kết quả ra: file văn bản DAYKG.OUT
- Dòng đầu là số K là số lượng phần tử giữ lại.
- Tiếp theo là K dòng mỗi dòng ghi 2 số: số thứ nhất là giá trị phần tử giữ lại, số thứ hai là chỉ số (trong mảng ban đầu) của phần tử được giữ lại này

Bạn có thể làm theo bài: "Dãy con tăng dài nhất" trong cuốn DSAP của thầy LMH. N<=30000 thì làm với độ phức tạp O(NlogN). Sau khi QHĐ bạn truy vết những phần tử nào được giữ lại. Bài này là bài cơ bản của QHĐ mà. :D

nhungkethichdua`
30-11-2009, 12:01
songohan2009 co the noi ro hon ko? minh van chua bit gu nhieu ve QHĐ ca

hokimngan
05-12-2009, 23:10
Toi khong hieu dau ** trong bai 29. Ai co the giup toi khong

boy_giangho
09-12-2009, 08:55
ai có thể giải bài này cho mình với dc kô
viết chương trình đưa ra màn hình tam giác pascal
1
1 1
1 2 1

dungduyit
09-12-2009, 23:08
dùng biến i:1..n
với mỗi i: Nếu i chẵn dùng
j:1..(i div 2)
write(j){nửa đầu}
và j: (i div 2+1)..1
write(j){nửa sau}
còn nếu i lẻ:j:1..(i div 2)
write(j){nửa đầu}
và j: (i div 2)..1
write(j){nửa sau}

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

Như bạn Songohan2009 đã hướng dẫn. Đây là bài quy hoạch động cơ bản
Chúng ta có thể cài đặt dữ liệu như sau:
Xây dựng 2 mảng D và TR
D[i] lưu độ dài của dãy kết quả khi bài toán chỉ xét dãy A1,A2...An và nó được tính theo công thức truy hồi
D[i]=Max(D[i],D[j]+1 mà j<i và Aj>=Ai}
và TR[i]=j là chỉ số (trong dãy ban đầu) của phần tử đứng ngay trước Ai trong dãy kết quả.
Cách tìm TR[i]: Duyệt mảng A từ vị trí 1 tới vị trí i-1,với vị trí j thỏa mãn D[j] lớn nhất và A[j]>=A[i]thì TR[i]=j.
Tổng quan về chương trình
Khởi trị: TR[1]=0;D[1]:=1;{Cơ sở của QHD}
Khi duyệt ngược tìm kết quả ta làm như sau:
Tìm phần tử lớn nhất trong D, giả sử là D[i], ta đổi dấu D[i] coi như đánh dấu nó, tìm tiếp phần tử j=TR[i], lại đổi dấu D[j]. Quá trình cứ như thế lùi cho tới khi j=0.
- Đây chỉ là bước khởi đầu để cài đặt 1 bài bằng QHD. Với bài trên N=30000 chúng ta phải có những bước "làm tốt" để tối ưu thuật toán cũng như việc tổ chức dữ liệu

candy.baby.tu
13-12-2009, 21:41
minh mới học pascal nên hơi gà
các bạn giúp hộ mình bài này nha(dey là bai thi học kì của mình)
100 con trâu và 100 bo cỏ
trâu nằm ăn 3
trâu đứng ăn 5
3 con trâu già ăn 1
chỉ sử dụng lệnh while--do thui nha
các bạn trả lời nhanh hộ mình nhá mình sắp thi rui huhu
thank ka? nha` mình nhiu nhiu nha

minhtuan_265
14-12-2009, 00:01
minh co bai tap muon nho cac ban giai giup
viet ct doi cac so nguyen duong trong he thap phan tu 1->n ra cac so tuong ung trong he nhi phan

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

ban nao biet giup minh voi nhe
thanks nhieu

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

ban nao biet giup minh voi nhe
thanks nhieu

nhokdragon94
14-12-2009, 15:19
Bài này cứ dùng
while i<>0 do
begin
t:=t*10+i mod 2;
i:=i div 2;
end;
sau đó đổi ngược số t lại xong

candy.baby.tu
14-12-2009, 20:21
các bạn làm hộ mình bài 100 trâu 100 bó với 1 ngày nữa là mình thy oy huhu

nhokdragon94
15-12-2009, 16:25
@baby
Cái này bàn nhìu roài Baby http://ddth.com/showthread.php?t=153945

Còn mún dùng while do thì đổi đoạn for... do (3 cái dòng x,y,z) thành while (x<=100) and (y<=100) and (z<=100) do
begin
If ...........;
x:=x+1; y:=y+1; z:=z+1;
end;

Sau đóa xuất x,y,z ra :D làm thủ nhaz baby

candy.baby.tu
15-12-2009, 21:56
@baby
Cái này bàn nhìu roài Baby http://ddth.com/showthread.php?t=153945

Còn mún dùng while do thì đổi đoạn for... do (3 cái dòng x,y,z) thành while (x<=100) and (y<=100) and (z<=100) do
begin
If ...........;
x:=x+1; y:=y+1; z:=z+1;
end;

Sau đóa xuất x,y,z ra :D làm thủ nhaz baby

thank nhokdragon94 nhiu` nhiu nha' hi`hi`

tuan.tuan
16-12-2009, 17:20
Giúp tui bài này nha
1. Nhập vào mảng gồm 25 phần tử nguyên dương. In ra màn hình
- Giá trị lớn nhất, giá trị nhỏ nhất, vị trí của chúng trong mảng
- Mảng là các số chẵn

knowledgequeen
01-01-2010, 19:48
ai giúp em bài này với thanks trước nha mọi người
Mỗi phân số được lưu trong một bản ghi có 2 trường tử và mẫu:
1)Hãy tổ chức kiểu dữ liệu tương ứng và viết thủ tục để cộng, trừ, nhân, chia và rút gọn phân số.
2)Nhập mảng n phân số:
a)Liệt kê các phân số tối giản.
b)Tìm phân số có tử và mẫu lớn nhất.
c)Tìm cặp số(cặp phân số) mà tích của chúng bằng 1.
d)Tìm phân số mà tử và mẫu là các số nguyên tố, cặp phân số có tổng bé nhất.

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

làm gấp cho em đi mấy bác em cảm ơn nhiều nhiều

trunghieu688
02-01-2010, 22:52
Chương trình giải phương trình bậc hai của mình nè (tổng hợp các trường hợp của ptb2 luôn chứ không bỏ qua phần a=0, b=0, c=0 và a=0, b=0, c<>0 như trong sách giáo khoa)!!!
http://www.ziddu.com/download/8098569/GPTB2_THC.exe.html
Anh em nào thích thì code đây đảm bảo 100% là đúng:
http://www.ziddu.com/download/8098677/programTHC.pdf.html
Code chuong trinh xep loai hoc sinh day du cac mon danh cho ban KHTN:
http://www.ziddu.com/download/7996932/Xeploai_THC.pdf.html

knowledgequeen
03-01-2010, 11:59
làm luôn cho em đi mấy bác^^ vào mấy cái này mà có được đâu giúp em đi mà thứ 2 nộp rồi hạn cuối là thứ 3 hic hic

manhdoanpro
05-01-2010, 22:36
viet chuong trinh nhap tu ban phim so nguyen duong n va day a co n so nguyen co gia tri tuyet doi < 1000 .cho biet day a co phai la mot cap so cong khong va thong bao ra man hinh lam nhu the nao neu khong dung repeat- until.
Minh da kiem tra chuong trinh cua may ban o tren, ket qua sai.
Ban nao sua lai giup minh voi. Thanks!

@doremon
09-01-2010, 23:15
Các bạn giúp tớ mấy bài này với
1.giải pt bậc nhất :ax+b>0
2.Đọc từ bàn phím một số nguyên n (1=<n=<5) .Chỉ ra cách viết bằng tiếng Anh của số đó (Chẳng hạn , nếu gõ n=2 thì đưa ra 2= two)
3.Đọc từ bàn phím số tự nhiên N .Xếp các dẫu * thành tam giác cân N dòng
4. Nhập vào 1 dãy só nguyên từ bàn phím cho đến khi gặp số 0 rồi tính tổng các số dương và trung bìn cộng của các số âm
5.Tìm số nguyên lớn nhất t/m đk:
-4n +151 \sqrt{n}+3 >=0

p/s:cảm ơn các bạn

man_united763
12-01-2010, 21:27
mọi người giúp em làm bài này với (kiểu bản ghi)
cho các thông tin: họ tên, lớp, điểm học kì 1 , điểm học kì 2,. hãy viết chương trình nhập các thông tin trên và cho biết thứ hạng của từng học sinh.

nhok12
14-01-2010, 19:39
giup minh bai nay voi: viet chuong trinh nhap vao day so nguyen. tim day con tang lon nhat

delete101020
21-01-2010, 09:17
Chỉ nên hướng dẫn những bài khó thôi, đâu cần phải chỉ rõ cả những bài dễ nữa!

eisuke
24-01-2010, 10:30
jup mjh` baj` naz vs: viết chương trình nhập vào tên họ của một người, in ra màn hình với các chữ cái đầu thành chữ hoa, chữ con` lại là chữ thường
thankssssssssss

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

viết chương trình đếm số chư của 1 số nguyên n
jup' mjh` vs noaa pa` kon

trantienmobil_ht
25-01-2010, 19:23
mình làm b2 thế này ko bit có dc ko? có gi xin thứ lỗi nhe!mình cũng vừa học pascal mà
uses crt;
var n:longint;
s:byte;
begin
clrscr;
write ('nhap n ');readln (n);
s:=1;
while (a div 10)<>0 do
begin
a:=a div 10;
s:=s+1;
end;
write ('so cac chu so cua n la',s);
end.
(*yahoo:trantien_pp*)

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

bài của manhdoanpro đây kiểm tra lại hộ mình nhé!
uses crt;
var A:array[1..300] of integer;
i,n:integer;
begin
clrscr;
write ('nhap so luong phan tu n: ');readln(n);
for i:=1 to n do
begin
write ('moi ban nhap phan tu thu ',i,':');readln(a[i]);
end;
for i:=2 to n-1 do
if (a[i]=(a[i+1]+a[i-1])/2 then write ('day so la cap so cong')else
write ('day so ko la cap so cong');
readln;
end.
(*yahoo:trantien_pp*)

kitti
26-01-2010, 21:02
22222222222 chào mọi người, tui cũng mới học pascal nên còn gà mờ lắm mong mọi người giúp đỡ nha ^ ^

Chỉ nên hướng dẫn những bài khó thôi, đâu cần phải chỉ rõ cả những bài dễ nữa!

theo tui thì những bài dễ cũng nên chỉ rõ ra nếu ko những người mới học sao mà hiểu đc bản chất để biết cách làm :D

hinhvan98
02-02-2010, 10:19
Có bài toán đặt ra:
a x 1250 = x1
b x 1500 = x2
c x 20000 = x3
d x 30000 = x4
biết : a + b + c + d = e
x1 + x2 + x3 + x4 = j
Làm sao giải bằng pascal.

Procyon_24
02-02-2010, 22:16
Viết chương trình đưa ra màn hình ma trận gồm n hàng và n cột. (Sử dụng kiểu mảng 2 chiều nhé!)

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

Lap chuog trjh nhap ma tran vuog A ( co n hag, n cot ) vao may'. Cac phan tu? la so nguyen. Dua ra ma tran tam gjac' duoj' va ma tran tam gjac' tren cua A ra man hjh. Cac' du~ ljeu dc dua vao tu ban fjm'

cu_ba
02-02-2010, 23:40
cố học kĩ cú pháp. Viết các bài đơn giản trc. sau đó tự khắc viết dc các bài này

nhoc_lilom
04-02-2010, 14:39
híc các anh chị chỉ giúp mình cách làm bài này với
Thầy giáo phạt mình nếu ko làm được bài này thì sẽ cho mình 2 con ngỗng đó huhuhu mình ko biết xoay sở thế nào help me:
Cho 2 tệp :
1. Dulieu.Dat có ghi giá trị tính toán
2. Ketqua.txt lưu kết quả

câu 1: Cho a, b, c từ tệp 1. Nếu a, b, c là cạnh của 1 tam giác thì tính chu vi, diện tích đưa ra màn hình I a>0, b>0, c>0 then
Cầu: Lấy R từ tệp 1. nếu R>0 thì tính chu vi, diện tích, lưu kết quả vào ketqua.txt
P=3.14*2*R
S= 3.14*R*R

vnboyhow92
09-02-2010, 11:00
giai giup em bai nay voi:
cho so nguyen duong n va day so nguyen A1,A2...An.Dem so nguyen to co trong day.
ai bit giup em voi nha

nhatquyen
20-02-2010, 09:56
giải giùm e mấy bài tập
1\ viết chương trình đổi tiền,có các loại tiền 500,200,100,50,20,10,5,2,1.
Viết thủ tục nhap75 vào chương trình chính số tiền bằng ngàn và in ra số tờ tiền sao cho tổng số tờ là nhỏ nhất
2\ Điểm yên ngựa là phần tử bé nhất trong dòng và lớn nhất trong cột chứa nó .Cho ma trận a có kích thước m*n chứa các số nguyên, 1<=m,n<=50.Tìm phần tử yên ngựa của ma trận
3\viết chương trình sử dụng hàm để tính tổng S=1+2+3+...n
nhanh giùm em thứ hai em có tiết rùi

nhokdragon94
20-02-2010, 17:34
bài 3:
var S,n:integer;

function tong(S:integer):integer;
var i:integer;
begin
S:=0;
for i:=1 to n do
S:=S+i;
tong:=S;
end;

BEGIN
write('n= ');readln(n);
writeln('S= ',tong(S));
readln;
end.
Coi thử phải ko nhé :)

bup be barbie
25-02-2010, 14:44
to' hok bjk gjai bt cuoi chuong "Cac kiu du lieu" ( to' hok nho' trang bnhju? nhung muk bat dau sang chuong tep ve tt tep y ^_<)nhu the nao? hjx hjx . ban neo` bjk cach gjai pm to' ngay nak! to' xjn thank trc'

getnho
26-02-2010, 21:16
helppppppppppp
nhập vào từ bàn phím một xâu thay thế tất cả các cụm kí tự 'anh' bằng cụm kí tự 'em'

hamj
28-02-2010, 22:54
helppppppppppp
nhập vào từ bàn phím một xâu thay thế tất cả các cụm kí tự 'anh' bằng cụm kí tự 'em'
__________________________--
while pos('anh',s)<>0 do {chừng nào con 'anh' trong xau s thi con thuc hiện}
begin
vt:=pos('anh',s);
delete(s,vt,3);
insert('em',s,vt);
end;

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


jup mjh` baj` naz vs: viết chương trình nhập vào tên họ của một người, in ra màn hình với các chữ cái đầu thành chữ hoa, chữ con` lại là chữ thường
thankssssssssss
___________________________
while s[1]=' ' do delete(s,1,1); {chuẩn hóa =cách bỏ hết các
while s[length(s)]=' ' do delete(s,length(s)-1,1); dau cách thừa}
for i:=length(s) downto 2 do
if a[i]=' ' and a[i-1]=' ' then delete(s,i-1,1);
s:=' '+s;{cộng vào dau cách để đổi cả kí tự đầu thành chữ hoa}
for i:=1 to length(s) do
if a[i]=' 'then a[i+1]:=upcase(a[1+1]);

Trần Su
01-03-2010, 13:30
Viết chương trình nhập từ bàn phím số nguyên dương N (N=<100) và dãy A gồm N số nguyên A1,A2,...,An có giá trị tuyệt đối ko lớn hơn 1000. Hãy cho biết dãy A có phải là 1 cấp số cộng hay không và thông báo kết quả ra màn hình.[/QUOTE]

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

sao không hiểu gì hết trơn vậy giẩi lại y huhuhuuh

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

Câu 1: Cho mảng 2 chiều kích thước n n với các phần tử là những số nguyên . Tìm trong mỗi hàng phần tử lớn nhất đổi chỗ nó với phần tử có chỉ số hàng bằng chỉ số cột. Chương trình sau đây giải bài toán trên:

Program diag;
Var
N, i, j, Max, Ind, Vsp: integer;
A: array [1..15, 1..15] of integer;
Begin
Write (‘nhap N nho hon 15: ‘); readln (N);
For i:=1 to N do
For j:=1 to N do
Begin
Write (‘A[‘, i, ‘,’ j, ‘]= ‘); readln (A[i;j]); end;
End;
For i:=1 to N do
Begin
Max: = A[i,j]; Ind:=j;
For j:= 2 to N do
If A[i,j] > Max then
Begin
Max: = A[i,j]; Ind:= j
end;
Vsp: = A[i,j]; A[i;j]:= Max; A[i,Ind] :=Vsp; end;
For i:=1 to N do
Begin
Writeln;
For j:=1 to N do write (A[i;j] : 3); end;
Writeln
End.

Hãy sửa lại chương trình trên khi thay yêu cầu tìm kiếm trong mỗi hàng bằng tìm kiếm trong mỗi cột.

Bài 2:Chương trình sau đây thực hiện những gì?

Program BT8;
Const NMax=50;
Type Mass = array[1..NMax, 0..Nmax-1] of real;
Var A: Mass;
i, j, N: byte; C: real;
Begin
Write (‘nhap N = ‘); readln(N);
For i:=1 to N do
For j:= 0 to N-1 do
Begin
Write (‘A[‘,i,’,’,j,’ ]= ‘); readln (A[i,j]); end;
For i:=1 to N do
For j:=0 to N-1 do
Begin
C:= A[i;j];
A[i,j]:= A[N-i+1,j];
A[N-i+1,j]:= C;
End;
For i:= 1 to N do
Begin
For j:=0 to N-1 do write (A[i;j]:5:2,’ ‘);
Writeln; end; readln
End.

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

Câu 1: Cho mảng 2 chiều kích thước n n với các phần tử là những số nguyên . Tìm trong mỗi hàng phần tử lớn nhất đổi chỗ nó với phần tử có chỉ số hàng bằng chỉ số cột. Chương trình sau đây giải bài toán trên:

Program diag;
Var
N, i, j, Max, Ind, Vsp: integer;
A: array [1..15, 1..15] of integer;
Begin
Write (‘nhap N nho hon 15: ‘); readln (N);
For i:=1 to N do
For j:=1 to N do
Begin
Write (‘A[‘, i, ‘,’ j, ‘]= ‘); readln (A[i;j]); end;
End;
For i:=1 to N do
Begin
Max: = A[i,j]; Ind:=j;
For j:= 2 to N do
If A[i,j] > Max then
Begin
Max: = A[i,j]; Ind:= j
end;
Vsp: = A[i,j]; A[i;j]:= Max; A[i,Ind] :=Vsp; end;
For i:=1 to N do
Begin
Writeln;
For j:=1 to N do write (A[i;j] : 3); end;
Writeln
End.

Hãy sửa lại chương trình trên khi thay yêu cầu tìm kiếm trong mỗi hàng bằng tìm kiếm trong mỗi cột.

Bài 2:Chương trình sau đây thực hiện những gì?

Program BT8;
Const NMax=50;
Type Mass = array[1..NMax, 0..Nmax-1] of real;
Var A: Mass;
i, j, N: byte; C: real;
Begin
Write (‘nhap N = ‘); readln(N);
For i:=1 to N do
For j:= 0 to N-1 do
Begin
Write (‘A[‘,i,’,’,j,’ ]= ‘); readln (A[i,j]); end;
For i:=1 to N do
For j:=0 to N-1 do
Begin
C:= A[i;j];
A[i,j]:= A[N-i+1,j];
A[N-i+1,j]:= C;
End;
For i:= 1 to N do
Begin
For j:=0 to N-1 do write (A[i;j]:5:2,’ ‘);
Writeln; end; readln
End.

Huyết Hận
05-03-2010, 21:53
Chả là thế này,em sắp bị cử đi thi tin ở trường,thi thì cũng toàn trường với nhau thôi,thế nhưng đến lúc vào làm bài chả lẽ lại ngồi ngáp gió chơi dò mìn đến hết giờ thì cũng xấu hổ,vì thế xin anh em ai có bài tập về pascal nào hay hay,hay tuyển tập đề thi thì càng tốt,gửi cho em cho em có tài liệu mà ôn tập(mà có lời giải nha mọi người,không tự mò còn khổ hơn)
mail của em là:manhhung_2051993@yahoo.com
Thanks mọi người trước

khanh11b5
08-03-2010, 21:22
ai giup em giai bai tap nay voi :
vct so sanh 2 xau xem chung co:
-giong nhau ( vd baitap =bai tap)
-bang nhau( tuc length(a)=length(b) )
- lon hon
- nho hon

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

ai giup em giai bai tap nay voi :
vct so sanh 2 xau xem chung co:
-giong nhau ( vd baitap =bai tap)
-bang nhau( tuc length(a)=length(b) )
- lon hon
- nho hon
( trong 1ctrinh thoi nha)
em cam on mong rang mai la 9/3 em se co bai

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

mai em kiem tra huhu

thang_lv
09-03-2010, 23:16
Nhờ các bác làm bài này cho mình với làm ngay nha:
viết chương trình nhập vào một xâu s, tạo xâu s1 từ xâu s bằng cách xóa đi các ký tự giống nhau liên tiếp và chỉ lại một ký tự đại diện
VD: s=hhssiiiinhhh thì s1 là: hocsinh

nhokdragon94
11-03-2010, 08:34
Cũng dùng If S[i]=S[i+1] then del thui

Heroboss12
20-03-2010, 15:20
Nhờ các bác làm bài này cho mình với làm ngay nha:
viết chương trình nhập vào một xâu s, tạo xâu s1 từ xâu s bằng cách xóa đi các ký tự giống nhau liên tiếp và chỉ lại một ký tự đại diện
VD: s=hhssiiiinhhh thì s1 là: hocsinh

Đề sai rùi sao hhssiiiinhhh lại ra hocsinh dc phải ra hsinh chứ

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


giải giùm e mấy bài tập
1\ viết chương trình đổi tiền,có các loại tiền 500,200,100,50,20,10,5,2,1.
Viết thủ tục nhap75 vào chương trình chính số tiền bằng ngàn và in ra số tờ tiền sao cho tổng số tờ là nhỏ nhất
2\ Điểm yên ngựa là phần tử bé nhất trong dòng và lớn nhất trong cột chứa nó .Cho ma trận a có kích thước m*n chứa các số nguyên, 1<=m,n<=50.Tìm phần tử yên ngựa của ma trận

Bài 1:
var st:integer;
procedure xuly;
var tg:integer;
begin
tg:=0;
write('Nhap so tien can doi');
readln(st);
while st>=500 do
begin
tg:=tg+1;
st:=st-500;
end;
while st>=200 do
begin
tg:=tg+1;
st:=st-200;
end;
while st>=100 do
begin
tg:=tg+1;
st:=st-100;
end;
while st>=50 do
begin
tg:=tg+1;
st:=st-50;
end;
while st>=20 do
begin
tg:=tg+1;
st:=st-1;
end;
while st>=10 do
begin
tg:=tg+1;
st:=st-1;
end;
while st>=5 do
begin
tg:=tg+1;
st:=st-1;
end;
while st>=2 do
begin
tg:=tg+1;
st:=st-1;
end;
while st>=1 do
begin
tg:=tg+1;
st:=st-1;
end;
writeln(tg);
end;
begin
xuly;
end.
Bài 2:
var a:aray [1..100,1..50] of integer;
n,m:integer;
procedure nhap;
var i,j:integer;
begin
readln(m);
readln(n);
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
end;
function max(x,i:integer):boolean;
var j:integer;
begin
max:=false;
for j:=1 to n do
if a[i,j]>x then exit;
max:=true;
end;
function min(x,j:integer):boolean;
var i:integer;
begin
min:=false;
for i:=1 to m do
if a[i,j]<x then exit;
min:=true;
end;
procedure xuat;
var i,j:integer;
begin
for i:=1 to m do
for j:=1 to n do
if max(a[i,j],i) and min(a[i,j],j) then writeln(i,' ',j);
end;
begin
nhap;
xuat;
end.

Dihu
23-03-2010, 19:52
MỌI NGƯỜI ƠI< GIÚP MÌNH VƠI MAI CÓ BÀI KIỂM TRA

viêt chương trình Nhập một dãy số gồm n số nguyên (1=<n<=100) mỗi giá trị không vượt quá 300.tính tổng các giá trị chia hết cho k và v cho trước.sử dụng kiểu mảng, kiểu xâu

kid_0850
23-03-2010, 22:53
cho e hoi kai:viet chuong trinh tinh tong cua n so hang chia het cho 1 so k

p3_mjt_93
27-03-2010, 20:11
cho tớ hỏi bài này ( thi hs giỏi tỉnh tớ năm nay) : Cho nN quả cân khối lượng tương ứng là d1, d2,..., dn.Cho một vật có khối lượng K . Hỏi có thể cân vật đó trên một bàn cân có 2 đĩa với các quả cân hay không? Nếu được thì đưa ra phương án xử dụng nhiều quả cân nhất. Cho biết khối lượng các quả cân, vật là số nguyên dương và vật cần cân đc đặt ở bàn cân bên fải.
Dữ liệu: Vào từ file văn bản BAI4.INP, gồm:
- Dòng đầu tiên ghi 2 số nguyên dương K và N( K<10000, N < 50)
- Dòng tiếp theo ghi khối lượng các quả cân d1, d2,...dn( các số cách nhau một dấu cách)
Kết quả: GHi ra file văn bản BAI4.OUT, gồm:
- Dòng đầu ghi " cảntai" và "canphai"
- Các dong tiếp theo ghi khối lượng các quả cân được đặt bên trái và bên phải.

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

Cho nN quả cân khối lượng tương ứng là d1, d2,..., dn.Cho một vật có khối lượng K . Hỏi có thể cân vật đó trên một bàn cân có 2 đĩa với các quả cân hay không? Nếu được thì đưa ra phương án xử dụng nhiều quả cân nhất. Cho biết khối lượng các quả cân, vật là số nguyên dương và vật cần cân đc đặt ở bàn cân bên fải.
Dữ liệu: Vào từ file văn bản BAI4.INP, gồm:
- Dòng đầu tiên ghi 2 số nguyên dương K và N( K<10000, N < 50)
- Dòng tiếp theo ghi khối lượng các quả cân d1, d2,...dn( các số cách nhau một dấu cách)
Kết quả: GHi ra file văn bản BAI4.OUT, gồm:
- Dòng đầu ghi " cảntai" và "canphai"
- Các dong tiếp theo ghi khối lượng các quả cân được đặt bên trái và bên phải.

nhoc_lilom
01-04-2010, 08:52
Cho Nhóc lì hỏi bài này với!

--------------------------------------------------------------------------------

Chẳng là thầy giáo cho mình 2 bài về nhà để lấy điểm 15 phút, nhưng mà mình làm hoài ko ra được. các bạn giúp nhóc nha, nhóc cảm ơn

câu 1: Xác định hàm tính căn bậc hai của 1 số

Câu 2: Xác định hàm tính diện tích tam giác co điều kiện

huhhi giúp nhóc nha ! Cảm ơn các bạn nhiều nhiều

tran_iu93
01-04-2010, 19:46
em nhờ các bác, xin liên lạc với em

luckyboy_N79
03-04-2010, 06:22
mình muốn hởi bài này khó wa\. cái môn này minh cung khong hiu lắm:
nhập vào 3 xâu:s1,s2,s3.nếu s1 có trong s2 thì thay s1 bằng s3.
bạn nào giúp mình viết toàn bộ chuong trình này với.minh cam on nhiu lam vi minh dang can gấp

hellangel2112199
07-04-2010, 12:37
chào mọi người,giúp em bài này nhak!
Viết chương trình nhập vào một xâu và một ký tự bất kì,rồi đếm số lần xuất hiện của kí tự đó trong xâu
VD: Xâu là "Toi hoc lop 11"
Kí tự là "o"
Xuất ra màn hình kết quả là 3

sbt2008
07-04-2010, 13:55
mình muốn hởi bài này khó wa\. cái môn này minh cung khong hiu lắm:
nhập vào 3 xâu:s1,s2,s3.nếu s1 có trong s2 thì thay s1 bằng s3.
bạn nào giúp mình viết toàn bộ chuong trình này với.minh cam on nhiu lam vi minh dang can gấp
Bài này mà sao lại khó đến thế nhỉ?
var
s1,s2,s3:string;
begin
writeln('nhap 3 chuoi s1, s2, s3');
readln(s1,s2,s3);
if pos(s1,s2)<>0 then
s1:=s3;
writeln(s1,',',s2,',',s3);
readln
end.

tieuquaitu1kt
09-04-2010, 21:00
ac thấy yêu cầu giúp quài mà chả có ai giúp hik zậy cà :D

magickid
09-04-2010, 22:34
chào mọi người,giúp em bài này nhak!
Viết chương trình nhập vào một xâu và một ký tự bất kì,rồi đếm số lần xuất hiện của kí tự đó trong xâu
VD: Xâu là "Toi hoc lop 11"
Kí tự là "o"
Xuất ra màn hình kết quả là 3
-------------------
program st;
uses crt;
var
s,a:string;
x:integer;
begin
clrscr;
writeln('nhap sau ');
readln(s);
writeln(' nhap ki tu ');
readln(a);
x:=0
while pos(a,s) <>0 do
begin
x:=x+1;
delete(s,pos(a,s),1);
end;
write(x);
readln
end.

hellangel2112199
10-04-2010, 09:41
thanks nhìu nhak!!! Mai mốt có gì chỉ bảo thêm nhak

ndphuong93
24-04-2010, 22:32
bạn nào giúp mình mấy bài này với :(
1. Lập Chương trình cho nhập từ bàn phím dãy n số thực vs n <= 50 .In ra màn hình
a) Số lượng phần tử âm của dãy
b) Giá trị lớn nhất,nhỏ nhất ,dãy sắp xếp theo thứ tự tăng dần


2. Viết chương trình cho nhập các thông tin của học sinh trong lớp
Họ tên, Ngày Sinh , Điểm toán, văn , anh,xếp loại học sinh theo tiêu chuẩn : nếu tổng 3 điểm >=15 là đạt còn lại là không đạt , in ra màn hình danh sách học sinh đạt , không đạt của lớp

kingdom0609
26-04-2010, 13:20
cac bac giup em voi mai thi rui 2 bai lan
1)goi xau nhap vao may tu ban phim xau xu li de dat duoc cac yeu cau sau:
- dau xau viet hoa, cuoi xau co dau cham, dau xau khong chua cac ki tu trang, cuoi xau khong chua cac ki tu trang. giua hai tu trong xau khong qua mot ki tu trang.
-kiem tra xem xau vua nhan co phai la mot xau doi xung hay khong
2)viet chuong trinh khai báo mang gom 10 ptu. moi ptu la mot mang ghi gom cac truong sau
+loai xe(string) +so xe(integer) +gia(real) +so luong(integer)
-nhap du lieu cho mang vua khai bao
-xuat ra loai xe co gia cao nhat, xuat ra tong so tien cua cac loai xe

hung_hugo
26-04-2010, 20:58
viết chưong trình nhập vào 1 mảng 1 chiều n số nguyên(n chẵn) rồi ghi mảng đó vào tệp :mang .inp đọc các số từ tệp :mang .inp và tính tích của từng cặp trong tệp. kết quả ghi vào têp :mang .out

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

các anh giúp em bài này với :viết chưong trình ( pascal)nhập vào 1 mảng 1 chiều n số nguyên(n chẵn) rồi ghi mảng đó vào tệp :mang .inp đọc các số từ tệp :mang .inp và tính tích của từng cặp trong tệp. kết quả ghi vào têp :mang .out ................hix.ngày mai em phải nạp bài rồi. em cảm ơn các anh rất nhiều

quoclyit
27-04-2010, 08:53
bạn nào giúp mình mấy bài này với :(
1. Lập Chương trình cho nhập từ bàn phím dãy n số thực vs n <= 50 .In ra màn hình
a) Số lượng phần tử âm của dãy
b) Giá trị lớn nhất,nhỏ nhất ,dãy sắp xếp theo thứ tự tăng dần

Cái này bạn làm như thế này nha:
+ Khai báo một mảng số thực gồm 50 phần tử.
+ Viết đoạn chương trình hiển thị số phần tử của dãy
+ Viết đoạn chương trình nhập vào dãy số đó bằng cách cho For....to... sau đó readln lại.
+ Gọi một biến đếm. Bạn duyệt phần tử đầu tiên đến phần tử cuối cùng nếu <0 tăng biến đếm lên 1 đơn vị, sau đó thì in biến đếm ra màn hình.
+ Cho hai vòng For chạy lồng nhau so sánh từ vị trí thứ hai với vị trí đầu tiên nếu sắp xếp tăng dẫn thì khi giá trị sau bé hơn giá trị trước thì hoán đổi vị trí của chúng.
+ in ra phần tử đầu tiên của mảng (min)
+ In ra phần tử cuối cùng của mảng ( max)
bài thứ 2 thì tương tự. Ok!

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




2. Viết chương trình cho nhập các thông tin của học sinh trong lớp
Họ tên, Ngày Sinh , Điểm toán, văn , anh,xếp loại học sinh theo tiêu chuẩn : nếu tổng 3 điểm >=15 là đạt còn lại là không đạt , in ra màn hình danh sách học sinh đạt , không đạt của lớp

Cái này có nhiều cách bạn có thể khai báo một Bản ghi rồi làm theo thứ tự nhập rồi duyệt

pkplasma
06-05-2010, 21:16
cho tep INPUT.DAT chua cac so nguyen cách nhau bởi dấu cách. Viết phương trình đọc các số nguyên từ tệp INPUT.PUT tính tong các số đó và đưa kết quả ra tệp OUTPUT.DAT. em thank trước...


các anh pro viét rõ ra cho em nha. em ga lem'

nhannt1993
06-05-2010, 22:50
Cho mình hỏi bài pascal này với: Nhập một mảng 1 chiều gồm 10 phần tử. Tìm phần tử lớn thứ ba trong mảng đó?
Xin mọi người giúp ạ (giải thuật lun càng tốt)

letrungcuongdtc
05-06-2010, 17:24
CS:=A[1]-A[2];
if ((A[1]=0)and(A[2])=0))or(CS=0) then
begin
write(f,'k phai');
close(f);
exit;
end;
dem:=2;
for i:=3 to N do if A[i]=A[i-1]+CS then inc(dem);
if dem=0 then
begin
write(f,'k phai');
close(f);
exit;
end
else
begin
if (dem=N)and(CS>0) then
begin
write(f,'day la CSC tien voi song sai la: ',CS);
close(f);
exit;
end;
if (dem=N)and(CS<0) then
begin
write(f,'day la CSC thoai voi song sai la: ',abs(CS));
close(f);
exit;
end;
end;

Lê Trung Cường DTC

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

anh chi nao help voi e co space ma no k hien ra

nirvanat
28-06-2010, 20:03
Cho mình hỏi bài pascal này với: Nhập một mảng 1 chiều gồm 10 phần tử. Tìm phần tử lớn thứ ba trong mảng đó?
Xin mọi người giúp ạ (giải thuật lun càng tốt)


Var a:aray[1..10] of integer;
min1,min2,min3:integer;
i:byte;
BEGIN
min1:=32000;
min2:=32000;
min3:=32000;
For i:=1 to 10 do
begin
write('Nhap A[',i,']: ');readln(a[i]);
If min1>a[i] then min1:=a[i];
If min2>a[i] and min2>min1 then min2:=a[i];
IF min3>a[i] and min3>min2 then min3:=a[i];
end;
writeln('So nho thu 3 trong mang vua nhap: ',min3);
readln;
END.

Mình vik thế không bik có đúng không ta

mini_bestboy
13-07-2010, 13:54
Mình vik thế không bik có đúng không ta

Bạn kia bảo là số lớn thứ 3 mà, bạn lại làm số nhỏ thứ 3 rồi ^^

thai19995
03-08-2010, 20:47
Em mới học đến kiểu logic mà bt thầy cho chả hỉu j` cả,giúp em với
Cho 1 bàn cờ vua gồm hàng (I) và cột (J). Viết biểu thức logic cho kết quả TRUE khi:
a) 2 ô (I1,J1) và (I2,J2) cùng màu
b) Xe ở ô (I1,J1) khống chế quân ở (I2,J2)
c) hậu ở ô (I1,J1) khống chế quân ở (I2,J2)
d) Mã ở ô (I1,J1) khống chế quân ở (I2,J2)

HELP ME !!!!

zmt264
03-08-2010, 21:36
Em mới học đến kiểu logic mà bt thầy cho chả hỉu j` cả,giúp em với
Cho 1 bàn cờ vua gồm hàng (I) và cột (J). Viết biểu thức logic cho kết quả TRUE khi:
a) 2 ô (I1,J1) và (I2,J2) cùng màu
b) Xe ở ô (I1,J1) khống chế quân ở (I2,J2)
c) hậu ở ô (I1,J1) khống chế quân ở (I2,J2)
d) Mã ở ô (I1,J1) khống chế quân ở (I2,J2)

HELP ME !!!!

Bài này thuộc dạng bài khó rồi, khác gì mấy bài chọn học sinh giỏi

ngoc th
06-09-2010, 14:07
cho e hỏi: làm tam giác pascal mà không cần khai báo mảng được không?

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

(bài 4.33-SBT). Nguyên văn:
"nhập tù bàn phím 3 số nguyên D, M, Y là ngày tháng năm dương lịch. Tính và đưa ra màn hình ngày tháng trước ngày tháng đã cho và ngày tháng sau ngày tháng đã cho. Mỗi ngày tháng đưa ra trên một dòng."
---khổ thân e đọc gợi ý mà chả hiểu gì cả---
---ai giúp e với. e ngu tin lém---

chutieukhocnhe
14-10-2010, 00:10
(bài 4.33-SBT). Nguyên văn:
"nhập tù bàn phím 3 số nguyên D, M, Y là ngày tháng năm dương lịch. Tính và đưa ra màn hình ngày tháng trước ngày tháng đã cho và ngày tháng sau ngày tháng đã cho. Mỗi ngày tháng đưa ra trên một dòng."
---khổ thân e đọc gợi ý mà chả hiểu gì cả---
---ai giúp e với. e ngu tin lém---


Tức là nhập ngày, tháng, năm rồi xuất ra ngày hôm trước và ngày hôm sau so với ngày đó. Ví dụ:
- Nhập ngày 10/10/2010 sẽ xuất ra 2 ngày là 09/10/2010 và 11/10/2010
- Nhập ngày 31/08/2010 sẽ xuất ra 2 ngày là 30/08/2010 và 01/09/2010
...
Nhập ngày, tháng, năm xong bạn lấy d - 1 là ngày hôm trước và d+1 là ngày hôm sau. nếu d>số ngày tối đa của tháng thì d=d - số ngày tối đa của tháng đó; rồi lấy m=m+1 (tính tiếp căn cứ theo tháng nào có 31 ngày , tháng nào có 30 ngày, ngày nào có 29 ngày, năm nhuận, ...), nếu m>12 thì y=y+1,...

ngoc th
19-10-2010, 19:53
ak... E hỏi chút nữa(không nhất thiết đâu nhưng cứ phải hỏi) :
Ai có tài liệu j về tin đặc biệt có bài tập thì cho e cái mail hay web j đó để e lấy về nhá

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

ak quên, thank you nha! ( không bít là chị hay là anh) hì hì

kulllee
03-11-2010, 08:46
dùng mảng để nhậo điểm cho 5 học sinh

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

có ai bít cách học pascal hiệu quả nhất không?

babyboy_113
05-11-2010, 13:45
cai de bai no dai khai la nhu the nay:
nha truong cho chay thi 100 m sau do trao giai
may cai ban ghi gom:hovaten,nam/nu,lop,thoigianchay
yeu cau:viet chuong trinh xay dung kieu du lieu va khai bao cac bien thich hop ui sau do viet ct tinh:
_so hs du thi, so hs nam, so hs nu
_ds hoc sinh nam(nu),ve nhat gom hovaten, lop *nam rieng , nu rieng nhe*
_ds lop co tu 3 hs nam tham du tro len(de tinh diem dong doi)
_ds lop co tu 3 hs nu tham du tro len(nhu tren)
_ds lop dung thu nhat dong doi nam
_ds lop dung thu nhat dong doi nu
Cac ban giup minh nhe
minh vo dau but tai rung ron vi cai bai nay may bua nay roi

cutuan94nd
14-11-2010, 20:33
ai giải hộ mình bài tập này với:
lập trình và nhập n thuộc Z+ kiểm tra nó có phải là số nguyên tố hay ko?
mong có kết quả vào ngày mai nha. thanks u

ngoc th
18-11-2010, 20:47
const fi = 'NGUYENTO.INP';
fo = 'NGUYENTO.OUT';
var n : integer; f : text;
procedure nhap;
begin
assign(f,fi); reset(f);
readln(f,n); close(f);
end;
procedure kiemtra;
var i : integer;
begin
for i:=1 to trunc(sqrt(n)) do
if (n div i = 0) then
begin
write(f,n,' KHONG LA SO NGUYEN TO');
exit;
end;
write(f,n,' LA SO NGUYEN TO');
end;
procedure viet;
begin
assign(f,fo); rewrite(f);
kiemtra; close(f);
end;
BEGIN
nhap; viet;
END.
{e chém bừa trúng thì trúng không trúng thì thôi}

babyboy_113
19-11-2010, 18:15
sao ko ai giai dum minh cai bai kia vay!!!!!tui wa!!!

ngoc th
19-11-2010, 21:27
program bai451;
uses crt;
type danh_sach = record
hoten : string[30];
gioi : string[4];
lop : string[3];
th : real;
end;
var ds: array[1..100] of danh_sach;
i, j, n : integer; dem : integer; tong : real;
kt,ct : array[1..100] of real;
procedure init;
begin
write (' so hoc sinh tham gia : '); readln (n);
for i:=1 to n do
begin
writeln;
writeln(' ',i,' THONG TIN DANG KI ');
write ('ho va ten : '); readln(ds[i].hoten);
write ('gioi tinh(nam/nu): '); readln(ds[i].gioi);
write ('lop : '); readln(ds[i].lop);
write ('thoi gian chay : '); readln(ds[i].th);
end;
fillchar(kt,sizeof(kt),0);
end;
procedure xd;
begin
for i:=1 to n do
begin
dem := 0; tong := ds[i].th;
for j:=i to n do
if (ds[i].gioi='nam') and (ds[i].lop=ds[j].lop) then
begin
dem := dem + 1; tong := tong + ds[j].th;
end;
kt[i]:= tong/dem;
for j:=i to n do
if (ds[i].gioi='nu') and (ds[i].lop=ds[j].lop) then
begin
dem := dem + 1; tong := tong + ds[j].th;
end;
ct[i]:= tong/dem;
end;
end;
procedure print;
var min : real; m : integer;
begin
min := 10000;
for i:=1 to n do
if kt[i]<min then
begin
min:= kt[i]; m := i;
end;
writeln('TAP THE NAM LOP ',m,' CO THANH TICH CAO NHAT :',min:0:2);
min := 10000;
for i:=1 to n do
if ct[i]<min then
begin
min := ct[i]; m := i;
end;
writeln('TAP THE NU LOP ',m,' CO THANH TICH CAO NHAT :',min:0:2);
end;
BEGIN
clrscr;
init; xd; print;
END.
{chương trình này hơi dài dòng nhưng e ngại quá nên không làm mịn thuật toán! đến test e còn chưa thử cơ mà!!!}

chocolatelove
20-11-2010, 21:06
moi nguoi oi giai ho toi bai nay voi toi dang can gap. Giai cang chi tiet cang tot
cho hcn co chieu dai a, rong b
hay tinh dien tich hcn
cho biet hcn co phai can doi hay ko
(can doi khi a/b=b/(a+b)

ngoc th
21-11-2010, 08:48
ủa? cái phép tính đó chẳng phải là tỉ lệ vàng sao?
đem nguyên cái tỉ lệ đó vào!

chocolatelove
21-11-2010, 16:27
y minh la viet toan bo chuong trinh ma dung cau lenh if then y
giup minh nha minh dang can gap

ngoc th
22-11-2010, 17:44
program {theo sở thích};
uses crt;
var a,b : real;
k,q,h : real;
BEGIN
clrscr;
write(' 2 CANH HINH CHU NHAT: ');
readln(a,b);
if a>b then k := a/b
else k := b/a;
q := (1 + sqrt(5)) / 2;
h := 1/1000; {còn tùy xem thầy(cô) cho phép sai lệch bao nhiêu nữa }
if (k>(q-h)) and (k<(q+h)) then
write('HINH CHU NHAT "CO THE NOI" LA CAN DOI')
else write('HINH CHU NHAT KHONG CAN DOI');
readln;
END.
{lại chém}

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



Cho 1 bàn cờ vua gồm hàng (I) và cột (J). Viết biểu thức logic cho kết quả TRUE khi:
a) 2 ô (I1,J1) và (I2,J2) cùng màu
b) Xe ở ô (I1,J1) khống chế quân ở (I2,J2)
c) hậu ở ô (I1,J1) khống chế quân ở (I2,J2)
d) Mã ở ô (I1,J1) khống chế quân ở (I2,J2)


e hỏi chút : true khi thỏa mãn tất cả các điều kiện a,b,c,d hay chỉ là 1 trong 4 cái đó???

cutuan94nd
02-12-2010, 16:37
ai có thể giải hộ mình bài tập này được ko.
lập trình nhập vào từ bàn phím ma trận các số nguyên cấp m.n . nhập vào số nguyên bất kì tìm xem xuất hiện mấy lần và ở vị trí nào .
Mình cần bài này vào ngày mai, nhờ các ban giải hộ mình nha. thanks you

jackie2810
03-12-2010, 21:22
ai giai cho mjnh paj nay voj:
nhập vài n với 0<n<=2*10^9. tính và đưa ra màng hình tổng bình phương các chữ số n.
ex: 163 => 1^2+6^2+3^2.
use lệnh while... do ... nhé. nói chung là tin 11 use vòng lặp.

ngoc th
04-12-2010, 19:12
ai giai cho mjnh paj nay voj:
nhập vài n với 0<n<=2*10^9. tính và đưa ra màng hình tổng bình phương các chữ số n.
ex: 163 => 1^2+6^2+3^2.
use lệnh while... do ... nhé. nói chung là tin 11 use vòng lặp.

program tong_binh_phuong;
uses crt;
const fi = 'tbp.inp';
fo = 'tbp.out';
var n : longint; f : text;

function tong(n : longint) : integer;
var i : byte;
begin
tong := 0;
while n>0 do
begin
i := n mod 10;
n := n div 10;
tong := tong + i*i;
end;
end;

BEGIN
assign(f,fi); reset(f);
readln(f,n); close(f);
assign(f,fo); rewrite(f);
write(f,tong(n)); close(f);
END.

dangvansangh
05-12-2010, 00:41
bạn nào có thể giúp mình giải bài này được không:
Viết ct nhập vào một số nguyên có 4 chữ số sau đó thực hiện những việc sau:
1 Viết các chương trình con kiểm tra tính chãn lẻ
2 Viết chương trình con kiểm tra xem số vừa nhập có là số nguyên tố không
3 Viết ct con kiểm tra xem số vừa nhập có là số chính phương không
Function chanle(n: integer):boolean;
Function ngto(n:integer):boolean;
Function chinhphuong(n:integer):boolean;
viết đc mỗi cái này

thu0cl4o
05-12-2010, 21:44
Đề bài: 1.Cho 6 số thực x1,y1,x2,y2,x3,y3 là tọa độ 3 đỉnh của 1 tam giác hãy in ra độ lớn các góc trong tam giác.
ai giúp em voi thanks nhiều

ngoc th
09-12-2010, 21:33
Đề bài: 1.Cho 6 số thực x1,y1,x2,y2,x3,y3 là tọa độ 3 đỉnh của 1 tam giác hãy in ra độ lớn các góc trong tam giác.



uses math;
const fi = 'goc_tam_giac.inp';
fo = 'goc_tam_giac.out';
var x1,x2,x3,y1,y2,y3 : real;
f : text; g1,g2,g3 : real;

procedure tinh;
var cos1,cos2,cos3 : real;
l1,l2,l3 : real;
begin
l1 := sqr(x2 - x3) + sqr(y2 - y3);
l2 := sqr(x1 - x3) + sqr(y1 - y3);
l3 := sqr(x1 - x2) + sqr(y1 - y2);
cos1 := (l2+l3-l1) / (2* sqrt(l2)* sqrt(l3));
cos2 := (l1+l3-l2) / (2* sqrt(l1)* sqrt(l3));
cos3 := (l2+l1-l3) / (2* sqrt(l2)* sqrt(l1));
g1 := arccos(cos1);
g2 := arccos(cos2);
g3 := arccos(cos3);
end;
BEGIN
assign(f,fi); reset(f);
readln(f,x1,y1);
readln(f,x2,y2);
readln(f,x3,y3);
close(f);
tinh;
assign(f,fo);
rewrite(f);
write(f,g1:0:4,' ,',g2:0:4,' ,',g3:0:4);
close(f);
END.

e ko bít đổi rad ra độ nên để nguyên thế náy thui!!!
{sai thi dung trach j nha}

jackie2810
10-12-2010, 19:16
nhap so n, đưa ra màng hình các số nguyên tố trong dãy số n. dùng câu lệnh lập thui nhé.

ngoc th
23-12-2010, 16:53
nhap so n, đưa ra màng hình các số nguyên tố trong dãy số n. dùng câu lệnh lập thui nhé.
* chương trình con :
function test(i : integer) : boolean;
var ...
begin
test := true;
for j :=1 to int(sqrt(i)) do
if (i mod j = 0) then
begin
test := false; exit;
end;
end;
*chương trình chính :
for i :=1 to n do
if tets(i)=true then write(...

chithien05071994
16-01-2011, 10:19
Hãy lập trình nhập vào bốn điểm A,B,C,D với tạo thành tứ giác lồi. Tính và đưa ra màn hình độ dài của đường chéo. Mai em phải nộp rùj mong các anh chị giúp đỡ dùm em, thanks nhìu lắm lắm ^^

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

Hãy lập trình nhập vào bốn điểm A,B,C,D với tạo thành tứ giác lồi. Tính và đưa ra màn hình độ dài của đường chéo. Mai em phải nộp rùj mong các anh chị giúp đỡ dùm em, thanks nhìu lắm lắm ^^

Rikuo
16-01-2011, 16:51
minh nhờ các bạn giúp minh bài này với:
Viết chuơng trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái Tiếng Anh trong S ( không phân biệt chữ hoa hay chữ thường)
CHân thành cảm ơn!!!!!!!:):):):):)

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

Bài này nữa:
Nhập từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh'bằng cụm kí tự 'em'

sky_3469
17-01-2011, 19:55
giup minh voi cac ban cua toi oi :) ! minh can gap sang mai kiem tra 45'
Trong de co bai`:
Bai 1: Nhap tu ban phim so x. viet phuong trinh dua ra minh hinh gia tri N nho nhat' sao cho : 1+2+3+...+N >X
Bai 2: Nhap tu ban phim' so x. Viet chuong trinh dua ra man hinh gia tri N lon' nhat' sao cho :
2+4+6+....+N < x
Cam on cac ban truoc nha ! minh can gap ! Mong cac ban trong forum minh giup' ^ ^ minh thanks nhieu` !

haovietvo
17-01-2011, 21:41
Cho một dãy số nguyên a1-->an

Không dùng mảng đọc vô bằng cách nào ?

au mjnh bjet nhung dung mang kja.goj mjnh 0928092300.End.

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

hjk kho do mjnh hok bjet tjnh tong 10 so hang dau tjen de thuc hanh baj so 3.ban choi fifa hok.mjnh ten hao goi 0928092300

dapxe
18-01-2011, 15:51
Bảng kết quả của 1 giải vô địch bóng đá được cho bởi ma trận vuôn A(N,N). Các ptử ở đường chéo chính bằng 0, đội i thắng đội j thì A[i,j]=2, hòa thì A[i,j]=1, thua thì A[i,j]=0. Nhập ma trận vuông A[N,N] từ bàn phím (N<10).
a/ Tìm các đội có số trận thắng lớn hơn số trận thua
b/ Tìm đội không thua trận nào
Nhập dliệu cho mảng A bằng cách sử dụng hàm Randomize để tạo dữ liệu cho A một cách ngẫu nhiên

Rikuo
18-01-2011, 16:25
minh nhờ các bạn giúp minh bài này với:

Viết chuơng trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái Tiếng Anh trong S ( không phân biệt chữ hoa hay chữ thường)
CHân thành cảm ơn!!!!!!!



Bài này nữa:
Nhập từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh'bằng cụm kí tự 'em'

ngoctung_ht_94
22-01-2011, 21:27
Cho hỏi bài này:
Cho hình lập phương duoc tao thanh tu n*n*n hinh lap phương nhỏ bằng nhau.
Viết ct tinh xem có bao nhieu hình lập phương có trong hình lập phương to trên.Yêu cầu nhập passưoed mới cho chạy ct và sau khi chạy phải ấn Enter để thoát hay làm lại.

ngoc th
30-01-2011, 13:12
minh nhờ các bạn giúp minh bài này với:

Viết chuơng trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái Tiếng Anh trong S ( không phân biệt chữ hoa hay chữ thường)
CHân thành cảm ơn!!!!!!!
dung ham copy(s,i,1);
SD 1 mang de luu cac ki tu;
duyet tu ki tu thu 1 den length(s) rui dem!!!



Bài này nữa:
Nhập từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh'bằng cụm kí tự 'em'
duyet i:=1 den length(s)-4 :
neu copy(s,i,4)=' anh' thi xoa xau ' anh' va chen xau ' em' vao


Hãy lập trình nhập vào bốn điểm A,B,C,D với tạo thành tứ giác lồi. Tính và đưa ra màn hình độ dài của đường chéo. Mai em phải nộp rùj mong các anh chị giúp đỡ dùm em, thanks nhìu lắm lắm ^^

dung cau lenh if --> xac dinh duoc vi tri cac diem --> tinh chieu dai duong cheo theo CT : AB := sqrt(sqr(xa-xb) + sqr(ya-ya));
{chuong trinh con}

[quote=dapxe;2497961]Bảng kết quả của 1 giải vô địch bóng đá được cho bởi ma trận vuôn A(N,N). Các ptử ở đường chéo chính bằng 0, đội i thắng đội j thì A[i,j]=2, hòa thì A[i,j]=1, thua thì A[i,j]=0. Nhập ma trận vuông A[N,N] từ bàn phím (N<10).
a/ Tìm các đội có số trận thắng lớn hơn số trận thua
b/ Tìm đội không thua trận nào
Nhập dliệu cho mảng A bằng cách sử dụng hàm Randomize để tạo dữ liệu cho A một cách ngẫu nhiên
duyet i tu 1 den N
duyet j tu 1 den N
begin
neu a[i,j]=2 thi inc(dem[i])
neu a[i,j]=0 va i<>j thi dec(dem[i])
end;
neu dem[i]>0 thi [doi co so tran thang lon hon tran thua]
neu dem[i]=N-1 thi [doi chua thua tran nao]


Cho hỏi bài này:
Cho hình lập phương duoc tao thanh tu n*n*n hinh lap phương nhỏ bằng nhau.
Viết ct tinh xem có bao nhieu hình lập phương có trong hình lập phương to trên.Yêu cầu nhập passưoed mới cho chạy ct và sau khi chạy phải ấn Enter để thoát hay làm lại.

chi can tim ra cong thuc la duoc!!!

nitthichdua
10-02-2011, 11:51
mọi người giúp em làm bài này cái , tại sao mà em làm nó toàn báo lỗi hix , mong mọi người giúp đỡ
đề bài là:
liệt kê các tập con k phần tử được lấy từ n phần tử {1,2,3....,n}

ngoc th
18-02-2011, 18:59
mọi người giúp em làm bài này cái , tại sao mà em làm nó toàn báo lỗi hix , mong mọi người giúp đỡ
đề bài là:
liệt kê các tập con k phần tử được lấy từ n phần tử {1,2,3....,n}

giao trinh tin hoc va lap trinh cua le minh hoang co loi giai chi tiet do!

cavang125
18-02-2011, 20:26
Tham khảo các bài giảng tin học ở đây bạn nhé, rất nhiều đấy, không bắt buộc phải đăng ký đâu, http://www.huyentanphu.org/forum-doan-ket/forumdisplay.php?f=22

rex_star95
27-04-2011, 13:29
Đề, tìm tổng S các số nguyên là bội của k, ko lớn hơn 100.dùng mảng 1 chiều ạ (nó còn có |gtrị tuyệt đối| k vượt quá 300 nữa, nhưng em bỏ qua nhé)
Em viết cấu trúc này, k hiểu sao sau khi chạy nó không hiện màn hình kết quả mà lại tắt lun, hajz... mọi người xem sai cái gì ạ ( Kết quả thì đúng rồi )


Program Tim_tongS_cac_so_la_boi_cua_k;
Uses crt;
Const Nmax=100;
Type ArrInt = array[1..Nmax] of integer;
Var i, N, k, S: integer;
A: ArrInt;
Begin clrscr;

Write('Nhap vao so phan tu N= '); readln(n);
S:=0;
Writeln('Nhap vao cac gia tri cua mang');
For i:=1 to N do
Begin
Write('A[',i,']= '); readln(A[i]);
End;
Write('Nhap so k'); read(k);

For i:=1 to N do
If A[i] Mod k = 0 then S:=S+A[i];
Writeln('Tong cac so la boi cua ',k,' la ',S);
readln
End.

HGMinh95
28-04-2011, 09:34
Em viết cấu trúc này, k hiểu sao sau khi chạy nó không hiện màn hình kết quả mà lại tắt lun, hajz... mọi người xem sai cái gì ạ ( Kết quả thì đúng rồi )

Câu lệnh read(k); sửa lại thành readln(k); là được

rex_star95
28-04-2011, 12:56
ừa, quên mất viết thiếu ^^

Bakaeki
30-04-2011, 13:46
Giúp mình bài tập này với
Cho tập tin C:\vao.txt lưu với cấu trúc sau
dòng 1: số nguyên N
dòng 2: dãy N số nguyên
Viết chương trình đọc tập tin trên, tìm và in ra dãy số chẵn và tính tổng dãy số chẵn đó. In kết quả ra file C:\ra.txt

Mình không hiểu về phần thao tác với tệp trên pascal cho lắm ^^"

ngoc th
08-05-2011, 16:39
Cái tên "rex_star95" nghe dễ thương thế. Ka ka...

auauau97
22-06-2011, 11:45
Giúp mình bài tập này với
Cho tập tin C:\vao.txt lưu với cấu trúc sau
dòng 1: số nguyên N
dòng 2: dãy N số nguyên
Viết chương trình đọc tập tin trên, tìm và in ra dãy số chẵn và tính tổng dãy số chẵn đó. In kết quả ra file C:\ra.txt

Mình không hiểu về phần thao tác với tệp trên pascal cho lắm ^^"


Uses crt;
Var
a:array[1..100] of longint;
F,F1:text;
n,i,j:longint;
BEGIN
Clrscr;
Assign(F,'C:\vao.txt');
Reset(F);
Assign(F1,'C:\ra.txt');
Reswrite(F1);
Readln(n);
For i:=1 to n do
Read(F,a[i]);
j:=0;
For i:=1 to n do
If a[i] mod 2=0 then
Begin
Write(F1,a[i]);
j:=j+a[i];
End;
Write(F1,j);
Close(F);
Close(F1);
END.

ngoc th
23-06-2011, 18:18
chặc chặc!!!
khai báo như vậy đến lúc giáo viên test bài sẽ không thích đâu vì cái nỗi muốn mở file lại phải dò cả chương trình xem nó ở đâu!!!
khai báo :
const input = 'vao.txt';
output = 'ra.txt';
thế có phải đỡ hơn ko!!!

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

nick chat của tui là : huynhhoatrungtuongvong95
hơi khó nhớ nhỉ?! hì hì hì
rất mún kết bạn với mọi người, đặc biệt là các bạn chăm học và học giỏi
(có gì còn hỏi được ^_^)

auauau97
23-06-2011, 18:54
chặc chặc!!!
khai báo như vậy đến lúc giáo viên test bài sẽ không thích đâu vì cái nỗi muốn mở file lại phải dò cả chương trình xem nó ở đâu!!!
khai báo :
const input = 'vao.txt';
output = 'ra.txt';
thế có phải đỡ hơn ko!!!

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

nick chat của tui là : huynhhoatrungtuongvong95
hơi khó nhớ nhỉ?! hì hì hì
rất mún kết bạn với mọi người, đặc biệt là các bạn chăm học và học giỏi
(có gì còn hỏi được ^_^)

Ok, mình sẽ rút king nghiệm lần sau.
thanks vì bạn đã nhắc nhở !

FunkyHpio
15-07-2011, 20:00
mấy bác cho mình hỏi cái này với : "SetLength(MangSo, N - 1);" có phải là hàm đọc dữ liệu từ trên xuống không...?

HGMinh95
16-07-2011, 10:56
mấy bác cho mình hỏi cái này với : "SetLength(MangSo, N - 1);" có phải là hàm đọc dữ liệu từ trên xuống không...?
Hàm SetLength hình như là để cấp phát bộ nhớ cho mảng động thì phải.

ngoc th
02-08-2011, 19:50
co ve he moi nguoi ko co j hoi ve tin hoc thi phai?!

haplinhavxt
03-08-2011, 19:15
co ve he moi nguoi ko co j hoi ve tin hoc thi phai?!
Mấy cái này khôg phải là Tin học hả bạn?

ngoc th
04-08-2011, 16:59
tu ngay 16-7 den ngay 2-8 chang ai co j hoi ca!!!
chac mai choi mua he!!!!!!!!!!!!!!!

huhubenho96
06-08-2011, 13:04
Hãy nhập 1 số từ bàn phím. In ra màn hình độ tăng dần xoắn theo hình ốc.


VD:
INPUT: n=5

OUTPUT:
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9


Bài nữa thì làm ngược lại:


INPUT: n=5

OUTPUT:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9


Mọi người hãy góp tất cả các cách vào. Mình học lớp 9 nên vào xem thế nào, nhưng thấy chủ nhóm cho mấy bài cùi quá, đề không hấp dẫn nên mình ra bài này.

ngoc th
06-08-2011, 14:50
sax!!!!!!!!!!
neu bai nay n thuoc integer thi rat don gian :
tao 1 mang 2 chieu, ghi cac gt vao day, xong thi in ca mang ra la OK

Farmer_Boy
07-08-2011, 11:19
Nhìn vậy chứ không dễ đâu, để coi nào

Farmer_Boy
07-08-2011, 14:29
Đây là code của mình, nó hơi dài, mọi người cho ý kiến nhé (xoắn theo chiều kim đồng hồ):


program xoan_oc;
var
f:text;
n,i,j,x,y,k,q:byte;
dem:integer;
a:array [1..150,1..150] of integer;
begin
assign(f,'vao.inp');reset(f);
read(f,n);
x:=1;
y:=1;
dem:=0;
q:=n-1;
if n>1 then
for i:=1 to ((n div 2) + (n mod 2)) do begin
if q=-1 then break
else if q=0 then begin
a[i,i]:=dem+1;
break;
end;
for j:=1 to 4 do begin
if q<=0 then break;
for k:=1 to q do
begin
inc(dem);
a[x,y]:=dem;
if (j mod 4=1) then inc(y)
else if (j mod 4=2) then inc(x)
else if (j mod 4=3) then dec(y)
else begin
if q=1 then break;
if k=q then begin
inc(y);
q:=q-2;
end
else dec(x);
end;
end;
end;
end;
close(f);
{----------------------------------------------}
assign(f,'ra.out');rewrite(f);
if n=1 then write(f,'1')
else
for i:=1 to n do
for j:=1 to n do begin
write(f,a[i,j],' ');
if j=n then writeln(f);
end;
close(f);
end.

huhubenho96
09-08-2011, 12:49
program xoan_oc;
uses crt;
var a:array[1..50,1..50] of integer;
g,t,i,j,n:integer;
begin
repeat
clrscr;
write('nhap n=');
readln(n);
until (n>4) and (n<50);
if n mod 2=0 then g:=n-3 else g:=n-2;
for i:=1 to g do
begin
for j:=i to n-i+1 do
begin
t:=t+1;
a[i,j]:=t;
end;

for j:=i+1 to n-i+1 do
begin
t:=t+1;
a[j,n-i+1]:=t;
end;

for j:=n-i downto i do
begin
t:=t+1;
a[n-i+1,j]:=t;
end;

for j:=n-i downto i+1 do
begin
t:=t+1;
a[j,i]:=t;
end;
end;
if n mod 2<>0 then a[(n div 2)+1,(n div 2)+1]:=n*n;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3,' ');
writeln;
end;
readln;
end.

huhubenho96
09-08-2011, 12:50
program xoan_oc_ngc;
uses crt;
var a:array[1..50,1..50] of integer;
g,t,i,j,n:integer;
begin
repeat
clrscr;
write('nhap n=');
readln(n);
until (n>4) and (n<50);
if n mod 2=0 then g:=n-3 else g:=n-2;
for i:=1 to g do
begin
for j:=i to n-i+1 do
begin
t:=t+1;
a[j,i]:=t;
end;

for j:=i+1 to n-i+1 do
begin
t:=t+1;
a[n-i+1,j]:=t;
end;

for j:=n-i downto i do
begin
t:=t+1;
a[j,n-i+1]:=t;
end;

for j:=n-i downto i+1 do
begin
t:=t+1;
a[i,j]:=t;
end;
end;
if n mod 2<>0 then a[(n div 2)+1,(n div 2)+1]:=n*n;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3,' ');
writeln;
end;
readln;
end.

huhubenho96
09-08-2011, 12:52
VỀ ĐÍCH Tên chương trình: FINISH.PAS
Sân thi điều khiển Rô bốt là một hình chữ nhật kích thước NxM ô vuông. Một số ô được làm trũng và chứa đầy nước. Rô bốt được đặt ở ô đánh dấu S và phải di chuyển một cách nhanh nhất về ô được đánh dấu E theo các quy tắc sau:
• Không được đi vào các ô có nước,
• Đến một ô nào đó, Rô bốt có thể đi thẳng, rẽ trái hoặc phải (nếu ô mới không chứa nước và nằm trong sân), Rô bốt không được đi theo đường chéo hay quay ngược,
• Trong suốt quá trình đi, Rô bốt không được rẽ phải quá K lần,
• Rô bốt xuất phát theo hướng tuỳ chọn và đến đích theo hướng bất kỳ.
Thời gian chuyển sang ô mới là 1 đơn vị.
Yêu cầu: Xác định khoảng thời gian tối thiểu cần thiết để đưa Rô bốt về đích.
Dữ liệu: Vào từ file văn bản FINISH.INP:
Dòng đầu tiên chứa 3 số nguyên K N M (N dòng, M cột), 0 < N, M ≤ 50),
N dòng sau: mỗi dòng chứa M số nguyên 0, 1,2 hoặc 3, các số cách nhau một dấu cách, 0 là ô được đi, 1 – ô có nước, 2 – ô xuất phát S, 3 – ô đích E. Chỉ có một ô xuất phát và một ô đích.

Kết quả: Đưa ra file văn bản FINISH.OUT thời gian tối thiểu tìm được (nguyên). Nếu không tới được thì đưa ra số -1.

Ví dụ:
FINISH.INP FINISH.OUT
1 5 5 12
2 0 0 1 1
0 1 0 0 1
1 1 0 0 1
0 0 0 0 1
3 1 0 0 1




h.in h.out
1 5 5
2 0 0 1 1
0 1 0 0 1
1 1 0 0 1
0 0 0 0 1
3 1 0 0 1 12

0 3 4
2 0 0 0
1 1 1 0
3 0 0 0 –1

0 1 3
2 1 3 –1

HGMinh95
09-08-2011, 19:01
Bài này dùng BFS

Từ ô xuất phát, bạn đánh dấu tất cả các ô đến được từ nó là 1, sau đó đánh dấu các ô đến được từ những ô 1 là 2, tt cho đến khi đến ô E hoặc ko thể đánh dấu thêm ô nào nữa. Số đánh dấu ở ô E chính là kq.

Farmer_Boy
09-08-2011, 19:03
Hok hiểu j` sất, viết lại đề đi chủ thớt ơi

haplinhavxt
09-08-2011, 21:18
Bài này dùng BFS

Từ ô xuất phát, bạn đánh dấu tất cả các ô đến được từ nó là 1, sau đó đánh dấu các ô đến được từ những ô 1 là 2, tt cho đến khi đến ô E hoặc ko thể đánh dấu thêm ô nào nữa. Số đánh dấu ở ô E chính là kq.
Nói là loang cho nhanh!

huhubenho96
09-08-2011, 21:37
Đây nhé:
1 (là k, chỉ đc rẽ phải 1 lần), 5(là cột), 5(là hàng). Rô bốt đi thế này là tối ưu nhất.

2→0→0--1--1
------↓------
0--1--0--0--1
------↓------
1--1--0--0--1
------↓------
0←0←0←0--1
↓-----↓--↑---
3--1--0→0--1

Rô bốt đã đi con đường ngắn nhất, rẽ phải ko quá 1 lần

ngoc th
10-08-2011, 01:17
mọi người đừng đưa cả code lên đây nữa được không!!!
nói thuật toán thôi cho dễ hiểu

ngoc th
10-08-2011, 01:18
cứ BFS mà đặt vào. Chỉ là cài thêm 1 chút về K thôi

haplinhavxt
10-08-2011, 11:54
mọi người đừng đưa cả code lên đây nữa được không!!!
nói thuật toán thôi cho dễ hiểu
Bạn này đúng theo ý của tôi! Có vài người cứ đòi mang cả code lên! Chán!
Bài này đề nói sao thì làm vậy!

Farmer_Boy
10-08-2011, 12:01
BFS thì dc rồi, nhưng về K thì sao (rẽ phải đó), và cái phần không dc quay ngược là sao?