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

МП_5

.docx
Скачиваний:
9
Добавлен:
04.03.2022
Размер:
219.33 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени

Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ

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

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

Выполнила

Студентка группы БСТ1904

Пантелеева К.А.

Вариант №14

Проверил

доц. Шакин В.Н.

Москва, 2021

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

1 Общее задание № 1 «Программирование алгоритмов итеративных циклических структур»

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

2) Выбрать вариант задания из таблицы 5-1 по заданию преподавателя.

3) Провести формализацию поставленной задачи.

4) Написать программный код сценария-функции с параметрами без

использования глобальных переменных, предусмотрев страховку от

возможного «зацикливания».

5) Предусмотреть вывод промежуточных результатов на каждой

итерации и итоговых результатов.

6) Написать программный код сценариев выполнения задания,

содержащий ввод исходных данных, вызов функции п.4 и вывод

результатов.

7) Выполнить созданное приложение и получить решение.

8) Обосновать правильность полученных результатов на заранее

разработанных тестах.

9) Представить отчет преподавателю.

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

3 Результат выполнения 1-го задания

--> //Сессия командного окна для выполнения задания 1:

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

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

--> // Вариант 14, задание 1

--> // Выполнила: Студентка группы БСТ1904 Пантелеева К.А.

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

--> exec('Pr1_5_2.sce',-1)

--> s=Pos(0.00001);

--> disp(s);

1.4142135

--> a=sqrt(2);

--> disp(a);

1.4142136

--> //Конец сессии 1-го задания===========================================

4 Содержимое сценариев 1-го задания, снабженные комментариями

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

// Вычисление суммы членов ряда с использованием рекурентной формулы

function s=Pos(eps)

a=0.5; n=1; s=a;

b=1/(2+a);

while abs(b-a) > eps | n < 5

s=s+b; a=b; b=1/(2+a);

n=n+1;

end

endfunction

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

5 Общее задание № 2 «Программирование алгоритмов регулярных циклических структур»

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

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

3) В соответствии с индивидуальным заданием создать сценарий с

функцией решения задачи. Эта функция может быть разбита на

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

алгоритмов, например, вычисления конечных сумм, разветвлений, поиска

минимума и максимума в последовательности данных и т.п.

4) Предусмотреть вывод промежуточных результатов на каждой

итерации и итоговых результатов.

5) Написать программный код сценариев выполнения задания,

содержащий ввод исходных данных, вызов функции п.4 и вывод

результатов.

6) Выполнить созданное приложение и получить решение.

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

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

7 Результат выполнения 2-го задания

--> //Сессия командного окна для выполнения задания 2:

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

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

--> // Вариант 14, задание 2

--> // Выполнила: Студентка группы БСТ1904 Пантелеева К.А.

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

--> exec('Pr1_5_2.sce',-1)

column 1 to 4

0.8833888 0.6525135 0.3076091 0.9329616

column 5 to 8

0.2146008 0.312642 0.3616361 0.2922267

column 9 to 12

0.5664249 0.4826472 0.3321719 0.5935095

column 13 to 16

0.5015342 0.4368588 0.2693125 0.6325745

column 17 to 18

0.4051954 0.9184708

"Вектор"

0.8833888

0.9329616

0.5664249

0.5935095

0.5015342

0.9184708

"Массив X"

--> //Конец сессии 2-го задания=============================================

8 Содержимое сценариев 2-го задания, снабженные комментариями

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

//Из вектора составить массив из максимальных 3-х элементов идущих подряд

function [mas,x,a]=max3(a)

mas=rand(1,18,1.4,1.67);

i=1;

k=1;

a=mas(i);

for i=i:3:18

if mas(i)<mas(i+1) then

a=mas(i+1);

else

if mas(i)<mas(i+2) then

a=mas(i+2);

else

a=mas(i);

end

end

x(k)=a;

k=k+1;

a=0;

end

endfunction

a=0; //реализация задания

[mas,x,a]=max3(a);//вызов функции

disp(mas,"Вектор");//вывод исходного вектора

disp(x,"Массив X");//вывод созданного массива

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

9 Общее задание № 3 «Программирование алгоритмов обработки матриц алгоритмическими средствами языка Scilab (без использования матричных операций)»

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

2) Выбрать индивидуальное задание из таблицы 5-3.

3) В соответствии с индивидуальным заданием создать сценарий с

необходимыми функциями для реализации базовых алгоритмов,

например, вычисления конечных сумм, разветвлений, поиска минимума и

максимума в последовательности данных и т.п. и с функцией решения

задачи

4) Предусмотреть вывод промежуточных результатов на каждой

итерации и итоговых результатов.

41

5) Написать программный код сценариев выполнения задания,

содержащий ввод исходных данных, вызов функции п.4 и вывод

результатов.

6) Выполнить созданное приложение и получить решение.

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

10 Индивидуальное задание 3

11 Результат выполнения 3-го задания

--> //Сессия командного окна для выполнения задания 3:

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

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

--> // Вариант 14, задание 3

--> // Выполнила: Студентка группы БСТ1904 Пантелеева К.А.

--> // Вызов сценария Pr1_5_3.sce

--> exec('Pr1_5_3.sce')

Введите искомое число m =2

Введите число n =3

10. 7. 6.

5. -3. -8.

"Матрица А:"

10. 7. 6.

5. 0. 0.

"Матрица В:"

--> //Конец сессии 3-го задания=============================================

12 Содержимое сценариев 3-го задания, снабженные комментариями

// Сценарий Pr1_5_3.sce задания 3

// Ввод размера матрицы А

m=input("Введите искомое число m =");

n=input("Введите число n =");

// Создание матрицы в заданном диапазоне

mas = grand(m,n,"uin",-10,10);

// Вывод матрицы А на экран

disp(mas,"Матрица А:");

k=0;r=0;

while k<m

l=r;

for i=1:n

if (mas(k+1,i)>0) then r=r+1;

end

end

r=max(l,r);

k=k+1;

end;

if (r==n) then mas(mas<0)=0; disp(mas,"Матрица В");

else disp(mas(mas>0), "Матрица В");

end;

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

Соседние файлы в предмете Математические пакеты