Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
Mon Nov 30, 2009 10:13 pm
Tổng số bài gửi : 189
Giới tính :
Xu:$$ : 402
Birthday : 26/02/1993
Age : 31
Đến từ : 11A2 - THPT Bảo Lộc
Tiêu đề: Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
Giang mở topic về pascal, chủ yếu là dành cho dân 11 vào thảo luận và ôn tập môn tin học kì I. Nếu bạn nào cần tài liệu thì có thể liên hệ Giang ở nick Y!M: nguyentragiang_2602, Giang sẵn sàng gửi cho bạn bài giải chi tiết trên pascal luôn. Cũng nói thêm là Giang không giỏi môn này, chỉ do có tài liệu ở nhà nên post lên cho các bạn tham khảo. Nếu thấy sai sót mong các bạn chỉ giáo thêm.
Phần 1: bài tập về cấu trúc vòng lặp: Bài 1:Viết chương trình tính số hạng thứ n của dãy Fibonaci. Hướng dẫn: Dãy Fibonaci là dãy gồm các số hạng p(n) với P(n)=p(n-1)+p(n-2) với n>2 và p(1)=p(2)=1 Số thứ tự: 1 2 3 4 5 6 7 ... Dãy Fibonaci: 1 1 2 3 5 8 13... nói một cách đơn giản, dãy Fibonaci bắt đầu bằng 2 chữ số 1, từ số thứ 3 trở đi thì cộng hai số đằng trước lại, liên tục như thế. số hạng p(3)=p(2)+p(1)=1+1=2
Dãy Fibonacci xuất hiện ở khắp nơi trong thiên nhiên. Những chiếc lá trên một nhành cây mọc cách nhau những khoảng tương ứng với dãy số Fibonacci. Các số Fibonacci xuất hiện trong những bông hoa. Hầu hết các bông hoa có số cánh hoa là một trong các số: 3,5,8,13,21,34,55 hoặc 89. Hoa loa kèn có 3 cánh, hoa mao lương vàng có 5 cánh, hoa phi yến thường có 8 cánh, hoa vạn cúc thọ có 13 cánh, hoa cúc tây có 21 cánh, hoa cúc thường có 34, hoặc 55 hoặc 89 cánh. Các số Fibonacci cũng xuất hiện trong các bông hoa hướng duơng. Những nụ nhỏ sẽ kết thành hạt ở đầu bông hoa hướng dương được xếp thành hai tập các đường xoắn ốc: một tập cuộn theo chiều kim đồng hộ, còn tập kia cuộn ngược theo chiều kim đồng hồ. Số các đường xoắn ốc hướng thuận chiều kim đồng hồ thường là 34 còn ngược chiều kim đồng hồ là 55. Đôi khi các số này là 55 và 89, và thầm chí là 89 và 144. Tất ca các số này đều là các số Fibonacci kết tiếp nhau( tỷ số của chúng tiến tới tỷ số vàng).(nguồn: wikipedia.org)
Bài giải: Program Day_so_Fibonaci; Var n,j,pj,pj1,pj2:Integer; Begin Writeln('IN DAY SO FIBONACI'); Writeln('------------------'); Write('-Nhap so N= '); Readln(n); j:=2; pj:=1; pj1:=1; While j <> n Do Begin pj2:=pj1; pj1:=pj; pj:=pj1+pj2; j:=j+1; End; Writeln; Writeln('+So hang thu ',n,' cua day Fibonaci = ',pj); Writeln; Writeln(' Bam phim de ket thuc'); Readln End.
Bài 2: Giải bài toán: Trăm trâu, trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Ba trâu già ăn một Mỗi loại bao nhiêu con?
Hướng dẫn: có 100 trâu, gọi tắt đứng là d, nằm là n, già là g: Số trâu: d+n+g=100 Số cỏ: 5d+3n+(1/3)g=100
Mà mỗi trâu đứng ăn hết 5 bó cỏ, tổng số bó cỏ là 100 --> tối đa có 20 trâu đứng lí luận tương tự, --> tối đa có 33 trâu nằm. Số trâu già: g=100-(d+n), g chia hết cho 3, nghĩa là g mod 3 =0 gọi d là biến chạy từ 1 đến 20. khi d tăng lên 1 thì số trâu nằm giảm đi 1, hay số trâu nằm: n=33-d; số trâu già g=100-(d+n); Sao cho thoả các điều kiện: số trâu: trau=d+n+g=100 và số cỏ: co=5d+3n+(1/3)g=100 và số trâu già chia hết cho 3: g mod 3 =0 hay 100-(d+n) mod 3 =0. Như vậy, thực chất của bài toán này là tìm số trâu nằm và đứng sao cho thoả các điều kiện trên.
Bài giải Program Tram_trau; Var dung,nam,gia,co,trau:Integer; Begin Writeln('BAI TOAN CO DIEN'); Writeln('Tram trau tram co'); Writeln('Trau dung an 5'); Writeln('Trau nam an 3'); Writeln('Ba trau gia an 1'); Writeln('----------------'); Writeln(' Bai toan nay co cac loi giai sau'); For dung:=0 To 20 Do For nam:=0 To 33-dung Do For gia:=0 To (100-(dung+nam)) Do Begin co:=5*dung+3*nam+(gia Div 3); trau:=dung+nam+gia; If (gia Mod 3 =0) And (trau=100) And ( co=100) Then Writeln('-Trau dung ',dung,' con, -Trau nam ',nam,' con, -Trau gia ',gia,' con'); End; Writeln; Writeln(' Bam phim de ket thuc'); Readln End.
Bài 3: Viết chương trình nhập 1 số N, viết ra các số nguyên tố từ 1 đến N.
Bài giải: Program Tim_so_nguyen_to; Var n,i,j:Integer; nguyento:Boolean; Begin Writeln('TIM CAC SO NGUYEN TO TU 2 DEN N'); Writeln('-------------------------------'); Write('-Nhap so N= '); Readln(n); For i:=2 To n Do Begin nguyento:=True; j:=2; While nguyento And (j Begin If (i Mod j)=0 Then nguyento:=False; j:=j+1; End; If nguyento Then Write(i:4); End; Writeln; Writeln(' Bam phim de ket thuc'); Readln End.
Được sửa bởi nguyentragiang ngày Mon Dec 07, 2009 7:07 pm; sửa lần 1.
Sun Dec 06, 2009 11:33 pm
Tổng số bài gửi : 276
Giới tính :
Xu:$$ : 335
Birthday : 07/08/1993
Age : 31
Đến từ : 11A1- Bảo Lộc Town
Tiêu đề: Re: Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
hjx, mấy phần này khó hỉu làm sao ấy ... post thêm ik Giang
Mon Dec 14, 2009 9:19 pm
Tổng số bài gửi : 20
Giới tính :
Xu:$$ : 32
Birthday : 03/08/1993
Age : 31
Đến từ : BL 2school
Tiêu đề: Re: Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
mai thi tin ủi hem koá chữ nào trong đâu hít thế mà lại ik post mấy bài này nhìn zô còn ngu hơn hjxhjx
Tiêu đề: Re: Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
Một số bài tập Pascal về mảng một chiều và cấu trúc vòng lặp.
* Viết tiếng Việt có dấu, là tôn trọng người đọc. * Chia sẻ bài sưu tầm có ghi rõ nguồn, là tôn trọng người viết. * Thực hiện những điều trên, là tôn trọng chính mình.
-Nếu chèn smilies có vấn đề thì bấm A/a trên phải khung viết bài