Bài 4.31/42 ( sách bài tập tin học 11)
Cho dãy số nguyên N (1<N<=50) và N số nguyên A1, A2, …A , trong đó có ít nhất 2 số 0. Hãy lập trình:
• Nhập từ bàn phím số nguyên N và dãy A1, A2, …, A
• Tính tổng các số Ai nằm giữa số 0 đầu tiên và số 0 cuối cùng và đưa kết quả ra màn hình. Nếu 2 số 0 này nằm cạnh nhau thì kết quả đưa ra sẽ là 0.
Bước1: Tim hiểu đề bài
Input: Nhập số nguyên N và dãy A1, A2, …, A (có ít nhất 2 số 0) Output: Tính tổng các số nằm giữa số 0 đầu tiên và số 0 cuối cùng
Bước 2: Xây dựng ý tưởng giải thuật
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
Bước 3: Trình bày lời giải Program tinhtong: Uses crt; Var s, i, j, k, n: integer; A: array[0..100] of integer; Begin Clrscr; Write(‘nhap so nguyen n’); Readln(n); for i:=1 to n do begin
write(‘nhap mang A[‘, i, ’]=’); readln(A[i]);
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
end; i:= 1; j:= n;
while A[i]<> 0 do i:= i+ 1; while A[j]<> 0 do j:= j- 1; S:= 0; for k:= i to j do begin S:= S+ A[k]; k:= k+ 1; end; writeln(‘tong la:’, s); readln; End.
Bước 4: Nghiên cứu về lời giải Xây dựng bộ test Cho dãy: 1 0 2 3 0 4 i:= 1 j:= 6 A[1] <>0 ; i:= 2 A[2] = 0 A[6]<>0; j:= 5 S:= 0; k:=2 S:= S + 0 = 0; k:=3<5 S:= S + 2 = 2; k:= 4<5 S:= S + 3= 5; k:= 5 S:= S + 0= 5: k: =6 sai Dừng
Bài 7.18/69 (sách bài tập tin học 11)
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
a) Chỉ dùng các chữ cái La tinh, có thể đặt bao nhiêu tên khác nhau độ dài bằng 1? b) Chỉ dùng các chữ cái La tinh, có thể đặt bao nhiêu tên khác nhau độ dài bằng 2? Đáp án: bảng chữ cái La tinh có 26 chữ cái hoa (A…Z), 26 chữ cái thường (a…z) a) 52
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
Sinh viên: Đặng Thị Hà Thanh Lớp : Tin 4B
Bài Tập Môn Phương Pháp Giải Bài Tập Tin Học Phổ Thông.
+ 4.17. Bước 1. Input: Bước 1. Input: Output: p1, p4000 Bước 2. B1. p[1]:= random(6); i:= 2;
B2. Nếu i<= 4000 thì thực hiện: p[i]:= p[i-1]+random(6)+1; Quay lại B2.
B3. In kết quả, kết thúc giải thuật. Bước 3. Chương trình
Var p: array[1..4000] of integer; i : integer; Begin p[1]:= random(6); For i:=2 to 4000 do p[i]:=p[i-1]+random(6)+1; Writeln('p[1]=', p[1]); Writeln('p[4000]=', p[4000]); Readln; End. Bước 4. p[1]= 2 i=2 p[2]= p[1]+random(6)+1 = 2+3+1 = 6 i=3 p[3]= p[2]+random(6)+1 = 6+2+1 = 9 .... + 6.19.
Bước 1. Input: tọa độ Đề các(x, y) Output: tọa độ cực (r, ϕ) Bước 2. B1. Tính + r := sqrt(x2+y2); + Nếu x>0 thìϕ= arctan(y/x) ; + Nếu ( x=0) và (y>0) thìϕ= π /2 ; + Nếu (x=0) và (y=0) thìϕ= 0;
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
B2. Kết thúc giải thuật.
Bước 3. Chương trình:
Procedure POLAR(x, y:real; var r, ϕ:real);
Begin
r:= sqrt(x*x+y*y);
if x>0 then ϕ:= arctan(y/x);
if x=0 and y>0 then ϕ:= π/2; if x=0 and y=0 then ϕ:= 0;
end;
Bước 4.
Gọi thủ tục POLAR(3, 4, r, ϕ) r= sqrt(3*3+4*4)= 5
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com
Bài tập môn: PP giải bài tập tin học Sinh viên : Hồ Đức Thuận
Lớp : Tin 4B Bài 3.25
1. Xác định bài toán Input: xâu s
Output: thông báo xâu hợp lệ hay không. 2 Ý tưởng thuật toán.
-Kiểm tra xem trong xâu có ký tự đóng “)” nào nằm trước kí tự mở “(“ không. Nếu có thì thông báo là xâu không hợp lệ. Còn nếu không thì kiểm tra tiếp xem số lượng kí tự đóng có bằng số lượng kí tự mở không.
- Thuật toán
Bc1: Nhập xâu s, i:=1, m:=0, d:=0. Bc2: Nếu i<=length(s) và m>=d thi
-Kiểm tra nếu s[i]= “(“ đúng inc(m); +Ngược lại inc(d);
+ inc(i); - quay lại bc2.
Bc3: Nếu i<= length(s) thì thông báo s không hợp lệ, kết thúc thuật toán Nếu i>length(s) thì kiểm tra:
- Nếu m=d thì thông báo xâu hợp lệ ngược lại là xâu không hợp lệ. Kết thúc thuật toán 3. Cài đặt Program xau; var s:string; i, m, d:integer; Begin
write('Nhap xau s= '); readln(s); i:=1; m:=0; d:=0;
While (i<=length(s)) and (m>=d) do begin
if s[i]='(' then inc(m) else inc(d);
inc(i); end;
if i<=length(s) then writeln(' Xau khong hop lé) else if m=d then write(' Xau hop lé)
else write('Xau khong hop lé); Readln;
End.
Bài 6.23: Mô tả hàm posk(x, y, k) trả về giái trị nguyên j là vị trí xuất hiện lần thứ k của xâu x trong xâu i, j=0 nếu số lần xuất hiện xâu x trong xâu y ít hơn k lần.
Học Pascal online, bài tập Pascal cơ bản nâng cao: Codepascal.blogspot.com