Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
Завдання 1
Складіть програму, яка відповідала б умові задачі:
Ненажера Стецько прокрався перед обідом у шкільну їдальню, де вже були накриті столи (N), і почав швидко з’їдати ще тепленькі булочки, які стояли на столах. На кожному столі рівна кількість булочок (х). За Стецьком спостерігав черговий по їдальні Андрійко і уважно підраховував кількість з’їдених булочок на своєму калькуляторі. Допоможіть порахувати кількість булочок. (Інструкція для рішення даної задачі була на урокі №25)
Завдання 2
Складіть програму за відеоуроком нижче
Вкладені цикли
Часто буває так, що при повтореннях змінюється не одна величина, а дві (чи навіть більше). І при кожному значенні однієї величини інша величина «пробігає» усі свої значення.
У деяких випадках важливо повторити підзадачу кілька разів усередині більш загальної задачі. Один зі способів написання такої програми - включити цикл у набір інструкцій, що повторюються всередині іншого циклу. Така структура, що складається з циклу в циклі, називається вкладеними циклами.
Вкладення циклів використовується зокрема при розв'язуванні таких задач:
· задачі на перебір варіантів;
· табулювання функцій;
· обробка двовимірних масивів.
Якщо в програмі використовуються вкладені цикли, то для підвищення наочності програмного коду прийнято кожний наступний рівень вкладання зміщувати відносно попереднього.
Правило вкладення циклів: внутрішній цикл цілком укладається в тіло зовнішнього циклу.
Приклад № 1. Обчислити значення змінної Y=2*K+N при всіх значеннях змінних N=1, 2, 3 і K=2, 4, 6, 8.
Якщо перебирати всі значення N і K, ми повинні отримати 12 значень змінної Y.
Скласти програму можна в такий спосіб: для кожного значення N перебрати всі значення К від 2 до 8, тобто N використати як параметр зовнішнього циклу, К - як параметр внутрішнього циклу.
Текст програми:
Program priklad_1;
var n, k, y:integer;
begin
for n:=1 to 3 do
begin
k:=2;
while k<=8 do
begin
y:=2*k+n;
writeln(n:3, k:3,y:3);
k:=k+2;
end;
end;
end.
Параметр N змінюється з кроком 1, тому зовнішній цикл організований з використанням оператора For; параметр К змінюється з кроком 2, тому внутрішній цикл є циклом While.
Приклад № 2. Старовинна задача. Скільки можна купити биків, корів та телят, якщо вартість одного бика - 10 руб, однієї корови - 5 руб, а за одного теля платять 0,5 рубля. І якщо на 100 рублів потрібно купити 100 голів скоту.
Розв'язування:
Позначимо через b кількість биків; k - кількість корів; t - кількість телят. Після цього можна записати два рівняння:
10b + 5k + 0.5t = 100 і b + k + t = 100
На 100 рублів можна купити:
не більше 10 биків, тобто 0<=b<=10;
не більше 20 корів, тобто 0<=k<=20;
не більше 200 телят, тобто 0<=t<=200.
Отже отримуємо:
Program Priklad_2;
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 (10b + 5k + 0.5t = 100) and (b + k + t = 100) then
writeln('биків - ', b, ' корів - ', k,' телят - ',t);
end.
https://www.youtube.com/watch?v=LIpFdiav6Co
Інформатика 8 кл. Бондаренко https://cutt.ly/yNBHtfg
Питання: Що таке вкладений цикл?
a) Цикл, який виконується вкритий іншим циклом.
b) Цикл, який виконується двічі.
c) Цикл, який не має вкладень.
Правильна відповідь: a) Цикл, який виконується вкритий іншим циклом.
Питання: Для чого використовують вкладені цикли?
a) Для збільшення складності коду.
b) Для виконання однієї дії багато разів.
c) Для створення циклу без умови виходу.
Правильна відповідь: b) Для виконання однієї дії багато разів.
Питання: Як виглядає вкладений цикл у мові програмування Python?
a) for i in range(3): for j in range(2):
b) nested loop(i, j, 3, 2):
c) loop i in range(3) { loop j in range(2) { } }
Правильна відповідь: a) for i in range(3): for j in range(2):
Питання: Які вкладені цикли особливо корисні для обробки?
a) Одновимірних масивів.
b) Двовимірних масивів, матриць та інших складних даних.
c) Лінійних структур даних.
Правильна відповідь: b) Двовимірних масивів, матриць та інших складних даних.
Питання: Що дозволяє робити оптимізація коду за допомогою вкладених циклів?
a) Збільшувати кількість рядків у коді.
b) Зменшувати кількість повторюваних фрагментів коду.
c) Зробити код складнішим для зрозуміння.
Правильна відповідь: b) Зменшувати кількість повторюваних фрагментів коду.
Питання: У чому полягає основна перевага вкладених циклів?
a) У можливості використання нескінченних циклів.
b) У здатності виконувати кілька циклів одночасно.
c) У зменшенні кількості коду та покращенні його читабельності.
Правильна відповідь: c) У зменшенні кількості коду та покращенні його читабельності.
Питання: Які завдання можна ефективно вирішувати за допомогою вкладених циклів?
a) Тільки обробка простих типів даних.
b) Обробка складних структур даних та робота з матрицями.
c) Тільки створення умовних конструкцій.
Правильна відповідь: b) Обробка складних структур даних та робота з матрицями.
Питання: Що робить оператор break вкладених циклів?
a) Зупиняє виконання тільки внутрішнього циклу.
b) Завершує виконання всіх циклів.
c) Переходить до наступної ітерації внутрішнього циклу.
Правильна відповідь: b) Завершує виконання всіх циклів.
Питання: Як можна уникнути надмірного вкладення циклів?
a) Об'єднати усі цикли в один.
b) Використовувати функції замість циклів.
c) Використовувати тільки одновимірні масиви.
Правильна відповідь: b) Використовувати функції замість циклів.
Питання: Яким чином можна покращити продуктивність коду, використовуючи вкладені цикли?
a) Збільшити кількість змінних.
b) Використовувати оптимізовані функції.
c) Переробити весь код для використання тільки одного циклу.
Правильна відповідь: b) Використовувати оптимізовані функції.