Презентация по информатике по теме Программирование в системе Scilab


Чтобы посмотреть презентацию с картинками, оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов презентации:

Программирование в системе Scilab Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под названием Blaise, а затем Basile. С 2003 года продукт получил новое имя Scilab и стал бесплатным. В настоящее время он распространяется по свободной лицензии CeCILL.Что такое Scilab Для удобства написания скриптов (функций) в Scilab имеется встроенный редактор – Scipad. Редактор SciPad Встроенный язык Scilab – это язык структурного программирования не имеющий, в отличие от Matlab, средств для работы с объектами. Стандартные конструкции встроенного языка Переменные не описываются, а создаются путем присвоения им начального значения, например так:a = 1b='Hello'c= %t Вследствие Unix-корней системы, важен регистр букв в имени переменных, например:-->d=3;D='три';-->d*3ans = 9.0-->D*3!--error 144 Операция для заданных операндов не определена.-->D+' – это текст'ans = три – это текст def_base=2 //глобальная переменнаяfunction rez=log_b(num, base) chk_log=%f //локальная переменная rez=log(num)/log(base)endfunctionГлобальные и локальные переменные function [выходные параметры]=имя_функции(входные параметры) … тело функции … [выходные параметры]=…endfunctionОписание функции function [outS]=Hello1(Name) outS='Привет, '+Name+'!'endfunctionВот пример выполнения этой функции:-->Hello1('незнакомец')ans =Привет, Незнакомец!Линейный процесс вычислений Укажем массив значений:Hello1(['Незнакомец';'Инкогнито'])ans =!Привет, Незнакомец! !!Привет, Инкогнито! ! Эти операции служат для выполнения матричных действий по правилам матричной алгебры. Например:-->a=[1 2 3],b=[3 2 1]a = 1. 2. 3.b = 3. 2. 1.-->a*b !--error 10Некорректное умножение. Согласно правилам матричной алгебры, важен порядок множителей:-->a*b'ans = 10.-->b' * aans = 3. 6. 9. 2. 4. 6. 1. 2. 3. Для выполнения поэлементного умножения двух массивов необходимо поставить перед знаком действия точку:-->a .* bans = 3. 4. 3. Функция для расчета логарифма числа по произвольному основанию:function rez=logB(num,base) rez = log(num)/log(base)endfunctionОператоры ветвления if <Условие> then <Выражения>elseif <условие2> then <Выражения2>...elseif <условиеN> then <ВыраженияN>else <Выражения>end function [rez]=logB(num, base) //Проверка размера массивов if or([length(num)>1, length(base)>1]) then error('Ошибка: массив не может быть входным параметром'); else if and([num>0, base>0, base<>1]) then rez = log(num)/log(base) else error('Ошибка: неверные входные данные'); end endendfunctionНовый вид функции с проверкой входных данных на корректность: warning('on') //включение режима вывода предупрежденийwarning('сообщение') //вывод сообщенияwarning('off') //выключение режима вывода предупрежденийСпособ использования прост: select <переменная> case <значение 1> then <действия 1> case <значение 2> then <действия 2> case <значение 3> then <действия 3>… case <значение N> then <действия N> else <действия по умолчанию>endОбщий вид оператора множественного выбора Рассмотрим функцию, получающую количество информации в байтах и выдающее название наибольшей единицы измерения.function rez=edIzm(N) sN = string(N) select length(sN) case 1 then rez='Байт' case 2 then rez='Байт' case 3 then rez='Байт' case 4 then rez='Килобайт' case 5 then rez='Килобайт' case 6 then rez='Килобайт' case 7 then rez='Мегабайт' case 8 then rez='Мегабайт' case 9 then rez='Мегабайт' else warning('on') warning('Введенное больше чем 999 Мегабайт') warning('off') rez='Много' end //selectendfunction Счетный (for) и условный (while).Общий вид оператора счетного цикла следующий:for <счетчик>=<Выражение> <тело цикла>EndЦиклы Рассмотрим описанную нами функцию edIzm.-->edIzm([1,2,4])ans = Байт-->edIzm([1,23,4])WARNING: Введенное больше чем 999 Мегабайтans = Много function [rez]=edIzm(N) i=0 for iN=N i=i+1 sN=string(iN) select length(sN) case 1 then rez(i)='Байт' case 2 then rez(i)='Байт' case 3 then rez(i)='Байт' case 4 then rez(i)='Килобайт' case 5 then rez(i)='Килобайт' case 6 then rez(i)='Килобайт' case 7 then rez(i)='Мегабайт' case 8 then rez(i)='Мегабайт' case 9 then rez(i)='Мегабайт' else warning('on') warning(sN+' больше чем 999 Мегабайт') warning('off') rez(i) ='Много' end //select end //forendfunctionСчетный оператор цикла: Возможен и такой вариант начала функции:function [rez]=edIzm(N) NSize=length(N) for i=1:NSize sN=string(N(i)) select length(sN). . . Общий вид этого оператора:while <выражение> <тело цикла>endЦикл while. Вместо строкsN=string(N(i))select length(sN)можно вставить следующее:iN=0NTemp=N(i)while NTemp>0 do iN=iN+1 NTemp=int(NTemp/10)endselect iN Спасибо за внимание

Приложенные файлы

  • pptx 88803
    Размер файла: 145 kB Загрузок: 2

Добавить комментарий