🗊Презентация Операторы циклов

Нажмите для полного просмотра!
Операторы циклов, слайд №1Операторы циклов, слайд №2Операторы циклов, слайд №3Операторы циклов, слайд №4Операторы циклов, слайд №5Операторы циклов, слайд №6Операторы циклов, слайд №7Операторы циклов, слайд №8Операторы циклов, слайд №9Операторы циклов, слайд №10

Вы можете ознакомиться и скачать презентацию на тему Операторы циклов. Доклад-сообщение содержит 10 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ОПЕРАТОРЫ ЦИКЛОВ
Описание слайда:
ОПЕРАТОРЫ ЦИКЛОВ

Слайд 2





Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом. 
Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом. 
Хотя циклы можно легко организовывать с помощью оператора if, в Delphi есть три специальных оператора для организации циклов. Но вначале рассмотрим, как можно организовать цикл с помощью оператора if, например для задачи из раздела 3.1.
Описание слайда:
Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом. Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом. Хотя циклы можно легко организовывать с помощью оператора if, в Delphi есть три специальных оператора для организации циклов. Но вначале рассмотрим, как можно организовать цикл с помощью оператора if, например для задачи из раздела 3.1.

Слайд 3





Мы приведем только метод обработки нажатия клавиши «Старт»: 
Мы приведем только метод обработки нажатия клавиши «Старт»: 
procedure TForm1.Button1Click(Sender: TObject); 
// Обработчик нажатия кнопки 
var x,y,h:extended;n,i,j:integer;// Определение внутренних переменных 
Label M1; 
begin 
a:=strtofloat(edit1.Text); // Перевод строк в вещественное значение 
b:=strtofloat(edit2.Text); 
n:=strtoint(edit3.Text); // Перевод строки в целое значение 
j:=strtoint(edit4.Text); 
h:=(b-a)/10; // Расчет шага по x 
x:=a; // Подготовка цикла по x 
M1:y:=0; // Подготовка цикла по i
i:=1; 
M2:if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы 
i:=i+1; // Наращивание переменной цикла i 
if i<=n then goto M2; // Проверка окончания цикла по i 
// Вывод результатов 
Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); 
x:=x+h; // Наращивание переменной цикла по x 
if x<=b then goto M1; // Проверка окончания цикла по x 
end; 
Как видно из этого примера, можно легко организовывать циклы с помощью оператора if, однако нам пришлось использовать две метки M1 и M2, что говорит о плохом стиле программирования.
Описание слайда:
Мы приведем только метод обработки нажатия клавиши «Старт»: Мы приведем только метод обработки нажатия клавиши «Старт»: procedure TForm1.Button1Click(Sender: TObject); // Обработчик нажатия кнопки var x,y,h:extended;n,i,j:integer;// Определение внутренних переменных Label M1; begin a:=strtofloat(edit1.Text); // Перевод строк в вещественное значение b:=strtofloat(edit2.Text); n:=strtoint(edit3.Text); // Перевод строки в целое значение j:=strtoint(edit4.Text); h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x M1:y:=0; // Подготовка цикла по i i:=1; M2:if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы i:=i+1; // Наращивание переменной цикла i if i<=n then goto M2; // Проверка окончания цикла по i // Вывод результатов Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); x:=x+h; // Наращивание переменной цикла по x if x<=b then goto M1; // Проверка окончания цикла по x end; Как видно из этого примера, можно легко организовывать циклы с помощью оператора if, однако нам пришлось использовать две метки M1 и M2, что говорит о плохом стиле программирования.

Слайд 4





Оператор цикла For 
Этот оператор в общем случае имеет вид 
For пер.цикла:= нач.знач. кон.знач. Do оператор DowntoTo1; 
Его следует понимать следующим образом. Для переменной цикла от начального значения до конечного значения выполнять оператор1. В фигурных скобках показаны два варианта наращивания переменной цикла: To – соответствует шагу увеличения 1, а Downto – шагу -1. Переменная цикла, начальное и конечное значения обязательно должны быть целыми величинами. Переменная цикла должна быть внутренней переменной подпрограммы.
Описание слайда:
Оператор цикла For Этот оператор в общем случае имеет вид For пер.цикла:= нач.знач. кон.знач. Do оператор DowntoTo1; Его следует понимать следующим образом. Для переменной цикла от начального значения до конечного значения выполнять оператор1. В фигурных скобках показаны два варианта наращивания переменной цикла: To – соответствует шагу увеличения 1, а Downto – шагу -1. Переменная цикла, начальное и конечное значения обязательно должны быть целыми величинами. Переменная цикла должна быть внутренней переменной подпрограммы.

Слайд 5





Правила использования оператора For: 
Правила использования оператора For: 
1. Если начальное значение переменной цикла больше конечного, то цикл не выполняется ни разу. 
2. Циклы можно вкладывать друг в друга, но не пересекать. 
3. Можно передавать управление из цикла вовне его, но извне передать управление внутрь цикла нельзя. 
4. Можно передать управление из цикла вовне его с последующим входом в этот же цикл. 
5. Внутри цикла нельзя самим изменять значения переменной цикла. 
6. После окончания цикла переменная цикла становится не определенной и ее значение уже нельзя использовать. 
7. Если внутри цикла встречается оператор Break, то происходит принудительный выход из этого цикла. 
8. Если внутри цикла встречается оператор Continue, то происходит переход к следующей итерации цикла. Рассмотрим предыдущий пример программы, только внутренний цикл оформим с помощь оператора For.
Описание слайда:
Правила использования оператора For: Правила использования оператора For: 1. Если начальное значение переменной цикла больше конечного, то цикл не выполняется ни разу. 2. Циклы можно вкладывать друг в друга, но не пересекать. 3. Можно передавать управление из цикла вовне его, но извне передать управление внутрь цикла нельзя. 4. Можно передать управление из цикла вовне его с последующим входом в этот же цикл. 5. Внутри цикла нельзя самим изменять значения переменной цикла. 6. После окончания цикла переменная цикла становится не определенной и ее значение уже нельзя использовать. 7. Если внутри цикла встречается оператор Break, то происходит принудительный выход из этого цикла. 8. Если внутри цикла встречается оператор Continue, то происходит переход к следующей итерации цикла. Рассмотрим предыдущий пример программы, только внутренний цикл оформим с помощь оператора For.

Слайд 6





Эта часть программы теперь будет выглядеть следующим образом: 
Эта часть программы теперь будет выглядеть следующим образом: 
 
h:=(b-a)/10; // Расчет шага по x 
x:=a; // Подготовка цикла по x 
M1:y:=0; // Подготовка цикла по i 
For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы 
// Вывод результатов 
Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); 
x:=x+h; // Наращивание переменной цикла по x 
if x<=b then goto M1; // Проверка окончания цикла по x 
Как видим, число операторов программы уменьшилось на 3 и нет необходимости в метке M2.
Описание слайда:
Эта часть программы теперь будет выглядеть следующим образом: Эта часть программы теперь будет выглядеть следующим образом:   h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x M1:y:=0; // Подготовка цикла по i For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы // Вывод результатов Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); x:=x+h; // Наращивание переменной цикла по x if x<=b then goto M1; // Проверка окончания цикла по x Как видим, число операторов программы уменьшилось на 3 и нет необходимости в метке M2.

Слайд 7





Оператор цикла Repeat 
Он имеет вид 
Repeat тело цикла Until логическое выражение; 
Выполнение цикла будет повторяться до тех пор, пока логическое выражение не примет значение «истина». Тело этого цикла в любом случае будет выполнено хотя бы один раз, так как проверка на окончание цикла здесь выполняется после выполнения операторов тела цикла. Внутри тела цикла обязательно должна изменяться какая–либо переменная, которая входит в логическое выражение и определяет условие выхода из цикла. В противном случае есть большая вероятность, что может получиться бесконечный цикл, т.е. программа зациклится.
Описание слайда:
Оператор цикла Repeat Он имеет вид Repeat тело цикла Until логическое выражение; Выполнение цикла будет повторяться до тех пор, пока логическое выражение не примет значение «истина». Тело этого цикла в любом случае будет выполнено хотя бы один раз, так как проверка на окончание цикла здесь выполняется после выполнения операторов тела цикла. Внутри тела цикла обязательно должна изменяться какая–либо переменная, которая входит в логическое выражение и определяет условие выхода из цикла. В противном случае есть большая вероятность, что может получиться бесконечный цикл, т.е. программа зациклится.

Слайд 8





Давайте в предыдущем примере оформим внешний цикл по x с помощью оператора Repeat: 
Давайте в предыдущем примере оформим внешний цикл по x с помощью оператора Repeat: 
h:=(b-a)/10; // Расчет шага по x 
x:=a; // Подготовка цикла по x 
Repeat 
y:=0; // Подготовка цикла по i 
For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы 
// Вывод результатов 
Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); 
x:=x+h; // Наращивание переменной цикла по x 
Until x>b; // Проверка окончания цикла по x
Until x>b; // Проверка окончания цикла по x 
Программа еще более упростилась и исчезла метка M1. В данном случае переменной цикла является x и она же входит в логическое выражение, определяющее условие выхода из цикла. В этом цикле переменная цикла может иметь любой тип в отличие от цикла For, где она должна иметь только целый тип.
Описание слайда:
Давайте в предыдущем примере оформим внешний цикл по x с помощью оператора Repeat: Давайте в предыдущем примере оформим внешний цикл по x с помощью оператора Repeat: h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x Repeat y:=0; // Подготовка цикла по i For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы // Вывод результатов Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); x:=x+h; // Наращивание переменной цикла по x Until x>b; // Проверка окончания цикла по x Until x>b; // Проверка окончания цикла по x Программа еще более упростилась и исчезла метка M1. В данном случае переменной цикла является x и она же входит в логическое выражение, определяющее условие выхода из цикла. В этом цикле переменная цикла может иметь любой тип в отличие от цикла For, где она должна иметь только целый тип.

Слайд 9





Оператор цикла While 
Он имеет вид 
While логическое выражение Do оператор1; 
Пока логическое выражение принимает значение «истина», будет повторяться оператор 1. В этом цикле проверка на окончание цикла производится до выполнения оператора1 и, если логическое выражение примет значение ложно, цикл заканчивает свою работу. В остальном – этот оператор похож на оператор Repeat.
Описание слайда:
Оператор цикла While Он имеет вид While логическое выражение Do оператор1; Пока логическое выражение принимает значение «истина», будет повторяться оператор 1. В этом цикле проверка на окончание цикла производится до выполнения оператора1 и, если логическое выражение примет значение ложно, цикл заканчивает свою работу. В остальном – этот оператор похож на оператор Repeat.

Слайд 10





Давайте посмотрим, как предыдущий фрагмент программы будет выглядеть, если оператор Repeat заменить на оператор While: 
Давайте посмотрим, как предыдущий фрагмент программы будет выглядеть, если оператор Repeat заменить на оператор While: 
h:=(b-a)/10; // Расчет шага по x 
x:=a; // Подготовка цикла по x 
While x<=b Do Begin // Начало цикла по x и проверка окончания цикла 
y:=0; // Подготовка цикла по i
For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы 
// Вывод результатов 
Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); 
x:=x+h; // Наращивание переменной цикла по x 
end; 
Как видим, этот фрагмент программы уменьшился еще на один оператор.
Описание слайда:
Давайте посмотрим, как предыдущий фрагмент программы будет выглядеть, если оператор Repeat заменить на оператор While: Давайте посмотрим, как предыдущий фрагмент программы будет выглядеть, если оператор Repeat заменить на оператор While: h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x While x<=b Do Begin // Начало цикла по x и проверка окончания цикла y:=0; // Подготовка цикла по i For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы // Вывод результатов Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); x:=x+h; // Наращивание переменной цикла по x end; Как видим, этот фрагмент программы уменьшился еще на один оператор.



Похожие презентации
Mypresentation.ru
Загрузить презентацию