Міносвіти Росії
Федеральне державне бюджетне освітня установа вищої професійної освіти
«Санкт-Петербурзький державний ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ»
КАФЕДРА ОБЧИСЛЮВАЛЬНИХ СИСТЕМ ТА ПРОГРАМУВАННЯ
ЗВІТ ПО ЛАБОРАТОРНОЇ РОБОТІ №1
з дисципліни: «Інформаційні технології»
Виконав:
Воробйов В.С.
г.
1. Постановка завдання
Мета лабораторної роботи: знайомство з можливостями мови програмування Сі і середовищем розробки додатків в ОС Linux.
Робота виконується під ОС Linux (Kali): lt; # justify gt; 1. Написати на мові Сі програму, підраховують ряд Тейлора для функції exp (x). Через аргументи командного рядка задати x і точність, порівняти отриманий результат з вбудованою функцією. Умова: програма повинна містити локальну функцію-обгортку для strcmp ().
. Розробити клієнт-серверний додаток, суть якого полягає в наступному. Клієнт відправляє на сервер зашифроване за алгоритмом XOR число. Сервер повертає відповідь - значення функції exp (x), отримане методом розкладання в ряд Тейлора. На стороні сервера отримане число розшифровується, обчислюється exp (x) за методом розкладання в ряд Тейлора, знову зашифровується і відправляється назад клієнтові. Клієнт розшифровує отримане значення і виводить на екран (або записує в файл). Клієнт і сервер заздалегідь знають загальний ключ шифрування.
. Теоретична частина (формула розкладання в ряд Тейлора, алгоритм роботи програмного інтерфейсу сокетів)
алгоритм програма linux тейлор
1. Коли ряд Тейлора функції за ступенями сходиться в деякій околиці точки і притому до самої функції. Якщо це має місце, то
,
т.е. функція є сума її ряду Тейлора в деякій околиці точки, інакше кажучи, для будь-якого значення У цьому випадку говорять, що функція розкладається в ряд Тейлора за ступенями, що сходиться до неї.
Вираз формули Тейлора для многочлена в околиці точки а, де а - це х0:
,
Для функції exp (x), де експонента - показова функція з основою, рівним ірраціонального числа e, т. е. f (x)=ex, P (a)=ea.
Похідна першого порядку:
Похідна другого порядку:
Похідна третього порядку:
Тоді розкладання функції exp (x) в ряд Тейлора в околі точки а наступне:
,
Вихідними даними в програмі завдання 1 будуть значення x (за завданням), що належить інтервалу; сигма позначимо t; n - кількість доданків ряду Тейлора. Знайдемо х0 як х=х ± t/2.
За допомогою функції strcmp порівнюємо отриманий результат розкладання в ряд Тейлора з результатом, отриманим вбудованою функцією.
Функція strcmp ():
# include strcmp (const char * strl, const char * str2);
Опис функції. Заголовний файл: string.h
Опис
Ця функція порівнює символи двох рядків, string1 і string2. Починаючи з перших символів функція strcmp порівнює черзі кожну пару символів, і триває це до тих пір, поки не будуть знайдені різні символи або не буде досягнутий кінець рядка.
Параметри: Перша порівнювана Сі-строка.Вторая порівнювана Сі-рядок.
Значення, що повертається
Функція повертає кілька значень, які вказують на ставлення рядків: Нульове значення говорить про те, що обидві рядки рівні. Значення більше нуля вказує на те, що рядок string1 більше рядки string2, значення менше нуля свідчить про зворотне.
Функція strcmp починає порівнювати по одному символу і як тільки будуть знайдені перші неоднакові символи, функція проаналізує числові коди цих символів. Чий код виявиться більше, той рядок і вважатиметься більшою.
. XOR - це функція булевої алгебри, що носить назву «виключає або», дана функція використовується для роботи з даними представленими в двійковій системі числення. Основною перевагою, що дозволяє використовувати цю функцію в шифрувальних алгоритмах є її оборотність, при відсутності втрати інформаціі.шіфрованіе є найпростішим і одним з найефективніших (при правильному використанні) алгоритмів.
Як відомо з булевої алгебри, операція логічного додавання «» по підставі 2 (або логічного ісключаещего АБО - XOR, eXclusive OR) має наступну семантику [3, стр.186]:
Тобто, операція z=xy по суті ...