Pascal上机练习题题解
题目1: 编写一个程序,输入一个整数n,输出从1到n的所有整数的和。
题解:
这个问题可以通过一个循环来解决。在循环中,我们初始化一个变量`sum`为0,然后使用一个循环从1到n,每次循环将当前的数加到`sum`上。最后输出`sum`即可。
pascal
program SumToN;
var
n, i, sum: integer;
begin
write(‘请输入一个整数n: ‘);
readln(n);
sum := 0;
for i := 1 to n do
sum := sum + i;
writeln(‘从1到’, n, ‘的所有整数的和为:’, sum);
end.
题目2: 编写一个程序,输入一个整数n,输出从1到n的所有整数的乘积。
题解:
这个问题同样可以通过一个循环来解决。在循环中,我们初始化一个变量`product`为1,然后使用一个循环从1到n,每次循环将当前的数乘到`product`上。最后输出`product`即可。
pascal
program ProductToN;
var
n, i, product: integer;
begin
write(‘请输入一个整数n: ‘);
readln(n);
product := 1;
for i := 1 to n do
product := product i;
writeln(‘从1到’, n, ‘的所有整数的乘积为:’, product);
end.
题目3: 编写一个程序,输入两个整数a和b,输出它们的最大公约数()。
题解:
这个问题可以使用欧几里得算法(辗转相除法)来解决。辗转相除法的基本思想是:用较大数除以较小数,再用出现的余数去除较小数,如此反复,直到余数为0为止,此时的除数即为所求。
pascal
program ;
var
a, b, r: integer;
begin
write(‘请输入两个整数a和b: ‘);
readln(a, b);
while b 0 do
begin
r := a mod b;
a := b;
b := r;
end;
writeln(‘最大公约数为:’, a);
end.
题目4: 编写一个程序,输入一个正整数n,输出它的阶乘。
题解:
这个问题可以通过一个循环来解决。在循环中,我们初始化一个变量`factorial`为1,然后使用一个循环从1到n,每次循环将当前的数乘到`factorial`上。最后输出`factorial`即可。
pascal
program Factorial;
var
n, i, factorial: integer;
begin
write(‘请输入一个正整数n: ‘);
readln(n);
factorial := 1;
for i := 1 to n do
factorial := factorial i;
writeln(n, ‘的阶乘为:’, factorial);
end.
以上四个题目及其题解,都是Pascal语言的基础编程练习,适合初学者练习使用。通过这些练习,初学者可以掌握基本的Pascal编程技巧,如循环、变量、输入输出等。