ПМ-1-18 Петрова ЛАБ5. казанский государственный энергетический университет
Скачать 96.52 Kb.
|
Институт цифровых технологий и экономики Кафедра «ИК» МЕТОДЫ И АЛГОРИТМЫ ОБРАБОТКИ ДАННЫХОтчет о лабораторной работе № 5. Исполнитель: Петрова Елизавета Группа: ПМ-1-18 Дата выполнения 14 марта 2020 г. Дата сдачи _____________ Оценка ____________ Подпись преподавателя _______________________ КАЗАНЬ - 2020 Задача № 1 Постановка задачи. Составить программу для вычисления значений функции V для всевозможных комбинаций значений аргументов x иy (с оператором цикла с предусловием, с постусловием и for). 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 3. Листингпрограммы.
4. Исходные данные. a=2 b=5 5. Результаты работы программы. Результат работы программы на экране: Содержимое выходного файла:
Задача № 2 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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 Постановка задачи. 2. Алгоритм решения задачи. Запустить VisualStudio Создать пустой проект Добавить в проект файл с текстовым документом Набрать скелет программы Набрать текст программы 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# и встроенных в него операторов циклического процесса, можно составлять программы для решения математических функций, требующих перебор различных входных данных для одной и той же функции, что позволяет решать математические ряды. |