giá trị cuối; b) Các giá trị đầu và giá trị cuối phải là số nguyên; c) Thiếu dấu hai chấm khi gán giá trị đầu; d) Thừa dấu chấm phảy thứ nhất, nếu nh ta muốn lặp lại câu lệnh writeln(’A’)mời lần, ngợc lại câu lệnh là hợp lệ; e) Biến x đã đợc khai báo nh là biến có dữ liệu kiểu số thực và vì thế không thể dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp.
8. Thuật toán:
Bớc 1. Nhập các số n và x.
Bớc 2. A ←1, i ← 0 (A là biến lu lũy thừa bậc n của x).
Bớc 3. i←i + 1, A ← A.x.
Bớc 4. Nếu i <n, quay lại bớc 3.
Bớc 5. Thông báo kết quả A là lũy thừa bậc n của x và kết thúc thuật toán. Chơng trình Pascal có thể nh sau:
var n,i,x: integer; a: longint; begin
write('Nhap x='); readln(x); write('Nhap n='); readln(n); A:=1;
for i:=1 to n do A:=A*X;
writeln(x,' mu ',n,' bang ',A); end.
9. Thuật toán:
Bớc 2. A← −32768 (gán số nhỏ nhất có thể trong các số kiểu nguyên cho
A), i←1.
Bớc 3. Nhập số thứ i và gán giá trị đó vào biến A.
Bớc 4. Nếu Max < A, Max ←A.
Bớc 5. i←i + 1.
Bớc 6. Nếu i ≤n, quay lại bớc 3.
Bớc 7. Thông báo kết quả Max là số lớn nhất và kết thúc thuật toán. Chơng trình Pascal có thể nh sau:
uses crt;
var n,i,Max,A: integer; begin
clrscr;
write('Nhap N='); readln(n); Max:=-32768;
for i:=1 to n do
begin write('Nhap so thu ',i,':'); readln(A); if Max<A then Max:=A end;
writeln('So lon nhat: ',Max); end.
Lu ý. Trong chơng trình trên chúng ta chỉ sử dụng hai biến A và Max để giải bài toán. Một cách tự nhiên, để nhập n số chúng ta cần tới n biến. Tuy nhiên, ở đây việc xử lí các giá trị trong dãy số có thể thực hiện bằng cách chỉ cần so sánh các giá trị đã đợc nhập vào, do đó chúng ta chỉ cần một biến để lu lần lợt các giá trị nhập vào là đủ. Một cách giải quyết khác là sử dụng biến mảng (xem Bài tập 6, Bài 9).