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

Решение задачи вычисления и вывода значений функций. Разветвляющиеся и циклические вычислительные процессы. Задача табулирования. Блок схема и код программы. Вычисления по рекуррентным формулам. Программирование вложенных циклов. Сумма элементов матрицы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 10.12.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

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

Факультет дизайна и компьютерных технологий

Кафедра компьютерных технологий

ОТЧЕТ ПО УЧЕБНОЙ ВЫЧИСЛИТЕЛЬНОЙ ПРАКТИКЕ

Выполнил:

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

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

Проверил:

ст. преподаватель

Мытникова Е.А.

Чебоксары

2013

Задание 1

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

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

Функция

y = f1(x)

Функция

z = f2(y,a,b)

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

x

a

b

2,5

5

6,1

Блок схема:

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

#include <iostream>

#include <math.h>

#include <conio.h>

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 <iostream>

#include <math.h>

#include <conio.h>

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кон

18

1,5

2

3,5

Блок схема:

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

#include <iostream>

#include <math.h>

#include <conio.h>

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 y\n"); //выводим на экран заголовок таблицы

printf("%f\n",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,8333333 бесконечно

getchar();

getchar();

}

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

Задание 4

Циклические вычислительные процессы. Вычисления по рекуррентным формулам

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

Функция

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

n

х

40

10

Блок схема:

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

#include <iostream>

#include <math.h>

#include <conio.h>

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

-

1

2

10

15

Блок схема:

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

#include <iostream>

#include <math.h>

#include <conio.h>

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<n;j++) // делаем n шагов

{

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 <iostream>

#include <math.h>

#include <conio.h>

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<n;i++)

{

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

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

if (massiv[i]<0)

{sum+=1;}

}

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

getchar();

getchar();

}

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

Задание 7

Двумерные массивы

функция вычислительный матрица цикл

Найти сумму всех элементов матрицы.

Блок схема:

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

#include <iostream>

#include <math.h>

#include <conio.h>

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<m;i++)

for (int j = 0; j<n;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 <iostream>

#include <math.h>

#include <conio.h>

using namespace std;

int main ()

{ const int n = 5;

int massiv[n][n];

for (int i = 0; i<n;i++) // идем по строкам массива

for (int j = 0; j<n;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<n;i++)

{ for (int j = 0; j<n;j++)

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

printf("\n");

}

getchar();

}

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

Размещено на Allbest.ru


Подобные документы

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

  • Особенности вычисления по формулам в Microsoft Visual Basic с использованием функции If. Применение циклов и разветвлений. Визуальные объекты, составление алгоритмов задачи, блок-схемы и программного кода. Введение переменных, определение типа данных.

    лабораторная работа [558,5 K], добавлен 23.05.2014

  • Перевод числа из десятичной системы счисления в двоичную. Результат выполнения в TURBO PASKAL заданных функций и операций. Программа вычисления значений функции на языке PASKAL, блок-схема. Вычисление суммы и произведения всех элементов массива.

    контрольная работа [66,6 K], добавлен 15.02.2013

  • Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.

    курсовая работа [1,9 M], добавлен 05.05.2009

  • Программирование линейных и ветвящихся процессов; циклов с предусловием, постусловием и параметром для вычисления сложных сумм и произведений рядов; таблицы значений функции двух переменных. Блок-схемы алгоритмов. Тексты программ и результаты их работы.

    курсовая работа [2,4 M], добавлен 11.03.2015

  • Характеристика основных способов вычисления определителя матрицы с помощью языка программирования СИ. Выбор инструментальных и аппаратных средств, его обоснование. Общая структура и принцип действия программного модуля, описание блок-схем алгоритмов.

    курсовая работа [262,4 K], добавлен 08.06.2010

  • Составление программы вычисления матрицы и программы вычисления интеграла с погрешностью, не превышающей заданную величину. Схема алгоритма и её описание. Инструкция по использованию разработанной программы и проверка правильности е функционирования.

    курсовая работа [54,8 K], добавлен 27.10.2010

  • Математические и алгоритмические основы решения задачи. Функциональные модели и блок-схемы решения задачи. Программная реализация решения задачи. ЛИСП-реализация вычисления неэлементарных функций. Вычисления гамма функции для положительных неизвестных х.

    курсовая работа [621,2 K], добавлен 18.01.2010

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

    курсовая работа [241,7 K], добавлен 11.12.2009

  • Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.

    контрольная работа [1,3 M], добавлен 20.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.