Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под названием Blaise, а затем Basile. С 2003 года продукт получил новое имя Scilab и стал бесплатным. В настоящее время он распространяется по свободной лицензии CeCILL.Что
Программирование в системе Scilab Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под названием Для удобства написания скриптов (функций) в Scilab имеется встроенный редактор – Scipad. Редактор SciPad Встроенный язык Scilab – это язык структурного программирования не имеющий, в отличие Переменные не описываются, а создаются путем присвоения им начального значения, например так:a = 1b='Hello'c= %t Вследствие Unix-корней системы, важен регистр букв в имени переменных, например:-->d=3;D='три';-->d*3ans = 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 Согласно правилам матричной алгебры, важен порядок множителей:-->a*b'ans =  10.-->b' * aans Для выполнения поэлементного умножения двух массивов необходимо поставить перед знаком действия точку:-->a Функция для расчета логарифма числа по произвольному основанию:function rez=logB(num,base)  rez = log(num)/log(base)endfunctionОператоры ветвления if then elseif then ...elseif then else end function [rez]=logB(num, base)  //Проверка размера массивов  if or([length(num)>1, length(base)>1]) then warning('on') //включение режима вывода предупрежденийwarning('сообщение') //вывод сообщенияwarning('off') //выключение режима вывода предупрежденийСпособ использования прост: select  case then  case then  case then … case Рассмотрим функцию, получающую количество информации в байтах и выдающее название наибольшей единицы Счетный (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 Возможен и такой вариант начала функции:function [rez]=edIzm(N)  NSize=length(N)  for i=1:NSize Общий вид этого оператора: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 Спасибо за внимание
Слайды презентации

Слайд 2 Scilab – это кроссплатформенная система компьютерной алгебры.
Изначально это был

Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под

коммерческий проект под названием Blaise, а затем Basile.
С

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

Что такое Scilab


Слайд 3 Для удобства написания скриптов (функций) в Scilab имеется

Для удобства написания скриптов (функций) в Scilab имеется встроенный редактор – Scipad. Редактор SciPad

встроенный редактор – Scipad.
Редактор SciPad


Слайд 4 Встроенный язык Scilab – это язык структурного программирования

Встроенный язык Scilab – это язык структурного программирования не имеющий, в

не имеющий, в отличие от Matlab, средств для работы

с объектами.

Стандартные конструкции встроенного языка


Слайд 5 Переменные не описываются, а создаются путем присвоения им

Переменные не описываются, а создаются путем присвоения им начального значения, например так:a = 1b='Hello'c= %t

начального значения, например так:
a = 1
b='Hello'
c= %t


Слайд 6 Вследствие Unix-корней системы, важен регистр букв в имени

Вследствие Unix-корней системы, важен регистр букв в имени переменных, например:-->d=3;D='три';-->d*3ans =

переменных, например:
-->d=3;D='три';
-->d*3
ans =
9.0
-->D*3
!--error 144
Операция для заданных

операндов не определена.
-->D+' – это текст'
ans =
три – это текст


Слайд 7 def_base=2 //глобальная переменная

function rez=log_b(num, base)
chk_log=%f //локальная

def_base=2 //глобальная переменнаяfunction rez=log_b(num, base) chk_log=%f //локальная переменная rez=log(num)/log(base)endfunctionГлобальные и локальные переменные

переменная

rez=log(num)/log(base)
endfunction

Глобальные и локальные переменные


Слайд 8 function [выходные параметры]=имя_функции(входные параметры)

тело

function [выходные параметры]=имя_функции(входные параметры) … тело функции … [выходные параметры]=…endfunctionОписание функции

функции

[выходные параметры]=…
endfunction

Описание функции


Слайд 9 function [outS]=Hello1(Name)
outS='Привет, '+Name+'!'
endfunction
Вот пример выполнения этой

function [outS]=Hello1(Name) outS='Привет, '+Name+'!'endfunctionВот пример выполнения этой функции:-->Hello1('незнакомец')ans =Привет, Незнакомец!Линейный процесс вычислений

функции:
-->Hello1('незнакомец')
ans =
Привет, Незнакомец!

Линейный процесс вычислений


Слайд 10 Укажем массив значений:

Hello1(['Незнакомец';'Инкогнито'])
ans =
!Привет, Незнакомец! !
!Привет, Инкогнито!

Укажем массив значений:Hello1(['Незнакомец';'Инкогнито'])ans =!Привет, Незнакомец! !!Привет, Инкогнито! !

!


Слайд 11 Эти операции служат для выполнения матричных действий по

Эти операции служат для выполнения матричных действий по правилам матричной алгебры.

правилам матричной алгебры. Например:
-->a=[1 2 3],b=[3 2 1]
a =

1. 2. 3.
b =
3. 2. 1.
-->a*b
!--error 10
Некорректное умножение.


Слайд 12 Согласно правилам матричной алгебры, важен порядок множителей:
-->a*b'
ans =

Согласно правилам матричной алгебры, важен порядок множителей:-->a*b'ans = 10.-->b' * aans

10.
-->b' * a
ans =
3. 6. 9.

2. 4. 6.
1. 2. 3.


Слайд 13 Для выполнения поэлементного умножения двух массивов необходимо поставить

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

перед знаком действия точку:
-->a .* b
ans =
3.

4. 3.


Слайд 14 Функция для расчета логарифма числа по произвольному основанию:
function

Функция для расчета логарифма числа по произвольному основанию:function rez=logB(num,base) rez = log(num)/log(base)endfunctionОператоры ветвления

rez=logB(num,base)
rez = log(num)/log(base)
endfunction


Операторы ветвления


Слайд 15 if then
elseif then
...
elseif

if then elseif then ...elseif then else end

then
else end


Слайд 16 function [rez]=logB(num, base)
//Проверка размера массивов

function [rez]=logB(num, base) //Проверка размера массивов if or([length(num)>1, length(base)>1]) then

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
end
endfunction

Новый вид функции с проверкой входных данных на корректность:


Слайд 17 warning('on') //включение режима вывода предупреждений
warning('сообщение') //вывод сообщения
warning('off') //выключение

warning('on') //включение режима вывода предупрежденийwarning('сообщение') //вывод сообщенияwarning('off') //выключение режима вывода предупрежденийСпособ использования прост:

режима вывода предупреждений

Способ использования прост:


Слайд 18 select
case then

select case then case then case then … case then else

case then
case

then <действия 3>

case <значение N> then <действия N>
else
<действия по умолчанию>
end

Общий вид оператора множественного выбора


Слайд 19 Рассмотрим функцию, получающую количество информации в байтах и

Рассмотрим функцию, получающую количество информации в байтах и выдающее название наибольшей

выдающее название наибольшей единицы измерения.
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 //select
endfunction


Слайд 20 Счетный (for) и условный (while).
Общий вид оператора счетного

Счетный (for) и условный (while).Общий вид оператора счетного цикла следующий:for = EndЦиклы

цикла следующий:
for =

End



Циклы


Слайд 21 Рассмотрим описанную нами функцию edIzm.

-->edIzm([1,2,4])
ans =
Байт
-->edIzm([1,23,4])
WARNING: Введенное

Рассмотрим описанную нами функцию edIzm.-->edIzm([1,2,4])ans = Байт-->edIzm([1,23,4])WARNING: Введенное больше чем 999 Мегабайтans = Много

больше чем 999 Мегабайт
ans =
Много


Слайд 22 function [rez]=edIzm(N)
i=0
for iN=N

function [rez]=edIzm(N) i=0 for iN=N  i=i+1  sN=string(iN)  select

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 //for
endfunction

Счетный оператор цикла:


Слайд 23 Возможен и такой вариант начала функции:

function [rez]=edIzm(N)

Возможен и такой вариант начала функции:function [rez]=edIzm(N) NSize=length(N) for i=1:NSize

NSize=length(N)
for i=1:NSize
sN=string(N(i))

select length(sN)
. . .


Слайд 24 Общий вид этого оператора:

while

end

Цикл while.

Общий вид этого оператора:while endЦикл while.

Слайд 25 Вместо строк
sN=string(N(i))
select length(sN)
можно вставить следующее:
iN=0
NTemp=N(i)
while NTemp>0 do

Вместо строкsN=string(N(i))select length(sN)можно вставить следующее:iN=0NTemp=N(i)while NTemp>0 do iN=iN+1 NTemp=int(NTemp/10)endselect iN

iN=iN+1
NTemp=int(NTemp/10)
end
select iN



  • Имя файла: programmirovanie-v-sisteme-scilab.pptx
  • Количество просмотров: 105
  • Количество скачиваний: 0