Укажите величину изменения шага параметра цикла в операторе for downto do

Укажите величину изменения шага параметра цикла в операторе for downto do thumbnail

Цикл с параметром был уже рассмотрен нами в разделе “Алгоритм” в теме “Виды алгоритмов”.

Цикл с параметром используется, когда заранее известно сколько раз должен выполниться цикл.

Формат записи цикла:

For <пар.цикла> := <нач.знач> to <кон.знач.> do <оператор>

Здесь for, to, do – зарезервированные слова (для, до, выполнить);

<пар. цикла> – параметр цикла – переменная целочисленного типа (типа integer);

<нач. знач.> – начальное значение – число или переменная целочисленного типа (типа integer);

<кон. знач.> – конечное значение – число или переменная целочисленного типа (типа integer);

<оператор> – произвольный оператор Паскаля.

Пример: For i:=1 to n do <оператор>

здесь i – параметр цикла

1 – начальное значение

n – конечное значение

Если в теле цикла используется несколько операторов, тогда, используются операторные скобки: begin … end.

При выполнении оператора for вначале вычисляется выражение <нач .знач.> и осуществляется присваивание его значения переменной цикла <пар .цикла> := <нач. знач.>. Далее сравниваются <пар .цикла> и <кон.знач.>. До тех пор, пока они не станут равными будет выполняться оператор (операторы). Значение переменной цикла <нач.знач> автоматически увеличивается на единицу в ходе выполнения цикла. Надо сразу заметить, что задать шаг цикла, отличный от 1 в этом операторе нельзя.

Пример:

Возможны такие записи оператора цикла:

1) for i:= 1 to n do s1;

2) for i:= 3 to 10 do s1;

3) for i := a to b do s1;

4) for i := a to b do

begin

s1;

s2;

sn

end;

Здесь s1, s2, s3, … sn – операторы цикла.

Пример:

Составить программу вывода на экран чисел от 1 до 10.

Блок-схема:

Программный код:

Program Problem; {Вывод чисел}

var i : integer;

begin

for i:=1 to 10 do

writeln (i);

redaln;

end.

Пример:

Составить программу вычисления факториала числа n, т. е. n!. (0! = 1)

Блок-схема:

Программный код:

Program Problem1; {Вычисление факториала числа n!}

var

n, f, i : integer;

begin

write(‘Введите натуральное число’);

readln(n);

f := 1;

if n <> 0 then for i := 1 to n do f := f*i;

writeln (‘Факториал числа ‘, n, ‘ равен ‘, f);

redaln;

end.

Объяснение программы:

Переменная n – для вводимого пользователем числа, факториал которого надо найти; f – переменная, в которой будет “накапливаться” значение факториала числа n; i – переменная цикла.

Устанавливается первоначальное значение переменной f := 1.

Далее начинается цикл. Переменной i присваивается начальное значение 1; оно сравнивается с конечным – n (1 <= n), если условие истинно, тогда выполняется оператор (в этой программе он один): f := f*i, 1*1=1; значение переменной цикла увеличивается на 1, т. е. станет равным: i := i + 1, 1 + 1 = 2 и цикл повторяется.

Когда значение i станет равным n, тогда цикл выполнится последний раз, потому что следующее значение i будет n + 1, что больше конечного значения n, условие i <= n – ложно, цикл не выполняется.

Существует другая форма оператора цикла For:

Формат записи цикла:

For <пар.цикла> := <нач.знач> downto <кон.знач.> do <оператор>

Замена зарезервированного слова to на downto означает, что шаг параметра цикла равен (-1).

Изменение значения параметра идет от большего значения к меньшему, т. е. <нач. знач.> <кон. знач.>.

Пример:

Возможны такие записи оператора цикла:

1) for i:= n downto 1 do s1;

2) for i:= 10 downto 3 do s1;

3) for i := b downto a do s1; (при условии, что b>a)

4) for i := b downto a do

begin

s1;

s2;

sn

end; (при условии, что b>a)

Здесь s1, s2, s3, … sn – операторы цикла.

Пример: Программу вычисления факториала числа можно составить, используя этот оператор цикла.

Блок-схема

Программный код:

var

n, i, f : longint;

begin

write(“Введите натуральное число “);

readln(n);

f := 1;

if n <> 0 then for i := n downto 1 do f := f*i;

writeln(“Факториал числа “, n, ” равен “, f);

end.

Задачи

  1. Даны 10 чисел, вывести те из них, которые являются полными квадратами. Составить блок-схему и программу.
  2. Даны 10 чисел, найти их произведение. Составить блок-схему и программу.
  3. Даны 10 чисел, найти сумму четных. Составить блок-схему и программу.
  4. Даны 10 чисел, найти количество отрицательных. Составить блок-схему и программу.
  5. Даны n действительных чисел. Найти максимум и минимум. Составить блок-схему и программу.
  6. Даны n действительных чисел. Найти среднее арифметическое всех элементов. Составить блок-схему и программу.
  7. Даны n действительных чисел. Найти среднее арифметическое отрицательных и положительных элементов. Составить блок-схему и программу.
  8. Даны n натуральных чисел. Найти сумму и произведение элементов, кратных 3 и 5. Составить блок-схему и программу.
  9. Даны n натуральных чисел. Вывести те числа, значения которых являются степенями двойки (1, 2, 4, 8, 16, …). Составить блок-схему и программу.
  10. Даны n натуральных чисел. Вывести те числа, значения которых находятся в отрезке [a, b]. Составить блок-схему и программу.
  11. Даны n натуральных чисел. Вывести на экран те числа, значения которых являются квадратами какого-либо числа.Составить блок-схему и программу.
  12. Дано натуральное число n. Найти n2. Составить блок-схему и программу.
  13. Даны натуральные числа a, n. Найти an. Составить блок-схему и программу.
  14. Дано натуральное число n. Определить его разрядность, цифру старшего разряда числа увеличить на 2
  15. Дано натуральное число n. Поменять местами первую и последнюю цифры числа
  16. Дано натуральное число n. Цифры числа, кратные 2 заменить на 0.
  17. Дано натуральное число n. Цифры числа, кратные 3 заменить на 1.
  18. Дано натуральное число n. Вычислить произведение (2n-1)*(3n-1)*(4n-1)*…*(10n-1). Составить блок-схему и программу.
  19. Вычислить сумму 2+4+6+…+100. Составить блок-схему и программу.
  20. Дано натуральное число n, действительное x. Вычислить произведение x+x/2+x/3+…+x/n. Составить блок-схему и программу.
  21. Дано натуральное число n. Вычислить P=(1-1/2)(1-1/3)…(1-1/n), где n>2. Составить блок-схему и программу.
  22. Дано натуральное число n. Вычислить P=(1+x)/n+(2+x)/(n-1)+…+(n+x)/1. Составить блок-схему и программу.
  23. Даны n натуральных чисел. Вычислить сумму ряда 1+x/1!+x2/2!+x3/3!+ …+xn/n!. Составить блок-схему и программу.

Наверх

Источник

Цикл с заранее известным числом повторений может быть реализован на Pascalс помощью операторацикла с параметромfor… to… do. Формат оператора:

for <параметр цикла> :=<нач_знач> to <кон_знач> do <оператор>;

где

  •  for, to, do – служебные слова (для, до, выполнить);

  •  <параметр цикла> – параметр цикла, в качестве которого выступает переменная типа integer (byte);

  •  <нач_знач> – начальное значение параметра цикла: константа, переменная или выражение типа integer (byte);

  •  <кон_знач> – конечное значение параметра цикла: константа, переменная или выражение типа integer (byte);

  •  <оператор> – простой, составной или структурированный оператор (тело цикла).

Принцип действияоператораfor… to… do:

1 Параметру цикла присваивается начальное значение, и операторы цикла выполняются в первый раз.

2 Параметр цикл увеличивается на единицу, т. е. <параметр_цикла> := <нач_знач> + 1. Тело цикла выполняется во второй раз.

3 При каждом увеличении параметра цикла на единицу, тело цикла повторяется вновь.

4 В последний раз тело цикла выполняется при достижении параметром цикла конечного значения, т. е. <параметр_цикла> := <кон_знач>.

Таким образом, операторы тела цикла for… to… doвыполнятся ровно<кон_знач> − <нач_знач> + 1раз.

Если конечное значение параметра цикла меньше начального, то можно использовать иной формат оператора:

for <параметр цикла> :=<нач_знач> downto <кон_нач> do <оператор>;

В этом случае шаг изменения параметра цикла равен -1.

Примечание− В некоторых версиях средыTurboилиFreePascalпараметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.

Пример 3. Составить программу для вычисления и вывода на экран значений функции

Укажите величину изменения шага параметра цикла в операторе for downto do

при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с известным числом повторений.

Решение.

Program prim_f;

var x, y: real;

begin

x:=-3; {левая граница диапазона изменения переменной}

n:=round((6-(-3))/0.3)+1; {количество повторений цикла}

for i:=1 to n do

begin

y:=cos(exp(x*ln(5))/abs(x+2));

writeln(‘x=’,x:4:2,’ y=’,y:7:3);

x:=x+0.3

end

end.

Пример 1. Составить программу для вычисления и вывода на экран значений функции с помощью циклаWhile do . Решение приведено в таблице 1.

Вычислить и напечатать значение функции Укажите величину изменения шага параметра цикла в операторе for downto do,

где a1=2,8; b изменяется в интервале [2; 5] с шагом Db = 0,5.

Таблица 1− Пример на циклWhiledo

Program primer1;

var a1, b, p5:real;

Begin

a1:=2.8; b:=2;

While b<=5 do

begin

p5:=sin(a1/b);

writeln (b, p5:8:5);

b:=b+0.5;

end;

End.

Укажите величину изменения шага параметра цикла в операторе for downto do

Пример 2. Составить программу для вычисления и вывода на экран значений функции с помощью циклаRepeat …until . Решение приведено в таблице 2.

Вычислить и напечатать значение функции Укажите величину изменения шага параметра цикла в операторе for downto do,

где a1=2,8; b изменяется в интервале [2; 5] с шагом Db = 0,5.

Таблица 2− Пример на циклRepeat …until

Program primer2;

var a1, b, p5:real;

Begin

a1:=2.8; b:=2;

Repeat

p5:=sin(a1/b);

writeln (b:4:1,p5:14:7);

b:=b+0.5;

Until b>5;

End.

Укажите величину изменения шага параметра цикла в операторе for downto do

Пример 3. Составить программу для вычисления и вывода на экран значений функции с помощью циклаFor …to…do . Решение приведено в таблице 3.

Вычислить и напечатать значение функции Укажите величину изменения шага параметра цикла в операторе for downto do,

где a1=2,8; b изменяется в интервале [2; 5] с шагом Db = 0,5.

Таблица 3− Пример на циклFor …to…do

Program primer3;

var

a1, b, p5:real;

i, ik:integer;

Begin

a1:=2.8; b:=2;

ik:=round((5-2)/0,5)+1

For i :=1 to ik do

begin

p5:=sin(a1/b);

writeln (b,p5);

b:=b+0.5;

end;

End.

Укажите величину изменения шага параметра цикла в операторе for downto do

Соседние файлы в папке информатика (не сорт)

  • #
  • #
  • #
  • #
  • #
  • #
  • #

    12.08.2017138.03 Кб9порпор.prn

  • #
  • #
  • #
  • #

Источник

Урок из серии: «Язык программирования Паскаль«

На предыдущем уроке Вы познакомились с оператором выбора Select Case.

В этом уроке будет описано использование оператора цикла с параметром For.

Циклический процесс, или просто цикл, это повторение одних и тех же действий.

Операторы, предназначенные для организации повторения одних и тех же действий, называются операторами цикла.

Они всегда имеют заголовок цикла, определяющий число повторений, и тело цикла – повторяющиеся действия.

Переменная, которая изменяются внутри цикла и влияют на его окончание, называется параметром цикла.

Величина, на которую изменяется переменная цикла, называется шагом цикла.

Различают два вида циклов: циклы с известным числом повторений (циклы с параметром) и циклы с неизвестным числом повторений (циклы с условием).

Опишем первый из них.

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

Оператор цикла с параметром (цикл for) применяется тогда, когда заранее известно количество повторений одного и того же действия.

Для записи оператора цикла с параметром в языке Паскаль используется две формы записи.

for <параметр> := <начальное значение> to <конечное значение> do <тело цикла>;

или

for <параметр> := <начальное значение> downto <конечное значение> do <тело цикла>;

В первом операторе, с ключевым словом to в заголовке, параметр цикла изменяется от начального значения до конечного значения, увеличиваясь всякий раз на единицу.

Во втором операторе, с ключевым словом downto, параметр цикла уменьшаясь на единицу.

здесь:

<параметр> – переменная цикла (счетчик цикла);

<начальное значение> – начальное значение переменной цикла;

<конечное значение> – конечное значение переменной цикла.

В языке Паскаль шаг цикла всегда равен единице.

Если тело цикла состоит из нескольких операторов, то оно заключается в операторные скобки Begin – End.

Рассмотрим пример с использованием оператора цикла For.

Пример. Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (0<n<=18).

Вопросы для обсуждения

  1. Каким действием можно выделить последнюю цифру числа?
  2. Каким действием можно выделить первую цифру числа?

Обозначим:

k – это просматриваемое число;

p1 – это первая цифра числа k;

p2 – это вторая цифра числа k;

s – это сумма цифр данного числа k.

Число k будем выписывать только в том случае, когда сумма p1 и p2 будет равна n.

Program Primer9_1; Var k,n,p1,p2,s : Integer; Begin Writeln(‘Введите целое число n (0 < n <= 18): ‘); Readln(n); For k:=10 To 99 Do {Для(For) k от 10 до (To) 99 делать(Do)} Begin p2:=k Mod 10; {Выделяем вторую цифру} p1:=k Div 10; {Выделяем вторую цифру} s:=p1+p2; If s = n Then Writeln(k); {Если сумма равна n, то выводим k} End; End.

Коротко о главном

1. Если нужно многократно повторять одни и те же действия, то в программе организуют цикл.

2. Когда заранее известно число повторений и шаг цикла равен 1 (или -1), для организации циклов используют оператор for.

3. Оператор for имеет две формы записи. Если в заголовке цикла используется ключевое слово to, значение переменной цикла увеличивается на 1, если слово downto – переменная цикла уменьшается на 1.

4. Количество повторений цикла определяется по формуле:

<конечное значение> – <начальное значение> +1.

5. Нельзя изменять параметр цикла в теле цикла.

На следующем уроке мы рассмотрим циклы с неизвестным числом повторений.

Следующий урок: Операторы цикла с условием While и Repeat

Источник

Оператор For состоит из заголовка и тела цикла. Он может быть представлен в двух форматах:

for <имя> := N1 to N2 do

<оператор>;

for <имя> := N1 downto N2 do

<оператор>;

Здесь for … do – заголовок цикла; <имя> – это имя переменной – параметра цикла; N1 – ее начальное значение; N2 – ее конечное значение; <оператор> – тело цикла.Тело цикла может быть простым или составным оператором.Переменная цикла (счетчик), нижняя граница N1 (переменная, константа или выражение) и верхняя граница N2 (переменная, константа или выражение) должны относиться к эквивалентным порядковым типам данных.Если тип нижней или верхней границы не эквивалентен типу счетчика, а лишь совместим с ним, то осуществляется неявное приведение: значение границы преобразуется к типу счетчика, в результате чего возможны ошибки.

Цикл for-to работает следующим образом:

1) вычисляется значение верхней границы N2;

2) переменной цикла присваивается значение нижней границы N1;

3) производится проверка того, что переменная цикла не превосходит N2;

4) если это так, то выполняется <оператор>;

5) значение переменной цикла увеличивается на единицу;

6) пункты 3-5, составляющие одну итерацию цикла, выполняются до тех пор, пока переменная цикла не станет строго больше, чем N2; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.

Из этой последовательности действий можно понять, какое количество раз отработает цикл for-to в каждом из трех случаев:

Ø N1 < N2: цикл будет работать N2-N1+1 раз;

Ø N1 = N2: цикл отработает ровно один раз;

Ø N1 > N2: цикл вообще не будет работать.

После окончания работы цикла переменная-счетчик может потерять свое значение. Таким образом, нельзя с уверенностью утверждать, что после того, как цикл завершил работу, обязательно окажется, что ее значение равно N2+1.Поэтому попытки использовать переменную-счетчик сразу после завершения цикла (без присваивания ей какого-либо нового значения) могут привести к непредсказуемому поведению программы при отладке.

Цикл for-downto работает следующим образом:

1) вычисляется значение верхней границы N2;

2) переменной цикла присваивается значение нижней границы N1;

3) производится проверка того, что переменная цикла не меньше N2;

4) если это так, то выполняется <оператор>;

5) значение переменной цикла уменьшается на единицу;

6) пункты 1-3 выполняются до тех пор, пока переменная цикла не станет меньше, чем N2; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.

Из этой последовательности действий можно понять, какое количество раз отработает цикл for-downto в каждом из трех случаев:

Ø N1 < N2: цикл вообще не будет работать

Ø N1 = N2: цикл отработает ровно один раз;

Ø N1 > N2: цикл будет работать N1-N2+1 раз.

Замечание о неопределенности значения счетчика после окончания работы цикла справедливо и в этом случае.

Основные требования к оператору FOR

Ø Параметр цикла, начальное и конечное значения должны быть одного и того же порядкового типа (лучше всего – целого типа, недопустимо – вещественного).

Ø Начальное и конечное значения вычисляются лишь один раз – при входе в цикл, и, следовательно, должны быть определены до входа в цикл и не могут быть изменены в теле цикла.

Ø Дополнительно (принудительно) изменять значение параметра в теле цикла не рекомендуется, поскольку контроль за правильностью исполнения такого цикла очень затруднен.

Ø Не допускается изменение параметра цикла на величину, отличную от единицы.

Примеры:

For i:=1 to 20 do writeln(Sqrt(i));

{выведет 20 результатов извлечения квадратного корня из i }

For ch:=’A’ to ‘z’ do writeln(ch); {выведет латинские буквы }

For j:=14 downto 10 do writeln(j);{выведет числа от 14 до 10}

Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке).

Особенность: переменная цикла должна уменьшаться.

Решение:

for i:=8 downto 1 do

begin

i2 := i*i;

i3 := i2*i;

writeln(i:4, i2:4, i3:4);

end;

Источник

3.9.3. Оператор FOR

Этот вид оператора цикла называют или циклом с параметром. В нем важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу – поэтому ее и называют счетчиком.

Инструкцию for можно реализовать двумя способами.

Вариант 1 (с увеличением счетчика).

for Счетчик := НачальноеЗначение to КонечноеЗначение do

begin

{ Инструкции }

end;

Ключевые слова for, dо обозначают “для”, “выполняй” соответственно. Строка, содержащая for … do, называется заголовком цикла, оператор, стоящий после do образует его тело. Очень часто тело цикла – составной оператор. Если тело цикла представлено одиночным оператором, то begin и end не пишутся.

На блок-схеме алгоритма цикл с параметром удобно обозначать следующим образом (рис. 3.4).

Укажите величину изменения шага параметра цикла в операторе for downto do

Рис. 3.4. Условное обозначение на схемах алгоритмов цикла с параметром

Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(КонечноеЗначение – НачальноеЗначение) + I].

Это соответствует всем значениям счетчика от начального до конечного включительно.

Если НачальноеЗначение больше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.

Например, выполнение цикла – фрагмента программы:

For i:=10 to 14 do write (i:3);

выведет на экран последовательность цифр в виде:

10 11 12 13 14

Вариант 2 (с уменьшением счетчика).

for Счетчик := НачальноеЗначение downto КонечноеЗначение do

begin

{ Инструкции }

end;

Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(НачальноеЗначение – КонечноеЗначение) + I].

Если НачальноеЗначение меньше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.

Например, выполнение цикла – фрагмента программы:

For i:=14 downto 10 do write (i:3);

выведет на экран последовательность цифр в виде:

14 13 12 11 10

Если переменная-счетчик имеет символьный char тип, то оператор:

For ch:=’a’ to ‘e’ do write (ch:2);

выведет на экран последовательность букв в виде:

а b с d е

Оператор:

For ch:=’e’ downto ‘a’ do write (ch:2);

выведет на экран последовательность букв в виде:

е d с b а

Обратите внимание – цикл for удобно использовать для организации вывода данных программы. Вместе с оператором if и функцией readln он позволяет выполнить постраничный вывод.

Например, при выполнении следующего цикла программа будет приостанавливать вывод после заполнения экрана столбцом цифр до нажатия клавиши .

for i:=1 to 50 do

begin

writeln (i);

if i mod 24 = 23 then readln;

end;

Следует знать:

• оператор (инструкция) for используется для организации циклов с фиксированным, заранее известным или определяемым во время выполнения программы числом повторений;

• количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла: от начального до конечного;

• переменная-счетчик должна быть порядкового типа: чаще – integer, реже – char, boolean или одного из пользовательских типов (см. разд. 2.1.2). Использование вещественного типа недопустимо;

• начальное и конечное значения параметра цикла могут быть константами, переменными, выражениями и должны принадлежать к одному и тому же типу данных. Начальное и конечное значения параметра цикла нельзя изменять во время выполнения цикла;

• после нормального завершения оператора for значение параметра цикла равно конечному значению. Если оператор for не выполнялся, значение параметра цикла не определено;

• параметр цикла for может изменяться (увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на единицу. Если нужен другой шаг изменения параметра, предпочтительнее циклы repeat и while.

Примером действия оператора for может служить листинг 3.22, который выводит на экран таблицу перевода из градусов по шкале Цельсия(С) в градусы по Фаренгейту(Р) для значений от 15°С до 30°С с шагом 1 градус. Перевод осуществляется по формуле: F = С* 1.8+32.

Листинг 3.22. Таблица перевода из градусов по шкале Цельсия в градусы по Фаренгейту

var

&nbsp &nbsp I: integer;

&nbsp &nbsp F: real ;

begin

&nbsp &nbspWriteln (‘ Температура ‘);

&nbsp &nbspfor I:= 15 to 30 do

&nbsp &nbsp &nbsp begin

&nbsp &nbsp &nbsp &nbsp F:= 1*1.8+32;

&nbsp &nbsp &nbsp &nbsp Writeln(‘По Цельсию =’,I,’по Фаренгейту =’,F:5:2)

&nbsp &nbsp &nbsp end;

end.

В блоке описания переменных описаны параметр цикла I типа integer и переменная F – температура по Фаренгейту типа real. Переменная I, помимо функций управляющей переменной, является переменной, хранящей целочисленные значения температуры по шкале Цельсия. В начале выполнения программы на экран выводится надпись ‘ Температура ‘, а затем оператором повтора выводится таблица соотношения температуры в шкалах Цельсия и Фаренгейта. Печать таблицы выполняется оператором Writeln(Tlo Цельсию= ‘ ,1,’ по Фаренгейту= ‘, F:5:2)

Цикл выполняется следующим образом.

При первом обращении к оператору for вычисляются значения начального (15) и конечного (30) параметров цикла, и управляющей переменной I присваивается начальное значение 15.

Затем циклически выполняется следующее:

1. Проверяется условие I.

2. Если оно соблюдается, то выполняется составной оператор в теле цикла, т. е. рассчитывается значение выражения 1*1.8+32, затем оно присваивается переменной F, и на экран выводится сообщение ‘По Цельсию= ‘ ,1,’ по Фаренгейту= х, F:5:2

Если условие I не соблюдается, т. е. как только I станет > 30, оператор тела цикла не выполняется, а управление в программе передается за пределы оператора for, в нашем примере на оператор end;.Программа завершает работу.

3. Значение параметра цикла I увеличивается на единицу, и управление передается в заголовок цикла for для проверки условия.

Далее цикл повторяется с п.1.

Листинг 3.23 содержит программу “Тест по таблице умножения”, измененную таким образом, чтобы она задавала ученику ровно пять вопросов, а в конце тестирования выставляла оценку по пятибалльной системе. Естественно, в такой постановке задачи наилучшим решением будет являться цикл for.

Листинг 3.23. Тест по таблице умножения (вариант № 4)

uses crt;

var s1,s2,otvet,k,prav:integer;

begin

&nbsp &nbsp randomize; { инициализация датчика случайных чисел }

&nbsp &nbsp clrscr; { очистка экрана }

&nbsp &nbsp for k:=1 to 5 do

&nbsp &nbsp &nbsp begin

&nbsp &nbsp &nbsp &nbsp s1:=random(18)+2; s2:=random(18)+2;

&nbsp &nbsp &nbsp &nbsp write(‘Сколько будет ‘,s1,’ * ‘,s2,’? ‘); readln(otvet);

&nbsp &nbsp &nbsp &nbsp if otvet=s1*s2 then

&nbsp &nbsp &nbsp &nbsp &nbsp begin

&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp write(‘Правильно! ‘); prav:=prav+1;

&nbsp &nbsp &nbsp &nbsp &nbsp end

&nbsp &nbsp &nbsp &nbsp else write(‘Неверно…’);

&nbsp &nbsp &nbsp end;

&nbsp &nbsp clrscr; { очистка экрана }

&nbsp &nbsp writeln(‘Ваша оценка: ‘,prav); readln;

end.

Листинг 3.24 содержит программу, которая вычисляет среднее арифметическое и определяет минимальное и максимальное число в последовательности действительных чисел, вводимых с клавиатуры.

Листинг 3.24. Определение среднее, минимума и максимума в группе чисел

var

&nbsp &nbsp a: real; { очередное число }

&nbsp &nbsp n: integer; { количество чисел }

&nbsp &nbsp sum,average: real; { сумма и среднее арифметическое }

&nbsp &nbsp min,max: real; { минимальное и максимальное число }

&nbsp &nbsp i: integer; { счетчик цикла }

begin

&nbsp &nbsp write(‘Введите количество чисел последовательности: ‘); readln(п);

&nbsp &nbsp writeln(‘Вводите последовательность’);

&nbsp &nbsp write(‘->’); readln(a); { вводим первое число последовательности }

&nbsp &nbsp { предположим, что: }

&nbsp &nbsp min:=a; { первое число является минимальным }

&nbsp &nbsp mах:=а; { первое число является максимальным }

&nbsp &nbsp sum:=a;

&nbsp &nbsp { введем остальные числа }

&nbsp &nbsp for i:=1 to n-1 do

&nbsp &nbsp &nbsp begin

&nbsp &nbsp &nbsp &nbsp write(‘->’); readln(a);

&nbsp &nbsp &nbsp &nbsp sum:=sum+a;

&nbsp &nbsp &nbsp &nbsp if a &nbsp &nbsp &nbsp &nbsp if a > max then max:=a;

&nbsp &nbsp &nbsp end;

&nbsp &nbsp average:=sum/n;

&nbsp &nbsp writeln(‘Количество чисел: ‘, n) ;

&nbsp &nbsp writeln(‘Среднее арифметическое:’,average:7:3);

&nbsp &nbsp writeln(‘Минимальное число: ‘,min:7:3);

&nbsp &nbsp writeln(‘Максимальное число:’,max:7:3);

end.

Листинг 3.25 содержит программу, которая вычисляет частичные суммы n членов ряда 1, -1/3, +1/5, -1/7, +…, сходящихся к значению p/4.

Листинг 3.25. вычисление частичной суммы членов ряда

var

&nbsp &nbsp х: real; { член ряда }

&nbsp &nbsp summ: real; { частичная сумма }

&nbsp &nbsp n: word; { количество суммируемых членов }

&nbsp &nbsp i: word; { счетчик цикла }

begin

&nbsp &nbsp write(‘Введите кол-во суммируемых членов ряда: ‘); readln(n);

&nbsp &nbspх:=1; summ:=0;

&nbsp &nbsp for i:=1 to n do

&nbsp &nbsp &nbsp begin

&nbsp &nbsp &nbsp &nbsp summ:=summ+1/x;

&nbsp &nbsp &nbsp &nbsp if x>0 then x:=-(x+2) else x:=-(x-2);

&nbsp &nbsp &nbsp end;

&nbsp &nbsp writeln(‘Сумма ряда: ‘,summ:10:6);

&nbsp &nbspwriteln(‘Значение pi/4:’,pi/4:10:6);

end.

&nbspпредыдущая &nbsp &nbsp &nbsp &nbsp&nbspменю &nbsp &nbsp &nbsp &nbspвверх &nbsp &nbsp &nbsp &nbsp&nbspследующая

Источник

Читайте также:  Часть рабочего цикла мотора 4 буквы сканворд