Автор: Пользователь скрыл имя, 29 Ноября 2011 в 23:54, лабораторная работа
Цель работы: Изучение операторов цикла в языке С++.
Задание. Составить алгоритм решения задачи согласно своему варианту. В отчете предоставить три программы с разными операторами цикла (do … while, while, for). В алгоритме и программе массивов не использовать.
Лабораторная работа №4
Тема «Программирование циклических вычислительных процессов с варьируемым параметром цикла»
Цель работы: Изучение операторов цикла в языке С++.
Задание.
Составить алгоритм решения задачи
согласно своему варианту. В отчете
предоставить три программы с разными
операторами цикла (do … while, while, for). В алгоритме
и программе массивов не использовать.
Вариант 3. Вычислить значения t, соответствующие каждому значению х (xn<=x<=xk, шаг изменения равен dx) по формуле . Определить . На экран выводить каждую вторую пару значений х и t. Контрольный расчет провести при a=3.5, b=6.8, xn=-3, xk=3, dx=0.5.
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
int main(void)
{float a,b,x,xn,xk,dx;
double t,f,summ,proiz;
int fl;
cout<<"Enter Xn: "; //вводим все переменные
cin>>xn;
cout<<"Enter Xk: ";
cin>>xk;
cout<<"Enter dX: ";
cin>>dx;
cout<<"Enter A: ";
cin>>a;
cout<<"Enter B: ";
cin>>b;
summ=0;//задаем первоначальные
proiz=1;// значения
fl=-1;//флаг для вывода каждого второго t
x=xn;
do
{ t=fabs(a-b*x*x*x)/(cos(b)+sin(
summ+=t;
proiz*=t;
if (fl>0)
cout<<"X= "<<setw(8)<<x<<" T="<<setw(8)<<t<<endl;
x+=dx;//переходим к следующему х
fl*=-1;
}while (x<=xk);
f=summ/proiz;
cout<<"F= "<<setw(8)<<f<<endl;
return 0;
}
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
int main(void)
{float a,b,x,xn,xk,dx;
double t,f,summ,proiz;
int fl;
cout<<"Enter Xn: ";
cin>>xn;
cout<<"Enter Xk: ";
cin>>xk;
cout<<"Enter dX: ";
cin>>dx;
cout<<"Enter A: ";
cin>>a;
cout<<"Enter B: ";
cin>>b;
summ=0;
proiz=1;
fl=-1;
x=xn;
while (x<=xk)
{ t=fabs(a-b*x*x*x)/(cos(b)+sin(
summ+=t;
proiz*=t;
if (fl>0)
cout<<"X= "<<setw(8)<<x<<" T="<<setw(8)<<t<<endl;
x+=dx;
fl*=-1;
}
f=summ/proiz;
cout<<"F= "<<setw(8)<<f<<endl;
return 0;
}
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
int main(void)
{float a,b,x,xn,xk,dx;
double t,f,summ,proiz;
int i;
cout<<"Enter Xn: ";
cin>>xn;
cout<<"Enter Xk: ";
cin>>xk;
cout<<"Enter dX: ";
cin>>dx;
cout<<"Enter A: ";
cin>>a;
cout<<"Enter B: ";
cin>>b;
summ=0;
proiz=1;
i=1;
for(x=xn;x<=xk;x+=dx)
{ t=fabs(a-b*x*x*x)/(cos(b)+sin(
summ+=t;
proiz*=t;
if (i % 2==0)//число четное, если остаток от деления на 2=0
cout<<"X= "<<setw(8)<<x<<" T="<<setw(8)<<t<<endl;
i++;
}
f=summ/proiz;
cout<<"F= "<<setw(8)<<f<<endl;
return 0;
}
Лабораторная работа №5
Тема «Программирование циклических вычислительных процессов. Последовательность чисел»
Цель работы: Изучение операторов цикла в языке С++.
Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке С++. В алгоритме и программе массивов не использовать.
Вариант
3. Вводится последовательность из N целых
чисел, найти разность между произведением
нечетных чисел и наибольшим среди отрицательных
чисел.
#include <iostream.h>
#include <iomanip.h>
int main(void)
{int i,n,k,curx,max;
long proiz,diff;
cout<<"Enter N: ";
cin>>n;
proiz=1;
max=1;
k=0; //для подсчета кол-ва нечетных
for(i=1;i<=n;i++)
{
cout<<"Enter X"<<setw(2)<<i<<": ";
cin>>curx; //вводим число
if (curx%2>0) {proiz*=curx;k++;} //если нечетное
if ((curx<0)&&(curx>max)||(max>0)
}
if ((max<0)&&(k>0))//были и отрицательные, и нечетные
{ diff=proiz-max;
cout<<"Proizv ="<<setw(8)<<proiz<<endl<<"Max x<0="<<setw(8)<< max<<endl<<"Differ ="<<setw(8)<<diff<<endl;
}
else cout<<"Ne vipolneno uslovie otbora"<<endl;
return 0;
}
Лабораторная работа №6
Тема «Программирование циклических вычислительных процессов с использованием функций»
Цель работы: Изучение функций в языке С++.
Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке C++. В отчете предоставить блок-схемы функции согласно задания и основной функции.
Вариант
3. Вводится последовательность из N целых
чисел. Найти наименьшую по значению
цифру в каждом числе последовательности
(функцией оформить определение наименьшей
цифры числа).
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int mindig(long x)
{
int i,min,mr,curd;
min=10;
mr=int(log10(x));//
for(i=mr;i>=0;i--)
{
curd=x/pow(10,i);/
if (curd<min) min=curd;
x-=curd*pow(10,i);
}
return min;
};
int main(void)
{ int i,n;
long curx;
cout<<"Enter N: ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Enter X"<<setw(2)<<i<<": ";
cin>>curx;
cout<<"Min digit ="<<setw(2)<<mindig(labs(curx)
}
return 0;
}
Лабораторная работа №7
Тема «Применение функций для решения нелинейных уравнений»
Цель работы: Изучение функций в языке С++, локальные и глобальные переменные. Знакомство с основными методами решения нелинейных уравнений.
Задание. Для заданного нелинейного уравнения выполнить следующие действия: