Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаИПлб.doc
Скачиваний:
39
Добавлен:
08.05.2019
Размер:
6.96 Mб
Скачать

3.4. Оператор цикла с неопределенным числом повторений

Синтаксис оператора

while выражение

операторы

end

Оператор цикла с неопределенным (заранее неизвестным) числом повторений while многократно выполняет операторы, составляющие тело цикла, пока управляющее выражение истинно (не равно нулю). Если изначально выражение ложно, то цикл while не выполнится ни разу. В теле цикла обязательно должны быть операторы, которые изменяют значения операндов управляющего выражения. Иначе получится бесконечный цикл. Цикл с неопределенным числом повторений называют также циклом без параметра.

Пример, вычислить машинную точность, т.е. погрешность операций над числами с плавающей точкой – наименьшее число, которое различает машина (машинный эпсилон). Для сравнения напечатать значение стандартной константы Matlab eps = 2-52.

e = 1;

while 1 + e ˜= 1,

e = e/2;

end;

disp(['машинный eps = ', num2str(2*e)])

disp(['стандартное значение eps = ', num2str(eps)])

Значение переменной е шаг за шагом уменьшается в два раза до тех пор, пока машина не станет воспринимать ее ненулевое значение, как ноль. В результате получим (в формате long)

машинный eps = 2.220446049250313e-016

Стандартное значение eps = 2.220446049250313e-016

4. Контрольные вопросы

  1. Как можно создать файл с программой на языке Matlab?

  2. Под какими именами можно сохранять m-файлы?

  3. Где хранятся переменные, используемые при выполнении скрипта?

  4. Как выполнить последовательность операторов, оформленную в виде скрипта?

  5. Как организовать ввод данных с клавиатуры?

  6. Как выполняется вывод результатов работы скрипта в рабочее окно Matlab?

  7. Как вывести значения нескольких переменных в одну строку?

  8. Как вывести в одной строке пояснительный текст и числовое значение?

  9. Какие управляющие структуры можно использовать при написании Matlab-программ?

  10. Каков синтаксис и как работает оператор if?

  11. Для чего используется переключатель switch?

  12. Каковы правила использования оператора for?

  13. Что общего и чем отличаются циклы с параметром и без?

  14. Каковы правила использования оператора while?

5. Индивидуальные задания

5.1. Используя цикл for решить задачу, определяемую вариантом в соответствии с табл. 3.2.

5.2. Используя цикл while решить задачу, определяемую вариантом в соответствии с табл. 3.3.

Таблица 3.2

Вариант

Задание

1

2

1

Два простых числа, разность которых равна 2, называют близнецами. Найти всех близнецов среди натуральных чисел из диапазона [А, В]

2

Два натуральных числа, каждое из которых равно сумме делителей другого числа, не считая самого числа, называют дружественными (так 284, делители которого 1+2+4+71+142=220 и 220 с делителями 1+2+4+5+10+11+20+22+44+55+110=284, являются дружественными). Определить, являются ли два числа, введенные с клавиатуры, дружественными

3

Вывести на экран все простые делители и НОД двух натуральных чисел, введенных с клавиатуры

4

Определить, является ли введенное с клавиатуры число совершенным, т.е. равным сумме всех своих положительных делителей, кроме самого числа (например, число 6 совершенно: 6=1+2+3)

5

Вычислить сумму четных составных чисел, принадлежащих отрезку натурального ряда, заданного границами [A, B]

6

Вывести на экран в возрастающем порядке все трехзначные числа из диапазона [A, B], в десятичной записи которых нет одинаковых цифр, и сумма цифр равна некоторому наперед заданному числу

7

Вывести полные записи всех чисел 5*4*, в которых разные пропущенные цифры обозначены *, если известно, что данные числа кратны некоторому А

8

Вывести на экран трехзначные натуральные числа из диапазона [A, B], сумма цифр которых равна некоторому N

Окончание табл. 3.2

1

2

9

Определить, являются ли два числа, введенные с клавиатуры, взаимно простыми, т.е. не имеют общих простых делителей (например, 8 и 9 - взаимно простые числа)

10

Вычислить среднее значение простых чисел, принадлежащих отрезку натурального ряда, заданного границами

11

Вывести на экран все простые делители и НОК двух натуральных чисел, введенных с клавиатуры

12

Вывести на экран номера "счастливых" четырехзначных автобусных билетов (сумма двух первых цифр равна сумме двух последних) и среди них подсчитать количество билетов, сумма первых двух цифр которых равна некоторому натуральному А

Таблица 3.3

Вариант

Задание

1

Для заданного х вывести на экран K многочленов Чебышева, больших некоторого наперед заданного числа А. Вычислить их сумму

2

Вывести на экран первое число Фибоначчи, большее некоторого наперед заданного числа А, и число Фибоначчи, стоящее перед ним

3

Для заданного х вывести на экран многочлены Чебышева, величины которых попадают в заданный интервал [А, В)

4

Вычислить сумму чисел Фибоначчи, которые не превосходят некоторое наперед заданное число А. Вывести на экран числа слагаемые

5

Вывести на экран К чисел Фибоначчи, непосредственно предшествующих некоторому наперед заданному числу А. Вычислить их произведение

6

Определить наименьшее значение натурального х, n-й многочлен Чебышева от которого >A

7

Вывести на экран числа Фибоначчи из заданного диапазона [А, В]. Вычислить их произведение

8

Для заданного х определить номер n наименьшего многочлена Чебышева, такого что

9

Вывести на экран К чисел Фибоначчи, больших некоторого наперед заданного числа А. Вычислить их сумму

10

Вывести на экран числа Фибоначчи, большие А, сумма которых не превышает В

11

Для заданного х определить наибольший многочлен Чебышева, такой что

12

Для заданного х вывести на экран номера многочленов Чебышева, не превосходящих по величине заданного числа А

Примечание: Многочлены Чебышева для заданного х могут быть вычислены по рекуррентным соотношениям , , , . Значения аргумента х задаются из диапазона (1, ).