Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр / Лабароторная работа №3 прога

.docx
Скачиваний:
2
Добавлен:
16.05.2023
Размер:
115.87 Кб
Скачать

ФГБОУ ВО

«Уфимский государственный авиационный технический университет»

Кафедра ТК

ОТЧЕТ

по лабораторной работе № 3

по дисциплине «Программирование»

Вариант № 14

Выполнил: студент гр. ИВТ-127Б

Проверил: доцент каф. ТК

Федорова Н. И.

Уфа 2021

Тема работы: Простейшие программы на языке C++

Цель работы: Получение навыков реализации циклических алгоритмов и обработки одномерных массивов на языке С++.

Задачи работы:

  1. Составить блок-схему алгоритма работы программы;

  2. Написание программы на языке С++ с использованием различных типов циклов;

  3. Тестирование работоспособности программы для различных исходных данных

Вариант № 14

Задание:

Найти значение

Выполнение задания:

Решение задачи:

  1. Введем переменные:

n- переменная последовательности,

S- сумма выражения,

p- значение факториала числа n,

M- конечное значение,

x- значение введенное пользователем для вычисления выражения.

  1. Вычислить факториал числа n.

  2. Присвоить p значение факториала числа n.

  3. Увеличить n на единицу.

  4. Прибавить к переменной S значение выражения cos(2*n*x)/ p.

  5. Выполнять п2, п3, п4 и п5 пока истинно неравенство n<=M.

  6. Вывод суммы.

Схема алгоритма работы программы:

Текст программы:

# 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! = 1.

  2. Присваиваем к p значение факториала числа .

  3. Вычисляем значение выражения cos(2*1*2)/1=-0.653644.

  4. Прибавляем к S полученное значение.

  5. Вычисляем факториал второго числа последовательности 2! = 2.

  6. Присваиваем к p значение факториала числа .

  7. Вычисляем значение выражения cos(2*2*2)/2= -0.07275.

  8. Прибавляем к S полученное значение.

  9. Выводим ответ. S= -0.726394.

Ответ: S= -0.726394.

Вывод: В ходе выполнения работы были получены навыки реализации циклических алгоритмов, составления и отладки простейших программ на языке С++.

Контрольные вопросы:

  1. В программировании цикл – это повторяющееся выполнение одних и тех же простых или составных операторов.

  2. Цикл с предусловием — цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. В C++ предусмотрены операторы, реализующих циклический процесс с предусловием : while

  3. Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. В C++ предусмотрены операторы, реализующих циклический процесс с постусловием :  do..while .

  4. Тело цикла – это один оператор (простой или составной). Составной оператор в С++ – это группа операторов, заключенная в фигурные скобки { } и рассматриваемая компьютером как единый оператор.

  5. На основе простых типов данных можно строить составные (сложные) типы. Массив – один из наиболее известных составных типов данных. Под массивом понимают конечный набор данных одного и того же типа, собранных под одним именем. Каждый элемент массива определяется именем массива и порядковым номером элемента, который называется индексом. Индекс в языке С++ всегда целое число. Индекс в языке С++ указывается в квадратных скобках после имени массива. Количество используемых индексов в массиве определяет его мерность. Если в массиве один индекс, то это одномерный массив. Основная форма объявления (описания) одномерного массива такова:

тип имя_массива [размер];

где тип – тип элементов массива,

размер – количество элементов одномерного массива.

Размер массива в языке C++ может задаваться константой или выражением, состоящим из констант. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти.

  1. В языке С++ индекс всегда начинается с нуля. Когда мы говорим о первом элементе массива, то имеем в виду элемент с индексом 0. Если мы объявили массив int x[100]; это значит, что массив содержит 100 элементов от x[0] до x[99], для одномерного массива легко подсчитать, сколько байт в памяти будет занимать этот массив:

колич. байт = размер_типа_элемента * колич. элементов.