Лекция 9

Download Report

Transcript Лекция 9

Цикл с параметрами

Операторы цикла в Паскале

Операторы цикла используются для многократного повторения входящих в их состав операторов. В языке Турбо Паскаль различают операторы цикла типа арифметической прогрессии (оператор цикла со счетчиком типа (

WHILE

и

REPEAT

).

– FOR

) с шагом +1 или -1 и операторы цикла итерационного

Параметрический цикл

Оператор цикла типа арифметической прогрессии

используется, если заранее известно количество повторений цикла и шаг изменения параметра цикла +1 или –1.

FOR<

параметр цикла

>:=<

выражение1

> TO

<выражение 2>

DO

< оператор( тело цикла)

> ;

– шаг изменения параметра цикла +1; 

FOR<

параметр цикла

>:=<

выражение1

> DOWNTO <

выражение2

> DO

< оператор( тело цикла)

> ;

шаг изменения параметра цикла -1;

где < параметр цикла >

- это переменная цикла любого порядкового типа (целого, символьного, перечисляемого, интервального);

< выражение 1> < оператор>

- начальное значение параметра цикла, выражение того же типа, что и параметр цикла; < выражение 2> - конечное значение параметра цикла, выражение того же типа, что и параметр цикла; - тело цикла - простой или составной оператор.

При использовании оператора необходимо помнить :

1. Внутри цикла

FOR

нельзя изменять начальное <выражение 1> , текущее или конечное <выражение 2> значения параметра цикла.

2. Если в цикле с шагом +1 начальное значение <выражение 1> больше конечного <выражение 2>, то цикл не выполнится ни разу. Аналогично для шага -1, если начальное значение <выражение 1> меньше конечного <выражение 12 3. После завершения цикла значение параметр цикла считается неопределенным, за исключением тех случаев, когда выход из цикла осуществляется оператором

GOTO

или с помощью процедуры

BREAK

.

4. Телом цикла может быть другой оператор цикла.

Считаем….

Кол-во повторений

равно <выражение1> <выражение 2>+шаг

Цикл под номером 1 будет выполняться для счетчика, последовательно принимающего значения –10, –9, –8, –7, –6, – 5, –4,то есть 7 раз.

Цикл под номером 2 не будет выполняться ни разу, так как начальное значение счетчика больше конечного.

Цикл под номером 3 будет выполняться 1 раз для счетчика, равного 3.

Проверь себя….

Правильно записаны фрагменты под номерами 1 и 4. Во фрагментах 2 и 3 в операторах тела цикла производится изменение значение счетчика цикла.

Решаем задачи с использованием цикла с параметрами

начало y:=1, 10 Kw:=sqr(y) Y,kw y:=10, 1 Kw:=sqr(y) Y,kw конец

Вывести на экран значение y2 (y=1,2,…,10) в возрастающем и убывающем порядке Program Ex1; Uses crt; Var kw, y: integer; Begin Clrscr; For y:=1 to 10 do Begin kw:= sqr(y); Writeln (y:3,kw:5); End; Writeln; For y:=10 downto 1 do Begin kw:=sqr(y); Writeln (y:3,kw:5); End; Readln; End.

X:=Y начало Ввести первое число Х i:=2, 20 Ввести второе число Y

Да

Y

Не т Выбрать наименьшие значение из 20 чисел, вводимых с клавиатуры: program min; uses crt; var i:integer; x,y : real; begin clrscr; writeln ('Enter first'); readln (x); for i:=2 to 20 do begin write ('Enter next'); readln (y); end; if y', uuid && { id: 'category' + uuid, class: !__path_directory.includes(uuid) ? 'collapse' : null }); for (var item in data) { var li = $('

  • ').appendTo(ul); if (item = data[item], item.children) { li.append('') __draw_directory(item.children, li, item.id); } else { li.append(''); } var a = $('> a', li).addClass('item').text(item.name) .append($('')); if (item.id === +__path_directory.slice(-1)) { a.addClass('active'); } /* if (item.id !== __path_directory[0]) { a.addClass('collapsed'); } */ } root.append(ul); } ([{"id":1,"name":"Food and cooking","url":"/catalog/Food+and+cooking","children":null},{"id":2,"name":"Education","url":"/catalog/Education","children":null},{"id":3,"name":"Healthcare","url":"/catalog/Healthcare","children":null},{"id":4,"name":"Real estate","url":"/catalog/Real+estate","children":null},{"id":5,"name":"Religion ","url":"/catalog/Religion+","children":null},{"id":6,"name":"Science and nature","url":"/catalog/Science+and+nature","children":null},{"id":7,"name":"Internet","url":"/catalog/Internet","children":null},{"id":8,"name":"Sport","url":"/catalog/Sport","children":null},{"id":9,"name":"Technical documentation","url":"/catalog/Technical+documentation","children":null},{"id":10,"name":"Travel","url":"/catalog/Travel","children":null},{"id":11,"name":"Art and Design","url":"/catalog/Art+and+Design","children":null},{"id":12,"name":"Automotive","url":"/catalog/Automotive","children":null},{"id":13,"name":"Business","url":"/catalog/Business","children":null},{"id":14,"name":"Government","url":"/catalog/Government","children":null}], $('#directory-aside')); var __root_directory = $('#directory-aside > ul'); $('#directory-aside') .on('show.bs.collapse', function() { //console.log('show.collapse') }) .on('hide.bs.collapse', function() { //console.log('hide.collapse') }); $('#directory-modal') .on('show.bs.modal', function() { $('[class$="body"]', this).prepend(__root_directory); }) .on('hide.bs.modal', function() { $('#directory-aside').prepend(__root_directory); }); $('.directory-mobile').on('click', function(e) { e.preventDefault(); }); $('.directory .link').on('click', function(e) { e.stopPropagation(); });