Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
Цикли — це інструкції, що виконують одну і ту ж саму послідовність дій, поки діє задана умова.
У реальному житті ми досить часто стикаємося з циклами. Наприклад, ходьба людини — цілком циклічне явище: крок лівою, крок правою, знову лівою-правою і т.д., поки не буде досягнута певна мета (наприклад, зупинка чи магазин). У комп'ютерних програмах поряд з інструкціями розгалуження (тобто вибором шляху дії) також існують інструкції циклів (повторення дії). Якби інструкцій циклу не існувало, довелося б багато разів вставляти в програму один і той же код підряд стільки разів, скільки потрібно виконати однакову послідовність дій.
Послідовніть дій, яка виконується циклічно, називається "проходом циклу" або "ітерація циклу".
while
Універсальним організатором циклу в Python є конструкція while. Слово "while" з англійської мови перекладається як "доки". А увесь цикл можна пояснити словами:
доки логічний вираз має значення True, доти будуть виконуватись певні операції
Заголовок конструкції виглядає так:
while condition:
'condition' — це логічний вираз. За заголовком конструкції while йде її тіло, тобто блок коду, який буде виконуватись циклічно.
Розглянемо приклад.
Припустимо у нас є список цілих чисел, і ми хочемо кожне число з цього списку зробити вдвічі більшим.
Логічно перебрати усі елементи списку по одному, помножити кожен на 2 а результат знову помістити у список на те ж саме місце.
До елементу списка ми можемо отримати доступ за до його індекса.
Індекси списку можуть приймати значення від 0 до його довжини.
l = [1,2,3,4,5,6,7] # список чисел
index = 0 # починаємо з індекса 0
while index <= len(l) - 1: # доки індекс не перевищує довжину списка мінус 1
l[index] = 2 * l[index] # множимо елемент з індексом index на 2
index = index + 1 # переходимо до наступного елементу
print(l) # ну і подивимось що у нас вийшло
for¶
Перебір послідовностей по елементах — доволі розповсюджена задача у програмуванні. І в Python для зручного перебору послідовностей існує ще один вид циклів: for.
Заголовок інструкції 'for' виглядає так:
for var in sequence:
'sequence' — це та послідовніть, яку треба перебрати по елементах.
Після слова 'for' зразу вказується змінна. У цю змінну при кожній ітерації (кожному проході циклу) буде попадати черговий елемент з послідовності 'sequence'.
За заголовком інструкції for йде її тіло — блок коду який буде виконуватись при кожній ітерації.
Розглянемо простий приклад: треба вивести усі елементи певної послідовності. У заданій послідовності ми переберемо усі елементи, один за одним, і виведемо його значення:
>>> l = [1,2,3,4,5]
>>> for i in l: # при кожній ітерації в 'i' буде черговий елемент списку 'l'
... print(i)
...
1
2
3
4
5
>>> for i in 'abcd':
... print(i)
...
a
b
c
d
>>>
Розглянемо ще приклад.
Є список цілих чисел. Треба отримати новий список у який буде входити кожен другий елемент з першого списку помножений на 2.
l = [1,2,3,4,5,6,7] # початковий список чисел
res = [] # результуючий список, поки що у ньому нічого немає
for number in l[1::2]: # зразу беремо тільки кожен другий елемент початкового списку
res.append( 2*number ) # додаємо до результуючого списку число з початкового помножене на 2
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.
Цикли — це інструкції, що виконують одну і ту ж саму послідовність дій, поки діє задана умова.
У реальному житті ми досить часто стикаємося з циклами. Наприклад, ходьба людини — цілком циклічне явище: крок лівою, крок правою, знову лівою-правою і т.д., поки не буде досягнута певна мета (наприклад, зупинка чи магазин). У комп'ютерних програмах поряд з інструкціями розгалуження (тобто вибором шляху дії) також існують інструкції циклів (повторення дії). Якби інструкцій циклу не існувало, довелося б багато разів вставляти в програму один і той же код підряд стільки разів, скільки потрібно виконати однакову послідовність дій.
Послідовніть дій, яка виконується циклічно, називається "проходом циклу" або "ітерація циклу".
while
Універсальним організатором циклу в Python є конструкція while. Слово "while" з англійської мови перекладається як "доки". А увесь цикл можна пояснити словами:
доки логічний вираз має значення True, доти будуть виконуватись певні операції
Заголовок конструкції виглядає так:
while condition:
'condition' — це логічний вираз. За заголовком конструкції while йде її тіло, тобто блок коду, який буде виконуватись циклічно.
Розглянемо приклад.
Припустимо у нас є список цілих чисел, і ми хочемо кожне число з цього списку зробити вдвічі більшим.
Логічно перебрати усі елементи списку по одному, помножити кожен на 2 а результат знову помістити у список на те ж саме місце.
До елементу списка ми можемо отримати доступ за до його індекса.
Індекси списку можуть приймати значення від 0 до його довжини.
l = [1,2,3,4,5,6,7] # список чисел
index = 0 # починаємо з індекса 0
while index <= len(l) - 1: # доки індекс не перевищує довжину списка мінус 1
l[index] = 2 * l[index] # множимо елемент з індексом index на 2
index = index + 1 # переходимо до наступного елементу
print(l) # ну і подивимось що у нас вийшло
for¶
Перебір послідовностей по елементах — доволі розповсюджена задача у програмуванні. І в Python для зручного перебору послідовностей існує ще один вид циклів: for.
Заголовок інструкції 'for' виглядає так:
for var in sequence:
'sequence' — це та послідовніть, яку треба перебрати по елементах.
Після слова 'for' зразу вказується змінна. У цю змінну при кожній ітерації (кожному проході циклу) буде попадати черговий елемент з послідовності 'sequence'.
За заголовком інструкції for йде її тіло — блок коду який буде виконуватись при кожній ітерації.
Розглянемо простий приклад: треба вивести усі елементи певної послідовності. У заданій послідовності ми переберемо усі елементи, один за одним, і виведемо його значення:
>>> l = [1,2,3,4,5]
>>> for i in l: # при кожній ітерації в 'i' буде черговий елемент списку 'l'
... print(i)
...
1
2
3
4
5
>>> for i in 'abcd':
... print(i)
...
a
b
c
d
>>>
Розглянемо ще приклад.
Є список цілих чисел. Треба отримати новий список у який буде входити кожен другий елемент з першого списку помножений на 2.
l = [1,2,3,4,5,6,7] # початковий список чисел
res = [] # результуючий список, поки що у ньому нічого немає
for number in l[1::2]: # зразу беремо тільки кожен другий елемент початкового списку
res.append( 2*number ) # додаємо до результуючого списку число з початкового помножене на 2
print(res) # ну і подивимось що у нас вийшло