You are on page 1of 6

Тернопільський національний технічний університет імені Івана Пулюя

Факультет комп’ютерно-інформаційних систем та програмної інженерії

Кафедра програмної інженерії

ЗВІТ

до виконання лабораторної роботи №1

з дисципліни «Алгоритми та структури даних»

на тему «Способи представлення алгоритмів»

Підготував:

студент групи СП-11

Вихрущ Дмитро Сергійович

Тернопіль 2022
Мета роботи: засвоїти навички в побудові та реалізації простих алгоритмів

Завдання: Розробити алгоритми згідно варіанту завданнями І та ІІ та записати


їх у символьному вигляді при допомозі псевдокоду та у графічному при
допомозі блок-схеми.

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

Алгоритм (algorithm) - це будь-яка коректно визначена обчислювальна


процедура, на вхід (input) якої подається деяка величина або набір величин, і
результатом виконання якої є вихідне (output) значення або набір значень.
Таким чином, алгоритм представляє собою послідовність обчислювальних
кроків, що перетворюють вхідні величини у вихідні.
 
Алгоритм можна також розглядувати як інструмент, призначений для
вирішення коректно поставленої обчислювальної задачі
(computational problem), при допомозі якого можна отримати виконання
заданих співвідношень між вхідними величинами і результатом.
Алгоритмом називається кінцевий набір правил, що розташовані в певній
логічній послідовності і дозволяють виконати конкретну задачу з деякого класу
однотипних задач за кінцеву кількість кроків.

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

ВАРІАНТ 12

Завдання

Завдання 1. Обчислити вираз 3n +2n.


IDE: Visual Studio 2019
Лістинг програми:
#include <iostream>

using namespace std;

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;
}

Представлення програми у вигляді блок-схеми:

Завдання 2. Обрахувати кількість елементів в масиві, що попадають у заданий


проміжок.

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

#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;
}

Представлення програми у вигляді блок-схеми:


Рисунок 1. Результат виконання завдання 2.

Рисунок 2. Результат виконання завдання 2.

You might also like