Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_programmirovanie.docx
Скачиваний:
1
Добавлен:
12.09.2019
Размер:
297.27 Кб
Скачать

16. Команда вибору switch. Команда вибору має вигляд:

Switch (<вираз>)

{

Case<ознака1>:<Команда1>; break;

Case<ознака2>:<Команда2>; break;

……………………………………….

Case<ознакаN>:<КомандN>; break;

Default: <Команда N+1>;

}

Вираз та ознаки мають бути цілочисельні.

На місці команд 1…N може бути одна команда, декілька або не бути жодної.

Команда break слугує для виходу з команди switch (break – необов’язкова)

Default: <Команда N+1> також може бути відсутня – це коротка форма вибору.

Дія команди: Якщо значення виразу збігається зі значенням ознаки N, то виконується команда з номером N. Якщо в кінці команди, що виконалася є слово break, то відбувається вихід з switch. Якщо ж break відсутній, то розглядається наступний рядок case. Команда після слова default виконується лише тоді, коли жодна з ознак не збігається з виразом.

17. Перерахований тип enum.

Тип enum утворюють із перерахування констант цілого типу:

Enum <назва типу> ={<стала 1>=<значення 1>, < стала 2>=< значення 2>,…,<стала N>=< значення N>};

При оголошення перерахованого типу enum значення можна не вказувати (не ініціалізувати сталих). В цьому випадку першій сталій автоматично буде присвоєно значення 0 (перша константа утотожнюється з нулем, кожна наступна – зі значенням на 1 більшим).

Enum <назва типу> ={<стала 1, < стала 2>,…,<стала N>};

Ініціалізувати також можна лише деякі сталі у списку констант. Неініціалізованим сталим автоматично буде присвоєно значення на одиницю більше від значення попередньої сталої із списку.

19. ЦИКЛ З ПАРАМЕТРОМ FOR

Команда FOR має вигляд: for (<вираз1>; <логічний вираз2>; <вираз3>) <команда1>;

Вираз1 призначений для підготовки циклу і виконується один раз. Переважно у виразі1 задаються початкові значення змінних циклу (підготовлюють цикл). У логічному виразі2 записують умову виходу із циклу. У виразі3 – команди зміни параметрів циклу. Якщо за допомогою одного із виразів необхідно виконати декілька дій, то використовують команду «кома». Вирази 1 і 3 або один із них у команді for можуть бути відсутні. Але символ «;» в цьому випадку опускати неможна. <Команду1> ще називають тілом циклу

20. Виведення даних на екран дисплея виконуються оператором Printf. Після оператора в дужках вказується спочатку „рядок формату”, що задає форму виведення інформації, а потім можуть розташовуватись вирази арифметичних типів або рядки. Наведемо ряд прикладів.

Вивід на екран цілого числа

      Printf( “/%d/\n”, 123);

      Printf( “/%2d/\n”, 123);

      Printf( “/%10d/\n”, 123);

      Printf( “/%-10d/\n”, 123);

Результат виконання операторів:

                /123/

                /123/

                /˜˜˜˜˜˜˜123/

                /123˜˜˜˜˜˜˜/

Вивід на екран дійсного числа

      Printf( “/%f/\n”, 1234.67);

      Printf( “/%e/\n”, 1234.67);

      Printf( “/%4.2f/\n”, 1234.67);

      Printf( “/%3.1f/\n”, 1234.67);

      Printf( “/%10.3f/\n”, 1234.67);

      Printf( “/%10.3e/\n”, 1234.67);

Результат виконання операторів:

                /1234.670000/

                /1.234670e+03/

                /1234.67/

                /1234.7/

                /˜˜˜˜˜1234.670/

                /˜˜˜˜1.235e+03/

Щоб у тілі програми прокоментувати деякі операції, можна у дужках, що задаються символами, /* та */ записати текст коментарю. У середині коментарів не можна використовувати символи дужок коментарів.

22. Для обчислення степеня в алгоритмі накопичування добутку змінна p приймала значення 1, a, a2, a3, … , an. У цій послідовності перший член 1, а кожний наступний дорівнює попередньому, помноженому на a. Позначивши члени послідовності через p0, p1, p2, ... pn, маємо рівність: pi=pi-1*a при i=1,2,…,n. Така рівність, що виражає член послідовності через попередні (один або кілька), називається рекурентним співвідношенням.

"Рекурентний" означає "зворотний". Справді, елемент послідовності тут визначається через попередні, і для його обчислення треба повернутися до них. Усім добре відомі рекурентні співвідношення вигляду an=an-1+d або bn=bn-1* q – їм задовольняють члени відповідно арифметичних або геометричних прогресій. Конкретна ж прогресія, тобто послідовність чисел, задається першим членом a1 і різницею d (або знаменником q). Власне, послідовність степенів у прикладі p0, p1, p2, … – геометрична прогресія: вона визначається першим членом p0=1 і рекурентним співвідношенням pi=pi-1*a при будь-якому i>0. Послідовність, члени якої задовольняють деяке рекурентне співвідношення, також називається рекурентною.

24. Дія циклу While:

  1. Спочатку обчислюється значення логічного виразу

  2. Якщо його значання істине, то виконується тіло циклу і повторно обчислюється значення логічного виразу Якщо значення логічного виразу хибне, то здійснюється вихід з циклу.

  3. Процес виконується доти, доки логічний вираз істиний.

Команда DO-WHILE, як і команда WHILE, використовується в програмі, якщо треба провести деякі обчислення (цикл), що повторюються, і як для WHILE число повторів наперед не відоме і визначається самим ходом обчислення.

В загальному вигляді команда циклу з післяумовою DO-WHILE має вигляд:

Do

{

<Команда 1>

}

while (<логічний вираз>);

25. Числовa послідовність — це функція, облaстю визнaчення якої є множинa нaтурaльних чисел, a облaстю знaчень ― множинa дійсних чисел.

26. Умовний оператор використовуються у випадках коли виконання певних дій залежить від деякої умови.

If (умова)

оператор 1;

else

оператор 2;

Якщо в середині оператора потрібно використати більше ніж один оператор, то їх необхідно взяти в операторні дужки.

If (age >21)

{ cout << ‘ Всі на вибори’<<endl;

cin >> ‘Це нам потрібно ’ >>endl;

}

35. Оголошення функцій користувача. Кожну функцію ко­ристувача перед першим викликом передусім необхідно оголосити (задекларувати, створити прототип, сигнатуру). За стандартом ISO/ ANSI прототипи функцій оголошують у спеціальних файлах заголовків. У програму ці файли приймають за допомогою директиви #inciude, наприклад:

#include <conio.h>

#include "MyHeader.h"

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

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

{

<тіло функції>;

return (<назва змінної 1>);

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

<назва функції>(<список фактичних параметрів>)

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

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

<тип даного> &<назва посилання> = <назва змінної>;

38.

Змінні, які описані поза всіма функціями, тобто на початку програми називаються глобальними (змінна m). До глобальних змінних можна звернутися з будь-якої функції та блока.

Глобальні об’єкти можуть використовуватися для повернення результату підпрограми. Тобто в підпрограмі можна не використовувати команди return: передати значення головній програмі можна відразу в тілі підпрограми, надавши значення глобальній змінній. Але такий підхід не є професійним, так як в цьому випадку підпрограму стає неможливо багаторазово використовувати для зміни значень різним глобальним об’єктам.

Локальні змінні Одна з цілей, що досягається в застосуванні інкапсуляції – це обмежений доступ до конструкції, розташованої в середині під програмної капсули. Це можливість використовувати програмні об’єкти тільки всередині капсули. Такі об’єкти називаються локальними. Вони описуються в тілі підпрограми. Локальні об’єкти – це об’єкти які створюються в момент виклику підпрограми, і існують до тих пір, поки виконується тіло підпрограми. Коли по завершенню роботи підпрограми керування передається головній програмі пам’ять виділена під локальні об’єкти вивільняється, тобто усі локальні об’єкти знищуються. Тому у різних функціях однієї і тієї програми можна використовувати змінні з однаковими іменами. Локальні об’єкти – це об’єкти описані всередині під програмної капсули.

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

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

Вбудовані функції. Під час виконання програми гене­руються коди для всіх функцій користувача. Коли відбуваєть­ся звертання до тієї чи іншої функції, здійснюється виклик відповідного коду. Якщо до деякої функції звертаються бага­то разів, то робота програми сповільнюється. Щоб цього уник­нути, можна використовувати так звані вбудовані функції. Коди таких функцій вставляються компілятором у кожну точку виклику в основному коді. Це вимагає додаткового об­сягу оперативної пам'яті, проте прискорює процес виконання програми. Щоб створити вбудовану функцію, потрібно до її оголошення додати ключове слово inline.

Класи пам’яті. Для того, щоб безпосередньо вказати комп’ютеру як і де у його пам’яті мають зберігатися значення змінних чи функцій, як можна отримати доступ до цих даних, як визначити область видимості цих даних, використовують специфікатори класу пам’яті. Є п’ять специфікаторів:

  • Auto

  • Regicter

  • Static

  • Extern

  • Volatile

41. Масив — це структура даних, яку можна розглядати як набір змінних однакового типу, що мають спільне ім'я. Масиви зручно використовувати для зберігання однотипної інформації, наприклад, елементів таблиць, коефіцієнтів громіздких лінійних рівнянь та систем рівнянь, прізвищ працівників деякої великої фірми, назв днів тижня, тощо.

Масив зберігається в послідовно розташованих комірках оперативної пам’яті, які мають спільну назву.

Кожна окрема така комірка – це елемент масиву. Для ідентифікації елементів масиву, кожен елемент має свій індекс, за яким його можна знайти в масиві. Кількість індексів, а отже і кількість елементів визначає розмірність масиву.

Розрізняють одномірні, двомірні та багатомірні мавсиви.

Введення-виведення статичного масиву

Вводити та виводити масив можна не лише в циклі з параметром, а і в циклах while, do-while.

В програмі ми вводимо дані в статичний масив. Кількість елементів такого масиву зазначається при описі. Тобто визначається на етапі компіляції.

Введення-виведення динамічного масиву

Для динамічного масиву ми його розмір N можемо задавати з клавіатури.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]