Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
05.06.2015
Размер:
45.1 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Кіровоградський національний технічний університет

МТФ

Кафедра Програмного забезпечення

Дисципліна СПЗ

Лабораторна робота №3

Виконав ст. гр. КІ-10-1

Перевірив викладач

Бісюк В.А.

Кіровоград 2013

Завдання: скласти програму в якій задати масив А з 12 елементів дійсних чисел, створити 4 дочірніх потоки і в кожному виконати певну арифметичну дію. Для першого потоку

S1=(A[і] - №(по списку)) де і змінюється від 1 до 12

Для другого

S2= (A[і] + №(по списку))

Для третього

S3= (A[і] * №(по списку))

Для 4 –го

S4= (A[і] / №(по списку))

Вивести всі результати в текстовий файл і після завершення дочірніх потоків в головному потоці підрахувати їх суму та вивести її та проміжні результати на екран.

Лістинг

using System; using System.Threading; using System.IO;  namespace laba3 {     class Program     {         public static float [] mas = { 2.3f, 4.5f, 6.77f, 9.2f, 5.3f, 12.4f, 14.4f, 8.9f, 9.3f, 1.8f, 1.1f, 2.2f };          public static float s1, s2, s3, s4,s;         public static string path;         public static StreamWriter fwrite;         public static float n;                      public static void Main()         {             n=7.0f;             path=@"D:\lab3_spz.txt";             fwrite=File.CreateText(path);              Thread p1=new Thread(new ThreadStart(first));             p1.Start();              Thread p2=new Thread(new ThreadStart(second));             p2.Start();                          Thread p3=new Thread(new ThreadStart(third));             p3.Start();              Thread p4=new Thread(new ThreadStart(fourth));             p4.Start();             System.Threading.Thread.Sleep(500);             s=0;                         s=s1+s2+s3+s4;             Console.WriteLine("S1= "+s1);                         Console.WriteLine("S2= "+s2);             Console.WriteLine("S3= "+s3);             Console.WriteLine("S4= "+s4);             Console.WriteLine("S= "+s);             System.Threading.Thread.Sleep(500);              fwrite.Close();             Console.ReadKey(true);         }         static void first()             {             s1=0;              for (int i=0; i<12; i++)                  s1+=mas[i]-n;                      String str="";             str+=Convert.ToString(s1);              fwrite.WriteLine("S1= "+str);                   }         static void second()             {             s2=0;              for (int i=0; i<12; i++)                  s2+=mas[i]+n;                       String str="";             str+=Convert.ToString("S2= "+s2);              fwrite.WriteLine(str);                    }                  static void third()             {             s3=0;              for (int i=0; i<12; i++)                  s3+=mas[i]*n;                       String str="";             str+=Convert.ToString("S3= "+s3);              fwrite.WriteLine(str);                    }         static void fourth()             {             s4=0;              for (int i=0; i<12; i++)                  s4+=mas[i]/n;                       String str="";             str+=Convert.ToString("S4= "+s4);             fwrite.WriteLine(str);                    }     } }

Соседние файлы в папке СПЗ