Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лабораторная работа № 3
Цель работы: научиться составлять программы с использованием операторов цикла for, while, do-while.
Теоретические сведения
Цикл - это автоматическое повторение оператора или блока операторов конечное число раз.
Общая форма записи оператора цикла for имеет вид:
for (инициализация управляющих переменных цикла;
проверка на продолжение цикла;
закон изменения управляющих переменных цикла) оператор;
Оператор цикла for содержит три выражения, каждое из которых не является обязательным. Первое выражение инициализирует управляющие переменные цикла. Второе выражение описывает условие, которое определяет, будет ли выполняться следующая итерация цикла. Благодаря третьему выражению оператора цикла происходит увеличение или уменьшение значения управляющей переменной цикла.
Классический вариант записи оператора цикла for:
for (n=1; n<=10; n++) y=n * n;
Оператор цикла допускает изменение управляющей переменной в сторону уменьшения:
for (n=10; n>=0; n--)
cout << n << "секунд !" << endl;
cout << " Пуск !" << endl;
При желании можно изменять шаг цикла:
for (n=2; n<60; n=n+13) cout << n << endl;
Параметром оператора цикла может быть не только числовая, но и символьная переменная:
for (ch='a'; ch<='z'; ch++)
cout << "Символ " << ch << endl;
При выполнении приведенного примера будут выведены на экран все буквы от a до z.
В цикле for может отсутствовать одно или более выражений (но при этом обязательно наличие символов "точка с запятой"). Необходимо только включить в тело цикла один или несколько операторов, которые рано или поздно приведут к завершению его работы:
a=2;
for ( n=3; a<=25;) a=a * n;
В операторе цикла do-while условие повторения проверяется после каждого прохождения тела цикла, т.е. это цикл с последующим условием. Следовательно, цикл do-while выполняется по крайней мере один раз. Этот цикл повторяется до тех пор, пока выполняется условие, проверяемое в конце цикла.
Форма его записи:
do {оператор или группа операторов}
while (условие);
Даже в случае, когда тело цикла содержит единственный оператор, фигурные скобки следует писать во избежание неправильной трактовки компилятором служебного слова do.
do {ch=getchar ( ); // принимать с клавиатуры символы
putchar (ch); // и выводить их на экран
}while (ch != ' \n' ); // пока не будет введена пустая посылка
. . .
Оператор цикла while
Оператор цикла while является еще одной разновидностью условного цикла, повторяющегося до тех пор, пока выполняется условие, проверяемое перед началом каждой итерации цикла. Таким образом, это цикл с предварительным условием.
Форма записи:
while (условие) {последовательность операторов}
int index=2;
while (index ++<5) cout << "Желаю удачи!" <<endl;
. . .
Пример 3.1. Из n целых чисел, введенных с клавиатуры определить максимальную последовательность четных.
# include <iostream.h>
void main()
{ int n, x;
int cnt=0;
int k=0;
cout<<”Введите последовательность из “;
cin>>n;
cout<<” чисел\n”;
for(int i=1; i<=n; i++)
{ cin>>x;
while (x%2= =0)
{ cnt++;
cin>>x;
i++;}
if (cnt>k)
k=cnt;}
cout<<”Количество четных “<<k<<endl;
}
Контрольные вопросы
На оценку "3" нужно выполнить свой вариант только из табл. 3.1, на "4" и "5" из табл. 3.1 и 3.2.
Варианты заданий
Таблица 3.1
Номер варианта |
Задание |
1, 13 |
Ввести с клавиатуры целое число, которое будет являться количеством символов во вводимой последовательности. Определить, является ли последовательность упорядоченной по алфавиту. |
2, 14 |
Ввести с клавиатуры последовательность целых чисел (ввод 0 является признаком завершения ввода последовательности). Определить, имеется ли во введенной последовательности упорядоченная по возрастанию подпоследовательность из k чисел, если k также введено с клавиатуры. |
3, 15 |
Ввести с клавиатуры последовательность из n действительных чисел. Определить, есть ли в последовательности хотя бы одна пара одинаковых соседних чисел. Если есть, вывести их порядковые номера. |
4, 16 |
Ввести с клавиатуры число n и последовательность из k упорядоченных по возрастанию действительных чисел, ни одно из которых не равно n. Найти ближайшее к n число последовательности (его порядковый номер и значение). |
5, 17 |
Ввести с клавиатуры целое число, которое будет являться количеством целых чисел во вводимой последовательности. Определить максимальное число последовательности и его порядковый номер. |
6, 18 |
Ввести с клавиатуры два неодинаковых числа (интервал) и последовательность, не содержащую нулей (ввод 0 является признаком завершения ввода последовательности). Определить сумму элементов последовательности, попадающих во введенный с клавиатуры интервал. |
7, 19 |
Ввести с клавиатуры целое число, которое будет являться количеством символов во вводимой последовательности. Найти количество цифр во введенной последовательности. |
8, 20 |
Ввести с клавиатуры целое число, которое будет являться количеством целых чисел во вводимой последовательности. Определить максимальное среди нечетных элементов последовательности. |
9, 21 |
Ввести с клавиатуры два неодинаковых числа (интервал) и последовательность, не содержащую нулей (ввод 0 является признаком завершения ввода последовательности). Определить количество элементов последовательности, не попадающих во введенный с клавиатуры интервал. |
10, 22 |
Ввести с клавиатуры целое число, которое будет являться количеством целых чисел во вводимой последовательности. Определить минимальное число последовательности и его порядковый номер. |
11, 23 |
Ввести с клавиатуры целое число, которое будет являться количеством символов во вводимой последовательности. Найти количество латинских букв во введенной последовательности. |
12, 24 |
Ввести с клавиатуры последовательность целых чисел (ввод 0 является признаком завершения ввода последовательности). Определить минимальное среди четных элементов последовательности. |
Таблица 3.2
Номер варианта |
Задание |
1, 15 |
Дано начальное значение =5 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
2, 16 |
Дано начальное значение =12 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
3, 17 |
Дано начальное значение =2 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
4, 18 |
Дано начальное значение =0 и рекуррентная формула . Найти наименьший номер элемента последовательности, для которого выполняется условие <, введенное с клавиатуры. Вывести на экран этот номер и все элементы . |
5, 19 |
Дано начальное значение =0.5 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
6, 20 |
Дано начальное значение =x и рекуррентная формула . Найти наименьший номер элемента последовательности, для которого выполняется условие <, введенное с клавиатуры. Вывести на экран этот номер и все элементы . |
7, 21 |
Дано начальное значение =2 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
8, 22 |
Дано начальное значение =1 и рекуррентная формула . Найти номер первого элемента, превысившего введенное с клавиатуры число. |
9, 23 |
Дано начальное значение =1, r = 1.8 и рекуррентная формула . Найти наименьший номер элемента последовательности, для которого выполняется условие <, введенное с клавиатуры. Вывести на экран этот номер и все элементы . |
10, 24 |
Для числового ряда, общий член которого имеет вид: , найти сумму тех членов ряда, для которых , введенного с клавиатуры. |
11, 25 |
Для числового ряда, общий член которого имеет вид: , найти сумму тех членов ряда, для которых , введенного с клавиатуры. |
12, 26 |
Для числового ряда, общий член которого имеет вид: , найти сумму тех членов ряда, для которых , введенного с клавиатуры. |
13, 27 |
Для числового ряда, общий член которого имеет вид:, найти сумму тех членов ряда, для которых , введенного с клавиатуры. |
14, 28 |
Для числового ряда, общий член которого имеет вид: , найти сумму тех членов ряда, для которых , введенного с клавиатуры. |
Приложение
Отладка приложений в ИСР Borland C++ Builder и MS Visual C++.
В ИСР Borland C++ для отладки используются следующие «горячие» клавиши:
F4 |
Run to cursor |
Выполнить до текущего места |
F5 |
Set breakpoint |
Установить точку прерывания программы |
F7 |
Trace into |
Выполнить строку программы с заходом в код вызываемых функций |
F8 |
Step over |
Выполнить строку программы без захода в код вызываемых функций |
F9 |
Run |
Выполнить |
Shift+F7 |
Trace to next source line |
Выполнить до следующей строки с исполняемым кодом |
Ctrl+Alt+L |
Show local variables |
Показать окно значений локальных переменных |
Ctrl+Alt+W |
Show watches |
Показать окно слежения за переменными |
Ctrl+Alt+B |
Show breakpoints |
Показать окно точек прерывания |
Ctlr+F2 |
Stop |
Остановка отладки |
В ИСР Visual C++ для отладки используются следующие «горячие» клавиши:
Ctrl+F10 |
Run to cursor |
Выполнить до текущего места |
F9 |
Set breakpoint |
Установить точку прерывания программы |
F11 |
Trace into |
Выполнить строку программы с заходом в код вызываемых функций |
F10 |
Step over |
Выполнить строку программы без захода в код вызываемых функций |
F5 |
Run |
Выполнить |
Ctrl+Shift+F5 |
Restart |
Выполнить с учётом изменений |
Shift+F5 |
Stop |
Остановить отладку |
При отладке следуйте следующим правилам:
Отладка приложений позволяет выявить ошибки алгоритма и ошибки программиста, которые компилятор самостоятельно выявить не может.
26
PAGE 27