kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Реферат на тему "Блочное программирование в Scilab"

Нажмите, чтобы узнать подробности

Реферат на тему "Блочное программирование в Scilab".

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Реферат на тему "Блочное программирование в Scilab"»

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

педагогический УНИВЕРСИТЕТ имени М. Е. евсевьева»



Физико-математический факультет


Кафедра информатики и вычислительной техники




РЕФЕРАТ


БЛОЧНОЕ ПРОГРАММИРОВАНИЕ В SCILAB






Автор работы _____________________________________А. С. Тимошкина

Направление подготовки 44.03.05 Педагогическое образование (с двумя профилями подготовки)
Профиль Математика. Информатика



Руководитель работы

канд. физ.-мат. наук, доцент__________________________Т. В. Кормилицына





Оценка ____________________










Саранск 2021

Содержание



Введение 3

1 Программирование в Scilab 4

2 Основы работы в Scilab 6

2.1 Текстовые комментарии и элементарные математические выражения 6

2.2 Переменные в Scilab 6

2.3 Функции ввода-вывода в Scilab 8

2.4 Оператор присваивания 9

2.5 Условный оператор 10

2.6 Оператор альтернативного выбора select 12

2.7 Оператор for 14

2.8 Оператор while 14

2.9 Инструкции break и continue 15

Заключение 16

Список использованных источников 17

























Введение

Scilab – это система компьютерной математики, которая предназначена для выполнения инженерных и научных вычислений, таких как:

– решение нелинейных уравнений и систем;

– решение задач линейной алгебры;

– решение задач оптимизации;

– дифференцирование и интегрирование;

– задачи обработки экспериментальных данных (интерполяция и аппроксимация, метод наименьших квадратов);

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

Кроме того, Scilab предоставляет широкие возможности по созданию и редактированию различных видов графиков и поверхностей. Несмотря на то, что система Scilab содержит достаточное количество встроенных команд, операторов и функций, отличительная ее черта – это гибкость. Пользователь может создать любую новую команду или функцию, а затем использовать ее наравне со встроенными. К тому же, система имеет достаточно мощный собственный язык программирования высокого уровня, что говорит о возможности решения новых задач.

Изначально это был коммерческий проект под названием Blaise, а затем Basile. С 2003 года продукт получил новое имя Scilab и стал бесплатным. В настоящее время он распространяется по свободной лицензии CeCILL.

Сама система Scilab, как и Matlab, предназначена прежде всего для численных расчетов и работы с матрицами. Кроме того, она обладает развитыми средствами программирования (включая отладчик скриптов), так что ее в какой-то мере можно рассматривать как систему разработки высокотехнологичных приложений.



1 Программирование в Scilab


В Scilab встроен мощный язык программирования с поддержкой объектов.

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация

  • Линейная алгебра, разреженные матрицы (sparse matrices)

  • Полиномиальные и рациональные функции

  • Интерполяция, аппроксимация

  • Симуляция: решение ОДУ и ДУ

  • Scicos: гибрид системы моделирования динамических систем и симуляции

  • Дифференциальные и не дифференциальные оптимизации

  • Обработка сигналов

  • Параллельная работа

  • Статистика

  • Работа с компьютерной алгеброй

  • Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW

Работа в Scilab может осуществляться не только в режиме командной строки, но и в так называемом программном режиме. Главное меню системы содержит команды, предназначенные для работы с файлами, настройки среды, редактирования команд текущей сессии и получения справочной информации. Кроме того, с помощью главного меню можно создавать, редактировать, выполнять отладку и запускать на выполнение так называемые файлы-сценарии Scilab, а так же работать с графическими приложениям пакета.

Для создания программы необходимо:

1. Вызвать команду Editor из меню.

2. В окне редактора Scipad набрать текст программы.

3. Сохранить текст программы с помощью команды File – Save в виде файла с расширением sce , например, file.sce.

4. После этого программу можно будет вызвать, набрав в командной строке exec, например, exec("file.sce"). Другие способы вызова – воспользоваться командой меню File – Exec. . . или, находясь в окне Scipad, выполнить команду Execute – Load into Scilab (Ctrl+L ).

Программный режим достаточно удобен, так как он позволяет сохранить разработанный вычислительный алгоритм в виде файла и повторять его при других исходных данных в других сессиях. Кроме обращений к функциям и операторов присваивания, в программных файлах могут использоваться операторы языка программирования Scilab (язык программирования Scilab будем называть sci-языком).

Программа доступна для различных операционных систем, включая Linux и Microsoft Windows. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, что позволяет как свободное коммерческое использование и распространение неизменённых версий, так и некоммерческое распространение измененных версий, которые должны включать в себя исходный код. Для коммерческого распространения измененных версий необходимо согласование с INRIA.















2 Основы работы в Scilab
2. 1 Текстовые комментарии и элементарные математические выражения


Текстовый комментарий в Scilab это строка, начинающаяся с символов //.

Использовать текстовые комментарии можно как в рабочей области, так и в тексте файла- сценария. Строка после символов // не воспринимается как команда и нажатие клавиши Enter приводит к активизации следующей командной строки (листинг 2.1)



--//6+8

--

Листинг 2.1

Для выполнения простейших арифметических операций в Scilab применяют следующие операторы: + сложение, – вычитание, * умножение, / деление слева направо, \ деление справа налево, ^ возведение в степень. Вычислить значение арифметического выражения можно, если ввести его в командную строку и нажать клавишу ENTER (листинг 2.2).



-- 2.35*(1.8-0.25)+1.34^2/3.12

Листинг 2.2



Если вычисляемое выражение слишком длинное, то перед нажатием клавиши ENTER следует набрать три или более точек. Это будет означать продолжение командной строки. Если символ точки с запятой «;» указан в конце выражения, то результат вычислений не выводится, а активизируется следующая командная строка.



2. 2 Переменные в Scilab



В рабочей области Scilab можно определять переменные, а затем использовать их в выражениях. Для определения переменной необходимо набрать имя переменной, символ «=» и значение переменной. Здесь знак равенства – это оператор присваивания, действие которого не отличается от аналогичных операторов языков программирования. То есть, если в общем виде оператор присваивания записать как «имя_переменной = значение выражения», то в переменную, имя которой указано слева, будет записано значение выражения, указанного справа. Имя переменной не должно совпадать с именами встроенных процедур, функций и встроенных переменных системы и может содержать до 24 символов. Система различает большие и малые буквы в именах переменных. То есть ABC, abc, Abc, aBc – это имена разных переменных. Выражение в правой части оператора присваивания может быть числом, арифметическим выражением, строкой символов или символьным выражением. Если речь идет о символьной или строковой переменной, то выражение в правой части оператора присваивания следует брать в одинарные кавычки. Если символ «;» в конце выражения отсутствует, то в качестве результата выводится имя переменной и ее значение. Наличие символа «;» передает управление следующей командной строке. Это позволяет использовать имена переменных для записи промежуточных результатов в память компьютера.

Для очистки значения переменной можно применить команду «clear имя переменной». Команда clear; отменяет определения всех переменных данной сессии.

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

Другие системные переменные в Scilab начинаются с символа %:

  • %i – мнимая единица ( 1 );

  • %pi – число π (3.141592653589793);

  • %e – число e=2.7182818;

  • %inf – машинный символ бесконечности (∞);

  • %NaN – неопределенный результат (0/0, ∞/∞, 1 ∞ и т.п.);

  • %eps – условный ноль %eps=2.220Е-16.

Все перечисленные переменные можно использовать в математических выражениях.


2.3 Функции ввода-вывода в Scilab


Для организации простейшего ввода в Scilab можно воспользоваться функциями:

x=input(’title’);

или

x=x_dialog(’title’, ’stroka’);

Функция input выводит в командной строке Scilab подсказку title и ждет, пока пользователь введет значение, которое в качестве результата возвращается в переменную х. Функция x_dialog выводит на экран диалоговое окно с именем title, после чего пользователь может щелкнуть OK, и тогда stroka вернется в качестве результата в переменную x, либо ввести новое значение вместо stroka, которое и вернется в качестве результата в переменную x. На рисунке 1 представлено диалоговое окно, которое формируется строкой x=x_dialog(’Input X’,’5’).

Рисунок 2.1 Окно ввода


Функция input преобразовывает введенное значение к числовому типу данных, а функция x_dialog возвращает строковое значение. Поэтому при использовании функции x_dialog для ввода числовых значений возвращаемую ею строку следует преобразовать в число с помощью функции evstr. Можно предложить следующую форму использования функции x_dialog для ввода числовых значений:

x=evstr(x_dialog(’title’,’stroka’));

Для вывода в текстовом режиме можно использовать функцию disp следующей структуры:

disp(b)

Здесь b – имя переменной или заключенный в кавычки текст.


2.4 Оператор присваивания


Оператор присваивания имеет следующую структуру: a=b.

Здесь a – имя переменной или элемента массива, b – значение или выражение.

В результате выполнения оператора присваивания переменной a присваивается значение выражения b.

2.5 Условный оператор


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

Существует обычная и расширенная формы оператора if в Scilab. Обычныая форма оператора if имеет вид:

if условие

операторы1

else

операторы2

end

Здесь условие – логическое выражение, операторы1, операторы2 – операторы языка Scilab или встроенные функции. Оператор if работает по следующему алгоритму: если условие истинно, то выполняются операторы1, если ложно – операторы2.

В Scilab для построения логических выражений могут использоваться условные операторы: &, and (логическое и), |, or (логическое или), ˜, not (логическое отрицание) и операторы отношения: (больше), == (равно), ˜=, (не равно), = (больше или равно).

Зачастую при решении практических задач недостаточно выбора выполнения или невыполнения одного условия. В этом случае можно, конечно, по ветке else написать новый оператор if, но лучше воспользоваться расширенной формой оператора if.

if условие1

операторы1

else

if условие2

операторы2

else

if условие 3

операторы3

...

Else

if условие n

операторы n

else

операторы

end

В этом случае оператор if работает так: если условие1 истинно, то выполняются операторы1, иначе проверяется условие2, если оно истинно, то выполняются операторы2, иначе проверяется условие3 и т. д. Если ни одно из условий по веткам else и elseif не выполняется, то выполняются операторы по ветке else.

Задача 1. В качестве примера программирования разветвляющегося процесса рассмотрим решение биквадратного уравнения ax4 + bx2 + c = 0.

Для решения биквадратного уравнения необходимо заменой y = x^2 привести его к квадратному и решить это уравнение. После этого для нахождения корней биквадратного уравнения необходимо будет извлечь корни из найденных значений y. Входными данными этой задачи являются коэффициенты биквадратного уравнения a, b, c. Выходными данными являются корни уравнения x1, x2, x3, x4 или сообщение о том, что действительных корней нет.

Алгоритм состоит из следующих этапов:

1. Ввод коэффициентов уравнения a, b и c;

2. Вычисление дискриминанта уравнения d;

3. Если d

4. Если y1

5. Если y1 0 и y2 0, то вычисляются четыре корня по формулам ±√y1, ±√y2 и выводятся значения корней.

6. Если условия 4) и 5) не выполняются, то необходимо проверить знак y1.

7. Если y1 неотрицательно, то вычисляются два корня по формуле ±√y1, иначе оба корня вычисляются по формуле ±√y2.



2.5 Оператор альтернативного выбора select


Опертор select предназначен для сокращенной записи нескольких последовательных проверок переменной на равенство одному из ряда значений, которые в противном случае необходимо было бы оформить как блоки elseif. В зависимости от значения переменной оператор select выполняет один из блоков case. Количество таких блоков не ограничено.

Оператор альтернативного выбора select имеет следующую структуру:

select параметр

case значение1 then операторы1

case значение2 then операторы2

...

else операторы

end

Оператор select работает следующим образом: если значение параметра равно значениию1, то выполняются операторы1, иначе, если параметр равен значениию2, то выполняются операторы2. В противном случае, если значение параметра совпадает со значением3, то выполняются операторы3 и т. д. Если значение параметра не совпадает ни с одним из значений в группах case, то выполняются операторы, которые идут после служебного слова else.

Блок else выполняется в том случае, если значение переменной не соответствует ни одному из перечисленных вариантов. Наличие блока else не является обязательным, но считается хорошим тоном. Действительно, даже если программист полагает, что соответствующее этому блоку событие в нормальных условиях никогда не может произойти, ошибка в логике выполнения программы может привести к непредсказуемым последствиям. При отсутствии проверки скрипт продолжит выполняться и в наихудшем случае завершится без сообщений об ошибках, вернув неверный результат. Отладка такого скрипта представляет крайне сложную задачу, поскольку неясно, какая инструкция повлекла нарушение работы. Блок else призван воспрепятствовать распространению ошибки и может помочь в том, чтобы точнее определить место ее возникновения. Таким образом, блок else должен присутствовать в большинстве конструкций select. Для обработки непредвиденных ситуаций в составе блока else часто применяется функция error. Функция error отображает сообщение об ошибке, содержащее указанный в качестве параметра текст. При этом выполнение алгоритма прерывается, интерпретатор Scilab покидает все вызванные функции и возвращает управление консоли.

Конечно, любой алгоритм можно запрограммировать без использования select, используя только if, но использование оператора альтернативного выбора select делает программу более компактной.



2.6 Оператор for


Оператор for применяется для повторения некоторого действия заданное число раз. Чаще всего используется числовой счетчик, пробегающий ряд значений.

Оператор цикла for имеет вид:

for x=xn:hx:xk

операторы

end

Здесь x – имя скалярной переменной – параметра цикла, xn – начальное значение параметра цикла, xk – конечное значение параметра цикла, hx – шаг цикла. Если шаг цикла равен 1, то hx можно опустить, и в этом случае оператор for будет таким:

for x=xn:xk

операторы

end

Выполнение цикла начинается с присвоения параметру стартового значения (x = xn). Затем следует проверка, не превосходит ли параметр конечное значение (x xk). Если x xk, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. Если же x 6 xk, то выполняются операторы в цикле (тело цикла). Далее параметр цикла увеличивает свое значение на hx (x = x + hx). После чего снова производится проверка значения параметра цикла, и алгоритм повторяется.



2.7 Оператор while


Оператор while предназначен для повторения некоторого блока инструкций до тех пор, пока условие цикла остается истинным. Проверка условия выполняется перед каждой (в том числе первой) итерацией. В определенный момент условие повторения обращается в ложь и цикл завершается. Заметим, что для корректного завершения цикла необходимо, чтобы в теле цикла каким-либо образом изменялись переменные, входящие в условие продолжения, так чтобы в какой-то момент значение этого выражения изменилось бы с истинного на ложное

Оператор цикла while имеет вид:

while условие

операторы

end

Здесь условие – логическое выражение; операторы будут выполняться циклически, пока логическое условие истинно.

Оператор цикла while обладает значительной гибкостью, но не слишком удобен для организации «строгих» циклов, которые должны быть выполнены заданное число раз. Оператор цикла for используется именно в этих случаях.



2.8 Инструкции break и continue


Инструкция break позволяет прервать выполнение цикла. Обычно она применяется для выхода из цикла при достижении определенного условия, делающего его продолжение бессмысленным. Следующий фрагмент демонстрирует использование инструкции break для вычисления суммы чисел от 1 до 10.

Инструкция continue позволяет немедленно перейти к выполнению следующей итерации, пропустив команды, следующие после continue в теле цикла. Встретив команду continue, интерпретатор Scilab переходит к заголовку цикла, проверяет условие продолжения, и, если оно истинно, делает следующую итерацию.



Заключение

Система Scilab, как и ее коммерческий аналог Matlab, предназначена для численных расчетов и работы с матрицами. Scilab содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня. Кроме того, она обладает развитыми средствами программирования (включая отладчик скриптов), так что ее можно рассматривать и как систему разработки высокотехнологичных приложений. В Scilab встроен мощный язык программирования с поддержкой объектов. Работа в Scilab может осуществляться в режиме командной строки и в программном режиме. Особенностью пакета является то, что он предназначен исключительно для реализации численных методов и по умолчанию оперирует с любыми значениями как с числами с плавающей точкой. SciLab позволяет работать с элементарным и большим числом специальных функций (Бесселя, Неймана, интегральные функции). Также имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.








Список использованных источников


1. Алексеев, Е. Р. Авторский курс лекций по пакету Scilab на странице Е. Р. Алексеева. – Текст : электронный // Личный сайт Е. Р. Алексеева – Работа в пакете Scilab. – URL : https://teacher.ucoz.net/index/rabota_v_pakete_scilab/0-9

2. Алексеев, Е.Р. Scilab: решение инженерных и математических задач / Е. Р. Алексеев, О. В. Чеснокова, Е. Р. Рудченко. – Москва: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 260 с.

3. Андриевский, Б. Элементы математического моделирования в программных средах MATLAB 5 и Scilab / Б. Андриевский, А. Фрадков. – Санкт-Петербург: Наука, 2001. - 286 с.

4. Интегрированные системы компьютерной математики : учебное пособие для бакалавров / Т. В. Кормилицына, М. А. Кокорева ; Мордовский государственный педагогический институт. – Саранск, 2014. – 197 с.

5. Интерактивная система Scilab: учебное пособие. / И. Е. Плещинская, А. Н. Титов. - Казань: КГТУ, 2009. 144 с.

6. Интерактивные системы Scilab, Matlab, Mathcad : учебное пособие / И. Е. Плещинская [и др.]. – Текст: электронный // Министерство образования и науки России, Казанский национальный исследовательский технологический университет – Казань : Издательство КНИТУ, 2014. - 195 с. ISBN 978-5-7882-1715-4. 






Получите в подарок сайт учителя

Предмет: Информатика

Категория: Прочее

Целевая аудитория: Прочее.
Урок соответствует ФГОС

Скачать
Реферат на тему "Блочное программирование в Scilab"

Автор: Тимошкина Алина Сергеевна

Дата: 23.10.2021

Номер свидетельства: 589350


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Проверка свидетельства