Помощь в написании студенческих работ
Антистрессовый сервис

Линейные вычислительные процессы

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

Циклические вычислительные процессы. Вычисления по рекуррентным формулам Решить задачу вычисления значения функции, содержащей сумму или (и) произведение. Варианты заданий приведены в табл. 4.1. В этой таблице приведены вид функции и рабочий набор исходных данных. Задание: по рекуррентным формулам необходимо вычислить сумму или произведение,. Циклические вычислительные процессы. Задача… Читать ещё >

Линейные вычислительные процессы (реферат, курсовая, диплом, контрольная)

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Чувашский государственный университет имени И.Н. Ульянова»

Факультет дизайна и компьютерных технологий Кафедра компьютерных технологий ОТЧЕТ ПО УЧЕБНОЙ ВЫЧИСЛИТЕЛЬНОЙ ПРАКТИКЕ Выполнил:

студентка гр. ДиКТ-41−12

Краснова О.И.

Проверил:

ст. преподаватель Мытникова Е.А.

Чебоксары

Задание 1

Линейные вычислительные процессы Необходимо решить задачу вычисления и вывода значений функций y = f1(x) и z = f2(y, a, b).

Функция

y = f1(x)

Функция

z = f2(y, a, b)

Рабочий набор

x

a

b

2,5

6,1

Блок схема:

Код Программы:

#include

#include

#include

int main ()

{

float a, b, x;

double z, y; //создаем нужные нам переменные вещественного типа.

printf («Vvedite znachenia x = n»);

scanf («%f» ,&x);

printf («Vvedite znachenia a = n»);

scanf («%f» ,&a);

printf («Vvedite znachenia b = n»);

scanf («%f» ,&b); //вводим исходные данные.

y = (sin (x)*sin (x)*sin (x) + 3.7)/5; //вычисляем функцию у.

z = (sqrt (14*y+2)+6)/(sqrt (14*y+2)+cos (b)+a); // вычесляем функцию z

printf («Resultat: y = %f; z = %f;», y, z);

//cout «» Resultat: n" ;

//cout ««y = «» y «» n» ;

//cout ««z = «» z «» n»; // выводим результат на экран.

getchar ();

getchar ();

}

Скрин результатов:

Задание 2

Разветвляющиеся вычислительные процессы Вычисления значения функции y=f (x), при х =19,8

Блок схема:

Код программы:

#include

#include

#include

int main ()

{

float x;

double y; //создаем нужные нам переменные вещественного типа.

printf («Vvedite znachenia x = n»);

scanf («%f» ,&x);

if (x>20)

{y=sin (x)*sin (x)/2;}

else

if ((x<=20)&&(x>=6))

{y = pow (x, 1/3);}

else

if ((x<6)&&(x>-4))

{y=sin (x)*sin (x);}

else {y=0;}

printf («Resultat: y:%f», y);

getchar ();

getchar ();

}

Скрин результата:

Задание 3

Циклические вычислительные процессы. Задача табулирования Необходимо решить на ЭВМ задачу вычисления N значений функции y = f (x) для ряда равноотстоящих значений аргумента x, начиная от значения x = xнач вплоть до значения x = xкон. Функция y = f (x) зависит от параметра a. Результаты вычислений следует оформить в виде таблицы, снабженной заголовком.

Вид функции y = f (x)

Рабочий набор исходных данных

N

a

xнач

xкон

1,5

3,5

Блок схема:

Код программы:

#include

#include

#include

int main ()

{

float x, x0, x_kon, det_x, a;

int N;

double y; //создаем нужные нам переменные вещественного типа.

printf («Vvedite znachenia N = n»);

scanf («%d» ,&N);

printf («Vvedite znachenia a = n»);

scanf («%f» ,&a);

printf («Vvedite znachenia x0 = n»);

scanf («%f» ,&x0);

printf («Vvedite znachenia x_kon= n»);

scanf («%f» ,&x_kon);

det_x = ((x_kon-x0)/N); //вычисляем шаг для х

x = x0; //вводим переменную x для цикла

printf («N x yn»); //выводим на экран заголовок таблицы

printf («%fn», det_x);

for (int i =0; i < N; i++) //запускаем цикл по i, изменяемое от 0 до N-1, с шагом 1

{

y = log (x*x*x*x +a*a)/(a*a*a*a+28); //вычисляем у

printf («%d %f %f n», i+1,x, y); //выводим на экран текущее значение х и у

x=x+det_x; //делаем шаг

}

// погрешность в х из-за того что 0,8 333 333 бесконечно

getchar ();

getchar ();

}

Скрин результата:

Задание 4

Циклические вычислительные процессы. Вычисления по рекуррентным формулам Решить задачу вычисления значения функции, содержащей сумму или (и) произведение. Варианты заданий приведены в табл. 4.1. В этой таблице приведены вид функции и рабочий набор исходных данных. Задание: по рекуррентным формулам необходимо вычислить сумму или произведение,

Функция

Рабочий набор

n

х

Блок схема:

Код программы:

#include

#include

#include

using namespace std;

int main ()

{

int n;

float i, x;

long double y; //создаем нужные нам переменные вещественного типа.

printf («Vvedite znachenia n = n»);

scanf («%d» ,&n);

printf («Vvedite znachenia x = n»);

scanf («%f» ,&x);

i = 2;//вводим исходные данные.

y = 1; // приравниваем изначально у = 1

while (i<=n) // пока i меньше либо равно n выполняем

{

y = (x/(x+4) — x*sqrt ((float)1+1/i))*y; //вычисляем произведение.

i++; // делаем шаг

}

y=4*y; //вычислляем итоговое значение у

printf («Resultat: y = %f», y); //выводим результат

getchar ();

getchar ();

}

Скрин результата:

Задание 5

Программирование вложенных циклов В работе необходимо вычислять значение (я) функции y = f (x). Варианты заданий отличаются видом функции (табл.5.1). В нечетных вариантах заданий необходимо вычислять значение функции для одного значения аргумента x, а в четных следует решать задачу табулирования. При вычислении значения функции оказывается необходимым вычислять несколько сумм (произведений). Вычисление некоторых сумм (произведений) может потребовать организации вложенных циклов.

Функция

Рабочий набор

x

m

Xнач

xкон

n

;

Блок схема:

Код программы:

#include

#include

#include

using namespace std;

int main ()

{

int n;

float x, x0, x_kon, det_x, s1, s2,y, m; //создаем нужные нам переменные вещественного типа.

printf («Vvedite znachenia n = n»);

scanf («%d» ,&n);

printf («Vvedite znachenia x0 = n»);

scanf («%f» ,&x0);

printf («Vvedite znachenia x_kon= n»);

scanf («%f» ,&x_kon);

printf («Vvedite znachenia m= n»);

scanf («%f» ,&m);

s1=0;

s2=0;

//вводим исходные данные.

det_x=(x_kon-x0)/n; //вычисляем шаг х

x=x0;

printf («n x y n»);

for (int i = 1; i<=m;i++)

{s1=s1 + i*i;} //считаем 1 сумму отдельног т.к. она не зависит от х

for (int j =0; j

{

for (int i = 1; i<=m;i++) // вычисляем сумму s2

{

s2+=(1+i*x)*(1+i*x);

}

y = pow ((1+(2+s1+s2)*(2+s1+s2)),(float)0.25); //вычисляем у. (сделали привидение типов)

printf («%d %f %f n», j+1,x, y); //выводим на экран

x+=det_x; // делаем шаг

s2=0; //обнуляем 2 сумму

}

getchar ();

getchar ();

}

Скрин программы:

Задание 6

Одномерные массивы Найти количество отрицательных элементов массива.

Блок схема:

Код программы:

#include

#include

#include

using namespace std;

int main ()

{ const int n = 10;

int massiv[n];

int sum=0;

printf («Vvedite znachenia massiva: n»);

for (int i = 0; i

{

printf («%d: «, i+1);

scanf («%d» ,&massiv[i]);

if (massiv[i]<0)

{sum+=1;}

}

printf («Resultat: %d», sum); //выводим результат

getchar ();

getchar ();

}

Скрин результата:

Задание 7

Двумерные массивы функция вычислительный матрица цикл Найти сумму всех элементов матрицы.

Блок схема:

Код программы:

#include

#include

#include

using namespace std;

int main ()

{ const int n = 4, m = 3;

int massiv[n][m];

int sum=0;

printf («Vvedite znachenia massiva: n»);

for (int i = 0; i

for (int j = 0; j

{

printf («[%d,%d]: «, i+1,j+1);

scanf («%d» ,&massiv[i][j]);

sum+=massiv[i][j];

}

printf («Resultat: summa = %d», sum); //выводим результат

getchar ();

getchar ();

}

Скрин результата:

Задание 8

Работа с квадратными массивами Квадратную матрицу 5-го порядка заполнить единицами и нулями в шахматном порядке.

Блок схема:

Код программы:

#include

#include

#include

using namespace std;

int main ()

{ const int n = 5;

int massiv[n][n];

for (int i = 0; i

for (int j = 0; j

{

if ((i+j)%2==0) // если сумма индексов четна, то ставим 0 (для того чтобы начать с 1 нужно поменять условие на (i+j)%2≠0

massiv[i][j]=1;

else

massiv[i][j]=0;

}

printf («Resultat: n»);

for (int i = 0; i

{ for (int j = 0; j

printf («%d «, massiv[i][j]);//выводим массив

printf («n»);

}

getchar ();

}

Скрин результата:

Показать весь текст
Заполнить форму текущей работой