Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичні вказівки до практичних робіт.docx
Скачиваний:
32
Добавлен:
07.06.2015
Размер:
3.36 Mб
Скачать

2.5 Області дії змінних

При оголошенні змінних у програмі велике значення має те місце, де вона оголошена. Від того, де оголошена змінна, залежить можливість її використання.

У С++ можливі три місця оголошення змінних.

По-перше, поза будь-яких функцій, у тому числі і main(). Така змінна називається глобальною і може використовуватися в будь-якому місці програми від місця оголошення і до кінця програми.

По-друге, змінна може бути оголошена усередині блоку, у тому числі й усередині тіла функції. Оголошена в такий спосіб змінна називається локальною і може використовуватися лише усередині блоку. Така змінна поза блоком, у якому вона оголошена, невідома.

По-третє, змінна може бути оголошена як параметр функції. Крім спеціального призначення, а саме для передачі даних у функцію, параметр можна розглядати як локальну змінну для тіла функції.

Приклад. Скласти програму для обчислення суми k чисел.

#include <iostream.h>

void sum(int );// прототип функції

int s=0;// глобальна змінна

void main()

{

int i,b,k;// локальні змінні

cout<<"\nВведіть число доданків";

cin>>k;

for(i=0;i<k;i++)

{

cout<<"\nВведіть новий доданок ";

cin>>b;

sum(b);// звернення до функції

}

cout<<"\ns="<<s;

}

void sum(int c)

{

s=s+c;

}

У цій програмі змінна s є глобальною, вона доступна із обох функцій програми — main() і sum(), а змінні i, b, k та с — локальні, доступні тільки у тих функціях, де вони оголошені.

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

Приклад

Скласти програму, яка звертається до функції обрахунку максимуму з двох чисел:

Можливий розв’язок даної задачі має вид:

#include<iostream.h>

int max(int,int);/* прототип функції */

void main()

{

int x,y,z;

cout << "\n почергово введіть x та у \n";

cin >> x; cin >> у; z=max(x,y); cout <<"z=" << z;

}

int max (int a,int b)

{

int с; /* робоча змінна */

if(a>=b)c=a;

else c=b;

return c;

}

3. Постановка завдання

1. Проаналізувати умову задачі.

2. Розробити алгоритм та створити програму розв’язання задачі згідно з номером варіанту.

3. Результати роботи оформити протоколом.

4. Варіанти

Завдання 9.1. Написати функцію, яка обчислює значення виразу, та визначити її значення для введених користувачем значень фактичних параметрів.

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

1) ; 13);

2) ; 14);

3) ; 15);

4) ; 16);

5) ; 17);

6) ; 18);

7) ; 19);

8) ; 20);

9) ; 21);

10) ; 22);

11) ; 23);

12) ; 24);

25) .

Завдання 9.2

1) Дано дійсні числа s, t. Отримати ..

2) Дано дійсні числа s, t. Отримати ..

3) Дано дійсне число y. Отримати , де.

4) Дано дійсні числа s, t. Отримати , де.

5) Дано натуральні числа k,l,m та дійсні числа .

Отримати

6) Дано дійсні числа . У послідовностіта у послідовностівсі члени, розташовані за членом з найбільшим значенням (за першим, якщо їх декілька), замініть на 0.5.

7) Дано цілі числа ,. Якщо у послідовностінемає ні одного члена зі значенням, то перший за порядком член цієї послідовності, що є найменшим серед решти членів, замініть на значення. За таким правилом треба зробити перетворення послідовностізі значенням 10.

8) Дано дійсні числа . Знайти периметр десятикутника, вершини якого мають відповідно координати. Визначити функцію обчислення відстані між двома точками, що задані своїми координатами.

9) Скласти функцію, що замінює у початковому рядку символів всі одиниці на нулі та всі нулі — одиницями. Заміна повинна виконуватись з заданої позиції рядку.

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

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

12) Дано натуральне число , дійсні числа. Знайти площу-кутника, вершини якого при деякому послідовному обході мають координати. Визначити функцію обчислення площі трикутника по координатах його вершин.

13) Дано парне число ; перевірити для цього гіпотезу Гольбаха. Ця гіпотеза (на сьогоднішній день не спростована та повністю не доведена) полягає в тому, що кожне парне число, що більше 2, можна представити у вигляді суми двох простих чисел. Визначити функцію, що дозволяє розпізнавати прості числа.

14) Дано натуральне число . З'ясуйте, чи знаходяться серед чиселблизнюки — прості числа, різниця яких дорівнює 2. Визначити функцію, що дозволяє розпізнавати прості числа.

15) Дано дійсні числа . Отримати длязначення, де.

16) Дано дійсні числа . Отримати, де.

17) Дано натуральне число , цілі числа. Розглянути відрізки послідовності(послідовності членів, що йдуть поруч), що складаються з повних квадратів. Отримати найбільшу з довжин цих відрізків. Визначити функцію, що дозволяє розпізнавати повні квадрати.

18) Дано натуральне число , цілі числа. Розглянути відрізки послідовності(послідовності членів, що йдуть поруч), що складаються із ступенів п'ятірки. Отримати найбільшу з довжин цих відрізків. Визначити функцію, що дозволяє розпізнавати ступені п'ятірки.

19) Дано натуральне число , цілі числа. Розглянути відрізки послідовності(послідовності членів, що йдуть поруч), що складаються з простих чисел. Отримати найбільшу з довжин цих відрізків. Визначити функцію, що дозволяє розпізнавати прості числа.

20) Дано натуральне число , цілі числа. Розглянути відрізки послідовності(послідовності членів, що йдуть поруч), що складаються із досконалих чисел. Отримати найбільшу з довжин цих відрізків. (Натуральне число називається доскональним, якщо воно дорівнює сумі своїх дільників, за винятком самого себе. Наприклад, 6=1+2+3.) Визначити функцію, що дозволяє розпізнавати досконалі числа.

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

22) Дано дійсні числа . Отримати, де— комплексні числа,,. Визначити функції виконання арифметичних операцій над комплексними числами.