Добавил:
abhai2013@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab1

.docx
Скачиваний:
4
Добавлен:
30.06.2018
Размер:
90.59 Кб
Скачать

Лабораторная работа № 1

Студента ИТ 14-1 Красовского Абхая

Создание и завершение процессов и потоков. Приоритеты выполнения потоков.

Вариант №9

Цель: Получить навыки в следующих предметных областях:

  • планирование и управление процессами и потоками;

  • потоки в многозадачных приложениях и ОС

  • распределение процессорного времени;

  • состояния процессов и потоков;

  • создание и завершение процессов и потоков;

  • приоритеты выполнения потоков.

Индивидуальное задание

Вычислить значения в зависимости от значения аргумента для следующей математической функции:

9. кардиоиды; математическое описание, требования и ограничения

Кардиоида — плоская линия, которая описывается фиксированной точкой окружности, катящейся по неподвижной окружности с таким же радиусом. Получила своё название из-за схожести своих очертаний со стилизованным изображением сердца.

Кардиоида является частным случаем улитки Паскаля, эпициклоиды исинусоидальной спирали.

Код:

#include <iostream>

#include <boost/thread/thread.hpp>

#include <conio.h>

using namespace std;

using namespace boost;

void ThreadFunc()

{

int a;

double x, y, t;

cout << "Работает функция потока!" << endl;

cout << "Кардиоида — плоская линия, которая описывается фиксированной точкой окружности, катящейся по неподвижной окружности с таким же радиусом. \n Получила своё название из-за схожести своих очертаний со стилизованным \n изображением сердца. \n Кардиоида является частным случаем улитки Паскаля, \n эпициклоиды и синусоидальной спирали.\n a - радиус окружностей, t -угол" << endl;

cout << "Введите a" << endl;

cin >> a;

cout << "Введите t(от 0 до 360)" << endl;

while (!(cin >> t) || (t > 360) || (t < 0)) cout << "Неправильный ввод, попробуйте еще раз" << endl;

x = 2 * a * cos(t) - a * cos(2 * t);

y = 2 * a * sin(t) - a * sin(2 * t);

cout << "x = " << x << endl << "y = " << y << endl;

cout << "Функция завершилась!" << endl;

}

void main()

{

setlocale(LC_ALL, "rus");

cout << "Сообщение до потока" << endl;

thread thr(ThreadFunc);

thr.join();

thr.~thread();

cout << "Сообщение после потока, завершение программы" << endl;

_getch();

}

Соседние файлы в предмете Операционные системы