Автор работы: Пользователь скрыл имя, 30 Октября 2013 в 18:05, лабораторная работа
Часто при решении задач приходится многократно вычислять значения по одним и тем же зависимостям для различных значений входящих в их величины. Такие многократно повторяемые участки вычислительного процесса называются циклами. Использование циклов позволяет существенно сократить объем схемы алгоритма и длину соответствующей ей программы. Различают циклы с заданным и неизвестным числом повторений. С заданным числом повторений - цикл со счетчиком. С неизвестным числом повторений - цикл с предусловием, цикл с постусловием.
end
else begin
writeln ('произведение чисел равно',p);
readln;
end;
end.
12. Составить таблицу умножения на 7.
program zadacha_12;
var
i, p: integer;
begin
writeln ('таблица умножения на 7');
for i:=1
to 10 do
begin
p:=7*i;
writeln ('7x',i,'=',p);
end;
readln;
end.
13. Дано число а. Найти среди чисел 1, 1+1/2, 1+1/2+1/3,..., первое большее а.
program zadacha_13;
uses crt;
var
a: real;
s: real;
n: integer;
begin
clrscr;
writeln('Введите число');
readln(a);
n:=1;
s:=1;
while s<=a do
begin
n:=n+1;
s:=s+1/n;
end;
writeln ('первое число большее ',a:2:2,' это - ',s:2:2);
readln;
end.
14. Определить максимальное число, введенное с клавиатуры.
program zadacha_14;
uses crt;
var
a: integer;
m: integer;
begin
clrscr;
m:=0;
repeat
readln(a);
if a>m then m:=a;
until a<=0;
writeln
('максимальное число: ',m);
readln;
end.
15. ДРУЖЕСТВЕННЫЕ числа - два натуральных числа, каждое из которых равно сумме правильных делителей другого (т. е. делителей, меньших этого числа). Напр., 284 и 220. Составить программу, которая находит все дружественные числа в интервале [1; 10000].
program zadacha_15;
uses crt;
var
a: longint;{первое число}
b: integer;{делители числа s}
i: integer; {делители
числа a}
s: integer;{сумма делителей первого числа}
s1: integer;{сумма
делителей s}
begin
clrscr;
writeln ('Программа, находящая все дружественные');
writeln ('числа в интервале от 1 до
10000');
readln;
for a:= 2 to 10000 do {цикл для проверки первых чисел}
begin
s:=0;
for i:= 1 to a-1 do {находим все делители числа а,
begin
if a mod i = 0 then {находится сумма делителей числа а}
begin
s:= s+i;
end;
end;
s1:=0;
for b:= 1 to s-1 do{цикл для проверки вторых чисел,
begin
if s mod b = 0 then {находим все делители чила s
begin
s1:= s1 +b;
end;
end;
if (s1=a) and (s<>a) then {сумма делителей суммы
сумма делителей числа а
begin
writeln ('Числа ', a, ' и ',s,' - дружественные');
end;
end;
readln;
end.
16. Пифагоровыми числами называются числа, для которых выполняется равенство a2+b2= c2. Например, 32+42= 52 следовательно числа 3,4,5 – пифагоровы. Составить программу, которая находит все пифагоровы числа, не превышающих 20.
program zadacha_16;
uses crt;
var
a:integer;{первое число}
b:integer;{второе число}
c:integer;{третье число}
a1:integer;{первое число в квадрате}
b1:integer;{второе число в квадрате}
c1:integer;{третье число в квадрате}
i:integer; {счетчик цикла}
cx:integer;{сумма квадратов первого и второго чисел}
begin
clrscr;
for a:=1 to 20 do
a1:=SQR(a);
for b:=1 to 20 do
b1:=SQR(b);
cx:=a1+b1;
for c:=1 to 20 do
c1:=SQR(c);
if c1=cx then
writeln ('a=',a,'','b=',b,'','c=',c,'-
c:=c+1;end;
b:=b+1;end;
a:=a+1;
readln;
end.
17. Выписать столбиком следующие числа:2,1; 2,2; 2,3; 2,4; 2,5; 2,6; 2,7; 2,8; 2,9.
program zadacha_17;
uses crt;
var
i: integer;
begin
clrscr;
for i:=21 to 29 do
begin
writeln (i/10:5:1);
end;
readln;
end.
18. Найти среднее арифметическое квадратов всех целых чисел от 1 до 100.
program zadacha_18;
uses crt;
var
i:integer;
{числа}
c:longint;
f:real;
begin
clrscr;
c:=0;
for
i:=1 to 100 do
begin
c:=i*i+c;
{нахождение суммы квадратов}
end;
f:=c/100; {нахождение среднего арифметического квадратов}
writeln('Среднее
readln;
end.
19. Вычислить сумму 1+1/2+1/3+1/4+.....1/n.
program zadacha_19;
uses crt;
var
s,s1:real;
i ,n:integer;
begin
clrscr;
writeln('введите кол-во n');
readln(n);
s:=1;
for i:= 2 to n do
begin
s:=s+(1/i);
end;