Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Циклы.
Довольно часто при решении задач возникает необходимость выполнять одни и те же операции несколько раз. При реализации многократного повторения некоторых операций линейной конструкцией необходимо снова и снова повторять одни и те же операторы. Для более компактной реализации этих операций во всех языках программирования используются циклические конструкции, суть которых заключается в том, что вместо многократного переписывания одних и тех же строк программы управление в нужном месте передается предыдущим операторам с тем, чтобы они повторялись.
Существуют три основных типа циклов – Пока, До и Для.
Отличие первых двух циклов состоит в том, что в них количество повторений заранее неизвестно, а в цикле Для число повторений заранее определено.


В том случае, когда количество повторений заранее известно,
используется цикл Для. Здесь само условие выполнения цикла содержит информацию о том, сколько раз надо повторить его выполнение,
например, в виде диапазона изменения цикловой переменной.
http://www. uchinfo.
Выбрать наименьшие значение из 20 чисел, вводимых с клавиатуры:
program min;
uses crt;
var i:integer;
x, y : real;
begin
clrscr;
writeln ('Enter first');
readln (x);
for i:=2 to 20 do
begin
write ('Enter next');
readln (y);
if y<x then x:= y
end;
writeln ('min=',x);
end.
Вычислить сумму n чисел, вводимых с клавиатуры.
program Summa;
uses crt;
var I, n :integer;
x, sum : real;
begin
clrscr;
writeln (‘Enter n’);
readln (n);
sum:=0;
for i:=1 to n do
begin
write (‘Enter x’);
readln (x);
sum:=sum+ x;
end;
writeln (‘sum=’, sum);
end.
program prim5;
|
var x, y,z:integer;
begin
clrscr;
writeln('<<Таблица умножения>>');
writeln('Введите множитель: ');
readln(x);
for y:=1 to 9 do
begin
writeln(x,'*',y,'=?');
writeln('Ответ: ');
readln(z);
if z=x*y then writeln(x,'*',y,'=',z)
else writeln('ошибка!!! ');
end;
readln;
end.
program prim5b;
|
var n:integer;
begin
clrscr;
for n:=30 downto 1 do {с шагом -1}
begin
gotoxy(n,13);
delay (9000);
writeln('*');
end;
readln;
end.
Цикл с предусловием.
Цикл с предусловием выполняется до тех пор, пока истинно условие
в заголовке цикла, причем оно проверяется вначале, потом исполняется
оператор. Переменным, входящим в условие, должны быть присвоены определенные значения до входа в цикл.
Перед выполнением цикла происходит присваивание начальных значений переменным, меняющимся в ходе его выполнения. Собственно выполнение цикла Пока начинается с проверки условия его окончания. Поэтому такую разновидность цикла называют еще циклом с предусловием. Переход к выполнению тела цикла, включающего в себя рабочий блок и изменение значений аргументов, осуществляется только в том случае, если условие выполняется. В противном случае происходит выход из цикла.
|
uses crt;
var m, n:integer;
begin
clrscr;
randomize;
m:=random(100);
writeln('отгадай число !');
readln(n);
while n<>m do {пока n< >m повторить еще раз}
begin
if n<m then writeln('x>',n) else writeln('x<',n);
readln(n);
end;
writeln('x=',m);
end.
При возникновении в программе бесконечного цикла говорят,
что программа «зациклилась». Зациклившуюся программу приходится останавливать одновременным нажатием клавиш Ctrl+Break.
Задание:
|
нечетных чисел от 101 до 301.
program prim6f;
uses crt;
var i, s:integer;
begin
clrscr;
s:=0; i:=101;
while i<=301 do
begin
s:=s+i;
i:=i+2;
end;
writeln('sum=',s);
readln;
end.
http://www. uchinfo.
Найти все двузначные числа, кратные 7.
Program Kratn_7;
Uses Crt;
Var k: integer;
Begin
Clrscr;
k:=14;
While k<=99 do
Begin
Writeln(k);
k:=k+7;
end;
end.
Найти все цифры заданного произвольного целого числа.
Program Zifry;
Uses Crt;
var x, y, c: longint;
r, k: integer;
Begin
clrscr;
Writeln ('Enter zeloe chislo do 10 snakov');
Readln (x);
writeln;
y:=x; k:=0;
Writeln ('Zifry zadannogo chisla:');
repeat
r:=y mod 10;
c:=y div 10;
k:=k+1;
y:=c;
Writeln (k,' zifra = ',r);
until y<1;
end.
Цикл с постусловием.
Здесь вначале выполняется группа операторов, а потом производится проверка, следует ли вновь повторить эту группу. Если условие ложно, выполнение цикла повторяется, иначе – заканчивается.
Конструкция repeat... until x>10 (рипит... антил)
означает: повторяй до тех пор, пока x не станет больше 10.
|
program prim6a;
{вычислите x^2, если x=2,4,6,8,10}
uses crt;
var x, y:integer;
begin
clrscr;
x:=2;
repeat
y:=x*x;
writeln(x:3,y:5);
x:=x+2;
until x>10;
readln;
end.
|
uses crt;
var t, s,h, v: real;
begin
clrscr;
v:=20; t:=0;
repeat
s:=v*t;
h:=100-9.81*t*t/2;
writeln('t=',t:3:1,' s=',s:5:1,' h=',h:5:2);
t:=t+0.2;
until h<=0;
readln;
end.
Какое значение будет принимать переменная у после выполнения программы?
|
program prim5m;
uses crt;
var x, y:integer;
begin
clrscr;
y:=0;
for x:=1 to 9 do
begin
y:=y+1;
end;
writeln('y=',y);
readln;
end.
program prim5n;
uses crt;
var x, y:integer;
begin
clrscr;
x:=10;
y:=0;
while x>0 do
begin
x:=x-2;
y:=y+x;
end;
writeln('y=',y);
readln;
end.
ТЕСТЫ 17-18 (на диске 1С: Вычислительная математика и программирование 10-11кл)
Вложенные циклы.
Цикл называется вложенным,
если он находится в теле другого цикла.
for i:=0 to 2 do
begin
for j:=0 to 3 do
begin
writeln(i, j);
end;
end;
Среди чисел 1 < N < 100 найдите все пары чисел, для которых
их сумма равнялась бы произведению:
|
program prim5d;
uses crt;
var a, b,k:integer;
begin
clrscr;
k:=0;
for a:=1 to 100 do
for b:=1 to 100 do
begin
if a+b=a*b then
begin
k:=k+1;
writeln(a,' ',b);
end;
end;
if k=0 then writeln('takih chisel net')
else writeln('k=',k);
readln;
end.
http://www. uchinfo.
Сколько можно купить быков, коров и телят, если бык стоит 10 рублей, корова -5 рублей, теленок – 0,5 рубля и на 100 рублей надо купить 100 животных.
На 100 рублей можно купить:
• Не больше 10 быков, 0≤b≥10
• Не больше 20 коров, 0≤k≥20
• Не больше 200 телят, 0≤t≥200
Решение
B – количество быков
K - количество коров
T - количество телят.
После этого можно записать два уравнения:
10b+5k+0,5t=100
b+k+t=100,
Преобразуем их:
20b+10k+t=200
b+k+t=100
Program Pokupka1;
Uses Crt;
Var b, k, t:integer;
Begin
Clrscr;
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('Bkov ',b,' korov ',k,' telyat ', t);
end.
1. Определить сколько существует «счастливых» автобусных билетов в одной серии
с номерами от 000000 до 999999.«Счастливым» считается билет, сумма первых трех цифр которого равна сумме вторых трех цифр.
2. С клавиатуры вводится 10 различных произвольных чисел.
а) Найти разность между наибольшим и наименьшим из них.
б) Порядковый номер наибольшего и наименьшего числа.


