Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

В22 / лабораторная работа №5

.docx
Скачиваний:
4
Добавлен:
26.02.2023
Размер:
404.63 Кб
Скачать

Московский технический университет связи и информатики

Кафедра информатики

Лабораторная работа по теме

«Средства программирования в Scilab»

Вариант 22

Москва 2020

1)1.Общее задание:

1) Изучить материал учебника (п. 1.5).

2) Выбрать индивидуальные задания из табл. 1.5-1 и 1.5-2

3) В соответствии с индивидуальным заданием создать необходимые функции для реализации стандартных алгоритмов.

4) Ввести функции и сохранить их на внешнем носителе.

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

6) Сохранить сценарий в файле, задав ему смысловое имя.

7) Произвести отладку файла-сценария, запуская его на выполнение из текстового редактора командой «Выполнить».

8) Подготовить и ввести исходные данные для тестирования и решения поставленной задачи.

9) Выполнить файл-сценарий в Командном окне.

10) Сохранить текст рабочего окна на внешнем носителе.

11) Предоставить результаты работы преподавателю.

12) Оформить отчет по выполненной работе.

2. Индивидуальное задание 1.

Ввести натуральное число n и матрицу вещественных чисел matr(n,9). Сформировать и вывести на экран вектор-столбец, значениями элементов которого являются средние арифметические значения элементов строк матрицы matr(n,9), имеющих четные номера.

2)Результат выполнения задания (сценарии и протоколы сессии)

// Сценарий Pr1_5_1.sce задания 1

// Практическое занятие 1.5 по теме

// «Средства программирования в Scilab»

// Вариант 22, задание 1

// Выполнила: Студентка группы БСТ2004 Ус О.Н.

n=input("Введите количество строк матрицы ");

//обнуление матрицы

matr=[]

//введение элементов вектора

default_input_matrix = string(rand(n, 9)*10);

labelsr = 'Строка '+string(1:n);

labelsc = 'Столбец '+string(1:9);

matr =x_mdialog('Матрица', labelsr, labelsc, default_input_matrix);

r=0;//остаток от деления на 2 (проверка четности)

for (i=1:n)

r=modulo (i,2);

if (r==0) then

t=strtod(matr(i,:))

s(i)=sum(t)

end

end

n=length(s);

for (i=1:n)

s(i)= s(i)/9;

end

Протокол сессии

// Практическое занятие 1.5 по теме

// «Средства программирования в Scilab»

// Вариант 22, задание 1

// Выполнила: Студентка группы БСТ2004 Ус О.Н.

//вызов сценария Pr1_5_1.sce

exec('C:\Users\zaokz\Desktop\мп\лаба 5.1.sce', -1)

Введите количество строк матрицы 4

--> s

s =

0.

4.7989551

0.

5.2373579

3) Индивидуальное задание 2.

Вычислить приближенное значение бесконечной суммы с точностью ε=0,0001 (справа от суммы дается выражение для проверки полученного результата):

,

для сумма равна

Результат выполнения задания (сценарии и протоколы сессии)

// Сценарий Pr1_4_2.sce задания 2

// Практическое занятие 1.5 по теме

// «Средства программирования в Scilab»

// Вариант 22, задание 2

// Выполнила: Студентка группы БСТ2004 Ус О.Н.

x=input('x=');

function [s]=func(x)

n=0;

s=0;

trues=1./(1-x).^2;

if abs(x)<1 then

while (abs((s-trues))>0,0001);

n=n+1;

s=s+n.*x.^(n-1);//рекуррентное выражение

end

end

endfunction

//Конец сценарияPr1_4_2.sce==========================================

Протокол сессии

// Практическое занятие 1.5 по теме

// «Средства программирования в Scilab»

// Вариант 22, задание 1

// Выполнила: Студентка группы БСТ2004 Ус О.Н.

//вызов сценария Pr1_5_2.sce

--> exec('C:\Users\zaokz\Desktop\мп\лаба 5.2.sce', -1)

x=0.895

--> s=func(x)

s =

90.702948