Вход/Регистрация
Программирование на Objective-C 2.0
вернуться

Кочан Стивен

Шрифт:

Вывод программы 5.8 Enter your number. (Введите свое число) 13579 9 7 5 3 1 5.3. Оператор do

В двух конструкциях циклов, которые рассматривались выше, перед выполнением цикла выполняется проверка условий. Тело цикла не будет выполнено ни разу, если не удовлетворяются эти условия. При разработке программ иногда требуется, чтобы проверка условий выполнялась в конце цикла, а не в начале. В языке Objective-C для такой ситуации имеется отдельная конструкция, которая называется оператором do. Этот оператор имеет следующий синтаксис. do программный оператор while ( выражение);

Оператор do выполняется следующим образом. Первым выполняется программный оператор. Затем оценивается выражение в круглых скобках. Если результатом оценки выражения является значение TRUE, то цикл продолжается и снова выполняется программный оператор. Выполнение программного оператора повторяется до тех пор, пока результатом оценки выражения является значение TRUE. Если результатом оценки выражения оказывается значение FALSE, цикл заканчивается и выполняется следующий по порядку оператор программы.

В операторе do, в отличие от оператора while, условия цикла помещаются в конец цикла, а не в начало.

В программе 5.8 оператор while использовался для вывода цифр числа в обратном порядке. Вернемся к этой программе и определим, что произойдет, если пользователь введет число 0 вместо 13579. Цикл оператора while не будет выполнен ни разу, и ничего не будет выведено на экран. Если использовать оператор do вместо оператора while, цикл программы будет выполнен хотя бы один раз, что гарантирует вывод хотя бы одной цифры. Использование оператора do показано в программе 5.9. // Программа обращения цифр числа #import <Foundation/Foundation.h> int main (int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int number, right_digit; NSLog(@"Enter your number."); scanf("%i", &number); do { right_digit = number % 10; NSLog (@"%\", right_digit); number /= 10; } while ( number != 0 ); [pool drain]; return 0; }

Вывод программы 5.9 Enter your number. (Введите свое число) 135 5 3 1

Вывод программы 5.9 (Повторный запуск) Enter your number. О о

При вводе 0 программа выводит цифру 0. 5.4. Оператор break

Иногда при выполнении цикла требуется выйти из цикла, как только возникает определенное условие, например, если определено состояние ошибки или преждевременно достигнут конец данных. Для этой цели можно использовать оператор break. При выполнении оператора break программа сразу выходит из цикла любого типа (for, while или do). Все остальные операторы цикла пропускаются, и выполнение цикла прекращается. Выполнение продолжается с первого оператора, следующего после цикла.

Если оператор break выполняется из набора вложенных циклов, то прекращается выполнение только вложенного цикла, в котором выполнен этот оператор break.

Оператор break — это просто ключевое слово break, после которого следует символ «точка с запятой»: break; 5.5. Оператор continue

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

Оператор continue чаще всего используется для обхода группы операторов внутри цикла в зависимости от некоторого условия. Его формат: continue;

Не используйте операторы break или continue, пока не освоитесь с написанием программных циклов и выхода из них. Эти операторы нужно применять с осторожностью, поскольку они затрудняют чтение и отслеживание работы программ. Упражнения

Напишите программу создания и вывода таблицы значений пип2 для целых значений п от 1 до 10. Обязательно выведите заголовки колонок.

Треугольное число (triangularNumber) можно вычислить для любого целого числа по формуле triangularNumber = п (п + 1) / 2 Например, 10-е треугольное число (55) можно вычислить путем подстановки в эту формулу значения 10 вместо п. Напишите программу, которая создает таблицу треугольных чисел с помощью этой формулы. Эта программа должна вычислять каждое пятое треугольное число для значений п от 5 до 50 (то есть 5, 10, 15,..., 50).

Факториал целого числа п (записывается как п!) — это произведение последовательных чисел от 1 до п. Например, 5 факториал рассчитывается следующим образом: 51 = 5x4x3x2x1 = 120 Напишите программу расчета и вывода первых десяти факториалов.

Если перед описателем ширины поля поставлен знак «минус», это поле выводится с выравниванием по левому краю. Замените следующим оператором NSLog соответствующий оператор программы 5.2, выполните программу и сравните вывод обеих программ: NSLog (@"%-2i %i", n, triangularNumber);

Программа 5.5 позволяет пользователю ввести только пять чисел. Модифицируйте эту программу, чтобы пользователь мог ввести количество треугольных чисел для расчета.

Перепишите программы 5.2-5.5, заменив все случаи использования оператора for на эквивалентные операторы while. Выполните каждую из этих программ, чтобы проверить идентичность результатов обеих версий.

  • Читать дальше
  • 1
  • ...
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: