|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Умовний оператор whileОператор 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 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |