Главная страница

ПМ-1-18 Петрова ЛАБ5. казанский государственный энергетический университет


Скачать 96.52 Kb.
Названиеказанский государственный энергетический университет
Дата03.06.2020
Размер96.52 Kb.
Формат файлаdocx
Имя файлаПМ-1-18 Петрова ЛАБ5.docx
ТипЗадача
#127620



КГЭУ

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


Федеральное государственное бюджетное образовательное
учреждение высшего образования

«КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ УНИВЕРСИТЕТ»
(ФГБОУ ВО «КГЭУ»)




Институт цифровых технологий и экономики
Кафедра «ИК»


МЕТОДЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХ


Отчет о лабораторной работе № 5.

Исполнитель: Петрова Елизавета

Группа: ПМ-1-18

Дата выполнения 14 марта 2020 г.
Дата сдачи _____________ Оценка ____________
Подпись преподавателя _______________________

КАЗАНЬ - 2020

Задача № 1


  1. Постановка задачи.


Составить программу для вычисления значений функции V для всевозможных комбинаций значений аргументов x иy (с оператором цикла с предусловием, с постусловием и for).





2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листингпрограммы.

Программа с предусловием

using System;

classProgram

{

staticvoid Main()

{
Console.Write("a: ");

double a = Convert.ToDouble(Console.ReadLine());

Console.Write("b: ");

double b = Convert.ToDouble(Console.ReadLine());

double x = 0.25;

double v = 0;

while (x >= 0.15)

{

double y = -0.1;

while (y <= 0.2)

{

v = Math.Atan(Math.Abs((y + a) / (x + b)));

Console.WriteLine("{0:0.00}\t {1:0.00}\t {2:0.000e00}", x, y, v);

y += 0.1;

}
x -= 0.05;

}

Console.ReadKey();
}

}


Программа с постусловием

usingSystem;

classProgram

{

staticvoid Main()

{
Console.Write("a: ");

double a = Convert.ToDouble(Console.ReadLine());

Console.Write("b: ");

double b = Convert.ToDouble(Console.ReadLine());

double x = 0.25;

double v = 0;

do

{

double y = -0.1;

do

{

v = Math.Atan(Math.Abs((y + a) / (x + b)));

Console.WriteLine("{0:0.00}\t {1:0.00}\t {2:0.000e00}", x, y, v);

y += 0.1;

} while (y <= 0.2);

x -= 0.05;

} while (x >= 0.15);

Console.ReadKey();
}

}


Счётный оператор

using System;

classProgram

{

staticvoid Main()

{

Console.Write("a: ");

double a = Convert.ToDouble(Console.ReadLine());

Console.Write("b: ");

double b = Convert.ToDouble(Console.ReadLine());

double x = 0.25;

double v = 0;

do

{

double y = -0.1;

do

{

v = Math.Atan(Math.Abs((y + a) / (x + b)));

Console.WriteLine("{0:0.00}\t {1:0.00}\t {2:0.000e00}", x, y, v);

y += 0.1;

} while (y <= 0.2);

x -= 0.05;

} while (x >= 0.15);

Console.ReadKey();
}

}


4. Исходные данные.
a=2

b=5
5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

0,25

-0,10

3,472е-01

0,25

0,00

3,640е-01

0,25

0,10

3,805е-01

0,25

0,20

3,968е-01

0,20

-0,10

3,503е-01

0,20

0,00

3,672е-01

0,20

0,10

3,838е-01

0,20

0,20

4,002е-01

0,15

-0,10

3,534е-01

0,15

0,00

3,704е-01

0,15

0,10

3,872е-01

0,15

0,20

4,037е-01



Задача № 2


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;
classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.0000000000000001;

double y = Math.Log((x + 1) / (x - 1));

Console.WriteLine($"y={y:0.000000000}");

double yp = 0;

double ys = 0;

int n = 0;

while (Math.Abs(y - yp) > d)

{

ys += 1 / ((2 * n + 1) * Math.Pow(x, 2 * n + 1));

yp = 2 * ys;

n++;

}

Console.WriteLine($"yp={yp:0.000000000} n={n}");

Console.ReadKey();

}

}
4. Исходные данные.

:

x=1,5555

5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

y=1,526134569

yp=1,526134569 n=37
Задача № 3


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;

classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.000000000001;//погрешность

double y = Math.Exp(-x);

Console.WriteLine($"y={y:0.000000000}");

double ys = 0;//начальноезначениесуммы

int n = 0;//начальное значение параметра цикла

long fact = 1;

while (Math.Abs(y - ys) > d)

{

ys += Math.Pow(-1, n) * Math.Pow(x, n) / fact;

n++;

fact *= n;

}

Console.WriteLine($"ys={ys:0.000000000} n={n}");

Console.ReadKey();

}

}
4. Исходные данные.
x=0,798

5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

y=0,450228521

ys=0,450228521 n=14


Задача № 4


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;
classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.000000000001;

double y = Math.PI / 2 - Math.Atan(x);

Console.WriteLine($"y={y:0.000000000}");

double yp = 0;

double ys = 0;

int n = 0;

while (Math.Abs(y - yp) > d)

{

ys += (Math.Pow(-1, n + 1) * Math.Pow(x, 2 * n + 1)) / (2 * n + 1);

yp = Math.PI / 2 + ys;

n++;

}

Console.WriteLine($"yp={yp:0.000000000} n={n}");

Console.ReadKey();

}

}
4. Исходные данные.
x=0,3333

5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

y=1,249075773

yp=1,249075777 n=11


Задача № 5


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;

classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.000000001;

double y = Math.Cos(x);

Console.WriteLine($"y={y:0.00000}");

double ys = 0;

int n = 0;

long fact = 1;

while (Math.Abs(y - ys) > d)

{

ys += Math.Pow(-1, n) * Math.Pow(x, 2 * n) / fact;

n++;

fact *= (2 * n);
}

Console.WriteLine($"ys={ys:0.00000} n={n}");

Console.ReadKey();

}

}


4. Исходные данные.
x=0,004345
5. Результаты работы программы.
Результат работы программы на экране:



Содержмое выходного файла:

y=0,99999

ys=0,99999 n=2
Задача № 6


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;
classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.00000001;

double y = Math.Asin(x);

Console.WriteLine($"y={y:0.0000000}");

double yp = 0;

double ys = 0;

int n = 1;

while (Math.Abs(y - yp) > d)

{

ys += ((2 * n - 1) * Math.Pow(x, 2 * n + 1)) / (2 * n * (2 * n + 1));

yp = x + ys;

n++;

}

Console.WriteLine($"yp={yp:0.0000000} n={n}");

Console.ReadKey();

}

}
4. Исходные данные.
x=0,02999

5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

y=0,0299945

yp=0,0299945 n=2
Задача № 7


  1. Постановка задачи.



2. Алгоритм решения задачи.


  1. Запустить VisualStudio

  2. Создать пустой проект

  3. Добавить в проект файл с текстовым документом

  4. Набрать скелет программы

  5. Набрать текст программы


3. Листинг программы .
using System;
classProgram

{

staticvoid Main(string[] args)

{

Console.Write("x :");

double x = Convert.ToDouble(Console.ReadLine());

double d = 0.001;

double y = Math.Acos(x);

Console.WriteLine($"y={y:0.0000}");

double yp = 0;

double ys = 0;

int n = 1;

while (Math.Abs(y - yp) > d)

{

ys += ((2 * n - 1) * Math.Pow(x, 2 * n + 1)) / (2 * n * (2 * n + 1));

yp = Math.PI / 2 - x + ys;

n++;

}

Console.WriteLine($"yp={yp:0.0000} n={n}");

Console.ReadKey();

}

}

4. Исходные данные.
x=0,009


5. Результаты работы программы.
Результат работы программы на экране:



Содержимое выходного файла:

y=1,5618

yp=1,5618 n=2
Вывод:
С помощью языка программирования C# и встроенных в него операторов циклического процесса, можно составлять программы для решения математических функций, требующих перебор различных входных данных для одной и той же функции, что позволяет решать математические ряды.


написать администратору сайта