Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общая форма записи цикла со счетчиком (параметром)



for P:= A to B do for P:= A downto B do

begin begin

......

end; end;

Здесь переменная P - управляющая переменная (счетчик или параметр),

А - начальное значение управляющей переменной,

В - конечное значение управляющей переменной.

При переходе к обработке оператора цикла for управляющей переменной присваивается заданное начальное значение. Затем в цикле выполняется исполнительный оператор (или составной оператор). каждый раз при выполнении исполнительного оператора управляющая переменная увеличивается на 1 (для for...to) или уменьшается на 1 (для for...downto). Цикл завершается при достижении управляющей переменной своего конечного значения.

Представим всю информацию о цикле в таблице:

Цикл с параметром (счетчиком) (девиз цикла: «Делай столько, сколько сказано»)
Оператор цикла с параметром: Случай 1. FOR P:=A TO B DO <ОПЕРАТОР>; Случай 2. FOR P:=A DOWNTO B DO <ОПЕРАТОР>;
где: P – параметр(счетчик) цикла - переменная порядкового типа (кроме вещественного), которая ведет подсчет числа выполнений действий, входящих в тело цикла; A – выражение, задающее начальное значение параметра цикла; B – выражение, задающее конечное значение параметра цикла. В первом случае шаг параметра (+1), во втором (-1).

При использовании цикла for компьютер выполняет за программиста черновую работу по заданию начального и конечного значений управляющей переменной и по ее увеличению (уменьшению) при каждом повторении цикла. Ограничение заключается в том, что тип управляющей переменной не должен быть real. Переменная цикла не должна изменяться какими-либо операторами внутри цикла. К ней


можно обращаться и использовать в вычислениях, но нельзя присваивать новое значение. Таким образом, следующий цикл является некорректным:

for i:= 1 to 10 do

begin... i:= i-1;...

end;

Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer.

Внимание! Следует помнить, что управляющая переменная не может быть типа real.

Исполнительная часть цикла может быть либо простым, либо составным оператором. Если начальное значение цикла for...to больше конечного значения, то никакие операции не выполнятся. Таким образом, следующий оператор не приведет ни к каким действиям for i:= 1 to 0 do writeln (i);

Однако цикл, представленный в такой форме, распечатает целые числа от единицы до десяти: for i:= 1 to 10 do writeln (i);

Как можно догадаться, следующий цикл выполняет счет в обратном порядке for i:= 10 downto 1 do writeln (i);

Упражнение 29. Найти квадраты целых чисел от 1 до 10 и их сумму.
Program Sum3; Var x,y,s:integer; Begin S:=0; {обнулить сумму} {для всех значений Х от 1 до 10, делать…} For x:=1 to 10 do {составной оператор - тело цикла} begin Y:=X*X; {найти Y - квадрат X} Writeln(X,Y); {вывести X и Y} S:=S+y; {добавить Y к сумме} end; {конец тела цикла} Writeln (‘Сумма квадратов=’,S); End.

Домашние вопросы и задачи:

1. Для решения каких задач можно применять цикл со счетчиком? Примеры.

2. Может ли счетчик цикла принимать следующий ряд значений:

А) 5, 6, 7, 8 Б) 5.1, 5.2, 5.3 В) 8, 7, 6, 5 Г) 5, 7, 9, 11?


3. Запишите оператор цикла с параметром и объясните его работу. Изобразите сказанное на блок-схеме.

4. Какие ограничения накладываются на действия со счетчиком цикла и на его тип?

Задачи:

№ 40. Определить значение переменной S после выполнения фрагмента программы и составить блок-схему:

а) s:=0; For x:=5 to 11 do s:=s+1; б) s:=1; For x:=2 to 5 do s:=s*x; в) s:=0; For x:=7 downto 1 do s:=s+x;
г) s:=1; For x:=6 to 1 do s:=s*2; д) s:=0; For x:=2 to 5 do Begin y:=x*2; s:=s+y; End; д) s:=0; For x:=12 downto 7 do If x mod 2 =0 then s:=s+x;

№ 41. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитает количество бактерий на заданное Вами целое значение момента времени.

№ 42. Составить программу, в которой среди двухзначных чисел печатаются те числа, которые равны сумме своих цифр.

§ 17. Решение задач по теме «Цикл со счетчиком»

Упр. 30. Контрольную работу выполнили N учеников класса. Найдите процент хороших и отличных оценок (вместе), а также процент учеников, не справившихся с работой.

Упр. 31. Догадайтесь, по какому правилу построены следующие последовательности чисел и напишите программы, выводящие на экран первые N членов этих последовательностей: а) 1, 3, 5, 7, 9, 11… б) 1, 0, 1, 0, 1, 0 в) 0, 1, 4, 9, 16, 25

Домашние вопросы и задачи:

№ 43. В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала m ч., а каждая следующая на 10 мин. больше, чем предыдущая. Сколько часов проработала вся бригада?

№ 44. Догадайтесь, по какому правилу построены следующие последовательности чисел и напишите программы, выводящие на экран первые N членов этих последовательностей: а) 10, 8, 6, 4, 2, 0, -2… б) 0, 1, 0, 1, 0, 1… в) 1, 3, 7, 15, 31, 63, 127…

§ 18. Линейные массивы: описание, ввод, вывод

В математике, экономике, информатике часто используются различные наборы данных: последовательности чисел, списки фамилий, таблицы. Для обработки наборов однотипных данных мы введем понятие массива. Под массивом мы будем понимать структуру, все компоненты которой есть данные одного типа, и к любому из них можно получить доступ, указав его номер. Массивы нужны и тогда, когда для решения задачи необходимо хранение последовательности значений.

Определение. Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Каждому элементу массива соответствует номер (индекс), определяющий его местоположение в общей последовательности.


Для описания массива используется словосочетание array of (массив из).

Описание переменной-массива имеет вид:

Var <имя_массива>: array[начальный_индекс.. конечный_индекс]of <тип_элементов>;





Дата публикования: 2014-10-30; Прочитано: 772 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...