Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к экзамену по программированию в 1 семест....doc
Скачиваний:
26
Добавлен:
22.04.2019
Размер:
576 Кб
Скачать

20. Инструкции передачи управления..

goto;break;continue;return;Инструкция goto Формат: goto имя-метки; ... имя-метки: инструкция; Выполняет безусловный переход к другой инструкции внутри того же файла. Оператор goto передает управление на оператор, помеченный меткой имя-метки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно имя-

метки не может быть использовано для разных операторов программы. Использование оператора безусловного перехода goto в практике программирования настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций. Любой оператор в составном операторе может иметь свою метку. Используя оператор goto, теоретически можно передавать управление внутрь составного оператора. Но нужно быть осторожным при входе в составной оператор, содержащий объявления переменных с инициализацией, так как объявления располагаются перед выполняемыми операторами и значения объявленных переменных при таком переходе будут не определены.

И вообще – такой переход – нарушение принципов структурного программирования. Не следует передавать управление внутрь операторов if, switch и циклов. Это тоже – нарушение принципов структурного программирования Инструкция return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом. Функция main передает управление операционной системе. Формат : return [выражение] ; Инструкция break Прекращает работу блоков switch и циклов. После выполнения оператора break управление передается оператору,

следующему за прерванным. При вложенных циклах – работает с самым

внутренним из объемлющих его циклов. Инструкция continue Переход к следующей итерации цикла. Завершает текущую итерацию цикла и передает управление на вычисление условия выполнения цикла. Формат : continue; При вложенных циклах – работает с самым внутренним из объемлющих его циклов.

21. Организация циклов в C++.

Организация циклов Инструкция while (цикл с предусловием)  Формат: while (выражение) инструкция; //тело цикла

Инструкция do…while (цикл с постусловием)

Пример бесконечного цикла while (true) { ... }

Инструкция for  Оператор for - это наиболее общий способ организации цикла. Формат: for (выражение1;выражение2;выражение3) инструкция;

for (;;) { ... ... break; ... }

22. Алгоритмы обработки числовых данных (алгоритм Евклида, нахождение всех делителей числа, нахождение простых делителей числа, нахождение простых чисел, чисел Фибоначчи).

Алгоритм Евклида Дана пара натуральных чисел (a, b). Шаг 1. Поделить a на b с остатком r. Шаг 2. Если r = 0, то НОД (a, b) = b. Шаг 3. Если r <>0, то положить a=b, b=r и перейти к шагу 1.

Соответствующий фрагмент программы: int a,b,r; cout << "input 2 numbers\n";

cin >> a >> b; while (b != 0) { r = a % b; a = b; b = r; } cout << "NOD=" << a;

Нахождение всех делителей натурального числа n

//Все делители натурального числа n #include <iostream> using namespace std;

int main() { setlocale(LC_ALL,".1251"); long int n,d,k; cout << "введите число" << endl;

cin >> n; cout << "1" << endl; for(d=2,k=n/2; d<=k; d++) { if (n%d==0) cout << d << endl; } cout << n << endl; return 0; }

Проверка числа на простоту int a, i, flag; double r, n; cin >> a; if ((a==2)||(a==3)) flag=1;

else { i=2; flag=1; r=a; n=(floor(sqrt(r)); while ((i<=n) && (flag)) if (!(a%i)) flag=0; else ++i; if flag cout << ”простое”; else cout << ”составное”; } Функция floor(x) возвращает значение с плавающей точкой, представляющее наибольшее целое, которое меньше или равно x. Числа Фибоначчи Число называется числом Фибоначчи, если оно является одним из

членов последовательности: fn = fn-1 + fn-2 где f0 = 1 и f1 = 1.