Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие для учеников .doc
Скачиваний:
13
Добавлен:
18.12.2018
Размер:
2.27 Mб
Скачать

§16. Решение задач с использованием цикла с параметром Задача 1

Дано число n. Каким образом можно построить перевертыш данного числа

Решение

Обозначим через n вводимое число, m − дубликат числа n, а − перевертыш числа n, i − переменная цикла для создания перевертыша.

Program Example_34;

Var n,m,a,i:Integer;

Begin

Writeln('введите целое число,

не большее 9999');

Readln(n); {вводим целое число}

m:=n; a:=0;

{создание перевертыша}

For i:=l To 4 Do {так как число

четырехзначное}

Begin

a:=a*10+m Mod 10; m:=m div 10;

End;

If a=n Then Writeln('ДА!')

Else Writeln('НЕТ!');

{если перевертыш равен данному числу,

то выводим "ДА", иначе - "НЕТ"}

Readln;

End.

Задача 2.

Даны натуральные числа n, k (n, k<9999). Из чисел от n до k выбрать те, запись которых содержит ровно три одинаковые цифры. Например, числа 6766, 5444, 0006, 0060 содержат ровно три одинаковые цифры.

Фрагмент решения:

Program Example_35;

Begin

Writeln(' Введите два числа,

не больших 9999');

Readln(n, k);

For i:=n To k Do

Begin

m:=i;

{Выделяем цифры:

a1 - первая, a2 - вторая,

а3 - третья, а4 - четвертая}

a4:=m mod 10; m:=m div 10;

а3:=m mod 10; m:=m div 10;

a2:=m mod 10; a1:=m div 10;

{Проверка условий}

If ((a1=a2) and (a1=a3) and

(a1<>a4)) or {Первое условие}

((a1=a2) and (a1=a4) and

(а1<>а3)) or {Второе условие}

((a1=a3) and (a1=a4) and

(a1<>a2)) or {Третье условие}

((а2=а3) and (a2=a4) and

(а2<>а1)) {Четвертое условие}

Then Writeln(i:5);

End;

Readln;

End.

Задача 3

Задано натуральное число n. Написать программу вычисления суммы натуральных чисел от 1 до n:

S=1+2+3+…n

Program Example_36;

{вычисление суммы натуральных чисел}

var n, s, I: integer;

begin

writeln('Введите натуральное число');

readln(n);

s:=0

for I:=1 to n do s:=s+I;

writeln('сумма натуральных чисел= ',s);

readln;

end.

Задача 4

Задано натуральное число n. Написать программу вывода на экран натуральных чисел от 1 до n в обратном порядке.

Program Example_37;

var n, i,: integer;

begin

writeln('Введите натуральное число');

readln(n);

for i:=n downto 1 do

writeln(i);

readln;

end.

Задача 5

Для заданного натурального числа n написать программу вычисления выражения:

S:=1+sqrt(2)+sqrt(3)+…sqrt(n)

Program Example_38;

var n, i: integer;

s: real;

begin

writeln('Введите натуральное число');

readln(n);

s:=0;

for i:=1 to n do s:=s+sqrt(i);

writeln('Сумма= ', s);

readln

end.

Задача 6

Для заданного натурального числа n написать программу вычисления выражения:

k:=sqrt(2+sqrt(2+sqrt(2+sqrt(2+…sqrt(2)))))

где число 2 повторяется n раз.

Program Example_39;

var n, i: integer;

k: real;

begin

writeln('Введите натуральное число');

readln(n);

k:=0

for i:=1 to n do k:=sqrt(2+k);

writeln('Значение выражения= ', k);

end.

Задача 7

Для заданного натурального числа n написать программу вычисления выражения:

P=sqrt(3+sqrt(6+sqrt(9+sqrt(3*n)))).

Program Example_40;

{вычисление выражения}

var n, I, k: integer;

p: real;

begin

writeln('Введите натуральное число');

readln(n);

p:=0;

for I:=1 to n do

begin

k:=n+1-I;

p:=sqrt(p+3*k);

end;

writeln('Значение выражения= ',p);

end.

Задача 8

Для заданного натурального числа n написать программу вычисления выражения:

Program Example_41;

var x, n: integer;

s, m, k: real;

begin

writeln('Введите натуральное число');

readln(n);

s:=0;

m:=0;

for x:=1 to n do

begin

k:=sin(x); s:=s+k; m:=m+1/s

end;

writeln('Значение выражения= ', m)

end.

Задача 9

Для заданного натурального числа n написать программу вычисления его факториала

n!=1*2*...*n

Восклицательный знак в конце буквы n! − это знак математической операции, называется он факториал и обозначает произведение всех натуральных чисел от единицы до указанного числа. Например:

6!=1*2*3*4*5*6=720.

program Example_42;

var f, i, n: integer;

begin

writeln('Введите натуральное число');

readln(n);

f:=1;

for i:=1 to n do f:=f*i;

writeln(n, '!= ', f);

readln;

end.