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

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

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

Добавлен: 10.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

  • Замінити дане натуральне число на число, яке виходить з початкового записом його цифр в зворотному порядку (наприклад, дано число 156, потрібно отримати 651).

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

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

3

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

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

  • * Виконати математичні дії з дробовими числами (додавання та віднімання) таким чином, щоб результатом була нормалізована дроб (чисельник повинен бути менше знаменника та чисельник та знаменник не можна було скоротити).

4

  • Написати функцію, що забезпечує вирішення квадратного рівняння. Параметрами функції мають бути коефіцієнти і коріння рівняння. Значення, повертане функцією, повинне передавати в зухвалу програму інформацію про наявність в рівняння коріння: 2 — два різні корені, 1 — коріння однакове, Про — рівняння не має рішення. Крім того, функція повинна перевіряти коректність вихідних даних. Якщо вихідні дані невірні, то функція повинна повертати – 1;

  • Є частина котушки з автобусними квитками. Номер квитка шестизначний. Скласти програму, що визначає кількість щасливих квитків на котушці, якщо менший номер квитка — N, більший, — М (квиток є щасливим, якщо сума перших трьох його цифр дорівнює сумі останніх три).

  • *Виконати математичні дії з дробовими числами (ділення та множення) таким чином, щоб результатом була нормалізована дроб (чисельник повинен бути менше знаменника та чисельник та знаменник не можна було скоротити).


12