🗊Презентация Циклические программы. Оператор цикла repeat

Нажмите для полного просмотра!
Циклические программы. Оператор цикла repeat, слайд №1Циклические программы. Оператор цикла repeat, слайд №2Циклические программы. Оператор цикла repeat, слайд №3Циклические программы. Оператор цикла repeat, слайд №4Циклические программы. Оператор цикла repeat, слайд №5Циклические программы. Оператор цикла repeat, слайд №6Циклические программы. Оператор цикла repeat, слайд №7Циклические программы. Оператор цикла repeat, слайд №8Циклические программы. Оператор цикла repeat, слайд №9Циклические программы. Оператор цикла repeat, слайд №10Циклические программы. Оператор цикла repeat, слайд №11Циклические программы. Оператор цикла repeat, слайд №12Циклические программы. Оператор цикла repeat, слайд №13Циклические программы. Оператор цикла repeat, слайд №14Циклические программы. Оператор цикла repeat, слайд №15Циклические программы. Оператор цикла repeat, слайд №16Циклические программы. Оператор цикла repeat, слайд №17Циклические программы. Оператор цикла repeat, слайд №18Циклические программы. Оператор цикла repeat, слайд №19Циклические программы. Оператор цикла repeat, слайд №20

Содержание

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

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


Слайд 1





Циклические программы
Описание слайда:
Циклические программы

Слайд 2





Оператор цикла  repeat
   Repeat   оператор ; оператор ; . . . ; оператор 
                                                 until     условие
Повторяй выполнение операторов, стоящих между словами repeat и until, до тех пор, пока не станет истинным условие.
Сначала компьютер по очереди выполняет операторы, стоящие после слова repeat, пока не дойдет до слова until, после чего проверяет истинность условия, стоящего после until.                                                                                      Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и т.д.                                                  Если условие оказывается истинным, то работа оператора repeat прекращается и компьютер переходит к выполнению следующего по порядку оператора.
Конструкция  repeat . . . . . until  a+2>3*b переводится "повторяй......до тех пор, пока a+2 не станет больше 3*b".
Описание слайда:
Оператор цикла repeat Repeat оператор ; оператор ; . . . ; оператор until условие Повторяй выполнение операторов, стоящих между словами repeat и until, до тех пор, пока не станет истинным условие. Сначала компьютер по очереди выполняет операторы, стоящие после слова repeat, пока не дойдет до слова until, после чего проверяет истинность условия, стоящего после until. Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и т.д. Если условие оказывается истинным, то работа оператора repeat прекращается и компьютер переходит к выполнению следующего по порядку оператора. Конструкция repeat . . . . . until a+2>3*b переводится "повторяй......до тех пор, пока a+2 не станет больше 3*b".

Слайд 3





Задача: При помощи цикла напечатать на экране:
Начало счета   3  5  7  9   Конец счета

VAR f : Integer;
BEGIN
	Write('Начало счета   ');
	f:=3;
	repeat 
		Write(f,'  ');
		f:=f+2;
	until  f>9;

	Write(' Конец счета')
END.
Описание слайда:
Задача: При помощи цикла напечатать на экране: Начало счета 3 5 7 9 Конец счета VAR f : Integer; BEGIN Write('Начало счета '); f:=3; repeat Write(f,' '); f:=f+2; until f>9; Write(' Конец счета') END.

Слайд 4





Задача: Компьютер предлагает человеку ввести слово, после чего распечатывает это слово, снабдив его восклицательным знаком. Затем снова предлагает ввести слово и так до тех пор, пока человек не введет слово "Хватит". Распечатав его с восклицательным знаком, компьютер отвечает "Хватит так хватит" и заканчивает работу.
Задача: Компьютер предлагает человеку ввести слово, после чего распечатывает это слово, снабдив его восклицательным знаком. Затем снова предлагает ввести слово и так до тех пор, пока человек не введет слово "Хватит". Распечатав его с восклицательным знаком, компьютер отвечает "Хватит так хватит" и заканчивает работу.
VAR Slovo : String;
BEGIN
	repeat 
		WriteLn('Введите слово');
		ReadLn(Slovo);
		WriteLn(Slovo, '!')
	until Slovo='Хватит';
	WriteLn('Хватит так хватит')
END.
Описание слайда:
Задача: Компьютер предлагает человеку ввести слово, после чего распечатывает это слово, снабдив его восклицательным знаком. Затем снова предлагает ввести слово и так до тех пор, пока человек не введет слово "Хватит". Распечатав его с восклицательным знаком, компьютер отвечает "Хватит так хватит" и заканчивает работу. Задача: Компьютер предлагает человеку ввести слово, после чего распечатывает это слово, снабдив его восклицательным знаком. Затем снова предлагает ввести слово и так до тех пор, пока человек не введет слово "Хватит". Распечатав его с восклицательным знаком, компьютер отвечает "Хватит так хватит" и заканчивает работу. VAR Slovo : String; BEGIN repeat WriteLn('Введите слово'); ReadLn(Slovo); WriteLn(Slovo, '!') until Slovo='Хватит'; WriteLn('Хватит так хватит') END.

Слайд 5





Задание 37: Усложним эту задачу. Пусть компьютер перед распечаткой каждого слова ставит его порядковый номер.

VAR	Slovo :String;
		Nomer 	:Integer;
BEGIN
	Nomer:=1;
	repeat
		WriteLn('Введите слово');
		ReadLn(Slovo);
		WriteLn(Nomer, ' ', Slovo, '!');
		Nomer:=Nomer+1;
	until Slovo='Хватит';
	WriteLn('Хватит так хватит');
	ReadLn
END.
Описание слайда:
Задание 37: Усложним эту задачу. Пусть компьютер перед распечаткой каждого слова ставит его порядковый номер. VAR Slovo :String; Nomer :Integer; BEGIN Nomer:=1; repeat WriteLn('Введите слово'); ReadLn(Slovo); WriteLn(Nomer, ' ', Slovo, '!'); Nomer:=Nomer+1; until Slovo='Хватит'; WriteLn('Хватит так хватит'); ReadLn END.

Слайд 6





Оператор цикла while
Синтаксис оператора while: 
                       WHILE условие DO оператор
Пока условие истинно, делай оператор. 
Например,  while a>b do b:=b+1.
Работает оператор while так:
Сначала компьютер проверяет истинность условия, стоящего после слова while. Если условие истинно, то выполняется оператор, стоящий после do. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор. И т.д. Если условие ложно, то оператор while прекращает свою работу и компьютер переходит к выполнению следующего оператора.
Оператор, стоящий после while, вполне может быть составным, поэтому тело цикла у оператора while, так же как и у оператора repeat, может состоять из многих операторов.   
Описание слайда:
Оператор цикла while Синтаксис оператора while: WHILE условие DO оператор Пока условие истинно, делай оператор. Например, while a>b do b:=b+1. Работает оператор while так: Сначала компьютер проверяет истинность условия, стоящего после слова while. Если условие истинно, то выполняется оператор, стоящий после do. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор. И т.д. Если условие ложно, то оператор while прекращает свою работу и компьютер переходит к выполнению следующего оператора. Оператор, стоящий после while, вполне может быть составным, поэтому тело цикла у оператора while, так же как и у оператора repeat, может состоять из многих операторов.   

Слайд 7





Решим при помощи while ту же задачу о печати чисел 3 5 7 9
VAR f : Integer;
BEGIN
	Write('Начало счета   ');
	f:=3;
	while f<=9 do 
		begin  
			Write(f,'  ');
			f:=f+2;
		end;
	Write(' Конец счета')
END.
Здесь после do стоит составной оператор begin Write(f,'  '); f:=f+2; end.
Описание слайда:
Решим при помощи while ту же задачу о печати чисел 3 5 7 9 VAR f : Integer; BEGIN Write('Начало счета '); f:=3; while f<=9 do begin Write(f,' '); f:=f+2; end; Write(' Конец счета') END. Здесь после do стоит составной оператор begin Write(f,'  '); f:=f+2; end.

Слайд 8





Отличия операторов repeat и while
Компьютер выходит из цикла оператора repeat тогда, когда условие истинно, а  из цикла оператора while -  когда условие ложно. 
while может ни разу не выполнить оператор, стоящий после do. repeat же хотя бы раз операторы, стоящие между repeat и until, выполнит. 
Например, фрагмент 
k:=8;  repeat k:=1 until 3>2; WriteLn(k) напечатает 1. 
А фрагмент 	
k:=8;while 2>3 do k:=1; WriteLn(k) 		напечатает 8.
Описание слайда:
Отличия операторов repeat и while Компьютер выходит из цикла оператора repeat тогда, когда условие истинно, а из цикла оператора while - когда условие ложно. while может ни разу не выполнить оператор, стоящий после do. repeat же хотя бы раз операторы, стоящие между repeat и until, выполнит. Например, фрагмент k:=8; repeat k:=1 until 3>2; WriteLn(k) напечатает 1. А фрагмент k:=8;while 2>3 do k:=1; WriteLn(k) напечатает 8.

Слайд 9





Оператор цикла for

Выполняя программу печати чисел 3 5 7 9, оператор repeat выполнил цикл 4 раза. То же самое сделал и оператор while. Однако, обычно, когда мы пишем операторы repeat и while, нам совсем неважно знать, сколько раз они выполнят цикл. Тем не менее, существует много задач, для решения которых цикл нужно выполнить именно определенное количество раз. В этом случае удобно использовать оператор цикла for.
Описание слайда:
Оператор цикла for Выполняя программу печати чисел 3 5 7 9, оператор repeat выполнил цикл 4 раза. То же самое сделал и оператор while. Однако, обычно, когда мы пишем операторы repeat и while, нам совсем неважно знать, сколько раз они выполнят цикл. Тем не менее, существует много задач, для решения которых цикл нужно выполнить именно определенное количество раз. В этом случае удобно использовать оператор цикла for.

Слайд 10





Задача: 200 раз напечатать слово ФУТБОЛ. 

VAR i : Integer;
BEGIN
	for i:=1 to 200 do  
		WriteLn('ФУТБОЛ') 
END.
Конструкция for i:=1 to 200 do по-русски читается так: 
Для i, изменяющегося от 1 до 200, делай оператор, стоящий после слова do. 
Смысл повторения здесь такой же, как и в операторе while. Оператор, стоящий после do, тоже, конечно, может быть составным.
Описание слайда:
Задача: 200 раз напечатать слово ФУТБОЛ. VAR i : Integer; BEGIN for i:=1 to 200 do WriteLn('ФУТБОЛ') END. Конструкция for i:=1 to 200 do по-русски читается так: Для i, изменяющегося от 1 до 200, делай оператор, стоящий после слова do. Смысл повторения здесь такой же, как и в операторе while. Оператор, стоящий после do, тоже, конечно, может быть составным.

Слайд 11





Синтаксис оператора for:
FOR имя :=  выражение1 TO выражение2 DO оператор

имя - это имя произвольной переменной порядкового типа (см. 5.7 и 12.8), в частности целочисленной, называемой переменной цикла, 
выражение1 и выражение2 - произвольные выражения порядкового типа, в частности - целого. 
		Работа оператора for:
Прежде всего вычисляется выражение1, и переменной цикла (пусть это будет i) присваивается его значение. Затем вычисляется выражение2 и сравнивается с i. Если i > выражения2, то оператор for завершает свою работу, так ничего и не сделав. В противном случае выполняется оператор, стоящий после do. После выполнения этого оператора значение i увеличивается на 1 и снова сравнивается с выражением2. Если i > выражения2, то оператор for завершает свою работу, иначе снова выполняется оператор, стоящий после do, снова i увеличивается на 1 и т.д.
Описание слайда:
Синтаксис оператора for: FOR имя := выражение1 TO выражение2 DO оператор имя - это имя произвольной переменной порядкового типа (см. 5.7 и 12.8), в частности целочисленной, называемой переменной цикла, выражение1 и выражение2 - произвольные выражения порядкового типа, в частности - целого. Работа оператора for: Прежде всего вычисляется выражение1, и переменной цикла (пусть это будет i) присваивается его значение. Затем вычисляется выражение2 и сравнивается с i. Если i > выражения2, то оператор for завершает свою работу, так ничего и не сделав. В противном случае выполняется оператор, стоящий после do. После выполнения этого оператора значение i увеличивается на 1 и снова сравнивается с выражением2. Если i > выражения2, то оператор for завершает свою работу, иначе снова выполняется оператор, стоящий после do, снова i увеличивается на 1 и т.д.

Слайд 12





В нашем примере переменная i кроме того, что обеспечивает нам выход из цикла, никакой "полезной" работы не выполняет. Усложним же немного задачу. Пусть компьютер печатает такую информацию:
В нашем примере переменная i кроме того, что обеспечивает нам выход из цикла, никакой "полезной" работы не выполняет. Усложним же немного задачу. Пусть компьютер печатает такую информацию:
10 ФУТБОЛ   11 ФУТБОЛ   12 ФУТБОЛ . . . . . 200 ФУТБОЛ
VAR i : Integer;
BEGIN
	for i:=10 to 200 do  
		begin		Write(i); 
					Write (' ФУТБОЛ   ') 
		end 
END.
Здесь после do стоит уже составной оператор.
Описание слайда:
В нашем примере переменная i кроме того, что обеспечивает нам выход из цикла, никакой "полезной" работы не выполняет. Усложним же немного задачу. Пусть компьютер печатает такую информацию: В нашем примере переменная i кроме того, что обеспечивает нам выход из цикла, никакой "полезной" работы не выполняет. Усложним же немного задачу. Пусть компьютер печатает такую информацию: 10 ФУТБОЛ 11 ФУТБОЛ 12 ФУТБОЛ . . . . . 200 ФУТБОЛ VAR i : Integer; BEGIN for i:=10 to 200 do begin Write(i); Write (' ФУТБОЛ ') end END. Здесь после do стоит уже составной оператор.

Слайд 13





Удобно ли использовать оператор for для печати такой информации?:
Удобно ли использовать оператор for для печати такой информации?:
100 ФУТБОЛ 99 ФУТБОЛ 98 ФУТБОЛ . . . 40 ФУТБОЛ
Оператор for позволяет не только увеличивать, но и уменьшать переменную цикла. Однако, для этого нельзя писать   for i:=100 to 40, а нужно писать for i:=100 downto 40, переводится буквально "вниз до". Соответственно, для выхода из цикла должно быть истинным не условие   i > выражения2, а условие   i < выражения2. 
Вот объединенный синтаксис оператора for:
FOR     имя    :=    выражение1     TO       DOWNTO     выражение2     DO    оператор
Вертикальная черта    между двумя элементами конструкции «TO и DOWNTO»  говорит о том, что в конструкции должен присутствовать один из этих элементов.
Описание слайда:
Удобно ли использовать оператор for для печати такой информации?: Удобно ли использовать оператор for для печати такой информации?: 100 ФУТБОЛ 99 ФУТБОЛ 98 ФУТБОЛ . . . 40 ФУТБОЛ Оператор for позволяет не только увеличивать, но и уменьшать переменную цикла. Однако, для этого нельзя писать for i:=100 to 40, а нужно писать for i:=100 downto 40, переводится буквально "вниз до". Соответственно, для выхода из цикла должно быть истинным не условие i > выражения2, а условие i < выражения2. Вот объединенный синтаксис оператора for: FOR имя := выражение1 TO DOWNTO выражение2 DO оператор Вертикальная черта между двумя элементами конструкции «TO и DOWNTO» говорит о том, что в конструкции должен присутствовать один из этих элементов.

Слайд 14





Вычислительная циклическая программа
программа

Задача: Во дворце 40 залов. Известны длина, ширина и высота каждого зала. Вычислить площадь пола и объем каждого зала. 
Сначала напишем фрагмент для одного зала:
ReadLn (dlina, shirina, visota);
S:=dlina*shirina;			{Площадь пола}
V:=S*visota;				{Объем}
WriteLn(S,’  ‘,V)
Для решения задачи этот фрагмент нужно выполнить 40 раз, для чего вполне естественно использовать оператор for:
VAR i, dlina, shirina, visota, S, V: Integer;
BEGIN
	for i:=1 to 40 do begin
		ReadLn (dlina, shirina, visota);
		S:=dlina*shirina;
		V:=S*visota;	
		WriteLn(S,’  ‘,V)
	end {for}
END.
Описание слайда:
Вычислительная циклическая программа программа Задача: Во дворце 40 залов. Известны длина, ширина и высота каждого зала. Вычислить площадь пола и объем каждого зала. Сначала напишем фрагмент для одного зала: ReadLn (dlina, shirina, visota); S:=dlina*shirina; {Площадь пола} V:=S*visota; {Объем} WriteLn(S,’ ‘,V) Для решения задачи этот фрагмент нужно выполнить 40 раз, для чего вполне естественно использовать оператор for: VAR i, dlina, shirina, visota, S, V: Integer; BEGIN for i:=1 to 40 do begin ReadLn (dlina, shirina, visota); S:=dlina*shirina; V:=S*visota; WriteLn(S,’ ‘,V) end {for} END.

Слайд 15





Теперь дадим возможность пользователю самому задавать число залов во дворце:
Теперь дадим возможность пользователю самому задавать число залов во дворце:
VAR   i, dlina, shirina, visota, N, S, V : Integer;
BEGIN
	WriteLn(’Введите число залов‘);
	ReadLn (N);				{N - число залов}
	for i:=1 to N do begin
		WriteLn(’Введите длину,ширину и высоту зала‘);
		ReadLn (dlina, shirina, visota);
		S:=dlina*shirina;
		V:=S*visota;	
		WriteLn(‘Площадь пола=’,S,’ Объем зала=‘,V)
	end
END. 
Пусть во дворце три зала размерами 20*15*4, 30*20*5 и 10*5*3. В этом случае мы вводим N=3 и оператор for выполняет цикл три раза. На каждом выполнении цикла компьютер останавливается на операторе ReadLn (dlina, shirina, visota), мы вводим числа и получаем результаты:
Площадь пола=300 Объем зала=1200
Площадь пола=600 Объем зала=3000
Площадь пола=50 Объем зала=150
Описание слайда:
Теперь дадим возможность пользователю самому задавать число залов во дворце: Теперь дадим возможность пользователю самому задавать число залов во дворце: VAR i, dlina, shirina, visota, N, S, V : Integer; BEGIN WriteLn(’Введите число залов‘); ReadLn (N); {N - число залов} for i:=1 to N do begin WriteLn(’Введите длину,ширину и высоту зала‘); ReadLn (dlina, shirina, visota); S:=dlina*shirina; V:=S*visota; WriteLn(‘Площадь пола=’,S,’ Объем зала=‘,V) end END. Пусть во дворце три зала размерами 20*15*4, 30*20*5 и 10*5*3. В этом случае мы вводим N=3 и оператор for выполняет цикл три раза. На каждом выполнении цикла компьютер останавливается на операторе ReadLn (dlina, shirina, visota), мы вводим числа и получаем результаты: Площадь пола=300 Объем зала=1200 Площадь пола=600 Объем зала=3000 Площадь пола=50 Объем зала=150

Слайд 16





Задание 42: Напечатать с помощью оператора for:
Задание 42: Напечатать с помощью оператора for:
Прямой счет:  -5 -4 -3 -2 -1 0 1 2 3 4 5 Обратный счет: 5 4 3 2 1 0 -1 -2 -3 -4 -5 Конец счета
VAR i : Integer;
    BEGIN
         Write('Прямой счет: ');
          for i:=	-5 to 5 do  Write(i,' ');
          Write('Обратный счет: ');
          for i:=	 5 	downto  -5 do Write(i,' ');
          Write('Конец счета');
    END.
Описание слайда:
Задание 42: Напечатать с помощью оператора for: Задание 42: Напечатать с помощью оператора for: Прямой счет: -5 -4 -3 -2 -1 0 1 2 3 4 5 Обратный счет: 5 4 3 2 1 0 -1 -2 -3 -4 -5 Конец счета VAR i : Integer; BEGIN Write('Прямой счет: '); for i:= -5 to 5 do Write(i,' '); Write('Обратный счет: '); for i:= 5 downto -5 do Write(i,' '); Write('Конец счета'); END.

Слайд 17





Задание 43:   Даны стороны N кубиков. Вычислить объем каждого.
VAR  i, N, a  : Integer;
BEGIN
	WriteLn('Введите число кубиков');
	ReadLn (N);
	for i:=1 to N do begin
		WriteLn('Введите длину стороны кубика');
		ReadLn (a);
		WriteLn('Объем кубика=', a*a*a)
	end;
	ReadLn
END.
Описание слайда:
Задание 43: Даны стороны N кубиков. Вычислить объем каждого. VAR i, N, a : Integer; BEGIN WriteLn('Введите число кубиков'); ReadLn (N); for i:=1 to N do begin WriteLn('Введите длину стороны кубика'); ReadLn (a); WriteLn('Объем кубика=', a*a*a) end; ReadLn END.

Слайд 18





Задания 44-45:
Определите без компьютера, что будет, если 
44)	строку   for i:=1 to N do begin    поместить под строкой    ReadLn (dlina, shirina, visota)	  
45)	поменять местами строки   WriteLn(‘Площадь пола=’,S,’ Объем зала=‘,V)   и    end

Задание 44    Компьютер напечатает:
Площадь пола=300 Объем зала=1200
Площадь пола=300 Объем зала=1200
Площадь пола=300 Объем зала=1200
и не спросит размеры 2 и 3 залов.
Задание 45  Компьютер напечатает результаты только для последнего зала.
Описание слайда:
Задания 44-45: Определите без компьютера, что будет, если 44) строку for i:=1 to N do begin поместить под строкой ReadLn (dlina, shirina, visota) 45) поменять местами строки WriteLn(‘Площадь пола=’,S,’ Объем зала=‘,V) и end Задание 44 Компьютер напечатает: Площадь пола=300 Объем зала=1200 Площадь пола=300 Объем зала=1200 Площадь пола=300 Объем зала=1200 и не спросит размеры 2 и 3 залов. Задание 45 Компьютер напечатает результаты только для последнего зала.

Слайд 19





Счетчики

Задача 1: В компьютер с клавиатуры вводятся числа. Компьютер после ввода каждого числа должен печатать, сколько среди них уже введено положительных.
Описание слайда:
Счетчики Задача 1: В компьютер с клавиатуры вводятся числа. Компьютер после ввода каждого числа должен печатать, сколько среди них уже введено положительных.

Слайд 20





Задача 2: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных.
Задача 2: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных.
Программа:
VAR 	c,i	:Integer;
		a	:Real;
BEGIN
	c:=0; 							{Обнуляем счетчик}
	for i:=1 to 200 do begin
		ReadLn(a);	
		if a>0 then c:=c+1
	end {for};
	WriteLn('Из них положительных - ' ,c)
END.
Описание слайда:
Задача 2: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных. Задача 2: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных. Программа: VAR c,i :Integer; a :Real; BEGIN c:=0; {Обнуляем счетчик} for i:=1 to 200 do begin ReadLn(a); if a>0 then c:=c+1 end {for}; WriteLn('Из них положительных - ' ,c) END.



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