Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

21.  Напечатать полную таблицу умножения в виде:

1*1=1 1*2=2 … 1*9=9

2*1=1 2*2=4 … 2*9=18

… … … …

9*1=9 9*2=18 … 9*9=81

22.  Найти все натуральные числа, меньшие 200, у которых сумма цифр равна 13.

23.  Найти все целые числа от 30 до 350, у которых сумма цифр равна 15.

24.  Найти все целые числа из промежутка от 1 до 100, у которых есть цифра ‘7’.

25.  Найти все целые числа из промежутка т 50 до 150, у которых есть цифра ‘9’.

26.  Найти все целые числа из промежутка от 10 до 200, у которых есть цифры ‘2’ и ’5’.

27.  Найти размеры всех прямоугольников, площадь которых равна заданному натуральному числу s и стороны которого выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон:

а) считать разными;

б) считать совподающими.

Оператор цикла с постусловием repeat.

Инструкция repeat как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторений не известно и определяется самим ходом вычислений.

В общем виде оператор выглядит так:

repeat

{последовательность операторов};

until условие;

где условие – выражение логического типа.

Оператор работает следующим образом:

1.  Выполняются инструкции следующие за слово repeat.

2.  Вычисляется значение условия. Если условие ложно, то повторно выполняются инструкции цикла. Если же условие истинно, то выполнение цикла заканчивается.

Таким образом, операторы находящиеся между repeat и until выполняются до тех пор, пока условие ложно.

НЕ нашли? Не то? Что вы ищете?

Примечания:

1.  Последовательность инструкций между repeat и until всегда будет выполнена хотя бы один раз.

2.  Для того чтобы цикл завершился, необходимо, чтобы последовательность операторов между repeat и until изменяла значения переменных, входящих в выражение условие.

Инструкция полезна при создании программ, обрабатывающих ввод с клавиатуры.

Пример: Составить программу вычисляющую сумму положительных чисел, вводимых с клавиатуры.

program polog;

uses crt;

var

n, s: integer;

begin

clrscr;

s:=0;

repeat

write (‘->’);

readln (n);

if n>0 then s:=s+n;

until n<=0;

writeln (‘Сумма введенных положительных чисел =’,s);

readln;

end.

Пример: С клавиатуры вводится число, проверить является ли оно простым.

program prost;

uses crt;

var

r, n, d: integer;

begin

clrscr;

writeln (‘Введите целое число’); readln (n);

d:=2;

repeat

r:=n mod d;

if r<>0 then d:=d+1;

until r=0;

if d=n then

writeln (n,‘ – простое число’)

else writeln (n,‘ – составное число’)

readln;

end.

Задачи:

1.  Дано натуральное число.

а) Получить все его делители.

б) Найти сумму его делителей.

в) Найти сумму его четных делителей.

г) Определить количество его делителей.

д) Определить количество его нечетных делителей.

е) Определить количество его делителей. Сколько из них четных?

ж) Найти количество его делителей, больших D.

2.  Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая это самое число. Например, число 6 - совершенное (6=1+2+3). Дано натуральное число. Выяснить, является ли оно совершенным.

3.  Найти количество делителей каждого из целых чисел от 120 до 140.

4.  Найти все целые числа из промежутка от 1 до 300, у которых ровно 5 делителей.

5.  Найти все целые числа из промежутка от 200 до 500, у которых ровно 6 делителей.

6.  Найти все целые числа из промежутка от А до В, у которых количество делителей равно К. Если таких чисел нет, то должно быть напечатано соответствующее сообщение.

7.  Найти натуральное число из интервала от А до В, у которого количество делителей максимально. Если таких чисел несколько, то должно быть найдено:

а) максимальное из них;

б) минимальное из них.

8.  Найти все трёхзначные простые числа.

9.  Найти 100 первых простых чисел.

10.  Найти сумму делителей каждого из целых чисел от 50 до 70.

11.  Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна 50.

12.  Найти все целые числа из промежутка от 300 до 600, у которых сумма делителей кратна 10.

13.  Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (само другое число в качестве делителя не рассматривается).Найти все пары дружественных чисел, меньших 50000.

14.  Дана непустая последовательность неотрицательных целых чисел, оканчивающаяся отрицательным числом. Найти среднее арифметическое всех чисел последовательности (без учета отрицательного числа).

15.  Дана непустая последовательность целых чисел, оканчивающаяся числом -1. Определить, есть ли в последовательности хотя бы одно число, кратное 7. В случае положительного ответа определить порядковый номер первого из них.

16.  Дана последовательность натуральных чисел а1,а2,...,а15. Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседних" чисел. В случае положительного ответа определить порядковые номера чисел первой из таких пар.

17.  Дана последовательность целых чисел, оканчивающаяся числом 9999. Количество чисел в последовательности не меньше двух. Определить, есть ли в ней хотя бы одна пара "соседних" четных чисел. В случае положительного ответа определить порядковые номера чисел первой из таких пар.

18.  Дана последовательность вещественных чисел, оканчивающаяся числом 10000. Количество чисел в последовательности не меньше двух. Определить, является ли последовательность упорядоченной по возрастанию. В случае отрицательного ответа определить порядковый номер первого числа, "нарушающего" такую упорядоченность.

Самостоятельная работа на циклы с параметром.

Сравнение работы операторов цикла (repeat, while, for).

n/n

Цикл с предусловием while

(пока условие истинно)

Цикл с постусловием repeat

(до истинности условия)

Цикл со счетчиком for

1

До начала цикла должны быть сделаны начальные установки переменных, управляющих условием цикла, для корректного входа в цикл.

Начальная установка переменной счетчика цикла до заголовка не требуется

2

В теле цикла должны присутствовать операторы, изменяющие переменные условия так, чтобы цикл через некоторое число итераций закончился.

Изменение в теле цикла значений переменных, стоящих в заголовке цикла, не допускается.

3

Цикл работает пока условие истинно.

Цикл работает пока условие ложно.

Количество итераций цикла неизменно и точно определяется значениями верхней и нижней границ и шага цикла.

4

Цикл завершается, когда условие становится ложным.

Цикл завершается, когда условие становится истинным.

Нормальный ход работы цикла может быть нарушен оператором goto или процедурами Break и Continue.

5

Цикл может не выполниться ни разу, если исходное значение условия при входе в цикл ложно

Цикл обязательно выполняется как минимум один раз.

Цикл может не выполниться ни разу, если шаг цикла будет изменять значение счетчика цикла от нижней границы в направлении, противоположном верхней границы.

6

Если в теле цикла требуется более одного оператора, то необходимо использовать составной оператор.

Независимо от количества операторов в теле цикла использование составного оператора не требуется.

Если в теле цикла требуется более одного оператора, то необходимо использовать составной оператор.

Зачет по операторам цикла.

Вложенные циклы

Для решения задачи достаточно часто требуется использовать две и более циклические конструкции, одна из которых расположена внутри другой (других). Такие конструкции называют вложенными циклами. Какие именно циклы при этом используются, роли не играет, они могут быть организованы посредством любых рассмотренных ранее операторов (For, While, Repeat... Until).

Задача : Сколько можно купить быков, коров и телят, если бык стоит 10 рублей, корова - 5 рублей, теленок - полтинник (0,5 рубля), при условии, что на 100 рублей надо купить 100 голов скота.

Решение : Обозначим через b - количество быков, k - количество коров, t - количество телят. После этого можно записать два уравнения:

10b+5k+0,5t=100 и b+k+t=100

Преобразуем их :

20b+10k+t=200 и b+k+t=100

На 100 рублей можно купить :

не более 10 быков, т. е. 0<=b<=10;

не более 20 коров, т. е. 0<=k<=20;

не более 200 телят, т. е. 0<=t<=200;

Таким образом получаем :

Program skot;

Var b, k,t : integer;

Begin

For b:=0 to 10 do

For k:=0 to 20 do

For t:=0 to 200 do

if (20*b+10*k+t=200) and (b+k+t=100) then

writeln(‘быков ‘,b,‘ коров ’,k,’ телят ’,t);

end.

Условие будет проверятся 11*21*201=46431 раз. Но задачу можно сократить на один цикл если количество телят вычислять по формуле:

t=100-(b+k)

Массивы.

Массив – это упорядоченный набор однотипных элементов, имеющих общее имя.

Объявление массива.

Перед использованием массив, как и любая переменная, должен быть объявлен в разделе объявления переменных. В общем виде объявление массива выглядит так:

имя: array [нижний_индекс..верхний_индекс] of тип;

где

имя – имя переменной – массива.

array – ключевое слово, обозначающее, что переменная является массивом;

нижний_индекс и верхний_индекс – целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;

тип – тип элементов массива.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30