1 семестр Калмычков / Отчёт Л1
.docxМинобрнауки РФ
Санкт-Петербургский государственный электротехнический университет
им. В.И. Ульянова (Ленина) «ЛЭТИ»
(СПбГЭТУ)
Факультет компьютерных технологий и информатики
Кафедра САПР
ОТЧЁТ
По лабораторной работе №1
«Вычисление значения полинома»
Преподаватель: ______________________Калмычков В. А.
Студент гр. 8309: ______________________ Янтиков Д. А.
Санкт-Петербург
2018
Оглавление:
-
Формулировка задания
-
Цель работы
-
Анализ задания и контрольный пример
-
Математическая постановка задачи
-
Текст программы
-
Примеры работы программы
-
Вывод
Формулировка задания
Написать программу для вычисления значения полинома:
Представить программу в виде двух версий:
-
С помощью Библиотеки <iostream>
-
С помощью библиотеки <stdio.h>
Цель работы
Изучение библиотеки <stdio.h> и <iostream.h>; освоение базового синтаксиса языка С++; Научиться использовать средства языка для решения задач.
Анализ задания и контрольный пример
-
6561
-
229635,6561
-
229653,4383
Математическая постановка задачи
Дано: вводимое число вещественного типа.
Найти: значение полинома:
Способ решения: Поэтапное разложение полинома. Выносим за скобку неизвестную переменную x с самой маленькой степенью, пока в итоге не получим выражение следующего вида:
Особенности решения задачи на компьютере: Для вывода на экран значения полинома и промежуточного значения в первой версии программы отведено 5 позиций после запятой.
Организация UI: Программа предлагает пользователю ввести значение переменной x. Выводится промежуточное значение и в конце выводится результат вычислений.
Ввод переменной – Input x:
Вывод промежуточного значения – P1 =
Вывод результата – For x = ; Result:
Формат представления данных: Вводится вещественное значение x. В первой версии программы с помощью методов setw и setprecision библиотеки <iostream> устанавливается формат вывода переменной x. Во второй программе формат вывода устанавливается с помощью “For x = %f%s%5e%c” библиотеки <stdio.h>
Определение внутреннего формата представления данных: x, P, y -переменные типа float. По введённом значению x находится промежуточное значения P1, а затем выводится конечный результат работы алгоритма.
Описание алгоритма: Поэтапное разложение полинома. Выносим за скобку неизвестную переменную x с самой маленькой степенью, пока в итоге не получим выражение следующего вида:
Начало
Ввод
x
Вычисление
P1
Вывод
P1
Вычисление
P
Вывод
P
Конец
Текст программы
Версия 1
#include "pch.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main(int)
{
double x, P, y;
const double a = 35.0001, b = 0.0001, c = 2.0001;
cout <<"Iantikov Daniil, 8309." << endl << "Version 1.1.1 " << endl << "(05.09.2018 - 06.09.2018)" << '\n' << '\n';
cout << setw(10) << "Input x: ";
cin >> x;
y = x * x;
P = ((a*x - b)*x*x*x*x *x + c);
cout << setw(6) << setprecision(5) << "P1 = " << P << '\n'; //Промежуточный результат.
P = P * y;
cout << setw(9) << "For x = " << x << '\n';
cout << setw(9) << setprecision(5) << "Result: " << P << '\n';
}
Версия 2
#include "pch.h"
#include <iostream>
#include <iomanip>
#include <stdio.h>
using namespace std;
int main(int)
{
float x, P;
const float a = 35.0001, b = 0.0001, c = 2.0001;
printf_s("Iantikov Daniil, 8309.\n");
printf_s("Version 1.2.1\n");
printf_s("(05.09.2018 - 06.09.2018)\n\n");
printf_s("Input x = ",'\n');
scanf_s("%f", &x);
P = ((a*x + b)*x*x*x*x*x + c)*x*x;
printf_s("For x = %f%s%5e%c", x, " Result = ", P, '\n');
}
Примеры работы программы
Версия 1:
Версия 2:
Вывод
В ходе выполнения задания были освоены библиотеки <stdio.h> и <iostream>, изучены основные конструкции языка С++, а также получены практические навыки использования языка для решения задач.