Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ МОЛОДІ ТА СПОРТУ УКРАЇНИ
Технічний Коледж
Національного університету «Львівська політехніка»
Відділення Інформаційних Технологій
та Комп’ютерної Техніки
Лабораторна робота №2
З дисциплiни «Алгоритми та структури даних»
Львів 2012
План
Тема
Мета
Завдання
Основні теоретичні відомості
Розробка структурних даних
Розробка алгоритму
Текст робочої програми
Тестування
Висновок
1.Тема:
Форми та засоьи представлення алгоритмів.
2.Мета:
Мета даної лабораторної роботи полягає в тому , щоб навчитися формам та засобам представлення алгоритмів , на прикладі здійснення операцій над комплексними числами.
3.Завдання:
Маємо два значення комплексного числа z1і z2, де з них z1 має вигляд z1=(a+bi), а z2=(c-di).
а=номер варіанту;
b=номер варіанту + (число>10);
c=будь яке число;
d=дата народження;
Знайти:
Z1+Z2
Z1+(-Z2)
Z1*Z2
Z1/Z2
4.Основні теоретичні відомості:
Комплексним числом Z позначається або називається впорядкована пара дійсних чисел а і b. Комплексне число позначаеться символом а+bi, а і b – дійсні числа, дійсна і уявна частина комплексного числа, а символ «і» визначається умовою і2=-1 , тобто уявна одиниця.
Арифметичні дії виконуються аналогічно до дій з многочленами, але з урахуванням рівності i2=-1 . Нехай Z1=a+bi та Z2=c+di — комплексні числа. Тоді:
Z1+Z2=(a+bi)+(c+di)=(a+c)+(b+d)i
Z1-Z2=(a+bi)-(c+di)=(a-c)+(b-d)i
Z1*Z2=(a+bi)(c+di)=(ac-bd)+(ad+bc)i
Z1/Z2=(a+bi)/(c+di)=(ac+bd)/(c2+d2)+(bc-ad)/(c2+d2)i
5. Розробка структурних даних
Змінна
Опис
Тип
a
Дійсна частина 1-го комплексного числа
float
b
Уявна частина 1-го комплексного числа
float
c
Дійсна частина 2-го комплексного числа
float
d
Уявна частина 2-го комплексного числа
float
z1
Дійсна частина результуючого комплексного числа
float
z2
Уявна частина результуючого комплексного числа
float
n
Змінна вибору операції
integer
6. Розробка алгоритму
1) Блок-схема
2)Граф-схема
початок
a,b,c,d,n
n=1
z1=a+c;
z2=b+d;
n=2
z1=a-c;
z2=b-d;
n=3
z1=a*c-b*d;
z2=a*d+b*c;
z1=(a*c+b*d)/(c*c+d*d);
z2=(b*c-a*d)/(c*c+d*d);
z1,z2
кінець
3) Описовий алгоритм:
1. Підключення бібліотек
2. Початок головної програми
3. Опис змінних
4. Введення даних
5. Обрахування результатів
6. Виведення значень
7)Текст робочої програми
#include<stdafx.h>
#include<iostream>
#include<iomanip>
#include<conio.h>//підключення бібліотек
using namespace std;//використання простору імен
void main(void)// початок основної програми
{
int n;//оголошення змінних
float z1,z2,a,b,c,d;//оголошення змінних
cout<<"Mykhailo Staretsky 34PZ\n";//вивід текстового повідомлення
cout<<"vvedit a,b,c,d\n";//вивід текстового повідомлення
cin>>a>>b>>c>>d;//Введення даних
cout<<"vvedit diyu:\n1=+\n2=-\n3=*\n4=/\n";//вивід текстового повідомлення
cin>>n;//Введення даних
switch (n)//оператор вибору
{
case 1:
z1=a+c;//присвоєння значень для додавання
z2=b+d;//присвоєння значень для додавання
break;
case 2:
z1=a-c;//присвоєння значень для додавання
z2=b-d;//присвоєння значень для додавання
break;
case 3:
z1=a*c-b*d;//присвоєння значень для додавання
z2=a*d+b*c;//присвоєння значень для додавання
break;
case 4:
z1=(a*c+b*d)/(c*c+d*d);//присвоєння значень для додавання
z2=(b*c-a*d)/(c*c+d*d);//присвоєння значень для додавання
}
cout<<"\nrezultat="<<setprecision(2)<<z1<<"+"<<setprecision(2)<<z2<<"i";// виведення результатів
getch();//затримка екрану
}
8) Тестування
Z1=(a+bi); Z2=(c-di); a=23; bi=35; c=6; di=7
Z1+Z2:
/
Z1-Z2:
/
Z1*Z2:
/
Z1/Z2:
./
9) Висновок
На даній лабораторній роботі ми навчилися формам та засобам представлення алгоритмів ,а також пригадали правила виконання арифметичних дій з комплексними числами .