Линейные вычислительные процессы
Решение задачи вычисления и вывода значений функций. Разветвляющиеся и циклические вычислительные процессы. Задача табулирования. Блок схема и код программы. Вычисления по рекуррентным формулам. Программирование вложенных циклов. Сумма элементов матрицы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 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