Опорный конспект по циклам (ДИСЦИПЛИНА, ТЕМА) Определение известным неизвестным

advertisement
Опорный конспект по циклам (ДИСЦИПЛИНА, ТЕМА)
Определение
Цикл – это многократное выполнение одинаковой последовательности действий.
•
цикл с известным числом шагов
•
цикл с неизвестным числом шагов (цикл с условием)
Цикл с известным числом шагов – цикл 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. Напишите программу, которая выводит на экран таблицу умножения
Download