Добавил:
ajieiiika26@gmail.com Делаю контрольные работы, курсовые, дипломные работы. Писать на e-mail. Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
18.01.2018
Размер:
869.89 Кб
Скачать

3.Функции

.

Функции представляет собой важный инструмент, позволяющий писать хорошо структурированные программы.

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

Описание функций включает заголовок и основную часть описания.

Пример . Создания функции . F(x)=x*x

function y=F(x); %описание функции сохраняется в файл с именем F.m

y=x*x;

Обращение к функции

F(3)% получаем 9

ПРИЛОЖЕНИЕ 2. Технология программирования

Включает пять технологических операций (этапов):

  1. Постановка задачи.

  2. Математическое описание.

  3. Алгоритм структограмма.

  4. Написание текста программы.

  5. Отладка, получение результатов.

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

Пример. Определить площадь круга.

Этапы разработки программы сведены в таблицу.

Таблица

N

Этапы программирования

Выполнение

1.

Постановка задачи

Составить программу для вычисления площади круга радиусом R.

2.

Математическое описание

Расчетная формула :S=R

Описание R,S

Ввод R

Расчет S=R

Вывод S

3.

Разработка алгоритма (структограммы)

4.

Написание программы

%{ программа вычисления площади круга}

R:=4;}{другой вариант ввода исходных данных}

S:=3.14*Sqr(R);{расчет}

{S:=Pi*sqr(R);} {другой вариант расчета}

Writeln(‘R=’,R:3:1, ‘S=’,S:8:4); {Вывод}

end.

5.

Отладка и получение результатов

R= 4.0 S= 48.7654

ПРИЛОЖЕНИЕ 3. Структурное программирование

Структурное программированиеэто стиль программирования, позволяющий разрабатывать хорошо структурированные программы.

Основные положения структурного программирования:

  1. Программа разбивается на блоки, каждый из которых имеет один «вход» и один «выход».

  2. Любая программа может быть составлена из трех структур или блоков, которые представлены в таблице.

  3. Алгоритмы при структурном программировании представляются в виде структоргамм, элементы написания которых также приведены в таблице.

Таблица

Основные типы структур и примеры их изображения на структограммах

Название

Алгоритм

Блок-схема

Структограмма

а) линейная структура

б) ветвящаяся структура

Frame2

в) циклическая структура

-с предусловием

-с постусловием:

ПРИМЕР 1. Выполнения контрольной работы

Вариант№ 1

1.Для 8 значений x из диапазона 5..8 заполнить и распечатать массив y[i]

Построить график функции y(x).

Определить cр. арифметическое y[i]<2.

Определить cр. геометрическоеt abs(x[i])<6.

Определить максимальное значение y[i]<1

Определить минимальное значение x[i]>6

Программа

function kr

for i=1:8

x(i)=5+3*rand

if x(i)<=6

y(i)=cos(x(i));

else

y(i)=log(x(i));

end

end

[x' y']

plot(x,y,'*')

A=0;n=0;

for i=1:8

if y(i)<=2

A=A+y(i);

n=n+1;

end

end

A=A/n;

[A]

P=0;k=0;

for i=1:8

if x(i)>6

P=P+x(i);

k=k+1;

end

end

P=P^(1/k);

[P]

MaxY=-10;

for i=1:8

if (y(i)>MaxY)&(y(i)<1)

MaxY=y(i);

end

end

[MaxY]

MinX=10;

for i=1:8

if (x(i)<MinX)&(x(i)<6)

MinX=x(i);

end

end

[MinX]

end

Результат выполнения

x y

7.2119 1.9757

5.4096 0.6420

5.0353 0.3173

7.6817 2.0388

5.5974 0.7739

5.8962 0.9260

6.9843 1.9437

5.8532 0.9090

A = 1.0697

P = 2.7968

MaxY = 0.9260

MinX = 5.0353

ПРИМЕР 2.. Лабораторная работа 1

Задание. 1. Bычислить значение производнойa функции y=x2 в точке x=1 аналитически и численно тремя методами для пяти значений приращения аргумента Dx=1 ; 0.5 ; 0.1 ; 0.01 ; 0.001 . Результаты расчета вывести на экран и распечатать в виде таблицы (табл.3)

Таблица 3

Dx

y(x)

y'(x)

1

0.2

0.1

0.01

0.001

2. Построить графики функций .

Программа

function LR1

function y=f(x);y=x*x; end

dx=[1 0.5 0.1 0.01 0.001 ]

x=1;dya=[2 2 2 2 2];

for i=1:5

dy1(i)=(f(x+dx(i))-f(x))/dx(i);

dy2(i)=(f(x)-f(x-dx(i)))/dx(i);

dy3(i)=(f(x+dx(i))-f(x-dx(i)))/2/dx(i);

end

[dx' dya' dy1' dy2' dy3']

plot(dx,dya,dx,dy1,dx,dy2,dx,dy3)

end

Результат выполнения

Dx dya dy1 dy2 dy3

1.0000 2.0000 3.0000 1.0000 2.0000

0.5000 2.0000 2.5000 1.5000 2.0000

0.1000 2.0000 2.1000 1.9000 2.0000

0.0100 2.0000 2.0100 1.9900 2.0000

0.0010 2.0000 2.0010 1.9990 2.0000

ПРИМЕР 3.. Лабораторная работа 2

Задание. 1. Bычислить значение определенного интеграла аналитически и численно четырьмя методами для пяти значений N, где N- число разбиений интервала интегрирования N=10; 20; 50; 100; 1000. Результаты расчета вывести на экран и распечатать в виде таблицы и графикаI(N).

Программа

function LR2

function y=f(x);y=x*x; end

N=[10 20 50 100 1000]

a=0;b=1;Sa=[1/3 1/3 1/3 1/3 1/3];

for i=1:5

h=(b-a)/N(i);S1(i)=0;S2(i)=0;S3(i)=0;S4(i)=0;

x=a;

for j=1:N(i)

S1(i)=S1(i)+f(x);x=x+h;

end

S1(i)=S1(i)*h;

x=a+h;

for j=1:N(i)

S2(i)=S2(i)+f(x);x=x+h;

end

S2(i)=S2(i)*h;

x=a+h;

for j=1:N(i)-1

S3(i)=S3(i)+f(x);x=x+h;

end

S3(i)=(f(a)/2+f(b)/2+S3(i))*h;

x=a+h;

for j=1:N(i)-1

if mod(j,2)==1

S4(i)=S4(i)+4*f(x);

else

S4(i)=S4(i)+2*f(x);

end

x=x+h;

end

S4(i)=(f(a)+f(b)+S4(i))*h/3;

end

format bank

[N' Sa' S1' S2' S3' S4']

plot(N,Sa,N,S1,N,S2,N,S3,N,S4)

end

Результат выполнения

N Ia I1 I2 I3 I4

10.00 0.33 0.28 0.39 0.33 0.33

20.00 0.33 0.31 0.36 0.33 0.33

50.00 0.33 0.32 0.34 0.33 0.33

100.00 0.33 0.33 0.34 0.33 0.33

1000.00 0.33 0.33 0.33 0.33 0.33

ПРИМЕР4.. Лабораторная работа 3.

Решение дифференциальных уравнений

24