Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
___звіт___1.doc
Скачиваний:
32
Добавлен:
08.02.2016
Размер:
985.6 Кб
Скачать
    1. Програмування вкладених циклів

Цикл — різновид керуючої конструкції у високорівневих мовах програмування, призначена для організації багаторазового виконання набору інструкцій (команд). Також циклом може називатися будь-яка багатократно виконувана послідовність команд, організована будь-яким чином. Цикли можуть бути вкладені один в одний. Приклад: Скласти програму для упорядкування елементів масиву (а 1, а 2,... а 100), розташувавши їх по зростанню в тому ж масиві. Алгоритм рішення: кожен i-й елемент масиву з першого по 99-й необхідно порівнювати з усіма j-ми елементами, що мають більш високий порядковий номер. Наприклад, перший елемент треба порівнювати з другим, третім, четвер-тим і т.д.

Другий елемент треба порівнювати з третім, четвертим, п'ятим і т. д. Якщо значення j-го елемента виявиться менше, ніж i-го, ці елементи треба поміняти місцями в масиві. Для цього вводиться проміжна змінна amin. Спочатку змінної amin присвоюється значення j-го елемента, потім j-му еле-менту присвоюється значення i-го елемента, і потім i-му елементу присвоюється-ється значення змінної amin.

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

Задача 3.4.1

  1. Постановка задачі.

Надрукувати числа у вигляді наступної таблиці:

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

  1. Схема алгоритму рішення задачі.

int i=1; i<=5; i++

int j=1; j<=i; j++

Параллелограмм 125

return 0

Овал 85

Рис. 25 Схема алгоритму задачі 3.4.1

  1. Лістинг програми.

#include <iostream>

#include <iomanip>

using namespace std;

int main ( )

{

for (int i=1; i<=5; i++)

{

for (int j=1; j<=i; j++)

cout << i << " ";

cout << endl;

}

cout << endl;

system("pause");

return 0;

}

  1. Тестування програми.

Рис.26 Результат тестування задачі 3.4.1

    1. Програмна реалізація функцій користувача

Функція користувача - група команд, що має унікальне ім'я, оголошена в заголовку файлів або в основній програмі, а так само описана в модулі або в основній програмі.

Перед викликом функції її потрібно оголосити, для цього:

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

Тип функції - тип значення, якщо функція не вертає результат, то вона оголошується типом void.

У списку формальних параметрів для кожної змінної потрібно окремо вказувати тип. Вказувати імена змінних не обов'язково (наприклад, (float, float, int) ;). Змінним при їх перерахуванні можна відразу присвоювати початкові значення.

Опис функції користувача

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

{

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

Return (<назва змінної, значення якої потрібно повернути>):

}

Функцію можна описати і до основної функції, тоді оголошувати її не обов'язково

Виклик функції

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

Типи фактичних змінних повинні збігатися з типами формальних змінних.

Прототипи функції

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

Задача 3.5.1

  1. Постановка задачі.

Дані сторони двох трикутників. Знайти суму їх периметрів і суму їх площ.(Визначити функцію для розрахунку периметра і площі трикутника по його сторонах.)

Вхідні дані.

Цілого типу

Вихідні дані.

Цілого типу

  1. Лістинг програми.

#include <iostream>

#include <iomanip>

using namespace std;

int fact(int);

int main()

{

cout << (2*fact(5)+3*fact(8))/(fact(6)+fact(4)) << endl;

return 0;

}

int fact(int n)

{

int f=1;

for (int i=1; i<=n; i++)

f=f*i;

return f;

}

  1. Тестування програми

Рис.27 Результат тестування задачі 3.5.1

Задача 3.5.2

  1. Постановка задачі.

Розрахувати значення y, визначивши і використавши необхідну функцію

Вхідні дані.

Цілого типу

Вихідні дані.

Цілого типу

  1. Лістинг програми.

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

double a(int, int);

int main()

{

cout << a(1, 4)+ a(7, 5) + a(3, 2) << endl;

return 0;

}

double a(int n1, int n2)

{

return ((n1+sin(n2))/(n2+sin(n1)));

}

  1. Тестування програми

Рис.28 Результат тестування задачі 3.5.2

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