АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Умовний оператор while

Читайте также:
  1. Research from HSBC and Standard Chartered shows the U.S. and other industrialized nations slipping while some surprising leaders emerge
  2. XIV. ОПЕРАТОРЫ ЯЗЫКА ПАСКАЛЬ
  3. В прошлом году российские операторы сотовой связи получили лицензии на предоставление услуг связи третьего поколения. Но это- лишь первый шаг к построению мобильной сети 3G.
  4. Взаимная ортогональность собственных функций эрмитовых операторов
  5. Використання логічних операторів та операторів співвідношення
  6. Випадкові змінні х та у стохастично залежні, якщо зміна однієї з них викликає зміну розподілу другої (умовний розподіл однієї з них залежить від значень другої).
  7. Вычислительные операторы
  8. Закон Ома в операторной форме
  9. Законы Кирхгофа в операторной форме
  10. Изменить характеристики человека-оператора в сторону их улучшения можно путем обучения и тренировок.
  11. Использование множества таблиц в одном запросе. Связывание таблиц.оператора SELECT, в предложении FROM допускается указание нескольких таблиц.
  12. Кодирование операторов GPSS/PC

Оператор while застосовується так само, як і оператор if. Процедура запису наступна

while <умова>

<команди MatLab>

end

Розглянемо приклад застосування оператора. Нехай заданий масив з 10-ти елементів. Виводити на екран елементи масиву, доти, доки вони менше заданого числа, що вводиться з клавіатури. Також вивести порядковий номер елемента. Якщо у масиві не присутнє задане число, то вивести на екран відповідне повідомлення.

Текст програми наступний

p=input(‘Введіть число p=’);

c=0;

n=1;

k=1;

d=0;

a=[1 2 5 4 9 1 2 8 5 10];

for n=1:length(a)

if a(n)==p; %цикл перевірки наявності

%числа p

d(k)=a(n); %якщо p існує, воно

%у відповідний масив, якщо

%не існує масив буде нульовий

k=k+1;

end

end

n=1;

if d==0 %перевірка масиву існування p

disp(‘такого числа немає’) %якщо він

%нульовий – виводиться

%відповідне повідомлення

else %у іншому випадку виконується

%основна програма

while a(n)<p

c(n)=a(n);

n=n+1;

end

disp(‘c=’)

disp©

disp(‘порядковий номер числа у масиві’)

disp(length©+1)

end

Після запуску програми у випадку, якщо число присутнє у масиві результат буде наступним

Введіть число p=9

p =

c=

1 2 5 4

порядковий номер числа у масиві

Якщо не присутнє

Введіть число p=190

такого числа немає

Розглянемо наступний приклад. Дано дві дійсні квадратні матриці розміром n £ 7. Отримати нову матрицю того ж розміру шляхом перемноження елементів кожного рядка першої матриці на найбільший елемент відповідного рядка другої матриці.

Текст програми у М-файлі буде мати вигляд

A=0;

B=0;

C=0;

Cmax=0;

n=input(‘Введіть розмір квадратної матриці ‘);

for i=1:n

for j=1:n

disp([‘Введіть елемент матриці А(‘ num2str(i) ‘, ‘ num2str(j) ‘)’]);

A(I,j) = input(‘ ‘);

end;

end;

disp(‘A=’)

disp(A)

for i=1:n

for j=1:n

disp([‘Введіть елемент матриці B(‘ num2str(i) ‘, ‘ num2str(j) ‘)’]);

B(I,j) = input(‘ ‘);

end;

end;

disp(‘B=’)

disp(B)

for i=1:n

Cmax(I,1)=B(I,1); %присвоєння максимального

%елемента першому елементу у кожному рядку

for j=1:n

if B(I,j)>Cmax(I,1)

Cmax(i,1)=B(i,j); %цикл пошуку

%максимального елемента у кожному

%рядку

else

continue

end

end

end

disp(‘Вектор з максимальних елементів кожного рядка ‘)

disp(‘Cmax=’)

disp(Cmax);

for i=1:n

for j=1:n

C(I,j)=A(I,j)*Cmax(I,1); %цикл перемноження

%кожного елемента першої матриці на

%максимальний елемент відповідного рядка

%другої матриці

end

end

disp(‘Результуюча матриця’)

disp(‘C=’)

disp©

Результат виконання програми для довільних матриць розміром 3х3 буде наступним

Введіть розмір квадратної матриці 3

Введіть елемент матриці А(1, 1)

Введіть елемент матриці А(1, 2)

Введіть елемент матриці А(1, 3)

Введіть елемент матриці А(2, 1)

Введіть елемент матриці А(2, 2)

Введіть елемент матриці А(2, 3)

Введіть елемент матриці А(3, 1)

Введіть елемент матриці А(3, 2)

Введіть елемент матриці А(3, 3)

A=

1 4 7

9 3 5

6 2 3

Введіть елемент матриці B(1, 1)

Введіть елемент матриці B(1, 2)

Введіть елемент матриці B(1, 3)

Введіть елемент матриці B(2, 1)

Введіть елемент матриці B(2, 2)

Введіть елемент матриці B(2, 3)

Введіть елемент матриці B(3, 1)

Введіть елемент матриці B(3, 2)

Введіть елемент матриці B(3, 3)

B=

1 6 9

4 5 7

3 2 5

Вектор з максимальних елементів кожного рядка

Cmax=

Результуюча матриця

C=

9 36 63

63 21 35

30 10 15

У даній програмі використаний оператор continue для продовження роботи циклу при невиконанні умови if B(I,j)>Cmax(I,1) так як потрібно перебрати усі елементи масиву. Якщо потрібно зупинити цикл при невиконанні деякої умови, то можна застосувати оператор break.

Література: [1], стор. 231-234; [2], стор. 63-67.

 

Завдання на СРС: Логічні вирази з масивами та числами.

Література: [1], стор. 249-255.

 

Контрольні запитання

 

1. Оператор циклу while. Наведіть приклади його застосування.

2. Оператор продовження циклу continue. Наведіть приклади його застосування.

3. Оператор зупинки циклу break. Наведіть приклади його застосування.

4. Наведіть процедуру виводу тексту на екран.

5. Наведіть процедуру вводу даних з клавіатури.

6. Як записуються команди визначення парності числа?

7. Як записуються команди визначення знаку числа?


Лекція 8


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.)