Здесь располагается содержимое class "clearfloat" id "рамка"

Учебный комплекс "Основы программирования и БД"

У р о к и
  1. Этапы решения задач на компьютере. Разработка программы.
  2. Понятие алгоритма. Свойства алгоритма.
  3. Формы представления алгоритмов. Графический способ записи алгоритмов. Школьный алгоритмический язык.
  4. Базовые алгоритмические структуры: базовая структура следование.
  5. Базовые алгоритмические структуры: базовая структура ветвление.
  6. Базовые алгоритмические структуры: базовая структура ЦИКЛ.
  7. Эволюция языков программирования. Классификация языков программирования.
  8. Язык Си++. Эволюция языка и его преимущества.
  9. Синтаксис языка Си++.
  10. Константы и переменные в С++. Преобразование типов данных.
  11. Операторы используемые в С++.
  12. Некоторые визуальные компоненты С++Builder.
  13. Лабораторная работа № 1 Создание простого приложения в С++Builder.
  14. Основные константы и математические функции. Команда форматированного вывода строки.
  15. Лабораторная работа № 2 Создание программы вычисления значения функции.
  16. Условные операторы выбора if.
  17. Лабораторная работа № 3 Создание программы с разветвленной структурой.
  18. Условный оператор множественного выбора switch. Безусловный переход.
  19. Лабораторная работа № 4 Создание программы со структурой ВЫБОР.
  20. Оператор цикла for (цикл со счетчиком).
  21. Лабораторная работа № 5 Создание программы c циклом ДЛЯ.
  22. Операторы цикла с условием. Прерывание цикла.
  23. Лабораторная работа № 6 Создание программы c циклом ПОКА.
  24. Одномерные массивы. Обработка строк.
  25. Лабораторная работа № 7 Создание программы обработки строк.
  26. Многомерные массивы.
  27. Лабораторная работа № 8 Создание программы обработки двумерного массива.
  28. Указатели и ссылки.
  29. Функции: объявление, описание и использование.
  30. Лабораторная работа № 9 Создание и использование функций в C++.
  31. Файлы и потоки. Файловый ввод/вывод с помощью компонентов.
  32. Лабораторная работа № 10 Работа с файлами с помощью компонентов С++Builder.
  33. Файловый вывод/вывод в двоичном режиме.
  34. Лабораторная работа № 11 Запись и чтение блоков из двоичного файла (произвольный доступ).
  35. Лабораторная работа № 12 Запись, дописывание и чтение потоков из файла.
  36. База данных, основные понятия.
  37. Классификация баз данных.
  38. Организация данных в реляционной базе данных.
  39. Проектирование БД. Нормализация данных в реляционных БД.
  40. Системы управления базами данных.
  41. Лабораторная работа № 13 Создание таблицы БД средствами MS Access.
  42. Манипуляция данными. Язык запросов SQL.
  43. Лабораторная работа № 14 Построение простых запросов в MS Access.
  44. Создание приложений работы с базами данных.
  45. Визуальные компоненты доступа к БД в C++ Builder.
  46. Лабораторная работа № 15 Создание приложения доступа к БД в С++Builder.
Дополнения

17. Операторы цикла с условием. Прерывание цикла.

Цикл с постусловием do...while
Структура do...while используется для организации циклического выполнения оператора или совокупности операторов, называемых телом цикла, до тех пор, пока не окажется нарушенным некоторое условие. Синтаксис управляющей структуры do...while:
do оператор while   (условие);
Структура работает следующим образом. Выполняется оператор тела цикла. Затем вычисляется условие — выражение, которое должно возвращать результат булева типа. Если выражение возвращает true (не нулевое значение), то повторяется выполнение тела цикла и после этого снова вычисляется выражение. Такое циклическое повторение цикла продолжается до тех пор, пока проверяемое выражение не вернет false (нуль). После этого цикл завершается и управление передается оператору, следующему за структурой do...while.
Поскольку проверка выражения осуществляется после выполнения тела цикла, то цикл будет заведомо выполнен хотя бы один раз, даже если выражение сразу ложно. С другой стороны, программист должен быть уверен, что выражение рано или поздно вернет false. Если этого не произойдет, то программа «зациклится», т.е. цикл будет выполняться бесконечно. Иногда такие бесконечные циклы используются. Но в этом случае внутри тела цикла должно быть предусмотрено его прерывание в какой-то момент, например, оператором break или другими способами.
Обычно оператор do целесообразно использовать для организации поиска среди множества объектов такого, который обладает каким-то определенным свойством. Причем заранее должно быть известно, что множество объектов не пустое, т.е. хотя бы один объект в нем имеется. К тому же должен быть критерий, позволяющий проверить, не является ли текущий объект последним. Тогда тело цикла включает операторы перехода к новому объекту и какой-то его обработки, а условие while включает проверку, является ли объект не последним и отсутствуют ли у него искомые свойства. Если объект последний или
искомые свойства найдены, выполнение цикла прерывается. Если же объект не последний и искомые свойства у него не найдены, осуществляется переход к следующему объекту.
Если множество проверяемых объектов может быть пустым, следует использовать другой оператор цикла — while. Если число повторений циклов заранее известно, лучше применять оператор for .

     Цикл с предусловием while
Оператор while используется для организации циклического выполнения тела цикла, пока выполняется некоторое условие. Синтаксис структуры while:
while   ( условие)   оператор;
Структура работает следующим образом. Сначала вычисляется условие, которое должно возвращать результат булева типа. Если выражение возвращает true (ненулевое значение), то выполняется оператор тела цикла, после чего опять вычисляется выражение, определяющее условие. Такое циклическое повторение выполнения оператора и проверки условия продолжается до тех пор, пока условие не вернет false (нуль). После этого цикл завершается и управление передается оператору, следующему за структурой while.
Поскольку проверка выражения осуществляется перед выполнением оператора тела цикла, то, если условие сразу ложно, оператор не будет выполнен ни одного раза.
Программист должен быть уверен, что выражение рано или поздно вернет false. Если этого не произойдет, то программа «зациклится», т.е. цикл будет выполняться бесконечно. Иногда такие бесконечные циклы используются. Но в этом случае внутри тела цикла должно быть предусмотрено его прерывание в какой-то момент, например, оператором break, прерывающим цикл, или другими способами.
Часто оператор while используется для организации поиска среди множества объектов такого, который обладает каким-то определенным свойством. Причем не исключается, что множество объектов может быть пустым, т.е. не содержащим ни одного объекта. К тому же должен быть критерий, позволяющий проверить, не является ли текущий объект последним. Тогда тело цикла включает операторы перехода к новому объекту и какой-то его обработки, а условие while включает проверку, является ли объект не последним и не обладает ли он искомым свойством. Если одно из этих условий нарушается (объект последний или имеет искомое свойство), выполнение цикла прерывается.

Прерывание цикла: операторы break, Continue, return, функция Abort
В некоторых случаях желательно прервать повторение цикла, проанализировав какие-то условия внутри него. Это может потребоваться в тех случаях, когда проверки условия окончания цикла громоздкие, требуют многоэтапного сравнения и сопоставления каких-то данных и все эти проверки просто невозможно разместить в выражении условия операторов for, do или while.
Один из возможных вариантов решения этой задачи — ввести в код какой то флаг окончания (переменную). При выполнении всех условий окончания этой переменной присваивается некоторое условное значение. Тогда условие в операторах for, do или while сводится к проверке, не равно ли значение этого флага принятому условному значению.
Другой способ решения задачи — использование оператора break. Он используется как в операторах цикла, так и в структурах switch. Оператор break прерывает выполнение тела любого цикла for, do или while и передает управление следующему за циклом выполняемому оператору.
Например, цикл в рассмотренном в предыдущих разделах примере поиска текста в файле мог бы быть организован следующим образом:
while(!feof(F))
{
fgets(S,256,F);
if(strstr(S,SKey.c_str())   != NULL)   break;
}
Еще один способ прерывания цикла — использование оператора goto, передающего управление какому-то оператору, расположенному вне тела цикла.
Для прерывания циклов, размещенных в функциях, можно воспользоваться оператором return. В отличие от оператора break, оператор return прервет не только выполнение цикла, но и выполнение той функции, в которой расположен цикл.
Прервать выполнение цикла, а заодно — и блока, в котором расположен цикл, можно также генерацией какого-то исключения . Наиболее часто в этих целях используется функция Abort, генерирующая «молчаливое» исключение, не связанное с каким-то сообщением об ошибке.
Описанные способы прерывали выполнение цикла. Имеется еще процедура Continue, которая прерывает только выполнение текущей итерации, текущего выполнения тела цикла и передает управление на следующую итерацию.