Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование базовых алгоритмов в Scilab.doc
Скачиваний:
52
Добавлен:
15.01.2018
Размер:
118.27 Кб
Скачать

3.3 Оператор цикла с предусловием

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

Общий вид:

while ЛВ,

ОПЕРАТОР,

end

где

ЛВ – логическое выражение,

ОПЕРАТОР – любой оператор или группа операторов рабочей части цикла.

Порядок выполнения оператора следующий:

  • Проверяется истинность логического выражения.

  • До тех пор, пока оно истинно, выполняется оператор рабочей части цикла.

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

Рекомендации по программированию и использованием этого оператора цикла приведены ниже.

Если переменная цикла явно выражена, то:

- нужно присвоить ей начальное значение до оператора цикла;

- нужно каким-либо образом изменять ее в рабочей части цикла;

- она должна использоваться в логическом выражении условия повторения цикла.

Если логическое выражение в заголовке цикла while заведомо ложно, то цикл может не выполниться ни разу.

Примеры правильной записи оператора цикла while приведены ниже.

Вывести на экран дисплея четные целые числа от 2 до 12.

k=2;

while k<=20

disp(k)

k=k+2;

end

Выводить на экран дисплея сообщение «Нажмите клавишу 5» до тех пор, пока эта клавиша не будет нажата.

p=0;

while p ~= 5

p=input(‘ Нажмите 5’);

end;

3.4 Пример программы циклического алгоритма

Задача 4

Условие задачи. Определить множество значений координаты Y ведущего звена кривошипа при равномерном вращении по формуле YA(t)=r∙sin(ω∙t) где r-длина кривошипа, ω-угол поворота, t- время вращения, которое изменяется от начального значения tn до конечного tk с определенным шагом dt.

Исходные данные:

r-длина кривошипа;

ω-угол поворота;

tn – начальное значение аргумента;

tk – конечное значение аргумента;

xt – шаг изменения аргумента.

Результат:

YA - значение координаты Y ведущего звена кривошипа в текущий момент времени.

Промежуточное данное:

t - текущее значение времени.

Графическая схема алгоритма решения задачи приведена на рисунке 1.9.

Текст программы

r=input('задайте радиус кривошипа');

ω =input('задайте угол поворота кривошипа');

tn=input('задайте tn');

tk=input('задайте tk');

dt=input('задайте dt');

for t=tn:dt:tk,

YA=r*sin(w*t);

disp(' t YA')

disp([t,YA])

disp('---------------------')

end

Тестовый пример:

Ввод исходных данных

задайте радиус кривошипа 0.5

задайте угол поворота кривошипа 1.3

задайте tn 1

задайте tk 5

задайте dt 0.5

Фрагмент результата

t YA

1.0000 0.4818

---------------------

t YA

1.5000 0.4645

---------------------

t YA

2.0000 0.2578

---------------------

t YA

2.5000 -0.0541

---------------------