<<
>>

Контрольные вопросы и упражнения

1. Перепишите следующие фрагменты программ так, чтобы вложенные 1^ операторы не размещались внутри ■ЪИеп-частей внешних ^Поператоров. Вместо этого примените форму elsif. Пожалуйста, не стесняйтесь переделывать любые булевы выражения в эквивалентные формы.
Используйте нулевые или пустые операторы.

142

Глава 5. Действия и операторы в программах

2. Нарисуйте схемы алгоритмов для следующих программных фрагментов:

3. Дано: подмассив A[i..n]. Требуется: найти к-е вхождение элемента х (k > 0).

Использовать инварианты.

Идея: Элемент х должен встречаться в массиве k раз. Область поиска последовательно сужается слева-направо.

Инвариант цикла:

{должен быть (область) and счетчик < k}

Постусловие:

Начальный текст программы:

Инициализация (обнуление счетчика вхождений,

установка начальной левой границы области)

Цикл

{должен быть (область) and счетчик < k}

Если область пуста, то выход;

Если элемент массива = х, то увеличить счетчик;

Если счетчик = k, то вернуть индекс элемента и выйти;

(Перейти к следующему элементу). Сужение области поиска.

Продолжить самостоятельно.

4. Какие недостатки имеются у арифметического оператора IF языка Fortran?

5. Что необычного есть в операторе выбора языка С? Какие компромиссы были приняты при его проектировании?

6. Какие проблемы возникают при разработке циклов с известным числом повторений?

Контрольные вопросы и упражнения

143

7. Что представляет собой цикл с предусловием? Что представляет собой цикл с постусловием?

8. В чем заключается разница между оператором for языка С и аналогичным оператором языка С++?

9. Какова основная причина изобретения циклов с повторением по данным?

10. Какие преимущества имеет оператор exit в языке Ada над оператором break языка С?

11. В чем состоит разница между оператором break языка С++ и его аналогом в языкеJava?

12. Перепишите следующий фрагмент программы на языке С, не используя операторы goto и break.

<< | >>

Еще по теме Контрольные вопросы и упражнения:

  1. Контрольные вопросы
  2. Контрольные вопросы
  3. Контрольные вопросы
  4. Контрольные вопросы
  5. Контрольные вопросы
  6. Контрольные вопросы
  7. Контрольные вопросы
  8. Контрольные вопросы
  9. Контрольные вопросы
  10. Контрольные вопросы
  11. Контрольные вопросы
  12. Контрольные вопросы
  13. Контрольные вопросы