Московский государственный технический университет

им. Н. Э. Баумана




Лабораторная работа №9

ИСПОЛЬЗОВАНИЕ ЛОКАЛЬНЫХ ФУНКЦИЙ (ПОДФУНКЦИЙ)










Выполнил:

Группа:

Проверил: Звягин Ф.В.










Москва 2016.

Цель работы:


1. Ознакомиться с использованием подфункций.

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

3. Закрепить полученные знания по использованию функций.


Краткие методические указания:


Задать в сценарии все исходные данные и вывести их в командное окно и

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

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

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

3. Сценарий получает от функции значения и выводит всю информацию в

файл и в командное окно.

Задание 2 варианта:

2. Из элементов одномерного массива, стоящих на чётных местах и расположенных правее минимального элемента, сформировать новый массив.



Исходный код скрипта:



Главная программа:

clear all;

clc;


A=[3 2 3 1 2 10 4 7 3 4];

disp('Введенный одномерный массив:');

disp(A);

dlmwrite('doc.txt',A,'delimiter',' ');


Z=one();

disp('Полученный массив:')

disp(Z);


file1=fopen('doc.txt','a');

fprintf(file1,'\nВведенный одномерный массив:');

dlmwrite('doc.txt',A,'-append','delimiter',' ','roffset',1,'newline','PC')

fprintf(file1,'\nРезультат вычислений Z=%d',Z);




Функции:

function Vlad_SKILL = one()

A=dlmread('doc.txt');

imin=1;

for i=2:1:length(A)

if (A(i)

imin=i;

end

end

Vlad_SKILL = two(A, imin);

end



function Vlad_SKILL = two(A,y)

k=0;

if mod(y,2)==1

y = y+1;

b = length(A)-y-1;

else

y = y+2;

b = length(A)-y-1;

end

if mod(b,2)==1

b = fix(b/2)+1;

else

b = fix(b/2);

end

Vlad_SKILL = zeros(1,b);

for i = y:2:length(A)

k=k+1;

Vlad_SKILL(k) = A(i);

end

end










Вывод:

1. Ознакомился с использованием подфункций.

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

3. Закрепил полученные знания по использованию функций.




Случайные файлы

Файл
138191.rtf
23543.rtf
186876.rtf
25253-1.rtf
184279.doc