В22 / лабораторная работа №5
.docxМосковский технический университет связи и информатики
Кафедра информатики
Лабораторная работа по теме
«Средства программирования в 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 |