Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ТЕХНІЧНИЙ КОЛЕДЖ НАЦІОНАЛЬНОГО УНІВЕРСИТЕТУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ВІДДІЛЕННЯ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙТА КОМП'ЮТЕРНОЇ ТЕХНІКИ
Лабораторна робота №1
з дисципліни
алгоритмів і структури даних
Тема: Побудова алгоритму. Основні властивості алгоритму
Мета: Навчитись складати і аналізувати алгоритм. Вивчити основні властивості та поняття теорії алгоритмів.
Теоретична інформація
Алгоритм – це послідовність, система, набір систематизованих правил виконання обчислювального процесу, що обов'язково приводить до розв'язання певного класу задач після скінченного числа операцій.
Кожен алгоритм передбачає існування початкових (вхідних) даних та в результаті роботи призводить до отримання певного результату. Робота кожного алгоритму відбувається шляхом виконання послідовності деяких елементарних дій. Ці дії називають кроками, а процес їхнього виконання називають алгоритмічним процесом. В такий спосіб відзначають властивість дискретності алгоритму.Важливою властивістю алгоритмів є масовість, або можливість застосування до різних вхідних даних. Тобто, кожен алгоритм покликаний розв'язувати клас однотипних задач.Необхідною умовою, яка задовольняє алгоритм, є детермінованість, або визначеність. Це означає, що виконання команд алгоритму відбувається у єдиний спосіб та призводить до однакового результату для однакових вхідних даних.
Іншими властивостями алгоритмів є результативність, правильність, формальність, зрозумілість та скінченність.
Вхідні дані алгоритму можуть бути обмежені набором припустимих вхідних даних. Застосування алгоритму до неприпустимих вхідних даних може призводити до того, що алгоритм ніколи не зупиниться, або потрапить в тупиковий стан (зависання) з якого не зможе продовжити виконання.
Способи представлення алгоритмів:
Словесний
Словесно-формульний
Граф-схеми
Блок-схеми
Операторні схеми
НІРО-схеми
Таблиці рішень
Завдання
Представити різними способами програму яка виводить матрицю на екран і вибирає додатні елементи з кожного стовпця.
1.Словесний та словесно-формульний опис алгоритму:
Q1 – початок.
Q2 – оголошення бібліотек.
Q3 - оголошення змінних.
Q4 – створення і виведення матриці.
Q5 – створення лічильника.
Q6 – створення циклу для вибору додатніх елементів.
Q7 – виведення результатів.
Q8 – кінець.
Q1 -> Q2 -> Q3 -> Q4 -> Q5 -> Q6 -> Q7 -> Q8
2.Граф-схема
3.Блок-схема
4.Опис програмного коду:
#include<stdio.h> //Оголошення бібліотеки
#include<conio.h> //Оголошення бібліотеки
#include<math.h> //Оголошення бібліотеки
int main() //Початок програми
{
int i,j,k; //Оголошення 3-х змінних цілого типу
float x[4][4],a[4][4],c[4][4]; //Оголошення 3-х двовимірних масивів типу Float
printf("Утворена матриця 1\n"); //Виведення повідомлення
for(i=0;i<4;i++) //Створення циклу для рядків матриці
{
for (j=0;j<4;j++) //Створення циклу для стовпців матриці
{
x[i][j]=abs(atan((double)(i*j))); //Формула за якою буде створюватися матриця
printf("%8.2lf",x[i][j]); //Виведення матриці
}
printf("%s \n"," "); //Виведе пустий символ
}
for(j=0;j<4;j++) //Створюємо цикл для стовпців матриці
{
k=0; //Обнулюємо к-лічильник
for(i=0;i<4;i++) //Цикл для рядків матриці
{
if (x[i][j]>=0) //Цикл для вибору додатніх елементів
{
k=k+1; //збільшуємо лічильник на 1
}
}
printf("Кількість додатніх елементів у %d товпцях = %d\n",j,k); //Виводимо результати
}
getch(); //Повертає значення
return 0; //Нічого не повертає
}
5.Результат виконання програми:
Висновок: навчився складати та аналізувати алгоритми.