Зміст звіту

1) Постановка завдання (загальна і конкретного варіанту).

2) Формули, використовувані при рішенні задачі (математична модель).

3) Програми для розв'язання задач на мові C + +.

4) Опис використовуваних в програмі стандартних функцій.

5) Система тестів для перевірки правильності роботи програми і результати виконання тестів.

6) Пояснення результатів роботи програми.

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

1. Пояснити зміст поняття оператор.

2. Що розуміється під типом даних?

3. Яка інформація повідомляється компілятору при оголошенні констант?

4. Перерахувати типи даних.

5. Яким чином розрізняються змінні за часом життя?

6. Дати означення виразу.

7. Привести приклади операцій з однаковим пріоритетом.

8. Вказати операції з найвищим та найнижчим пріоритетом.

9. Назвати тип даних, який забезпечує найбільший діапазон представлення чисел.

10. Вказати, як впливає тип операндів арифметичної операції на тип результату цієї операції.


Практична робота № 7

Тема: Створення розгалужених програм

1. Мета завдання:

Отримання практичних навичок використання операторів вибору.

Отримання практичних навичок вибору і використання операторів циклів.

Теоретичні відомості

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

• складові оператори;

• оператори вибору;

• оператори циклів;

• оператори переходу.

Складові оператори

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

{

n++; // це складений оператор

summa+=n;

}

{

int n=0;

n++; //це блок

summa+=n;

}

2.2. оператори вибору

Оператори вибору - це умовний оператор і перемикач.

1. Умовний оператор має повну і скорочену форму.

2. if (вираз-умова) оператор; / / скорочена форма

3. У якості вираження-умови можуть використовуватися арифметичний вираз, відношення і логічне вираження. Якщо значення виразу-умови відмінно від нуля (тобто істинно), то виконується оператор.

if (x<y&&x<z)min=x;

if (выражение-условие) оператор1; //повна форма

else оператор2;

Якщо значення виразу-умови відмінно від нуля, то виконується оператор1, при нульовому значенні виразу-умови виконується оператор2.

if (d>=0)

{

x1=(-b-sqrt(d))/(2*a);

x2=(-b+sqrt(d))/(2*a);

cout<< “\nx1=”<<x1<<“x2=”<<x2;

}

else cout<<“\nРешения нет”;

2. Перемикач визначає множинний вибір.

switch (выражение)

{

case константа1: оператор1;

case константа2: оператор2;

...........

[default: операторы;]

}

При виконанні оператора switch, обчислюється вираз, записане після switch, воно має бути цілочисловим. Отримане значення послідовно порівнюється з константами, які записані слідом за case. При першому ж співпаданні виконуються оператори, помічені даної міткою. Якщо виконані оператори не містять оператора переходу, то далі виконуються оператори всіх наступних варіантів, поки не з'явиться оператор переходу або не закінчиться перемикач. Якщо значення виразу, записаного після switch, не співпало з жодною константою, то виконуються оператори, які слідують за міткою default. Мітка default може бути відсутнім.

#include <iostream.h>

void main()

{

int i;

cout<<"\nEnter the number";

cin>>i;

switch(i)

{

case 1:cout<<"\nthe number is one";

case 2:cout<<"\n2*2="<<i*i;

case 3: cout<<"\n3*3="<<i*i;break;

case 4: cout<<"\n"<<i<<" is very beautiful!";

default:cout<<"\nThe end of work";

}

}

Результати роботи програми:

1. При введенні 1 буде виведено:

2. The number is one

3. 2 * 2 = 1

4. 3 * 3 = 1

5. 2. При введенні 2 буде виведено:

6. 2 * 2 = 4 (добре)

7. 3 * 3 = 4 (добре)

8. 3. При введенні 3 буде виведене:

9. 3 * 3 = 9

10. 4. При введенні 4 буде виведено:

11. 4 is very beautiful!

12. 5. При введенні всіх інших чисел буде виведено:

13. The end of work

2.3. Оператори переходу

Оператори переходу виконують безумовну передачу управління.

• break - оператор переривання циклу.

{

оператор;

if (<вираженіе_условіе>) break;

оператор;

}

Т. е. оператор break доцільно використовувати, коли умову продовження ітерацій треба перевіряти в середині циклу.

/ / Знайти суму чисел, числа вводяться з клавіатури до тих пір, поки не буде / / введено 100 чисел або 0.

for (s = 0, i = 1; i <100; i + +)

{

cin >> x;

if (x == 0) break; / / якщо ввели 0, то підсумовування закінчується

s + = x;

}

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

/ / Знайти кількість і суму додатних чисел

for (k = 0, s = 0, x = 1; x! = 0;)

{

cin >> x;

if (x <= 0) continue;

k + +; s + = x;

}

• goto <мітка> - передає управління оператору, який містить мітку.

У тілі тієї ж функції повинна бути присутнім конструкція:

<Мітка>: оператор;

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

Застосування goto порушує принципи структурного і модульного програмування, за якими всі блоки, з яких складається програма, повинні мати тільки один вхід і тільки один вихід.

Не можна передавати управління всередину операторів if, switch і циклів. Не можна переходити всередину блоків, що містять ініціалізацію, на оператори, які стоять після ініціалізації.

• return - оператор повернення з функції. Він завжди завершує виконання функції і передає управління в точку її виклику. Вид оператора:

return [вираз];


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



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