for (инициализация; проверка; приращение)
оператор; Оператор инициализация устанавливает начальное значение счетчика. Оператор проверка – это любое выражение С++, результат которого проверяется на каждой итерации: если результат TRUE, то выполняется тело цикла. После изменения счетчика на величину приращения (по умолчанию увеличение на 1), действия повторяются. Все эти выражения не являются обязательными. Инициализирующее выражение, если оно есть, будет выполняться всегда. Вычисление конечного выражения (проверка) может не производиться, если условие ложно с самого начала. Приращение, как правило, определяет закон изменения параметра цикла, но и это необязательно. Более того, цикл for в С++ не является классическим циклом с параметром: параметр цикла может быть вещественным значением. Можно сделать так, чтобы значение параметра цикла возрастало, например, в геометрической прогрессии: … for (d=1; d<15; d=d*5) cout<<d; … В цикле for можно опустить одно или более выражений, но при этом нельзя опускать символы «;». Необходимо только включить в тело цикла несколько операторов, которые приведут к завершению его работы, например, … a=1; for (n=2; a<15;) a=a*n; … Тело цикла … for ( ; ; ) cout<<”Бесконечный цикл”<<endl; будет выполняться бесконечно, поскольку пустое условие всегда считается истинным. Этот цикл не инициализирует параметр цикла, не содержит управляющего выражения и не выполняет никаких действий. Такой цикл называется открытым. Пример 3.3 – Вывести на экран все значения y. #include <iostream.h> Void main() { int k, y; for (k=1;k<=10;k++) {// начало тела цикла y=y*k; cout<<y<<endl;// выводить на экран значениеy } // конец тела цикла } Существует несколько способов прервать выполнение цикла или изменить порядок следования операторов тела цикла. Иногда необходимо перейти к началу цикла до завершения выполнения всех операторов тела цикла. С этой целью используется оператор continue;, который осуществляет переход в начало цикла, пропуская все оставшиеся операторы. Пример 3.4 – Вывести на экран все числа, кратные 5, от 1 до 100. #include <iostream.h> Void main() { int k; for (k=1;k<=100;k++) {// начало тела цикла if (k %5) continue;// если k не кратно 5, то следует // перейти к началу циклаfor cout<<k<<endl;// выводить на экран значениеk кратные 5 } // конец тела цикла } В ряде случаев требуется выйти из тела цикла еще до проверки условия продолжения цикла. Для этого используется оператор break;, который осуществляет выход из цикла, пропуская все, вплоть до закрывающейся фигурной скобки. Пример 3.5 – Вывести на экран значения y, не превышающие 60. #include <iostream.h> Void main() { int k, y; for (k=1;k<=10;k++) {// начало тела цикла if (y*y-5>60) break;// выйти из циклаfor, если y>60 cout<<y*y-5<<endl;// выводить на экран значениеy } // конец тела цикла } И continue, и break следует использовать очень осторожно, т.к. их свободное применение способно запутать даже простой цикл while и сделать его нечитабельным. Это наиболее опасные команды после goto.
3.2 Задания к лабораторной работе В вариантах 1 – 14 вычислить: 1. Через сколько лет арендатором накопится сумма S, достаточная для покупки собственного помещения, если его стартовый капитал –k тенге, ежемесячный доход – n%, аренда помещения – m тенге. 2. Факториал числа, введенного с клавиатуры. 3. Среднее арифметическое последовательности дробных чисел, вводимой с клавиатуры; количество чисел должно задаваться пользователем. 4. Высоту поднятия жидкости в капиллярной трубке, если заданы радиус трубки r, плотность жидкости ρ, коэффициент поверхностного натяжения α, а краевой угол θ изменяется от 0 до π. 5. Число π с заданной пользователем точностью, для чего воспользоваться числовым рядом , значение частичной суммы которогопри суммировании достаточно большого количества членов приближается к значению π/4. 6. Наибольший общий делитель двух целых чисел. 7. Все смещения точки, совершающей гармонические колебания с заданной амплитудой А, периодом колебаний Т и начальной фазой φ, от положения равновесия при изменении t от 0 до 10 сек с шагом 0,5 сек. 8. Момент времени t, в который будет достигнуто максимальное ускорение точки, если уравнение движения точки дано в виде: . 9. Максимальное значение среди сгенерированной последовательности из kслучайных чисел в диапазоне от 0 до 50, вывести эти числа на экран. 10. Сопротивление проводника, если известны (задаются пользователем): удельное сопротивление ρ, площадь поперечного сечения S, а длина проводника L изменяется от 1 до 20 см. 11. Момент времени t, в который будет достигнута максимальная скорость точки, если уравнение движения точки дано в виде: . 12. Минимальное значение среди сгенерированной последовательности из kслучайных чисел в диапазоне от 0 до 100, вывести эти числа на экран. 13. Все смещения точки при распространении незатухающих колебаний заданной амплитудой А, периодом колебаний Т и скоростью распространения с, отстоящей от источника колебаний на расстоянии L при изменении t от 0 до 10 сек с шагом 0,5 сек. 14. Среднее геометрическое среди сгенерированной последовательности из 10 случайных чисел в диапазоне от 1 до 10, вывести эти числа на экран. В вариантах 15 – 20 вывести на экран: 15. Таблицу степеней (от нулевой до k-ой) числа Z; количество степеней k задается пользователем. 16. Таймер, который по истечении заданного промежутка времени t, величина которого вводится с клавиатуры, выдает звуковой сигнал. 17. Таблицу умножения на число n, задаваемое пользователем. 18. Изображение шахматной доски: черные клетки отображать «звездочкой», белые - пробелом. 19. Работающие «электронные часы», которые функционируют до нажатия любой клавиши. 20. Таблицу квадратов m первых целых положительных чисел. В вариантах 21 – 23 проверить: 21. Знание пользователем таблицы умножения: вывести k примеров и выставить оценку (90-100% правильных ответов - «отлично», 75-89% - «хорошо», за 55-74% - «удовлетворительно», менее 55% - «плохо»). 22. Являются ли k целых чисел, введенных пользователем, простыми? 23. Является ли функция периодической, если аргумент х изменяется в интервале [0;5T], а период Т=2π? 24. Предложить пользователю угадать сгенерированное компьютером целое число в диапазоне от 1 до 10 за 5 попыток. В вариантах 25 - 30 численно убедиться в справедливости равенства, для чего для заданного пользователем значения аргумента х вычислить левую его часть и разложение, стоящее в правой части с заданной погрешностью: 25. . 26. 27. 28. 29. 30.
3.3 Контрольные вопросы 3.3.1 Какие операторы цикла предусмотрены в С++? 3.3.2 В чем разница между циклами while и do-while? 3.3.3 Как с помощью цикла while можно смоделировать другие циклы? 3.3.4 Какой цикл называется открытым? 3.3.5 Как можно организовать бесконечный цикл? 3.3.6 В чем отличие цикла for в С++ от подобных циклов в других языках? 3.3.7 Можно ли организовать цикл while внутри цикла for? 3.3.8 Каким способом можно прервать выполнение цикла? 3.3.9 Каких рекомендаций следует придерживаться при выборе цикла? 3.3.10 В чем заключается разница между циклами while (true) и for ( ; ; )? Приложение А Основные элементы языка С++ Таблица А1 - Специальные и управляющие символы
Таблица А2 - Зарезервированные слова в C++
Таблица А3 – Типы данных с разными комбинациями модификаторов
Таблица А4 – Перечень операций С++, их приоритет и порядок выполнения
Таблица А5 – Основные математические функции
Таблица А6 – Символы преобразования в функциях ввода-вывода
Список литературы
1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов и программ. Обозначения условные, графические. – М.: Издательство стандартов,1990. 2 . Ю.Аляев, О.Козлов. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. – М.: Финансы и статистика, 2004. 3. Дж.Либерти. Освой самостоятельно С++ за 21 день. – М.: Издательский дом «Вильямс», 2001. 4. И.В.Ашарина. Основы программирования на языках С и С++. – М.: Горячая линия-Телеком, 2002. 5. Б.И,Березин, С.Б.Березин. Начальный курс С и С++. – М.: ДИАЛОГ-МИФИ, 1999. 6. А.Б.Крупник. Самоучитель С++. – СПб.: Питер, 2005. 7. Дж.Бентли. Жемчужины программирования. - СПб.: Питер, 2003. 8. А.Л.Марченко. С++. Бархатный путь. - М.: Горячая линия-Телеком, 2002. 9. А.Я.Архангельский. C++ Builder 6. Справочное пособие. Книга 1. Язык С++. – М.: Бином-Пресс, 2002. 10. Культин Н.Б. Самоучитель С++Builder. – СПб.: БХВ-Петербург, 2004.
Содержание
Введение............................................................................................................. 3 1 Лабораторная работа №1. Основные понятия языка. Стандартные типы данных. Оператор присваивания..................................................................... 4 2 Лабораторная работа №2. Программирование алгоритмов линейной и разветвляющейся структуры ........................................................................ 15 3 Лабораторная работа №3. Программирование алгоритмов циклической структуры.......................................................................................................... 25 Приложение А................................................................................................... 32 Список литературы........................................................................................... 35
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (399)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |