Viết chương trình tính tổng sau biết n được nhập từ bàn phím S=1 1 2 1 3 1 4 1 5 1 6 1/n

Bài tập Pascal 11133 bài tập pascalPhần 1. RẼ NHÁNH, LẶPCâu 1. Hãy sử dụng vòng lặp For … để tính tổng S = 1 + 1/2 + 1/3 + . . .+1/n, vớin nguyên dương được nhập từ bàn phím. Yêu cầu chương trình có kiểm tra tính hợplệ của n.Câu 2. Viết chương trình giải và biện luận phương trình ax + b = 0 với a và b đượcnhập từ bàn phím.Câu 3. sử dụng câu lệnh Repeat …until để tính tổng S = 1 + 1/2 +1/4 + . . . + 1/(2n), với n nguyên dương được nhập từ bàn phím. Yêu cầu chương trình có kiểmtra tính hợp lệ của n.Câu 4. Sử dụng cấu trúc lặp While … do để tính tổng S= 2 + 5 + . . . + (3n – 1), vớin nguyên dương được nhập từ bàn phím, có kiểm tra tính hợp lệ của n.Câu 5. Viết chương trình tính và in ra n! với n nguyên dương (n<=7) được nhập từbàn phím, yêu cầu chương trình có kiểm tra tính hợp lệ của n.Câu 6. Viết chương trình tính tổng S = 1-1/2+1/3+…+(-1)n+1 /n, với n được nhập từbàn phím. Yêu cầu chương trình có kiểm tra tính hợp lệ của n.Câu 7. Viết chương trình nhập vào một số nguyên dương n, kiểm tra xem số đó cóphải nguyên tố hay không?Câu 8. Viết chương trình tính tổng:S=2002+2+4+…+2n, với n được nhập từ bàn phím và có kiểm tra giá trị n>0.Câu 9. nhập vào một số thực a lớn hơn 1. Hãy tìm số nguyên dương n nhỏ nhất saocho 1+1/2+…+1/n ≥ aCâu 10. Hãy tìm tất cả các số nguyên dương có ba chữ số sao cho:33c b a abc++=3Câu 11. Nhập xâu kí tự s và 2 số dương n và m, yêu cầu kiểm tra n nhỏ hơn độ dàicủa xâu s. Hãy xoá trong xâu s vừa nhậpm kí tự kể từ vị trí thứ n.Giáo Viên: Hồ Đình Dần, trường THPT Hoàng Mai, Quỳnh Lưu, Nghệ An1Bài tập Pascal 11Câu 12. Viết chương trình nhập vào số nguyên dương n và tính:S=1 3 5 ... n, nªu n lÎ2 4 6 ... n, nªu n ch½nì+ + + +ïïíï+ + + +ïîCâu 13. Viết chương trình in ra các dãy số dạng sau: n n-1 n-2 . . . 3 2 1 n-1 n-2 …… 3 2 1 . . . 3 2 1 2 1 1 Câu 14. Viết chương trình nhập mảng 1 chiều gồm n số thực , với n nguyên dươngđược nhập từ bàn phím. Tính và đưa ra trung bình cộng của các giá trị trong mảng.Câu 15. Một mảng được xem là đối xứng nếu a[i]=a[n-i+1] với mọi i=1,n. Viếtchương trình nhập vào một mảng một chiều n số nguyên, hãy cho biết mảng đó cóđối xứng hay không?Câu 16. Viết chương trình nhập vào 2 xâu s1 và s2 (độ dài >=5). Hãy chèn xâu s1vào xâu s2 tại vị trí thứ 3. in ra màn hình xâu s2 sau khi chèn.Câu 17. Viết chương trình nhạp vào một ma trận vuông nxn, với n được nhập từbàn phím và in ra màn hình các giá trị nằm trên đường chéo chính.Câu 18. Sử dụng một trong các cấu trúc lặp để viết chương trình tính:S= 12 + 22 + . . . + n2, với n nguyên dương được nhập từ bàn phím.Câu 19. Tính Pi/4 theo công thức:S=1-1/3+1/5+…+(-1)n/(2n+1)Câu 20. Tính ex theo công thức:S=ex=1+x/1! + x2/2! + . . . + xn/n! + …Câu 21. Lập chương trình tính tổng S=1-1/2+1/3-1/4+…-1/100Giáo Viên: Hồ Đình Dần, trường THPT Hoàng Mai, Quỳnh Lưu, Nghệ An2Bài tập Pascal 11Câu 22. Sử dụng cấu trúc case . .. of để xác định số n có chia hết cho 4 hay không?nếu không thì dư bao nhiêu? với n nhập từ bàn phím.Câu 23. Lập chương trình nhập một số nguyên và in ra giá trị N, khi N<0 thìthông báo không tồn tại căn bậc 2 của N.Câu 24. Lập trình tìm số N nguyên dương lớn nhất để cho tổng: S=10-(1+1/2+1/3+…+1/N) có giá trị nhỏ nhất.Câu 25. Dùng vòng lặp While … do…lập chương trình tính tổng:S=1+3+5+…+(2n-1).Câu 26. Lập chương trình tính n! với n nhập từ bàn phím.Câu 27. Lập chương trình tính tổng: S=99+98+…+10Câu 28. Lập chương trình nhập số nguyên dương N. Hãy thông báo ra màn hình giátrị của thương và dư khi chia số đó cho 7.Câu 29. Sử dụng vòng lặp for để tính tổng S=1+1/3+1/6+…+1/(3*n), với n>=1nhập từ bàn phím.Câu 30. Tính S=1+2+3+…+N, với n>=1 được nhập từ bàn phím. Sử dụng vòng lặpFor ..do và while…do.Câu 31. Lập chương trình nhập 3 cạnh của một tam giác ABC. Hãy in ra chu vi vàdiện tích tam giác đó (diện tích S=P(P a)(P b)(P c)− − − trong đó P là nữa chu vi).Câu 32. Sưe dụng vòng lặp While…do lập chương trình tính tổng:S=10+11+12+…+100.Câu 33. Nhập một số kiểu longint, kiểm tra xem số đó có bao nhiêu chữ số lẻ. Inkết quả ra màn hình.Câu 34. Lập trình tìm số N nguyên dương nhỏ nhất để cho tổng S=1+1/2+1/3+…+1/N lớn hon số a cho trước với a được nhập từ bàn phím.Câu 35. Dùng lệnh Repeat…Until tính N! với N nhập từ bàn phím.Câu 36. Dùng vòng lặp While..do.. để tính tổng:S=1/100+1/99+1/98+…+1/n, với n nhập từ bàn phím và n<100.Giáo Viên: Hồ Đình Dần, trường THPT Hoàng Mai, Quỳnh Lưu, Nghệ An3Bài tập Pascal 11Câu 37. Lập chương trình tìm ước số chung lớn nhất của hai số M, N được nhập từbàn phím.Câu 38. Lập chương trình tính n! bằng phương pháp đệ quy và khử đệ quy (Đệ quylà sử dụng lời gọi đến chính nó vidụ: n!=n*(n-1)!; khử đệ quy là sử dụng vòng lặpFor..do…).Câu 39. Viết chương trình tính:S=1/1! + 2/2! + … + n/n! + … sao cho phần tử cuối cùng của dãy bé thua một số ađược nhập từ bàn phím với 0

Câu hỏi: viết chương trình tính tổng s=1+1/2+1/3+...+1/n

Lời giải:

program tinhtong;

uses crt;

var i, n : integer; S : real;

begin

clrscr;

writeln('Nhap so thu n: '); readln(n);

S:=0; i:=1;

while i<=n do begin

S:=S+1/i; i:=i+1;

end;

writeln('Tong la: ',S:2:3);

readln

end.

Cùng Top lời giải ôn lại kiến thức để làm bài tốt hơn nhé!!!

1. Các công việc phải thực hiện

Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần.

Ví dụ:

+ Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà

+ Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài

Ví dụ số lần lặp biết trước:Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà.

Ví dụ số lần lặp không biết trước:Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu.

Tóm lại:Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định.

2.Câu lệnh lặp- một lệnh thay cho nhiều lệnh

Ví dụ 1:Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị.

Thuật toán:

+ Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)

+ Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán

Bài toán vẽ một hình vuông:

Thuật toán mô tả các bước để vẽ hình vuông:

+ Bước 1. k←0 (k là số đoạn thẳng đã vẽ được)

+ Bước 2. k←k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải

+ Bước 3. Nếu k < 4 thì trở lại Bước 2; Ngược lại, kết thúc thuật toán

Trong đó, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được.

Kết luận

- Cách mô tả các hoạt động lặp trong thuật toán như ví dụ trên được gọi là cấu trúc lặp

- Để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh gọi là câu lệnh lặp

3. Ví dụ về câu lệnh lặp

Cú pháp:

For< Biến đếm > := < Giá trị đầu >to< Giá trị cuối >do< Câu lệnh >;

Trong đó:

+ For, to, dolà các từ khóa

+ Biến đếm là biến kiểu nguyên

+ Giá trị đầu, giá trị cuối là các giá trị nguyên

Lưu ý:

+ Giá trị đầu phải nhỏ hơn giá trị cuối

+ Câu lệnh không làm thay đổi giá trị của biến đếm

+ Nếu câu lệnh nhiều hơn một lệnh thì phải đặt trong cặp Begin … end

Hoạt động của vòng lặp:

+ Bước 1: Biến đếm nhận giá trị đầu

+ Bước 2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh

+ Bước 3: Biến đếm tự động tăng lên 1 đơn vị và quay lại Bước 2

+ Bước 4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp

Ví dụ 3:Chương trình sau sẽ in ra màn hình thứ tự lần lặp.

Chương trình mẫu:

PHP:

Ví dụ 4:In một chữ "O" trên màn hình.

Chương trình mẫu:

PHP:

4. Tính tổng và tích bằng câu lệnh lặp

Ví dụ 5:Chương trình sau đây sẽ tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím.

Chương trình mẫu:

PHP:

Ví dụ 6:Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N! = 1.2.3…N.

Chương trình mẫu:

PHP: