2.2.1. Цикл типа “пока” (цикл с предусловием)

2.2.1. Цикл типа “пока” (цикл с предусловием)

Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.

#include <assert. h>

#include <stdio. h>

int main ()

{

int x, y;

printf (“Введите два целых числа через пробел ”);

int r = scanf (”%d%d”, &x, &y);

assert (r == 2);

while (x!= y)

if (x> y)

x = x – y;

else

y = y – x;

printf (“НОД=%d ”, x);

getchar ();

return 0;

}

Для проверки соответствия ввода пользователя требованиям программы мы сохраняем (=) результат выполнения scanf – количество успешно измененных переменных – в целочисленной переменной с именем r (int r), после чего требуем равенства её значения двум

(assert (r == 2);

Для этого и нужна директива препроцессора

#include <assert. h>

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Цикл for

Из книги автора

Цикл for В общем случае оператор цикла for имеет три раздела (инициализация, условие и итерация) и записывается следующим образом:for ([инициализация;] [условие;] [итерация]){ тело цикла}В разделе инициализации обычно выполняется присваивание начальных значений переменным


Цикл do…while

Из книги автора

Цикл do…while Этот цикл является примером цикла с пост-условием и записывается в следующем виде:do { тело цикла} while (условие);В этом случае цикл выполняется до тех пор, пока проверяемое после ключевого слова while условие не станет ложным (false). Так как условие проверяется уже


Цикл с предусловием

Из книги автора

Цикл с предусловием Цикл с предусловием отличается от цикла с постусловием тем, что условие проверяется перед выполнением тела цикла. Так что, если оно (условие) изначально ложно, цикл не выполнится ни разу:while (<условие>)<тело цикла>Для создания цикла с постусловием


Цикл

Из книги автора

Цикл К 2007 г. Эд Уитакер выполнил свою миссию. Бо?льшая часть системы Bell была снова собрана в крупнейшую в мире коммуникационную компанию, во главе которой стоял он сам. В возрасте 65 лет, доказав все, что можно, Уитакер объявил, что уходит{375}. В соответствии с обычаями начала


Цикл с предусловием

Из книги автора

Цикл с предусловием Цикл с предусловием отличается от цикла с постусловием тем, что условие проверяется перед выполнением тела цикла. Так что, если оно (условие) изначально ложно, цикл не выполнится ни разу:while (<условие>)<тело цикла>Для создания цикла с постусловием


2.2.1. Цикл типа “пока” (цикл с предусловием)

Из книги автора

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать если X> Y то X:=X-Y иначе Y:=Y-X; Писать (‘НОД=’, X);WHILE X <> Y DO IF X> Y THEN X:=X-Y ELSE Y:=Y-X; WRITE


2.2.2. Цикл типа “до” (цикл с постусловием)

Из книги автора

2.2.2. Цикл типа “до” (цикл с постусловием) Этот цикл выполняется не менее одного разаПример 1.5: Решение предыдущей задачи. Цикл с постусловиемПовторять если X> Y то X:=X-Y иначе Y:=Y-X до X=Y;Писать (‘НОД=’, X);REPEAT IF X> Y THEN X:=X-Y ELSE Y:=Y-X UNTIL X=Y;WRITE (‘НОД=’, X);REPEAT –


ЦИКЛ for 

Из книги автора

ЦИКЛ for      В цикле for все три вышеуказанных действия собраны вместе. Используя цикл for, фрагмент, приведенный выше, можно записать в виде одного оператора: for(count = 1; count <= NUMBER; count++)    printf(" Будь моим Валентином! ");     В круглых скобках содержатся три выражения,


18.5. Цикл for

Из книги автора

18.5. Цикл for Общий формат цикла:for имя_перемениой in list doкоманда1 команда… doneЦикл for однократно обрабатывает всю информацию для каждого значения, включенного в список list. Чтобы получить доступ к каждому значению в списке, достаточно задать параметр имя_переменной. Командой


18.6. Цикл until

Из книги автора

18.6. Цикл until Цикл until позволяет выполнять ряд команд, пока условие остается истинным. Практически цикл until противоположен по смыслу циклу while. Цикл while является более предпочтительным, но в определенных случаях цикл until лучше справляется с работой. Формат цикла until:until


18.7. Цикл while

Из книги автора

18.7. Цикл while Цикл while выполняет ряд команд до тех пор, пока истинно условие. Этот цикл используется также для просмотра данных из файла ввода. Формат цикла while:while команда doкоманды1команды2doneМежду конструкциями while и do находится несколько команд, хотя в общем случае