НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ППиМЭ
Лабораторная работа № 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;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.