Bài tập và lời giải PaSCAL 3.doc
Chia sẻ bởi Vũ Mạnh Điệp |
Ngày 16/10/2018 |
37
Chia sẻ tài liệu: Bài tập và lời giải PaSCAL 3.doc thuộc Tin học 9
Nội dung tài liệu:
Bài tập 3.4: Viết chương trình tính tổng S = 1+2+...+N. Cách 1: Dùng vòng lặp FOR.
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; For i:=1 to N do S:=S+i; Writeln(`Ket qua la :`,S); Readln; End.
Cách 2: Dùng vòng lặp REPEAT.
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; i:=1; Repeat S:=S+i; i:=i+1; Until i>N; Writeln(`Ket qua la :`,S); Readln; End.
Cách 3: Dùng vòng lặp WHILE.
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; i:=1; While i<=N Do Begin S:=S+i; i:=i+1; End; Writeln(`Ket qua la :`,S); Readln; End.
Bài tập 3.5: Viết chương trình nhập vào N số nguyên từ bàn phím. Hãy tính và in ra màn hình tổng của các số vừa được nhập vào. Ý tưởng: Dùng phương pháp cộng dồn. Cho vòng lặp FOR chạy từ 1 tới N, ứng với lần lặp thứ i, ta nhập vào số nguyên X và đồng thời cộng dồn X vào biến S.
Program Tong; Uses crt; Var N,S,i,X : Integer; Begin Clrscr; S:=0; For i:=1 To n Do Begin Write(`Nhap so nguyen X= `); Readln(X); S:=S+X; End; Writeln(‘Tong cac so duoc nhap vao la: ‘,S); Readln; End.
Bài tập 3.6: Viết chương trình nhập vào các số nguyên cho đến khi nào gặp số 0 thì kết thúc. Hãy đếm xem có bao nhiêu số chẵn vừa được nhập vào. Ý tưởng: Bài toán này không biết chính xác số lần lặp nên ta không thể dùng vòng lặp FOR. Vì phải nhập vào số nguyên N trước, sau đó mới kiểm tra xem N=0? Do đó ta nên dùng vòng lặp REPEAT.
Program Nhapso; Uses crt; Var N,dem : Integer; Begin Clrscr; dem:=0; Repeat Write(`Nhap vao mot so nguyen N= `); Readln(N); If N MOD 2 = 0 Then dem:=dem+1; Until N=0; Writeln(‘Cac so chan duoc nhap vao la: ‘,dem); Readln; End.
Bài tập 3.7: Viết chương trình tính số Pi với độ chính xác Epsilon, biết: Pi/4 = 1-1/3+1/5-1/7+... Ý tưởng: Ta thấy rằng, mẫu số là các số lẻ có qui luật: 2*i+1 với i=1,...,n. Do đó ta dùng i làm biến chạy. Vì tính số Pi với độ chính xác Epsilon nên không biết trước được cụ thể số lần lặp, do đó ta phải dùng vòng lặp WHILE hoặc REPEAT. Có nghĩa là Epsilon thì dừng.(phải lặp cho tới khi t=4/(2*i+1)
Uses Crt; Const Epsilon=1E-4; Var Pi,t:real; i,s:Integer; Begin Pi:=4; i:=1; s:=-1; t:=4/(2*i+1); While t>Epsilon Do Begin Pi:=Pi+s*t; s:=-s; i:=i+1; t:=4/(2*i+1); End; Writeln(`So Pi = `,Pi:0:4); Readln; End.
Bài tập 3.8: Viết chương trình nhập vào số nguyên N. In ra màn hình tất cả các ước số của N. Ý tưởng: Cho biến i chạy từ 1 tới N. Nếu N MOD i=0 thì viết i ra màn hình
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; For i:=1 to N do S:=S+i; Writeln(`Ket qua la :`,S); Readln; End.
Cách 2: Dùng vòng lặp REPEAT.
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; i:=1; Repeat S:=S+i; i:=i+1; Until i>N; Writeln(`Ket qua la :`,S); Readln; End.
Cách 3: Dùng vòng lặp WHILE.
Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write(`Nhap vao gia tri cua N :`); Readln(N); S:=0; i:=1; While i<=N Do Begin S:=S+i; i:=i+1; End; Writeln(`Ket qua la :`,S); Readln; End.
Bài tập 3.5: Viết chương trình nhập vào N số nguyên từ bàn phím. Hãy tính và in ra màn hình tổng của các số vừa được nhập vào. Ý tưởng: Dùng phương pháp cộng dồn. Cho vòng lặp FOR chạy từ 1 tới N, ứng với lần lặp thứ i, ta nhập vào số nguyên X và đồng thời cộng dồn X vào biến S.
Program Tong; Uses crt; Var N,S,i,X : Integer; Begin Clrscr; S:=0; For i:=1 To n Do Begin Write(`Nhap so nguyen X= `); Readln(X); S:=S+X; End; Writeln(‘Tong cac so duoc nhap vao la: ‘,S); Readln; End.
Bài tập 3.6: Viết chương trình nhập vào các số nguyên cho đến khi nào gặp số 0 thì kết thúc. Hãy đếm xem có bao nhiêu số chẵn vừa được nhập vào. Ý tưởng: Bài toán này không biết chính xác số lần lặp nên ta không thể dùng vòng lặp FOR. Vì phải nhập vào số nguyên N trước, sau đó mới kiểm tra xem N=0? Do đó ta nên dùng vòng lặp REPEAT.
Program Nhapso; Uses crt; Var N,dem : Integer; Begin Clrscr; dem:=0; Repeat Write(`Nhap vao mot so nguyen N= `); Readln(N); If N MOD 2 = 0 Then dem:=dem+1; Until N=0; Writeln(‘Cac so chan duoc nhap vao la: ‘,dem); Readln; End.
Bài tập 3.7: Viết chương trình tính số Pi với độ chính xác Epsilon, biết: Pi/4 = 1-1/3+1/5-1/7+... Ý tưởng: Ta thấy rằng, mẫu số là các số lẻ có qui luật: 2*i+1 với i=1,...,n. Do đó ta dùng i làm biến chạy. Vì tính số Pi với độ chính xác Epsilon nên không biết trước được cụ thể số lần lặp, do đó ta phải dùng vòng lặp WHILE hoặc REPEAT. Có nghĩa là Epsilon thì dừng.(phải lặp cho tới khi t=4/(2*i+1)
Uses Crt; Const Epsilon=1E-4; Var Pi,t:real; i,s:Integer; Begin Pi:=4; i:=1; s:=-1; t:=4/(2*i+1); While t>Epsilon Do Begin Pi:=Pi+s*t; s:=-s; i:=i+1; t:=4/(2*i+1); End; Writeln(`So Pi = `,Pi:0:4); Readln; End.
Bài tập 3.8: Viết chương trình nhập vào số nguyên N. In ra màn hình tất cả các ước số của N. Ý tưởng: Cho biến i chạy từ 1 tới N. Nếu N MOD i=0 thì viết i ra màn hình
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vũ Mạnh Điệp
Dung lượng: 45,00KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)