Скачать презентацию Подготовила Ипатова Анастасия 146 группа В этом Скачать презентацию Подготовила Ипатова Анастасия 146 группа В этом

ЦИКЛИЧЕСКИЙ АЛГОРИТМ.pptx

  • Количество слайдов: 17

Подготовила Ипатова Анастасия 146 группа Подготовила Ипатова Анастасия 146 группа

В этом уроке я рассмотрю понятие «циклический алгоритм» и разновидности циклов, а также покажу В этом уроке я рассмотрю понятие «циклический алгоритм» и разновидности циклов, а также покажу реализацию циклических алгоритмов на языке программирования С. Циклический алгоритм реализует повторение некоторых действий. Иными словами, циклы. Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров. Каждое выполнение операторов цикла называется витком цикла.

Циклы бывают: · С предусловием · С постусловием · Со счетчиком Сначала рассмотрим каждый Циклы бывают: · С предусловием · С постусловием · Со счетчиком Сначала рассмотрим каждый из этих алгоритмов, а потом я перейду к реализации этих алгоритмов на языке программирования С.

Вот так циклы с предусловием изображаются на блок-схемах. Теперь рассмотрим их принцип работы. Пока Вот так циклы с предусловием изображаются на блок-схемах. Теперь рассмотрим их принцип работы. Пока можно не обращать внимания на слова break и continue. Цикл с предусловием работает следующим образом: Сначала проверяется логическое выражение B(x), если оно истинно, то выполняются операторы S(S может быть составным оператором), если условие ложно, то выполняются операторы после цикла. Хочется заметить, что если в условии B(x) вы укажите заведомо ложное условие, то операторы цикла не выполнятся ни разу, то есть цикл просто не будет работать, а если вы укажите заведомо истинное условие, то цикл «зациклится» , то есть будет выполняться бесконечное множество раз, и ваша программа никогда не завершится. Для завершения ее придется убрать процесс из системы или использовать имеющиеся во многих компиляторах специальные программы-отладчики.

Вот так выглядит блок-схема для циклов с постусловием. Опять же пока можно не принимать Вот так выглядит блок-схема для циклов с постусловием. Опять же пока можно не принимать во внимание операторы break и continue. Теперь рассмотрим принцип работы этих циклов. Сначала выполняются операторы S(S может быть и составным оператором), потом проверяется логическое условие B(x), и если оно ложно, то операторы цикла будут выполняться повторно, а если истинно, то будут выполняться операторы после цикла. Замечу, что если вы укажите в B(x) заведомо истинное условие, то цикл выполнится один раз, а если вы укажите заведомо ложное условие, то цикл зациклится. Как действовать в такой ситуации я рассказывал в циклах с предусловием.

Циклы со счетчиком работают следующим образом: пока управляющая переменная (счетчик цикла) меньше(больше) какого-то значения, Циклы со счетчиком работают следующим образом: пока управляющая переменная (счетчик цикла) меньше(больше) какого-то значения, то выполняются операторы цикла, при этом с каждым витком цикла управляющая переменная меняет свое значение на какое-то определенное число, называемое шагом цикла. Рассмотрим то, что у нас изображено на блок-схеме: у нас есть управляющая переменная X, которая идет со значения 1 до 10 с шагом 1. Если шаг равен единице, то его можно не писать в блок-схеме, если же число отлично от единицы, оно прописывается через «; » .

Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970 -х годов Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970 -х годов сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был перенесён на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков. Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций. Как уже было сказано, циклы бывают с предусловием, с постусловием и со счетчиком. В таком порядке мы и рассмотрим их реализацию на языке программирования С.

Циклы с предусловием в языке С выглядит так: while(условие) { //операторы } Хочется заметить, Циклы с предусловием в языке С выглядит так: while(условие) { //операторы } Хочется заметить, что операторные скобки можно не писать, если в цикле один оператор. Еще замечу, что после оператора while нельзя ставить «; » , хотя при этом компилятор ошибки не выдаст. Но в выполнении программы цикл работать не будет так как «; » - это тоже оператор, и он будет выполняться в цикле как оператор.

Циклы с постусловием выглядят так: do { //операторы } while(условие); Здесь тоже можно не Циклы с постусловием выглядят так: do { //операторы } while(условие); Здесь тоже можно не писать операторные скобки, если в цикле один оператор.

Циклы со счетчиком на языке С отличаются от таких же операторов языка Паскаль. Давайте Циклы со счетчиком на языке С отличаются от таких же операторов языка Паскаль. Давайте рассмотрим, как они выглядят здесь: for(объявление; условие; изменение) { //операторы } Итак, в первую очередь скажу, что здесь после закрывающейся скобочки тоже нельзя ставить «; » , по тем же причинам, что и в цикле while, и, конечно же, если в цикле один оператор, то операторные скобки можно не писать.

Теперь перейдем к рассмотрению самого цикла. В строке «объявление» вы объявляете переменную (или переменные), Теперь перейдем к рассмотрению самого цикла. В строке «объявление» вы объявляете переменную (или переменные), которая (которые) будут счетчиком (счетчиками) вашего цикла. Да, действительно, я здесь не ошиблась, язык С позволяет использовать в цикле for несколько управляющих переменных, хотя чаще все же используется одна. И вам хотелось бы посоветовать использовать одну переменную и делать вложенные циклы, если надо производить действия с несколькими. В строку «условие» вы пишете условие, при котором будет выполняться этот цикл. Пока будет истинно условие, цикл будет выполняться. В строке «изменение» вы меняете значения управляющей переменной или переменных и фактически задаете шаг цикла.

Настал момент времени раскрыть смысл слов, встретившихся вам на рисунке, имя которых break и Настал момент времени раскрыть смысл слов, встретившихся вам на рисунке, имя которых break и continue. Оператор break. Как только компилятор встречает оператор break, он сразу же заканчивает выполнения циклов не зависимо от количества оставшихся операторов и витков цикла, и начинает выполнять операторы, которые стоят сразу после цикла. Оператор continue. Как только компилятор встречает оператор continue, то он сразу же заканчивает выполнение данного витка цикла, не зависимо от того, сколько операторов до конца витка цикла осталось, и сразу переходит к следующему витку цикла. Это наглядно показано на приведенных блок-схемах.

Цикл, как и все обычные операторы, может быть внутри другого цикла, и в этом Цикл, как и все обычные операторы, может быть внутри другого цикла, и в этом случае пока не выполнятся внутренние (вложенные) операторы, внешние выполняться не будут. Хочется заметить, что если вложены циклы for, количество выполнений операторов второго цикла будет равно произведению количества витков первого и второго циклов, а если циклы имеют условия (предусловия и постусловия), то они будут работать как обычно.

1. Вычислить сумму первых 25 натуральных чисел. 1. #include 2. #include 3. #include 4. 1. Вычислить сумму первых 25 натуральных чисел. 1. #include 2. #include 3. #include 4. int main() 5. { 6. int s=0; 7. for(int i=1; i<=25; i++) 8. s=s+i; 9. printf("%i", s); 10. puts("n"); 11. return 0; 12. } В этом коде показан пример использования цикла for. В некоторых компиляторах счетчик цикла нельзя объявить прямо в объявлении цикла, там следует объявить эту переменную до цикла, а в целом каноны языка программирования С требуют объявления счетчика прямо в цикле. И в этом уроке я буду писать так. Программа достаточно проста, чтобы ее комментировать, просто надо заметить синтаксис цикла for и запомнить его.

2. Найти наибольшую и наименьшую цифры в записи натурального числа. 1. #include 2. #include 2. Найти наибольшую и наименьшую цифры в записи натурального числа. 1. #include 2. #include 3. #include 4. int main() 5. { 6. int a; 7. scanf("%i", &a); 8. int min=a%10, max=a%10; 9. int c; 10. while(a>0) 11. { 12. c=a%10; 13. if(c 14. min=c; 15. if(c>max) 16. max=c; 17. a/=10; 18. } 19. printf("%i%4 i", min, max); 20. return 0; 21. } В этой программе показан пример использования цикла while. Данная задача легко решается массивами, правда массив должен быть динамическим, но поскольку у нас тема «циклы» , я решила отказаться от использования массивов и представила вариант решения этой задачи циклами. Обратите внимание на 8 строку кода, здесь объявляются переменные min и max, и им сразу же присваивается последняя цифра данного нам числа, таким образом, мы до цикла предполагаем, что последняя цифра наибольшая и наименьшая в этом числе. Далее в программе идет объявление цикла. В строке 12 мы находим последнюю цифру числа, а потом сравниваем ее с максимальной и минимальной. Если она больше максимальной или меньше минимальной, то тогда мы присваиваем максимальной или минимальной цифре данную цифру, и после избавляемся от последней цифры данного числа. Обратите внимания на строку 19, там показан пример вывода одновременно нескольких переменных, а также форматный вывод.

3. Вычислить Перед тем как приведу код, дам небольшое пояснение, связанное с математикой, необходимое 3. Вычислить Перед тем как приведу код, дам небольшое пояснение, связанное с математикой, необходимое для решения данной задачи. Знак ∑ обозначает сумму от снизу написанного числа до сверху написанного числа, подставленного в выражение после знака. Вспомнив математику можно начать писать код. 1. #include 2. #include 3. #include 4. int main() 5. { 6. int n; 7. scanf("%i", &n); 8. int s=0; 9. int s 1=0; 10. for(int i=3; i<=n; i++) 11. { 12. s 1=0; 13. for(int j=0; j<2*i; j++) 14. s 1+=(i+j)-2*j; 15. s+=s 1; 16. } 17. printf("%i", s); 18. return 0; 19. } Здесь показан пример использования вложенных циклов. Код не требует большого числа комментариев, так как вычисление суммы чисел показано в первом примере, здесь он как бы используется 2 раза, просто вкладываясь друг в друга. В примерах, я не разбирала циклы с постусловием и операторы управления циклом, так как циклы с постусловием очень похожи на циклы с предусловием, и из цикла с предусловием легко можно сделать цикл с постусловием. Операторы управления циклом я не разбирала, так как считается, что использование этих операторов «дурной тон» программиста и надо максимально стараться избегать их использования, а если использовать - то в самом крайнем случае.

Надеюсь, вам понравилась моя презентация по циклам в языке С, желаю вам удачи в Надеюсь, вам понравилась моя презентация по циклам в языке С, желаю вам удачи в реализации изученного материала.