Опорный конспект по циклам (ДИСЦИПЛИНА, ТЕМА) Определение Цикл – это многократное выполнение одинаковой последовательности действий. • цикл с известным числом шагов • цикл с неизвестным числом шагов (цикл с условием) Цикл с известным числом шагов – цикл for. I. for (начальные значения; условие продолжения цикла; изменение на каждом шаге) { // тело цикла } Особенности: • условие проверяется в начале очередного шага цикла, если оно ложно цикл не выполняется; • изменения (третья часть в заголовке) выполняются в конце очередного шага цикла; • если условие никогда не станет ложным, цикл может продолжаться бесконечно (зацикливание); • если в теле цикла один оператор, скобки {} можно не ставить. II. Цикл с неизвестным числом шагов (цикл с условием): 1. Цикл с предусловием while while ( условие ) { // тело цикла } Особенности: • можно использовать сложные условия; • если в теле цикла только один оператор, скобки {} можно не писать; • условие пересчитывается каждый раз при входе в цикл; • если условие на входе в цикл ложно, цикл не выполняется ни разу; • если условие никогда не станет ложным, программа зацикливается. 2. Цикл с постусловием do … while Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла. do { // тело цикла } while ( условие ) Особенности: • тело цикла всегда выполняется хотя бы один раз; • после слова while («пока…» ) ставится условие продолжения цикла ПРАКТИЧЕСКИЕ ЗАНЯТИЯ Практическая работа № 1. Работа с циклами по шаблону. Цель: повторить теоретический материал; ознакомиться на практике с работой циклов (по шаблону). Задания: 1. Найти сумму всех чисел от 1 до 100. #include <stdio.h> #include <conio.h> void main() { int sum = 0,i; for (i=1;i!=101;i++){ sum+=i; } printf(sum); getch(); } 2. Что напечатает следующая программа ? #include <stdio.h> #include <conio.h> void main() { int x, y, z; x=y=0; while( y<10 ) ++y; x += y; printf (d,x,y); getch(); } 3. Вывести на экран отдельные цифры числа. #include <stdio.h> #include <conio.h> void main() { int a; do { printf("%d\n", a % 10); a = a / 10; } while (a > 0); getch(); } Практическая работа № 2. Работа с циклами по блок-схемам. Цель: повторить теоретический материал; ознакомиться на практике с работой циклов, разработав код программы по блок-схемам. Задание № 1. Постановка задачи: Написать программу, вычисляющую y= Результат выводиться на экран. n x(n k ) . Входные данные поступают с клавиатуры. k 0 Блок-схема алгоритма: Задание № 2. Постановка задачи: Дано натуральное число n. Вычислить: S= 1+2+3+…+n. Блок-схема алгоритма: Задание № 3. Постановка задачи: Программа, которая выводит на экран таблицу значений функции. Вывод выполняется в два столбца: первый – значение аргумента, второй – значение функции f 5 sin x при изменении аргумента от x0 до xk с шагом dx. 3 Блок-схема алгоритма: Практическая работа № 3. Создание программ с использованием циклов. Цель: повторить теоретический материал; ознакомиться на практике с работой циклов, разработав блок-схемам и код программы. Задание № 1. Написать программу, которая выводит таблицу степеней 3 от нулевой до девятой. Используйте цикл while. Задание № 2. Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. Используйте цикл do while. Задание № 3. Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. Используйте цикл for. Домашняя практическая работа по теме «Циклы». Цель: - научиться создавать, выполнять и исправлять программы для циклического алгоритма на языке C закрепить навыки разработки блок-схем циклических алгоритмов; развивать навыки алгоритмического мышления Вариант № 1. Задания на оценку «3» 1. Как записывается оператор цикла с параметром? 2. Какова форма записи цикл с предусловием? 3. Исправьте предлагаемый код по условию задачи. Числа Фибоначчи (Fn) определяются формулами: f0=f1=1, fn=fn-1+fn-2 При n=2,3… Определить первые n чисел Фибоначчи. Код программы: #include<conio.h> #include <iostream.h> void man() { clrscr(); long int fn, f1, f2; int I, n; f2=f1=1; printf(”Введите n>2:”); cin>>n; for(i=3; i<=n; i++) { fn=f1+f2; f1=f2; f2=fn; } Printf(”\nf%d = %d”, I, fn); } Задания на оценку «4» 1. Разработать программный код по предложенной блок-схеме. 2. Дано натуральное число n. Вычислить: S=1*3*5*…*(2n-1). Задания на оценку «5» 1. Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. Вариант № 2. Задания на оценку «3» 1. Как работает цикл с постусловием? 2. Какова форма записи цикла с параметром? 3. Исправьте предлагаемый код по условию задачи. Программа, которая реализует алгоритм разложения числа на простые множители. Для сокращения времени счета отдельно рассматривается случай множителя, равного двум, чтобы в последующем рассматривать только нечетные множители. Код программы. /*РАЗЛОЖИТЬ ЧИСЛО НА МНОЖИТЕЛИ */ #include <stdio.h> main() { int M,i=3; printf("ВВЕДИ M\n"); scanf("%f",&M); printf("%d=1",M); while(M%2==0) {printf("*%f",2); M=M/2; } while(i <=M) {if(M%i==0) {printf("*%d",i); M=M/i; } else i=i+2 } } Задания на оценку «4» 1. Разработать программный код по предложенной блок-схеме 2. Составить программу вычисления значений функции y = xcosx на отрезке [x0;xk] с шагом dx Задания на оценку «5» 1. Напишите программу, которая выводит на экран таблицу умножения