Professional Documents
Culture Documents
Лабораторна 1 Алгоритми і структури даних
Лабораторна 1 Алгоритми і структури даних
ЗВІТ
Підготував:
Тернопіль 2022
Мета роботи: засвоїти навички в побудові та реалізації простих алгоритмів
Теоретичні відомості
Властивості алгоритмів
Будь-який алгоритм повинен мати такі основні властивості:
– детермінованість (визначеність)– завдяки використанню повністю
однозначних правил та дій при створені алгоритму, його застосування до
однакових вхідних даних повинно приводити до отримання однакового
результату (кожен крок алгоритму має інтерпретуватися виконавцем
однозначно);
– дискретність – процес, що описується алгоритмом, можна розділити на
окремі елементарні етапи, кожен з яких називається кроком алгоритмічного
процесу (алгоритму);
– ефективність– під час розв’язання задачі, алгоритмом може
використовуватися лише обмежений обсяг комп’ютерних ресурсів і результат
повинен бути досягнутий за певний ліміт часу;
– масовість– алгоритм повинен бути придатним для розв’язування всіх задач
певного типу.
– результативність– обчислювальний процес, що реалізується за наданим
алгоритмом, повинен через скінчену кількість етапів (кроків) зупинитись і
надати результат, що відповідає заданим вхідним даним, або ж повідомити
про неможливість розв’язання даного екземпляру задачі
Способи запису алгоритмів
У процесі розроблення алгоритму можуть використовуватись різні способи
його опису, які відрізняються за простотою, наочністю, компактністю, мірою
формалізації, тощо.
Виділяють наступні основні форми запису алгоритму:
– вербальна – алгоритм описується при допомозі звичайної мови (словесна,
формульно-словесна);
– символьна – алгоритм описується при допомозі певного набору символів
– графічна – алгоритм описується при допомозі набору певних графічних
символів.
ВАРІАНТ 12
Завдання
int main()
{
/* Обчислити вираз
pow(3, n) + pow(2, n) */
double n, result;
cout << "Enter n:" << endl << endl;; cin >> n;
if (n == 0)
{
result = 2;
}
else if (n > 0)
{
result = pow(3, n) + pow(2, n);
}
cout << result << endl;
return 0;
}
Лістинг програми:
#include <iostream>
using namespace std;
const int n = 20;
int main()
{
// Обрахувати кількість елементів в масиві, що попадають у заданий проміжок //
srand(time(NULL));
int arr[n];
for (int i = 0; i < n; i++)
{
arr[i] = rand() % 201;
if (i == 19) cout << arr[i] << endl;
else cout << arr[i] <<", ";
}
int a, b;
cout << "Choose interval a, b(1 - 200): " << endl;
cin >> a; cin >> b;
if (a == b)
{
cout << "Error" << endl;
}
else if (a > 200 || a < 0 || b > 200 || b < 0)
{
cout << "Error" << endl;
}
else
{
if (a > b)
{
for (int i = 0; i < n; i++)
{
if (arr[i]<=a && arr[i]>=b)
{
cout << arr[i] << ", ";
}
}
}
else
{
for (int i = 0; i < n; i++)
{
if (arr[i]>=a && arr[i]<=b)
{
cout << arr[i] << ", ";
}
}
}
}
return 0;
}