Скачиваний:
13
Добавлен:
25.12.2018
Размер:
258.56 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

      1. Федеральное государственное автономное образовательное учреждение высшего образования

«Санкт-Петербургский государственный университет аэрокосмического приборостроения»

КАФЕДРА № 2

Преподаватель

доцент, к.т.н. Куртяник Д.В.

Отчёт

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

по дисциплине Информатика

на тему: «Операторы цикла: заданное число повторений»

Работу выполнил

студент гр. 4616 Павлов А.В.

Санкт-Петербург

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

Задание на программирование: используя технологию процедурного программирования разработать программу решения индивидуальной задачи тремя видами циклических управляющих структур: Цикл - Пока (с предусловием), Цикл - До (с постусловием), Цикл - Для (с параметром).

Порядок выполнения работы:

1) Получить у преподавателя индивидуальное задание. Выполнить постановку задачи: сформулировать условие, определить входные и выходные данные.

2) Разработать математическую модель.

3) Построить схему алгоритма, последовательно используя для решения задачи все три циклические управляющие структуры (операторы while, dowhile, for). Каждое решение должно быть реализовано в виде отдельной функции.

При этом запрещается использовать оператор if для проверки условия входа в циклы и в качестве одного из операторов тела цикла;

4) Составить программу на языке C/С++.

5) Входные данные вводить с клавиатуры по запросу.

6) Вывод результатов должен осуществляться в функции main(). Выходные данные выводить на экран в развернутой форме с пояснениями.

7) Использовать стандартные потоковые объекты ввода/вывода cin и cout.

8) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными.

9) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.

1-3)

Вариант 10

Для введённого с клавиатуры значения N найти (2*N+1)!! по формуле

(2*N+1)!! = 1*3*5*…*(2*N-1)*(2*N+1).

Результат = ((2*N-1) * (2*N+1))

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

//Для введённого с клавиатуры значения N найти (2*N+1)!! по формуле

//(2*N+1)!! = 1*3*5*…*(2*N-1)*(2*N+1).

#include<iostream>

#include <locale>

#include <cmath>

int recur1(int n) ;

int recur2(int n) ;

int recur3(int n) ;

using namespace std;

int main()

{int var, n ;

int re1, re2, re3 ; //результаты решения задачи

float y;

setlocale(LC_ALL,"Russian") ;

for(;;)

{

//Выбор вида действия

cout << " Вид действия:\n" ;

cout << " 1 - вычисление по рекуррентной формуле\n" ;

cout << " 2 - завершение задачи\n" ;

cout << " Введите вид действия -> " ;

cin >> var ;

switch(var)

{case 1:

//Ввод исходных данных

cout << " Введите n -> " ;

cin >> n;

re1 = recur1(n) ;

re2 = recur2(n) ;

re3 = recur3(n) ;

//Вывод результата

cout << "Для цикла WHILE результат = " << re1 << endl ;

cout << "Для цикла DO..WHILE результат = " << re2 << endl ;

cout << "Для цикла FOR результат = " << re3 << endl ;

break ;

default: return 0 ;

}//switch

}//for

}

//вычисление значения рекуррентного выражения циклом while

int recur1(int n)

{int i = 1, y=1 ;

while(i <= n)

{y = y * (2*i+1) ;

i++ ;

}

return y ;

}

//вычисление значения рекуррентного выражения циклом do..while

int recur2(int n)

{int i = 1, y=1 ;

do

{y = y * (2*i+1) ;

i++ ;

}

while(i <= n) ;

return y ;

}

//вычисление значения рекуррентного выражения циклом for

int recur3(int n)

{int i, y=1 ;

for(i = 1 ; i <= n ; i++)

{ y = y * (2*i+1);

}

return y ;

}

Примеры.

Соседние файлы в предмете Основы программирования и алгоритмизации