ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.08.2024

Просмотров: 9

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Хай, наприклад, основна і допоміжна функції зберігаються в різних файлах.

Приклад 7.

Тут обмін значеннями між основною і допоміжною функцією func() відбувається через загальну глобальну змінну var, для якої під час компіляції виділяється місце в зовнішньому розділі пам'яті. В результаті виконання даної програми на екран виведеться число 50.

Локальні змінні, оголошені усередині блоків, розподіляються в автоматичній пам'яті, що працює за принципом стека. Виділення пам'яті відбувається при вході виконання програми в блок, а при виході з блоку пам'ять звільняється. Ключове слово auto писати необов'язково (мається на увазі за умовчанням).

Статична пам'ять виділяється під змінні, локалізовані усередині блоку, але на відміну від автоматичної пам'яті не звільняється при виході з блоку. Таким чином, при повторному входженні в блок статична змінна зберігає своє колишнє значення. Приклад оголошення статичній змінній:

f()

{static int schet=10; ...}

Ініціалізація статичної змінної відбувається лише при першому входженні в блок. Якщо ініціалізація явно не вказана, то змінній автоматично привласнюється нульове початкове значення. Статичні змінні можна використовувати, наприклад, для організації лічильника числа входжень в блок.

Регістрова пам'ять виділяється під локальні змінні. Регістри процесора — найшвидший і найменший вигляд пам'яті. Вони задіяні при виконанні практично всіх операцій в програмі. Тому можливість розпоряджатися регістровою пам'яттю краще залишити за компілятором.

Нарешті розглянемо приклад, в якому використовуються різні способи опису змінних.

Приклад 8.

Контрольні питання

1. Знайти помилку в програмі:

2. Визначити результат виконання програми:

3. Скласти програму для обчислення площі кільця по значеннях внутрішнього і зовнішнього радіусів, використовуючи функцію обчислення площі круга.


4. Дано три цілі числа. Визначити, сума цифр якого з них більша. Підрахунок суми цифр організувати через функцію.

5. Скласти функцію, що визначає, чи є її цілий аргумент простим числом. Використовувати цю функцію для підрахунку кількості простих чисел в послідовності з десяти цілих чисел, що вводяться з клавіатури.

6. Описати рекурсивну функцію stepen (x, n) від речового х (х >= 0) і цілого n, яка обчислює величину xn згідно формулі

7. Дані натуральні числа n і m; знайти НОД(n, m). Скласти рекурсивну функцію обчислення НОД, засновану на співвідношенні НОД(n, m)= НОД(m, r), де r — залишок від ділення n на m (n > m).

1

  • Скласти програму для знаходження найменшого загального кратного трьох натуральних чисел.

  • Написати програму для знаходження суми більшого і меншого з трьох чисел.

  • Обчислити площу правильного шестикутника із стороною а, використовуючи підпрограму обчислення площі трикутника.

2

  • Дані натуральні числа K і N. Скласти програму формування масиву А, елементами якого є числа, сума цифр яких рівна K і які не більше N.

  • Дано три квадратні матриці А, В, C n-го порядку. Вивести на друк ту з них, норма якої найменша. Пояснення. Нормой матриці назвемо максимум з абсолютних величин її елементів.

  • Два натуральні числа називаються «дружніми», якщо кожне з них дорівнює сумі всіх дільників (окрім його самого) іншого числа (наприклад, числа 220 і 284). Знайти всі пари «дружніх чисел», які не більше даного числа N.

  • Два прості числа називаються «близнятами», якщо вони відрізняються один від одного на 2 (наприклад, 41 і 43). Надрукувати всі пари «близнят» з відрізrка [n, 2n], де n — задане натуральне число більше 2

3

  • Натуральне число, в записі якого n цифр, називається числом Армстронга, якщо сума його цифр, піднесена до ступеня n, дорівнює самому числу. Знайти всі числа Армстронга від 1 до k.

  • Написати програму, яка знаходить і виводить на друк всі чотиризначні числа вигляду, для яких виконується:

а) а, b, c, d — різні цифри;

б) ab - cd = а + b + c + d.

  • Знайти всі прості натуральні числа, не перевершуючі n, двійковий запис яких є палиндром, тобто читається однаково зліва направо і справа наліво.

  • Знайти всі натуральні n-значні числа, цифри в яких утворюють строго зростаючу послідовність (наприклад, 1234, 5789).


4

  • Написати програму, що визначає суму n-значних чисел, що містять лише непарні цифри. Визначити також, скільки парних цифр в знайденій сумі.

  • Дано натуральне число n. Знайти всі числа Мерсена менші n. (Просте число називається числом Мерсена, якщо воно може бути представлене у вигляді 2p — 1, де р — теж просте число. Наприклад, 31 = 25 — 1 — число Мерсена.)

  • Вирішити завданя, використовуючи рекурсивну підпрограму: підрахувати кількість цифр в заданому натуральному числі.

12