DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи №1 з дисципліни «Алгоритмічні мови та програмування. Частина 2» на тему «Об'єктно-орієнтоване програмування»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра систем автоматизованого проектування

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Алгоритмічні мови та програмування
Група:
СІ-21
Коротко про документ

Про що ця робота

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

У роботі розглядаються

  • Об'єктно-орієнтоване програмування
  • Паралельні обчислення
  • Win32 API
  • Потоки в C++
  • Візуальне програмування
  • Алгоритмічні мови

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Програмний код
  4. Результат роботи програми
Для кого:Студенти технічних спеціальностей та викладачі програмування
Викладачі:Викладач кафедри КСА

Ключові поняття

Win32 APIпотікобчисленняC++Builderтабулюванняфункціяінтерфейспрограмний код

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра КСА Звіт З лабораторної роботи №1 з дисципліни: “Алгоритмічні мови та програмування. Частина 2” на тему: “ Об’єктно орієнтоване програмування” Створення WIN32-програм з розділеними паралельно в часі математичними обчисленнями Варіант №2 Мета роботи: отримати навики роботи в системі візуального об’єктно-орієнтованого програмування C++Builder та освоїти розроблення програм орієнтованих на виконання складних математичних розрахунків з розділенням їх виконання паралельно в часі. Завдання: написати програмний код для обчислення математичного виразу в окремо створеному потоці програми, а в лабораторії спроектувати та налагодити цю програму. Використати засоби інтерфейсу WIN32 API, результати вивести на екран і у файл.   Остаточна версія програми: Unit1.h //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> #include <Menus.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TPanel *Panel1; TLabel *Label1; TMemo *Memo1; TButton *Button1; TButton *Button2; TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N2; void __fastcall Button2Click(TObject *Sender); void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif Unit1.cpp //--------------------------------------------------------------------------- #include <vcl.h> #include <fstream.h> #include "math.h" #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; HANDLE Thread1, Thread2; // оголошення дескрипторів потоків DWORD ThreadFunc1(LPVOID lParam); // оголошення потокових функцій DWORD ThreadFunc2(LPVOID lParam); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) // запис у файл { Memo1->Lines->SaveToFile("c:\\zap.txt"); } //--------------------------------------------------------------------------- DWORD ThreadFunc1(LPVOID lParam) // табулювання функції в потоці { double tpi=6.28; // 2pi double h=tpi/50; // крок табуляції for (double x=0; x<=tpi; x+=h) { double count=(1-cos(x))*cos(x); // обчислення значення виразу Form1->Memo1->Lines->Add("x= "); // вивід у Memo поле Form1->Memo1->Lines->Add(x); Form1->Memo1->Lines->Add("y= "); Form1->Memo1->Lines->Add(count); } } void __fastcall TForm1::Button1Click(TObject *Sender) { DWORD count1,ThreadId; if (Button1->Tag==0) { Thread1=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFunc1, &count1, 0, &ThreadId); if (Thread1!=NULL ) {Button1->Tag=1; } } else { TerminateThread(Thread1,1); Button1->Tag=0; } } //--------------------------------------------------------------------------- Результат роботи програми: / Файл результату: 
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!