Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основні теоретичні відомості. Завдання на лабораторну роботу




Завдання на лабораторну роботу

Мета роботи

Лабораторна робота № 6 Програмування задач з використанням функцій

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

1. Що таке символ?

2. Що таке ASCII-код символу?

3. Уявлення рядка у пам’яті.

4. Наведіть функції для роботи з рядками.

5. Яка бібліотека містить функції для роботи з рядками?


Одержання знань і навиків, необхідних для створення функцій

1. Ознайомитися з теоретичними відомостями.

2. Скласти та виконати на ПЕОМ програми з таблиці 5.1 відповідно до варіанту.

3. Оформити звіт та захистити роботу.

 

Таблиця 6.1 – Індивідуальні завдання до лабораторної роботи №6

№ варіанта Номери задач № варіанта Номери задач
  424, 470, 317   440в, 342, 331б
  425, 469, 318   441, 344, 331б
  426, 468, 319   442, 345, 332
  427, 467, 320   443, 346, 333
  428, 466, 321   444, 347, 334а
  429, 465, 322   445, 348, 334б
  430, 464, 323   446, 349, 334в
  431, 463, 324   447, 350а, 334г
  432, 462, 325   455, 350б, 335а
  433, 461, 326   456, 350в, 335б
  434, 453, 327   457, 350г, 335в
  435, 336в, 328   458, 350д, 335г
  440а, 336г, 329   460а, 351а, 336а
  440б, 340, 330   4606, 351б, 336б

Дати визначення функції.

Функції – це будівельні блоки деякої програми на мові С++.

Функції бувають двох типів:

– функції користувачів (включно main());

– стандартні (бібліотечні) функції мови С та С++.

Форма запису функцій:

тип_результату ім’я_функції (список_параметрів);

{

//Тіло функції

}

де тип_результату – задає тип данних, що повертаються функцією, список_параметрів – задає список змінних, що передаються функції при зверненні.

Дуже важливим оператором тіла функції є оператор повернення в точку виклика:

return вираз; або return;

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

Навіть у випадку, коли функція не виконує ніяких дій й не повинна повертати деяке значення, тіло функції буде складатися з фігурних дужок {}.

Приклад:

int max(int a, int b) {

if (a>b) return a;

else return b;}

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

тип_функції ім’я_функції(специфікація_формальних_параметрів);

Наприклад:

int max(int a, int b);

У визначенні функції специфікація параметра може містити його значення за замовченням. Це значення використовується у тому випадку, якщо при зверненні до функції відповідний параметр відсутній.

Наприклад:

int max (int a, int b=0);

Функція main()

Функція main() не має прототипа. Тобто, можна використовувати різні форми запису функції main(). Для мови С++ мають місце наступні варіанти функції main() (дозволяються й інші форми):

1. int main();

2. int main(int argc, char *argv[]);

Як видно з другої форми запису, функція main() підтримує два параметра – argc та argv. Ці дві змінні будуть зберігати кількість аргументів командного рядка та покажчик на них. Параметр argc має цілий тип, та його значення завжди буде не менше за 1, тому що у мові С++, першим аргументом завжди є ім’я програми. Параметр argv повинен бути оголошений як масив символьних покажчиків, в якому кожний елемент вказує на аргумент командного рядку.

Масиви не можуть(не рекомендовано) бути параметрами функцій, але можна передати покажчик на масив. Функції можуть повертати покажчик на масив в якості результата.

Посилання в мові С++

В мові С++ посиланням є інше ім’я існуючого об’єкту. Для визначення посилання використовується символ &, якщо він використовується у такому контексті:

type&ім’я_посилання ініціалізатор

У відповідності із синтаксисом ініціалізатора, наявність якого обов’язкове, визначення посилання може бути таким:

type&ім’я_посилання=вираз; або type&ім’я_посилання(вираз);

При визначенні посилання обов’язковою є його ініціалізація. Однак в опису посилань ініціалізація не обов’язкова. До таких описів посилань відносяться:

а) опис зовнішніх посилань (через специфікатор extern):

float& ref; //Помилка – немає ініціалізації

extern float& ref2; //Допустимо – ініціалізується

//в іншому блоці;

б) опис компонентів класу;

в) описи (специфікації) формальних параметрів функції;

г) опис типу значення, що повертається функцією.

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




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 376; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.