Анализ и исполнение программы Murka-2007 разделов for, while и examples (часть Циклы)

Страницы работы

Содержание работы

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ППиМЭ

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

Студент(ы)        Зазуля  Полина Сергеевна   

Группа                   РН12-71

Дата выполнения 

Преподаватель       Кудашов Алексей Геннадьевич

Отметка о защите     _________________

НОВОСИБИРСК,2008

1.  Проанализировать и исполнить программы Murka-2007 разделов for, while и examples (часть Циклы). На приведенных примерах освоить синтаксис операторов циклов и особенности их использования.

Для осуществления многократно повторяющихся операций. В программировании предназначены 3 вида циклов. Первый из них цикл по переменной (целого или вещественного типа). Синтаксис его следующий: for(i=n;i<=m;i++), где n- начальное, m – конечное значение переменной, по которой производится вычисление. Выражение i++  означает, что в цикле переменной прибавляется по единице. Можно сделать обратный цикл – i--. В цикле не обязательно прибавлять единицу. Изменение переменной может быть на любое вещественное значение. Также в операторе цикла можно ставить выражения. Второй цикл – цикл с предусловием (оператор цикла while()). Перед каждый раз перед выполнением значение переменной проверяется на какое-либо условие. Если результатом проверки является истина, то цикл продолжает работать до тех пор, пока результатом проверки не станет ложь. В этом случае цикл прекращает свою работу. Третьим видом циклов является цикл с постусловием (оператор do-while). Его отличие от цикла с предусловием состоит в том, что при работе программы обязательно выполнится хотя бы один цикл. Если в циклах стоит несколько операторов, то они объединяются фигурными скобками. Циклы могут быть вложены друг в друга. Работу циклов можно прерывать. Оператор continue завершает работу тела цикла без выполнения его окончания, и приводит к следующему выполнению тела цикла. Оператор break прерывает выполнение цикла и завершает его работу.

2.  Разработать программу для расчета сумм и произведения

;                ;               .

Структура входных и выходных данных следующая:

x – данное вещественное значение, n – число слагаемых или множителей, рассчитанных по формуле. S1, S2 и P вещественные значения сумм и произведения. Входные данные «вшиты» в программу.

Блок-схема программы:

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

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double S1,S2,P,x;

int i,n,f;

n=10;

S1=0;

S2=0;

P=1;

f=1;

x=2;

clrscr();

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

{

S1=S1+1.0/(i*i);

f=f*i;

S2=S2+pow(x,i)/f;

P=P*(1+1/pow(2,i));

}

cout<<"S1 = "<<S1<<endl;

cout<<"S2 = "<<S2<<endl;

cout<<"P = "<<P<<endl;

getch();

}

Набор входных данных:   x = 2; n=10.

Результат работы программы:

S1 = 1.549768

S2 = 6.396028

P = 2.381904

3.  Разработать программу для вывода на дисплей всех простых чисел, находящихся в интервале от n до m и нахождения их суммы.

Структура входных и выходных данных следующая:

n и m – начальное и конечное натуральные числа. S – сумма простых чисел. Входные данные «вшиты» в программу.

Блок-схема программы:

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

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double S;

int n,m,k,i,tmp,key;

n=3;

m=35;

S=0;

clrscr();

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

{

key=0;

for(k=2;k<=i-1;k++)

{

tmp=i%k;

if(tmp==0)

{

key=1;

break;

}

}

if(key==0)

{

S=S+i;

cout<<i<<endl;

}

}

cout<<"S = "<<S<<endl;

getch();

}

Набор входных данных:   n=3; m=35.

Результат работы программы:

3

5

7

11

13

17

19

23

29

31

S = 158

4.  Разработать программу для расчета по заданному целому n > 0 суммы

,   

где                  

Модифицировать программу для расчета зависимости  S от значения верхнего предела суммы, изменяющегося от  до .

Программа для расчета суммы по n>0:

Структура входных и выходных данных следующая:

x, y  – данные вещественные значения, n – число слагаемых, рассчитанных по формуле. S вещественное значение суммы. Входные данные «вшиты» в программу.

Блок-схема программы:

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

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double S,y,x;

int i,n;

n=8;

S=0;

x=1;

y=1;

clrscr();

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

{

S=S+x/(1+y);

y=x+y;

x=0.3*x;

}

cout<<"S = "<<S<<endl;

getch();

}

Набор входных данных:   x = 1; y=1; n=8.

Результат работы программы:

S = 0.638594

Модификация программы для расчета зависимости  S от значения верхнего предела суммы, изменяющегося от  до :

Структура входных и выходных данных следующая:

x, y  – данные вещественные значения, n1 и n2 – начальный и конечный номер слагаемых в сумме. S - вещественное значение суммы. Входные данные «вшиты» в программу.

Блок-схема программы:

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

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double S,y,x;

int i,n1,n2;

n1=8; n2=15;

S=0;

x=1;

y=1;

clrscr();

cout<<"n      S(n)"<<endl;

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

{

S=S+x/(1+y);

y=x+y;

x=0.3*x;

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
515 Kb
Скачали:
0