Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Список используемых информационных источников

Лабораторная работа №3

ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ

Цель работы

Получить навыки программирования циклических алгоритмов на языке C++.

Постановка задачи

Cоставить программу вычисления суммы S.

 

Значение n ввести с клавиатуры.

 

Описание алгоритма

       
 
   
false
 

 


 

 

false
               
   
false
 
   
   
 
 
 
           
 
 
   
 
   

 


 

Текст исходного кода программы с комментариями

#include <iostream>

#include <math.h>

#include <cmath>

#include <cstdlib>

 

using namespace std;

 

long double fact(int N) //нахождение факториала числа N

{

if (N < 0)

return 0;

if (N == 0)

return 1;

else

return N * fact(N - 1);

}

 

 

long double proizv(int n) { //нахождение произведения n*(n+1)*...*(n^2)

long double sum, sum1, sumpart;

int k;

k = pow(n, 2); //верхняя граница произведения

sum = fact(k);

sumpart = fact(n - 1);

 

if (sum == 1)

sum1 = 1;

else

sum1 = sum / sumpart;

return sum1;

}

 

 

int main() {

setlocale(LC_ALL, "Russian");

int n, k, i, answer;

long double sum1, sumall = 0;

cout << "Введите n: ";

cin >> n;

if (n<1 || cin.fail())

cout << "Неверно. Введите натуральное число." << endl;

cin.clear();

cin.ignore(cin.rdbuf()->in_avail());

while (n<1) {

cout << "Введите натуральное число: ";

cin >> n;

if (n<1 || cin.fail()) cout << "Неверно. Введите натуральное число." << endl;

cin.clear();

cin.ignore(cin.rdbuf()->in_avail());

}

 

cout << "Максимальный элемент=" << proizv(n) << endl;

 

for (int i = 1; i <= n; i++) //цикл нахождения суммы элементов

{

sumall += proizv(i); //сумма элементов

}

 

cout << "Сумма: " << sumall << endl;

cout << endl;

cout << "Желаете просмотреть слагаемые? Нажмите 1 для их просмотра и 0 для завершения программы." << endl;

cin >> answer;

if (answer<0 || answer>1 || cin.fail())

cout << "Неверно. Нажмите 1 для их просмотра и 0 для завершения программы." << endl;

cin.clear();

cin.ignore(cin.rdbuf()->in_avail());

while (answer<0 || answer>1) {

cout << "Сделайте выбор: ";

cin >> answer;

if (answer < 0 || answer > 1 || cin.fail()) cout << "Неверно. Нажмите 1 для их просмотра и 0 для завершения программы." << endl;

cin.clear();

cin.ignore(cin.rdbuf()->in_avail());

}

 

switch (answer) {

case 1:

for (int i = 1; i <= n; i++) //цикл вывода слогаемых

{

cout << i << " слагаемое=" << proizv(i)<<endl; //вывод слогаемых

}

break;

case 0:

exit(0);

break;

}

system("Pause");

return 0;

}

 

Контрольный прогон программы

Тест №1 – ввод сначала не корректных, и последующий ввод корректных значений с отображением слагаемых.

Рис. 2. Результат теста №1

Вывод

Данная программа позволяет освоить навыки написания циклических алгоритмов на языке С++. Также я получил опыт в написании функций (fact, proizv) и их использовании в главной процедуре (int(main){}).

 

Список используемых информационных источников

1. Павловская Т.А. С/С++. Программирование на языке высокого уровня- Санкт-Петербург. Питер, 2006.

2. Интернет-ресурс: http://cppstudio.com/post/348/

3. Интернет-ресурс: http://cppstudio.com/post/396/

4. Единая система программной документации (ЕСПД) ГОСТ 19.701-90

5. Сыромятников В.П. «Программирование», МТУ МИРЭА, лекции, 2016/2017.

 



<== предыдущая лекция | следующая лекция ==>
Hace veinte años: Barcelona 1992 | Тема 3. Концепции и модели финансового менеджмента
Поделиться с друзьями:


Дата добавления: 2016-12-05; Мы поможем в написании ваших работ!; просмотров: 281 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2320 - | 2275 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.015 с.