Дано масив:
А[і]: 3 8 5 7 6
Визначте результат фрагмента програми:
For i:=1 to 5 do if A[i]<=5 Then P:= P*A[i];
Ответы
Відповідь:
Даний фрагмент програми буде множити змінну P на кожен елемент масиву A, якщо він менше або дорівнює 5. Змінна P повинна бути оголошена та проініціалізована заздалегідь. У даному випадку результат буде залежати від початкового значення змінної P. Якщо P дорівнює 1, то результатом буде добуток всіх елементів масиву, які менше або дорівнюють 5. У даному конкретному випадку P буде дорівнювати 3 * 5 = 15, оскільки лише два елементи в масиві (3 та 5) задовольняють умові. Якщо P дорівнює 0, то результатом завжди буде 0, оскільки будь-яке число, помножене на 0, дає 0.
А чому результат програми саме 15?
При обході масиву циклом for, для кожного елементу масиву A перевіряється умова: якщо елемент менший або дорівнює 5, то він береться до множення змінної P. У даному конкретному випадку, перший елемент масиву A дорівнює 3, що менше або дорівнює 5, тому він береться до множення. На першій ітерації змінна P дорівнює одиниці, тому добуток буде дорівнювати 3*1=3. Наступний елемент масиву A дорівнює 8, що більше 5, тому він не береться до множення. Третій елемент масиву A дорівнює 5, що менше або дорівнює 5, тому він береться до множення. На цій ітерації змінна P дорівнює 3, тому добуток буде дорівнювати 5*3=15. Наступний елемент масиву A дорівнює 7, що більше 5, тому він не береться до множення. Останній елемент масиву A дорівнює 6, що більше 5, тому він не береться до множення.
Отже, у нас виходить, що добуток усіх елементів масиву A, які менші або дорівнюють 5, дорівнює 15.
Python3:
A = [3, 8, 5, 7, 6]
P = 1
for i in range(5):
if A[i] <= 5:
P *= A[i]
print("P =", P)
Результат програми: