пр1 (2)
.docxФедеральное государственное бюджетное образовательное учреждение
высшего образования
«САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ ГАГАРИНА Ю.А.»
Институт Прикладных информационных технологий и коммуникаций
Специальность Информатика и вычислительная техника
Кафедра информационно - коммуникационные системы и программная
инженерия
Практическая работа
по дисциплине: «Программирование»
на тему
«Организация управляющих структур»
|
Оценка работы________
Дата защиты 21.01.2022
Подпись ___________
Саратов – 2022
Цель: изучение основных математических операций, приобретение навыков в построении и программировании циклических алгоритмов, изучение и использование операторов циклов и процедур передачи управления.
Задача: разработать алгоритм, отобразить его в виде блок схемы и написать программу с использованием разветвленных структур, операторов цикла, процедур передачи управления на языке программирования С++.
Вариант 2.
Разработать алгоритм и программу вычисления функции ex с заданной точностью ε (0.1<= ε <=0.0001) используя ее разложение в ряд:
Вычисления следует прекратить, когда очередной элемент ряда, включаемый в сумму не превышает точность ε. Точность ε и x устанавливаются пользователем. Наложить ограничения на значения x.
Описание алгоритма работы программы.
Вводится переменная x и проверяется условие 0 < x ≤ 709, если вводимая переменная не удовлетворяет условию, то ввод переменной x повторяется. Если переменная x удовлетворяет условию, то вводится переменная eps (точность) и проверяется условие 0.0001 ≤ eps ≤ 0.1, если вводимая переменная не удовлетворяет условию, то ввод переменной eps повторяется. Если переменная eps удовлетворяет условию, то для нахождения значения функции воспользуемся формулой разложения в ряд Тейлора.
По ряду Тейлора нулевой член ряда равен 1, исходя из этого сумма ряда равна 1. Это начальные условия. С помощью цикла for задаем условие и находим an член ряда. Для нахождения e используем ряд и складываем получившиеся члены до того момента, пока сумма не станет по модулю не станут меньше, чем eps. Результат вычислений выводится в консоль.
Блок-схема алгоритма.
Текст программы.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
char k;
do
{
printf("Вычисление e^x\n");
double x,an=1,eps,e=1;
do
{
cin.clear();
cin.seekg(0);
cout << "Введите X, где X (0 < X < 709): ";
cin >> x;
} while (((x == 0)||(x > 709)) || (!cin.good()));
do
{
cin.clear();
cin.seekg(0);
cout << "Введите точность (от 0.0001 до 0.1): ";
cin >> eps;
} while (((eps < 0.0001)||(eps > 0.1))||(!cin.good()));
for (int i = 1; abs(an) >= eps; i++)
{an *= (x / i);
e += an;}
cout <<"Ответ: "<< e << endl;
cout << "Проверка exp(x): " << exp(x) << endl;
printf("\nПовтор - y\nВыход - Любая клавиша\n\n");
k = _getch();
} while (k == 'y');
return 0;
}
Пример работы программы.
Пример 1:
Пример 2:
Пример 3:
Вывод.
Освоил управляющие структуры языка программирования. Получил практические навыки программирования на языке C++. На практике использовал оператор цикла, для написания программы.
ЛИТЕРАТУРА.
Степанов, А.М. Основы алгоритмизации и программирования на языке С: учеб. пособие для студ., обучающихся по направлению "Управление в технических системах" / А. М. Степанов, М. Ф. Степанов; Саратовский гос. техн. ун-т им. Гагарина Ю. А. - Саратов: СГТУ, 2016. - 88 с. : ил. ; 21 см. - Библиогр.: с. 69 (12 назв.). - ISBN 978-5-7433-3003-4 : 39.23 р. Экземпляры всего: 40
Кирнос, В. Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Текст]: Учебно-методическое пособие / Кирнос В. Н. - Томск: Эль Контент, Томский государственный университет систем управления и радиоэлектроники, 2013. - 160 с. Режим доступа: http://www.iprbookshop.ru/14011
Шишкин, А. Д. Программирование на языке Си [Электронный ресурс]: учебное пособие / Шишкин А. Д. - Санкт-Петербург: Российский государственный гидрометеорологический университет, 2013. - 104 с. Режим доступа: http://www.iprbookshop.ru/17959