Informatika_1_2_223
.pdfЦикл «while» (с предусловием)
Используется для программирования итерационных циклов (число повторений тела цикла заранее неизвестно)
ЛОЖЬ |
ИСТИНА |
||
|
|
<условие> |
|
|
|
|
|
|
|
|
|
<тело цикла>
Цикл «while» (с предусловием)
•Для вставки в П-Ф щелкнуть на кнопке while палитры
ПРОГРАММИРОВАНИЕ
•В поле 1 ввести условие выполнения цикла;
•В поле 2 ввести операторы тела цикла
•В теле цикла должны присутствовать операторы, которые
изменяют значение условия цикла, иначе цикл будет продолжаться бесконечно
ПРИМЕР
•Составить П-Ф, реализующую итерационную процедуру приближенного вычисления квадратного корня по формуле
x |
|
= 0.5 ( x |
|
+ |
a |
), n = 0, 1, ... ; x = a. |
n +1 |
n |
|
||||
|
|
|
0 |
|||
|
|
|
|
|
xn |
•В качестве приближенного значения а принимается xn+1 , удовлетворяющее
условию |
x |
2 |
− a |
≤ ε |
|
|
n+1 |
|
|
|
|
|
|
|
ε - заданная точность
ПРИМЕР (продолжение)
sqroot (a , ε ) := xn ← a
while xn2 − a > ε xc ← xn
a
xc +
xc
xn ←
2
xn
sqroot (9 , 0.1 ) = 3.00009
sqroot (9 , 0.0001 ) = 3.00000
Практическое занятие 2
Тема: модульное программирование кратных циклов, операции с матрицами
II курс, 2 семестр 2013/2014 |
15 |
|
|
Вложенные (кратные) циклы
-вложение одних операторов цикла в другие
-число вложений циклов не ограничено
-позволяют обработать многомерные данные, что необходимо в большинстве реальных задач
Если цикл А содержит только один вложенный цикл B, то конструкция называется двойным циклом, цикл A – внешним циклом, а цикл B – внутренним циклом.
Внешний цикл
Внутренний цикл
Тело внешнего цикла
Тело внутреннего цикла
16
Задачи на циклы
1D 2D
1. |
Табулирование функции f(x), |
1. |
Табулирование функции двух |
|
заполнение вектора |
переменных f(x,y), заполнение матрицы |
|
2. |
Поиск количества/суммы/произведения |
2. |
Поиск количества/суммы/произведения |
|
всех элементов вектора или элементов, |
|
всех элементов матрицы или элементов, |
|
удовлетворяющих некоторому условию |
|
удовлетворяющих некоторому условию |
3. |
Поиск максимального/минимального |
3. |
Поиск максимального/минимального |
|
элемента вектора |
|
элемента матрицы |
4. |
Замена элементов вектора по |
4. |
Замена элементов матрицы по |
|
определенному правилу |
|
определенному правилу |
5. Реализация алгоритмов из п. 2, п.3., п.4. для осуществления поиска или замены по строкам/столбцам матрицы
17
Заполнение матрицы:
1 вариант: заполнение матрицы вручную с помощью панели Matrix.
2 вариант: заполнение матрицы случайными числами автоматически:
Используется встроенная функция MathCAD:
rnd (x),
которая возвращает равномерно распределенное случайное число между 0 и X.
Примеры: |
4) Сформировать матрицу из случайных целых |
|
1) Задать случайное вещественное |
||
чисел в диапазоне от -100 до 100 |
||
число A в диапазоне от 0 до 100: |
||
|
2)Задать случайное целое число A
вдиапазоне от 0 до 100:
3)Задать случайное целое
число A в диапазоне от -100 до 100:
18
3 вариант: заполнение матрицы по некоторому правилу.
Составить П-Ф, формирующую матрицу A размерности m×n по следующему правилу:
sin(i + j), если i = j; |
|
|
|
ai, j = sin i + cos j, если i > |
j; |
|
j. |
sin j + cos i, если i < |
Название П-Ф: form_mat_1
Аргументы П-Ф: m,n
См. решение ->
19
Решение:
20