готов лаби 4 курс 1 сим / СПЗ / laba_3
.docxМіністерство освіти і науки, молоді та спорту України
Кіровоградський національний технічний університет
МТФ
Кафедра Програмного забезпечення
Дисципліна СПЗ
Лабораторна робота №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); } } }