Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование циклических алгоритмов.
Организация циклов. В тех случаях, когда необходимо выполнить N-ое количество одинаковых действий с различными данными используются циклические конструкции. Циклы делятся на явные и неявные. Если известно, сколько раз должно быть выполнено действие с данными, то такой цикл называется явным. В тех случаях, когда количество повторений зависит от какого-либо условия, то такие циклы называются неявными.
Оператор цикла while. Оператор цикла с предусловием является наиболее общим по сравнению с другими конструкциями. В принципе, для программирования достаточно иметь только цикл while. While (< выражение>) оператор
NV!! Значение выражения определяется до выполнения оператора, следовательно, если выражение ложно с самого начала, то оператор вообще не выполняется. В качестве внутреннего оператора можно использовать любой оператор языка или группу операторов, заключённые в фигурные скобки, при этом; после закрывающей фигурной скобки не ставится. Пример 1: while (k<n){ y=y*x; k++;}Оператор цикла do-while. do оператор while ( <выражение >);
Выполняется оператор, проверяется выражение, стоящее в заголовке. Если выражение истинно, то выполняется оператор до тех пор, пока выражение не будет ложно.
Пример 2: x=1; do printf(“%d \n”,power(x,2)); while (++x<=7);
Определить является ли число простым. #include <conio.h> #include <stdio.h> void main() {int i, N; printf (“\|n Введите число ”); scanf (“%d”, &N); i=1; Do i++; while (N%i!=0); if (i==N) printf (“\n число простое ”); else printf (“ \n делится на %d”, i); getch(); }
Вычислить сумму целых чисел, введённых с клавиатуры, пока не встретится “0”. #include <conio.h> #include <stdio.h> void main() {int a, s; a=1; s=0; Do {printf (“\n a=”); scanf (“%d”, &a); s+=a; } while (a!=0); printf (“ \n сумма=%d”, s); getch(); } Операторы цикла while и do-while. Рекомендации к использованию: n перед каждым выполнением цикла условие окончания или продолжения цикла должно быть определено (имеет конкретное значение);
n тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания или продолжения цикла; n условие окончания цикла должно выполняться за конечное время; n условие вычисляется при каждом выполнении цикла и поэтому должно быть по возможности наиболее простым. Оператор цикла for. Для реализации цикла с известным числом повторений целесообразно использовать оператор цикла с параметром. for ( <выражение_1>; < выражение_2>; < выражение_3> ) оператор выражение_1 - инициализация цикла (вычисляется только один раз перед началом выполнения цикла); выражение_2 – проверка условия завершения цикла (выполняется перед каждым шагом цикла); выражение_3 – вычисляется после каждой итерации (обычно оно применяется для коррекции значения параметра цикла).
Оператор for эквивалентен следующей последовательности операторов: выражение_1; while (выражение_2) { оператор; выражение_3; } Пример 3: распечатать квадраты цифр от 1 до 7 for (x=1; x<=7; x++) printf (“%d \n”, power(x,2));
Пример 4: распечатать цифры от 1 до 6 и их кубы. int num; for (num=1; num<=6; x++) printf (“%5d %5d\n”, num,num*num*num);
Замечания: 1) Любое из трёх или все три выражения могут отсутствовать в операторе for, однако, разделяющие их ; опускать нельзя. Если отсутствует · выражение_3, то отсутствует шаг; · выражение_2, то считается, что выражение всегда даёт значение истинно; · выражение_1, то отсутствует начальная инициализация. 2) for(;;) // бесконечный цикл, из которого выходят при помощи других { // действий (Пример: ожидание запуска процесса) ... } 3) while, for – аналогичные операторы, при этом логичнее использовать while, если нет начальной инициализации. while ((c=getchar())==’ ‘ || c==’\n’ || c==’\t’); с клавиатуры читаем символы, если нет символов табуляции При явной инициализации логичнее использовать оператор for. Обработка первых N элементов массива. for (i=0; i<N; i++) ... 4) В языке С оператор for имеет отличия по сравнению с другими языками: · при любом выходе из цикла значение параметра цикла считается определённым и можно его использовать;
· внутри цикла можно менятьпределы выполнения цикла for (i=0; i<n; i++) //обработка значений массива {... n=30; } · каждое из выражений 1-3 может состоять из нескольких выражений, объединённых оператором запятая , . a)for (i=0,j=n-1; i<n; i++,j--) a[i]=a[j];
b)for(i=2b=1.0,r=x; r>eps ||r<-eps; b+=r,r*=x/i,i++)
Вспомогательные операторы.
|
|||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-12-09; просмотров: 119; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.41.214 (0.01 с.) |