Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт.docx
Скачиваний:
4
Добавлен:
13.09.2019
Размер:
653.29 Кб
Скачать

3. Приклад роботи програми (рис 11.2):

Рисунок 11.2 – Результат роботи програми

ЗАВДАННЯ 12

Варіант 7.54д. Задана дійсна матриця розміру . Знайти вектор В, k-та компонента якого bk це добутку квадратів тих елементів k-го рядка, модулі яких належать відрізку [1;1,5] (якщо таких елементів немає, то покласти bk=1).

Розв’язання:

1. Блок-схема алгоритму, яка була використана для вирішення поставленої задачі (рис 12.1):

Рисунок 12.1 – Блок-схема алгоритму

2. Лістинг 12.1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введiть кiлькiсть рядкiв матрицi:");

int n = int.Parse(Console.ReadLine());

Console.WriteLine("Введiть кiлькiсть стовпцiв матрицi:");

int m = int.Parse(Console.ReadLine());

double[,] Matrix = new double[n, m];

for (int i = 0; i < n; i++)

for (int j = 0; j < m; j++)

{

Console.WriteLine("Введiть ({0};{1}) елемент матрицi:", i + 1, j + 1);

Matrix[i, j] = double.Parse(Console.ReadLine());

}

double[] B = new double[n];

for (int i = 0; i < n; i++)

{

B[i] = 1;

for (int j = 0; j < m; j++)

if (Matrix[i, j] >= 0 && Matrix[i, j] <= 1.5)

B[i] *= Math.Pow(Matrix[i, j], 2);

}

Console.WriteLine("Вектор B: ");

for (int i = 0; i < n; i++)

Console.Write(B[i] + " ");

Console.ReadKey();

}

}

}

}

3. Приклад роботи програми (рис 12.2):

Рисунок 12.2 – Результат роботи програми

ЗАВДАННЯ 13

Варіант 7.63б. Визначити процедуру пошуку в заданому векторі компоненти такої, що належить заданому відрізку на прямій.

Розв'язання:

1. Блок-схема алгоритму, яка була використана для вирішення поставленої задачі (рис. 13.1-13.2):

Рисунок 13.1 – Блок-схема алгоритму

Рисунок 13.2 – Блок-схема алгоритму функції «Func»

2. Лістинг 13.1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static Boolean Func(ref double[] V, double a, double b, ref double z)

{

for (int i = 0; i < V.Length; i++)

if (a => V[i] && V[i] <= b)

{

z = V[i];

return true;

}

return false;

}

static void Main(string[] args)

{

Console.WriteLine("Введiть кiлькiсть компонент вектора:");

int n = int.Parse(Console.ReadLine());

double [] x = new double[n];

for (int i = 0; i < n; i++)

{

Console.WriteLine("Введiть x[{0}]:", i + 1);

x[i] = double.Parse(Console.ReadLine());

}

Console.WriteLine("Введiть нижню межу вiдрiзка:");

double a = double.Parse(Console.ReadLine());

Console.WriteLine("Введiть верхню межу вiдрiзка:");

double b = double.Parse(Console.ReadLine());

double z = 0;

Boolean result = Func(ref x, a, b, ref z);

if (result)

Console.WriteLine("Компонента {0}, знаходиться на вiдрiзку [{1}, {2}] ", z, a, b);

else

Console.WriteLine("Компоненти вектора, що знаходиться в даному вiдрiзку не знайдено!");

Console.ReadKey();

}

}

}