1 семестр / Лабароторная работа №3 прога
.docxФГБОУ ВО
«Уфимский государственный авиационный технический университет»
Кафедра ТК
ОТЧЕТ
по лабораторной работе № 3
по дисциплине «Программирование»
Вариант № 14
Выполнил: студент гр. ИВТ-127Б
Проверил: доцент каф. ТК
Федорова Н. И.
Уфа 2021
Тема работы: Простейшие программы на языке C++
Цель работы: Получение навыков реализации циклических алгоритмов и обработки одномерных массивов на языке С++.
Задачи работы:
Составить блок-схему алгоритма работы программы;
Написание программы на языке С++ с использованием различных типов циклов;
Тестирование работоспособности программы для различных исходных данных
Вариант № 14
Задание:
Найти значение
Выполнение задания:
Решение задачи:
Введем переменные:
n- переменная последовательности,
S- сумма выражения,
p- значение факториала числа n,
M- конечное значение,
x- значение введенное пользователем для вычисления выражения.
Вычислить факториал числа n.
Присвоить p значение факториала числа n.
Увеличить n на единицу.
Прибавить к переменной S значение выражения cos(2*n*x)/ p.
Выполнять п2, п3, п4 и п5 пока истинно неравенство n<=M.
Вывод суммы.
Схема алгоритма работы программы:
Текст программы:
# include <iostream>
using namespace std;
void main()
{
setlocale(0, "");
float x, s=0, p;
int n, j, M;
cout << "Вычисление суммы элементов выражения " << endl;
cout << endl << "Введите конечное значение" << endl;
cout << "M= ";
cin >> M;
cout << endl << "Введите значение переменной x" << endl;
cout << "x= ";
cin >> x;
for (n = 1; n <= M; n++) {
p = 1;
for (j = 1; j <= n; j++) {
p *= j;
}
s += cos(2 * n * x) / p;}
cout<< endl << "Сумма = " << s << endl;
}
Тестовый пример:
Возьмем значения, введенные пользователем, M=2, x=2.
Начальное значение = 1, конечное = 2.
Вычисляем факториал первого числа последовательности 1! = 1.
Присваиваем к p значение факториала числа .
Вычисляем значение выражения cos(2*1*2)/1=-0.653644.
Прибавляем к S полученное значение.
Вычисляем факториал второго числа последовательности 2! = 2.
Присваиваем к p значение факториала числа .
Вычисляем значение выражения cos(2*2*2)/2= -0.07275.
Прибавляем к S полученное значение.
Выводим ответ. S= -0.726394.
Ответ: S= -0.726394.
Вывод: В ходе выполнения работы были получены навыки реализации циклических алгоритмов, составления и отладки простейших программ на языке С++.
Контрольные вопросы:
В программировании цикл – это повторяющееся выполнение одних и тех же простых или составных операторов.
Цикл с предусловием — цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. В C++ предусмотрены операторы, реализующих циклический процесс с предусловием : while
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. В C++ предусмотрены операторы, реализующих циклический процесс с постусловием : do..while .
Тело цикла – это один оператор (простой или составной). Составной оператор в С++ – это группа операторов, заключенная в фигурные скобки { } и рассматриваемая компьютером как единый оператор.
На основе простых типов данных можно строить составные (сложные) типы. Массив – один из наиболее известных составных типов данных. Под массивом понимают конечный набор данных одного и того же типа, собранных под одним именем. Каждый элемент массива определяется именем массива и порядковым номером элемента, который называется индексом. Индекс в языке С++ всегда целое число. Индекс в языке С++ указывается в квадратных скобках после имени массива. Количество используемых индексов в массиве определяет его мерность. Если в массиве один индекс, то это одномерный массив. Основная форма объявления (описания) одномерного массива такова:
тип имя_массива [размер];
где тип – тип элементов массива,
размер – количество элементов одномерного массива.
Размер массива в языке C++ может задаваться константой или выражением, состоящим из констант. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти.
В языке С++ индекс всегда начинается с нуля. Когда мы говорим о первом элементе массива, то имеем в виду элемент с индексом 0. Если мы объявили массив int x[100]; это значит, что массив содержит 100 элементов от x[0] до x[99], для одномерного массива легко подсчитать, сколько байт в памяти будет занимать этот массив:
колич. байт = размер_типа_элемента * колич. элементов.