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

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

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

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

Звіт до лабораторної роботи № 1 «Реалізація простих консольних програм мовою C#»

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

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

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

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи
Група:
КН-11
Коротко про документ

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

Звіт до лабораторної роботи присвячено реалізації простих консольних програм мовою C# для роботи з тривимірними матрицями. У роботі наведено код програми для сортування елементів матриці та обчислення додаткового вектора.

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

  • Мова програмування C#
  • Консольні додатки
  • Тривимірні масиви
  • Алгоритми сортування
  • Генерація псевдовипадкових чисел
  • Математичні обчислення в C#

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

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

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

консольна програматривимірний масивматрицясортуванняпсевдовипадкові числасинусфункція

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"  Звіт до лабораторної роботи №1 Реалізація простих консольних програм мовою C# з курсу: "ОПЕРАЦІЙНІ СИСТЕМИ" Мета роботи: навчитися реалізувати прості консольні програми мовою С# у середовищі Visual Studio Завдання: Ввід значень кубічної матриці організувати з клавіатури у порядку зростання індексів: А 0,0,0; А 0,0,1; А 0,0,2; … А 0,1,0; … Кубічна матриця має бути представлена типом масиву С# зі структурою, вказаною у варіанті завдання. Сортування елементів матриці здійснюється у площинах, зазначених у варіанті завдання, за аналогією гри «15». Метод сортування також зазначений у варіанті завдання. Для окремо зазначених площин кубічної матриці необхідно знайти значення додаткового вектора . Сортування та пошук додаткового вектора організувати в окремих функціях. Вивести на друк посортовані площини кубічної матриці та значення додаткового вектора. A 4×3×5 → С# [ ][ , ] ; горизонтальна площина – метод вибору – за зростанням; вектор добутків синусів елементів фронтальних площин. Список ідентифікаторів, констант, змінних, методів, використаних у програмі та їх пояснення: RandNum – змінна для генератора псевдовипадкових чисел; float [][,] ip – вхідний параметр функції; float [] op – параметр, який функція повертає; i,j,k,z – лічильники; SinMultiple () - Функція обчислення вектора добутків синусів елементів фронтальних площин; FillByRandom () - Функція ініціалізації елементів масиву псевдовипадковими значеннями; Out () - Функція виводу горизонтальних площин тривимірного масиву на консоль; MatrixToString () Функція перетворення тривимірного масиву у стрічку; Sort () - Функція сортування; StringToMatrix () - Функція перетворення стрічкового масиву у тривимірний; Main() – головна функція; (float) () – перетворення типу числа в тип з плаваючою комою; Console.WriteLine("Початковий масив") – виведення в консоль; RandNum.Next( , ) – генерування псевдовипадкового цілого значення із вказаного діапазону; Текст програми: using System; using System.Collections.Generic; using System.Text; namespace Array { class Program { static System.Random RandNum = new System.Random(); //Виділення пам’яті для генератора псевдовипадкових чисел //Функція обчислення вектора добутків синусів елементів фронтальних площин static float [] SinMultiple (float [][,] ip) { float[] op = new float[4] {1,1,1,1}; for (int k = 0; k < 4; k++) for (int i = 0; i < 3; i++) for (int j = 0; j < 5; j++) op[k] = (float) (op[k] * Math.Sin(ip[k][i,j])); return (op); } //Функція ініціалізації елементів масиву псевдовипадковими значеннями static void FillByRandom(float [][,] ip) { for (int k = 0; k < 4; k++) for (int i = 0; i < 3; i++) for (int j = 0; j < 5; j++) ip[k][i, j] = (float)(RandNum.Next(100, 999)) / 10; } //Функція виводу горизонтальних площин тривимірного масиву на консоль static void Out(float [][,] ip) { for (int i = 0; i < 3; i++) { for (int k = 0; k < 4; k++) { for (int j = 0; j < 5; j++) Console.Write(ip[k][i, j] + "\t"); Console.WriteLine(); } Console.WriteLine(); } } //Функція перетворення тривимірного масиву у стрічку static float [][] MatrixToString(float[][,] ip) { int z; float [][] op = new float [3][]; op [0] = new float [20]; op [1] = new float [20]; op [2] = new float [20]; for (int i = 0; i < 3; i++) { z=0; for (int k = 0; k < 4; k++) for (int j = 0; j < 5; j++) { op[i][z] = ip[k][i, j]; z++; } } return (op); } //Функція сортування static float [] Sort(float [] ip) { int k; float x; for (int i = 0; i < 19; i++) { k = i; x = ip[i]; for (int j = i + 1; j < 20; j++) { if (ip[j] < x) { k = j; x = ip[j]; } } ip[k] = ip[i]; ip[i] = x; } return (ip); } //Функція перетворення стрічкового масиву у тривимірний static float [][,] StringToMatrix(float [][] ip) { int z; float[][,] op = new float[4][,]; op [0] = new float[3,5]; op [1] = new float[3,5]; op [2] = new float[3,5]; op [3] = new float[3,5]; for (int i = 0; i < 3; i++) { z = 0; for (int k = 0; k < 4; k++) for (int j = 0; j < 5; j++) { op[k][i, j] = ip[i][z]; z++; } } return (op); } static void Main() { float[][,] a = new float[4][,]; for (int i = 0; i < 4; i++) a[i] = new float[3, 5]; float[][] tmp = new float[3][]; for (int i = 0; i < 3; i++) tmp[i] = new float[20]; float[] sin = new float[4]; FillByRandom(a); Console.WriteLine("Початковий масив"); Out(a); tmp = MatrixToString(a); for (int i=0; i<3; i++) tmp[i] = Sort(tmp[i]); a = StringToMatrix(tmp); sin = SinMultiple(a); Console.Write("Вектор добуткiв елементiв фронтальних площин"); Console.WriteLine(); for (int i = 0; i < 4; i++) { Console.Write("{0 :N8}",sin[i]); Console.Write("\t"); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Вiдсортований масив"); Out(a); Console.ReadKey(true); } } } Результат роботи програми: Початковий масив 50,3 78,9 31,2 71,6 33,4 43,7 65 69,7 77,8 67,6 91,2 18,5 84,9 19,8 34 19,6 10,5 19,1 20,4 11,1 92,9 51,8 91,9 13,4 20,9 56,6 15,8 42 24,6 27,6 54,4 43,1 91,5 44 94,5 92,1 54,9 17 14,9 70,5 63,2 66,6 88,9 27,9 70,5 79,2 38,4 10,7 68,3 67,9 23,7 91,8 87,7 14,5 23,5 44,4 46,8 16,5 54 54 Вектор добутків синусів елементiв фронтальних площин -0,00133710 -0,00000571 0,00001483 0,00000473 Вiдсортований масив 10,5 11,1 18,5 19,1 19,6 19,8 20,4 31,2 33,4 34 43,7 50,3 65 67,6 69,7 71,6 77,8 78,9 84,9 91,2 13,4 14,9 15,8 17 20,9 24,6 27,6 42 43,1 44 51,8 54,4 54,9 56,6 70,5 91,5 91,9 92,1 92,9 94,5 10,7 14,5 16,5 23,5 23,7 27,9 38,4 44,4 46,8 54 54 63,2 66,6 67,9 68,3 70,5 79,2 87,7 88,9 91,8
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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