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

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

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

Добавлен: 19.08.2024

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

Скачиваний: 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. Скласти програму формування масиву А, елементами якого є числа, сума цифр яких рівна До і які не більше N.

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

3

  • Дано два дробових вираза

 і 

 (А, В, С, D — натуральні числа). Скласти програму для ділення дробу на дріб. Результат має бути нескоротним дробом.

  •  

 і 

 (А, В, С, D — натуральні числа). Скласти програму для множення дробу на дріб. Результат має бути нескоротним дробом.

4

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

  • Скласти програму для знаходження числа, яке утворюється з даного натурального числа при записі його цифр в зворотному порядку. Наприклад, для числа 1234 отримуємо результат 4321.

  • Скласти програму для обчислення суми: 2! + 4! + 6! + ... + n! (n <= 16, n — парне).

  • *Скласти програму для розрахунку задачи «Ханойські вежи»


12