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

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

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

По-перше, поза будь-яких функцій, у тому числі і 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;

}

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: