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

Лабораторная 5

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

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

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

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

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

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

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

Выполнил: студент гр. БСТ21.

Вариант №13

Проверил: доц. Шакин В.Н.

Москва, 2021 г.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1) Ввести вектор целых чисел b1 ,b2 ...b10 . Преобразовать его таким образом, чтобы сначала располагались нули, а затем все остальные элементы. Определить сумму и количество элементов, значения которых кратно 5.

// Сценарий-функция Pr1_5_1_fun.sce

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

// «Программирование алгоритмов итеративных циклических структур»

// Вариант 13

// Входные параметры: пустые массивы a,c,d, переменные s,k

// Выходные параметры: вектор d содержит новую последовательность вектора, переменная k содержит количество элементов кратных 5, переменная s содержит сумму элементов кратных 5

b=[5 1 -3 10 0 -60 0 1 60 10]; //начальный вектор

disp("Начальный вектор", b); // вывод начального вектора

function [a, c, d]=obrab(b) //функция для преобразования вектора

a=[]; c=[]; d=[];

n = length(b); // нахождение длины вектора

for i =1:n //распределение элементов вектора по двум разным массивам

if b(i)==0 a=cat(2,a,b(i)); else c =cat(2,c,b(i)); end;

end;

d=cat(2,a,c); // объединение двух векторов

endfunction

function [k, s]=chet(c) // функция для определение кратности и суммы элементов вектора

n = length(c); // нахождение длины вектора

k=0; s=0;

for i = 1:n //нахождение количество и суммы кратных элементов вектора

l=pmodulo(c(i),5); //определение остатка элементов массива

if l==0 then k = k+1; end;

if l==0 then s = s+c(i); end;

end;

endfunction

[a,c,d] = obrab(b); //вызов функции

[k,s] = chet(c); // вызов функции

disp("Новый вектор ", d); //вывод нового вектора

disp("Количество элементов кратных 5 = ",k); // вывод количества элементов

disp("Сумма элементов кратных 5 = ",s); // вывод суммы

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

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

-->// «Программирование алгоритмов итеративных циклических структур»

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

-->// Выполнил: Студент группы БСТ21.

--> exec("Pr1_5_1_fun.sce");

"Начальный вектор"

5. 1. -3. 10. 0. -60. 0. 1. 60. 10.

"Новый вектор "

0. 0. 5. 1. -3. 10. -60. 1. 60. 10.

"Количество элементов кратных 5 = "

5.

"Сумма элементов кратных 5 = "

25.

--> // Конец сессии ==================================