">
Информатика Программирование
Информация о работе

Тема: Табулирование заданной функции

Описание: Заданная функция. Генерация ряда случайных чисел и их стратегическая обработка. Случайные числа. Блок-схема алгоритма, соответствующая конкретной заданной функции. Столбчатые и круговые диаграммы по столбцам. Стандартная процедура сlоsе .
Предмет: Информатика.
Дисциплина: Программирование.
Тип: Курсовая работа
Дата: 16.08.2012 г.
Язык: Русский
Скачиваний: 4
Поднять уникальность

Похожие работы:

Санкт-Петербургский государственный Морской Технический Университет.

Курсовая работа
по дисциплине
«Информатика»


2012 год



ЗАДАНИЕ № 1. ТАБУЛИРОВАНИЕ ЗАДАННОЙ ФУНКЦИИ

Вычислить значения функции f (Х) при изменении Х от Хнач до Хкон с шагом ?Х (предполагается, что Хкон > Хнач и ?Х>0). Хнач, Хкон, ?Х, а также в некоторых вариантах a,b,c,d являются входными параметрами. Результаты напечатать в виде таблицы.

Порядок выполнения:

Составить и изобразить блок-схему алгоритма, соответствующую конкретный заданной функции.

Составить программу вычисления (табулирование заданной функции) на языке программирования Паскаль с выводом результатов в файл с расширением dat.

Выполнить вычисления по разработанной программе, записав полученные результаты в виде таблицы с использованием приложением Excel.

Вычислить суммы и произведения значений функции по столбцам, а также определить максимальные и минимальные значения в столбцах ( средствами Excel).

По полученным результатам построить графики функции с использованием приложения Excel.

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

Заданная функция имеет вид

F(x) =

Для того, чтобы иметь возможность строить графики функций( и других зависимостей) по значениям, получаемым в результате вычислений по соответствующим программам на языке Паскаль с использованием приложений Windows, Excel, нужно числовые данные расчеты из программы, выполненной на языке Паскаль, переслать в файл с расширением dat, который может быть создан пользователем заранее. Для этого в программе на языке Паскаль должно быть выполнено следующее:

- в разделе описания var должна быть описана текстовая переменная (например, q:text);

- после begin ( начала главной программы) должно следовать обращение к стандартным процедурам:

assign (q, ‘d:/kurs.daf’);

rewrite (q);

Далее ……………….

……………………… ( операторы программы)

writeln (q, ……); (во всех операторах вывода за "("должна быть указана соответствующая текстовая переменная, а далее как обычно);

• перед последней в программе операторной скобкой "еnd." записывается стандартная процедура close (q).

Стандартная процедура assign (q,’*.daf);связывает текстовую переменную q c некоторым именем файла с расширением dat.

Стандартная процедура rewrite создает новый файл или открывает его для записи и чтения. Если файл с таким именем уже существует, его содержимое стирается, а сам файл открывается заново. Например, оператор rewrite (q); открывает существующий файл, связанный с текстовой переменной q.

Стандартная процедура сlоsе закрывает открытый ранее файл, связанный с указанной в качестве параметра текстовой переменной. Например, оператор close (q)закрывает файл, имя которого связано с текстовой переменной q.

Программа №1.

Program shelter;

uses crt;

var fout:text;

x, x1, x2, h, a, f:real;

name:string;

begin

assign(fout, out.dat);

rewrite(fout);

clrscr;

repeat

writeln(vvedite x1:);

readln(x1);

writeln(vvedite x2:);

readln(x2);

until x2>x1;

repeat

writeln(vvedite h:);

readln(h);

until h>0;

writeln(vvedite a);

readln(a);

writeln(vvedite nazvanie tablici:);

readln(name);

writeln(fout, name);

x:=x1;

writeln(x f);

while x<=x2 do begin

if x<5 then f:=exp(ln(a*a+x*x)/3);

if x=5 then f:=x*x-a*x;

if x>5 then f:=sqrt(x+a);

writeln(x:10:2, f:10:2);

writeln(fout, x:10:2, f:10:2);

x:=x+h;

end;

close(fout);

end.

Результаты, полученные в приложении Excel

Для рассматриваемого варианта числовых данных приводятся графики и диаграммы табулируемой функции F(x) (рис. 2-4). На рис. 2,3 на горизонтальной оси приведены номера расчетных точек, а соответствующие им значения переменно х даны в табл.1.

Таблица 1

[0; 10], h=0.5, a=2 x f(x) N   0 1.59 1   0.5 1.62 1   1 1.71 1   1.5 1.84 1   2 2 1   2.5 2.17 1   3 2.35 1   3.5 2.53 1   4 2.71 1   4.5 2.89 1   5 15 2   5.5 2.74 3   6 2.83 3   6.5 2.92 3   7 3 3   7.5 3.08 3   8 3.16 3   8.5 3.24 3   9 3.32 3   9.5 3.39 3   10 3.46 3       Сумма 105 67.55 42  Произведение 0 2.05E+09 118098  Наибольшее 10 15 3  Наименьшее 0 1.59 1  







ЗАДАНИЕ № 2.

ГЕНЕРАЦИЯ РЯДА СЛУЧАЙНЫХ ЧИСЕЛ И ИХ СТАТИСТИЧЕСКАЯ ОБРАБОТКА

1. С помощью генератора случайных чисел Random (Pascal) составить последовательность из 40 чисел согласно варианту задания. Результаты выполнения программы вывести в файл ...1.dat, дальнейшие расчеты до п. 4. производить в приложении Ехсеl.

2. Полученную последовательность проверить на статическую устойчивость: рассчитать нарастающим итогом математическое ожидание по формуле:

Мк=X

и построить график Мк = f(i).

3. Для всей последовательности (п.1) рассчитать:

• дисперсию

D=M=v-v;

• среднеквадратическое отклонение



• асимметрию

M=v-3vv+2v;

• эксцесс

M=v-4 v v+6vv-2v, где v=x, n = 40

4. Определить границы случайных чисел (Мin и Мах); разбить полученный интервал на шесть равных частей; определить, сколько чисел попало в каждую из частей (программа Раscal). Результат расчета вывести в файл ,...2dat. (исходные данные берутся из файла ... 1.dat).

5. По результатам п. 4 построить гистограмму распределения (Ехсе1).

Формула:

Random(30)*0.3+random(5)-random(8)

Программа №2:

uses crt;

const n=40;

var asd : array [1..7] of real;

result : array [1..6] of byte;

f, f1 : text;

i, j : byte;

maxvalue, minvalue, intvalue : real;

counter, allcounter : byte;

value, x : real;

begin

clrscr;

randomize;

assign(f, data.dat);

rewrite(f);

for i:=1 to n do begin

x:=random(30)*0.3+random(5)-random(8);

writeln(x:7:3);

writeln(f, x:7:3);

end;

close(f);

reset(f);

readln(f, maxvalue);

for i:=1 to n-1 do begin

readln(f, value);

if value>maxvalue then maxvalue:=value;

end;

reset(f);

readln(f, minvalue);

for i:=1 to n-1 do begin

readln(f, value);

if value end;

close(f);

intvalue:=(maxvalue-minvalue)/6;

asd[1]:=minvalue;

asd[7]:=maxvalue+1;

for i:=2 to 6 do asd[i]:=asd[i-1]+intvalue;

allcounter:=0;

for i:=1 to 6 do begin

reset(f);

counter:=0;

for j:=1 to n do begin

readln(f, value);

if ((value>=asd[i])and(value inc(counter);

result[i]:=counter;

end;

end;

allcounter:=allcounter+counter;

end;

close(f);

assign(f1, result.dat);

rewrite(f1);

writeln;

writeln(----------------------------------------------);

writeln(interval popavshih chisel);

writeln(----------------------------------------------);

for i:=1 to 6 do begin

if i=6 then begin

writeln([, asd[i]:7:3, ;, asd[i+1]-1:7:3,] , result[i]:10);

writeln(f1, [, asd[i]:7:3, ;, asd[i+1]-1:7:3,] , result[i]);

end

else begin

writeln([, asd[i]:7:3, ;, asd[i+1]:7:3,] , result[i]:10);

writeln(f1, [, asd[i]:7:3, ;, asd[i+1]:7:3,] , result[i]);

end;

writeln(----------------------------------------------);

end;

writeln(vsego chisel , allcounter);

writeln(----------------------------------------------);

close(f1);

readkey;

end.

Случайные числа:

1.600

8.700

3.600

6.000

0.400

0.500

5.800

6.700

6.800

8.300

3.600

-6.400

1.600

3.700

4.800

-2.100

6.000

-4.800

4.400

2.000

0.200

1.900

-0.400

0.300

3.600

-5.100

-0.100

5.800

5.100

2.000

-2.100

0.000

-1.500

2.000

-0.700

4.000

3.400

7.500

-0.900

7.400

номер Числа Мат. Ожидание Квадраты чисел Кубы чисел 4-е степени  1 1.60 1.60 2.56 4.096 6.5536  2 8.70 5.15 75.69 658.503 5728.9761  3 3.60 4.63 12.96 46.656 167.9616  4 6.00 4.98 36 216 1296  5 0.40 4.06 0.16 0.064 0.0256  6 0.50 3.47 0.25 0.125 0.0625  7 5.80 3.80 33.64 195.112 1131.6496  8 6.70 4.16 44.89 300.763 2015.1121  9 6.80 4.46 46.24 314.432 2138.1376  10 8.30 4.84 68.89 571.787 4745.8321  11 3.60 4.73 12.96 46.656 167.9616  12 -6.40 3.80 40.96 -262.144 1677.7216  13 1.60 3.63 2.56 4.096 6.5536  14 3.70 3.64 13.69 50.653 187.4161  15 4.80 3.71 23.04 110.592 530.8416  16 -2.10 3.35 4.41 -9.261 19.4481  17 6.00 3.51 36 216 1296  18 -4.80 3.04 23.04 -110.592 530.8416  19 4.40 3.12 19.36 85.184 374.8096  20 2.00 3.06 4 8 16  21 0.20 2.92 0.04 0.008 0.0016  22 1.90 2.88 3.61 6.859 13.0321  23 -0.40 2.73 0.16 -0.064 0.0256  24 0.30 2.63 0.09 0.027 0.0081  25 3.60 2.67 12.96 46.656 167.9616  26 -5.10 2.37 26.01 -132.651 676.5201  27 -0.10 2.28 0.01 -0.001 0.0001  28 5.80 2.41 33.64 195.112 1131.6496  29 5.10 2.50 26.01 132.651 676.5201  30 2.00 2.48 4 8 16  31 -2.10 2.34 4.41 -9.261 19.4481  32 0.00 2.26 0 0 0  33 -1.50 2.15 2.25 -3.375 5.0625  34 2.00 2.14 4 8 16  35 -0.70 2.06 0.49 -0.343 0.2401  36 4.00 2.12 16 64 256  37 3.40 2.15 11.56 39.304 133.6336  38 7.50 2.29 56.25 421.875 3164.0625  39 -0.90 2.21 0.81 -0.729 0.6561  40 7.40 2.34 54.76 405.224 2998.6576  

Дисперсия 13.48  Среднеквадратичное отклонение 3.671975  Асимметрия -16.766  Эксцесс 531.1249     v1 2.34  v2 18.959  v3 90.70035  v4 782.8346