You are on page 1of 6

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

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

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

ЗВІТ

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


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

Виконав:
студент групи СП-13
прізвище та ім’я:Чухрій Олександр Олегович
Тернопіль 2022
Мета роботи: засвоїти навички в побудові та реалізації простих алгоритмів
Завдання: Розробити алгоритми згідно варінату завданнями І та ІІ та записати їх у
сивольному вигляді при допомозі псевдокоду та у графічному та при допомозі блок-схеми.
Теоретичні відомості
Алгоритм — послідовність, система, набір систематизованих правил виконання
обчислювального процесу, що обов'язково приводить до розв'язання певного класу задач
після скінченного числа операцій. При написанні комп'ютерних програм алгоритм описує
логічну послідовність операцій. Для візуального зображення алгоритмів часто
використовують блок-схеми.
Будь-який алгоритм повинен мати такі основні властивості:
– детермінованість – завдяки використанню повністю однозначних правил та дій при
створені алгоритму, його застосування до однакових вхідних даних повинно приводити до
отримання однакового результату (кожен крок алгоритму має інтерпретуватися виконавцем
однозначно);
– дискретність – процес, що описується алгоритмом, можна розділити на окремі елементарні
етапи, кожен з яких називається кроком алгоритмічного процесу або алгоритму;
– ефективність – під час розв’язання задачі, алгоритм може використовувати лише
обмежений обсяг комп’ютерних ресурсів і результат повинен бути досягнутий за скінченний
ліміт часу;
– масовість – алгоритм повинен бути придатним для розв’язування всіх задач певного типу;
– результативність – обчислювальний процес, що реалізується алгоритмом, повинен через
скінченну кількість етапів (кроків) зупинитись і надати результат, що відповідає заданим
вхідним даним, або ж повідомити про неможливість розв’язання даного екземпляру задачі.

Результати
Завдання 1
11. Знайти найбільший дільник двох чисел.
Блок-схема

Sta
Start

cin>>int a,b

c=a%b

a=b

b=c

cout<<a

End

Псевдокод

1. Ввести a та b
2. Процентно поділити a на b
3. Передати значення перемінної b перемінній a
4. Значення с передати перемінній b
5. Виводимо найбільший дільник двох чисел,кінець
Код програми
#include<iostream>
using namespace std;
int main(void)
{
int a, b, c;
cout << "Enter two numbers:";
cin >> a >> b;
while (b) {
c = a % b;
a = b;
b = c;
}
cout << "The largest divisor of two number:" << a << endl;;
system("pause");
}

Завдання 2
11. Вставити елемент в масив, що відсортований в порядку зростання значень елементів.
Блок-схема

Start

cout <<"Array: ";

i from 0
to10

cin>>int t

flag = 1

i from 0 to
11

нет да
a[i - flag] <= t

newA[i] = a[i]
нет да
flag

newA[i] = t newA[i]=a[i - flag]

flag = 1
End

Псевдокод cout << newA[i]


INPUT n(array1 size), b(array2 size), array1[n] = {(NULLs)},
array2[b]={(numbers)}

for i:=0 to b do
PRINT array2[i]
ENDFOR

INPUT your_number

INPUT flag = 0

for i:=0 to b do
IF array2[i-flag] <= your_number
THEN array1[i] = array2[i]
ELSE IF flag == true
THEN array1[i] = a[i-flag]
ELSE
array1[i]=your_number
flag = 1
ENDIF

for i:=0 to n
PRINT array1[i]
ENDFOR
Код програми
#include <iostream>

using namespace std;

int main()
{
int const n = 11, b = 10;
int newA[n] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int a[b] = { 1, 5, 8, 9, 12, 15, 17, 18, 20, 25 };
cout << "Array: ";
for (int i = 0; i < 10; i++)
{
cout << a[i] << " ";
}
cout << endl;
cout << "Enter the number:";
int t;
cin >> t;

int flag = 0;

for (int i = 0; i < 11; i++)


{
if (a[i - flag] <= t) {
newA[i] = a[i];
}
else {

if (flag)
{
newA[i] = a[i - flag];
}
else
{
newA[i] = t;
flag = 1;
}
}
}
for (int i = 0; i < 11; i++)
{
cout << newA[i] << " ";
}
cout << endl;
system("pause");
return 0;
}

Висновок. Під виконання лабораторної роботи набуто навичок в побудові та реалізації


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

You might also like