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

Цикл с параметром был уже рассмотрен нами в разделе “Алгоритм” в теме “Виды алгоритмов”.
Цикл с параметром используется, когда заранее известно сколько раз должен выполниться цикл.
Формат записи цикла:
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. |
Задачи
- Даны 10 чисел, вывести те из них, которые являются полными квадратами. Составить блок-схему и программу.
- Даны 10 чисел, найти их произведение. Составить блок-схему и программу.
- Даны 10 чисел, найти сумму четных. Составить блок-схему и программу.
- Даны 10 чисел, найти количество отрицательных. Составить блок-схему и программу.
- Даны n действительных чисел. Найти максимум и минимум. Составить блок-схему и программу.
- Даны n действительных чисел. Найти среднее арифметическое всех элементов. Составить блок-схему и программу.
- Даны n действительных чисел. Найти среднее арифметическое отрицательных и положительных элементов. Составить блок-схему и программу.
- Даны n натуральных чисел. Найти сумму и произведение элементов, кратных 3 и 5. Составить блок-схему и программу.
- Даны n натуральных чисел. Вывести те числа, значения которых являются степенями двойки (1, 2, 4, 8, 16, …). Составить блок-схему и программу.
- Даны n натуральных чисел. Вывести те числа, значения которых находятся в отрезке [a, b]. Составить блок-схему и программу.
- Даны n натуральных чисел. Вывести на экран те числа, значения которых являются квадратами какого-либо числа.Составить блок-схему и программу.
- Дано натуральное число n. Найти n2. Составить блок-схему и программу.
- Даны натуральные числа a, n. Найти an. Составить блок-схему и программу.
- Дано натуральное число n. Определить его разрядность, цифру старшего разряда числа увеличить на 2
- Дано натуральное число n. Поменять местами первую и последнюю цифры числа
- Дано натуральное число n. Цифры числа, кратные 2 заменить на 0.
- Дано натуральное число n. Цифры числа, кратные 3 заменить на 1.
- Дано натуральное число n. Вычислить произведение (2n-1)*(3n-1)*(4n-1)*…*(10n-1). Составить блок-схему и программу.
- Вычислить сумму 2+4+6+…+100. Составить блок-схему и программу.
- Дано натуральное число n, действительное x. Вычислить произведение x+x/2+x/3+…+x/n. Составить блок-схему и программу.
- Дано натуральное число n. Вычислить P=(1-1/2)(1-1/3)…(1-1/n), где n>2. Составить блок-схему и программу.
- Дано натуральное число n. Вычислить P=(1+x)/n+(2+x)/(n-1)+…+(n+x)/1. Составить блок-схему и программу.
- Даны 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. Составить программу для вычисления и вывода на экран значений функции
при х, изменяющемся в диапазоне от -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.
Вычислить и напечатать значение функции ,
где 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. |
Пример 2. Составить программу для вычисления и вывода на экран значений функции с помощью циклаRepeat …until . Решение приведено в таблице 2.
Вычислить и напечатать значение функции ,
где 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. |
Пример 3. Составить программу для вычисления и вывода на экран значений функции с помощью циклаFor …to…do . Решение приведено в таблице 3.
Вычислить и напечатать значение функции ,
где 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. |
Соседние файлы в папке информатика (не сорт)
- #
- #
- #
- #
- #
- #
- #
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).
Вопросы для обсуждения
- Каким действием можно выделить последнюю цифру числа?
- Каким действием можно выделить первую цифру числа?
Обозначим:
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).
Рис. 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
    I: integer;
    F: real ;
begin
   Writeln (‘ Температура ‘);
   for I:= 15 to 30 do
      begin
        F:= 1*1.8+32;
        Writeln(‘По Цельсию =’,I,’по Фаренгейту =’,F:5:2)
      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
    randomize; { инициализация датчика случайных чисел }
    clrscr; { очистка экрана }
    for k:=1 to 5 do
      begin
        s1:=random(18)+2; s2:=random(18)+2;
        write(‘Сколько будет ‘,s1,’ * ‘,s2,’? ‘); readln(otvet);
        if otvet=s1*s2 then
          begin
            write(‘Правильно! ‘); prav:=prav+1;
          end
        else write(‘Неверно…’);
      end;
    clrscr; { очистка экрана }
    writeln(‘Ваша оценка: ‘,prav); readln;
end.
Листинг 3.24 содержит программу, которая вычисляет среднее арифметическое и определяет минимальное и максимальное число в последовательности действительных чисел, вводимых с клавиатуры.
Листинг 3.24. Определение среднее, минимума и максимума в группе чисел
var
    a: real; { очередное число }
    n: integer; { количество чисел }
    sum,average: real; { сумма и среднее арифметическое }
    min,max: real; { минимальное и максимальное число }
    i: integer; { счетчик цикла }
begin
    write(‘Введите количество чисел последовательности: ‘); readln(п);
    writeln(‘Вводите последовательность’);
    write(‘->’); readln(a); { вводим первое число последовательности }
    { предположим, что: }
    min:=a; { первое число является минимальным }
    mах:=а; { первое число является максимальным }
    sum:=a;
    { введем остальные числа }
    for i:=1 to n-1 do
      begin
        write(‘->’); readln(a);
        sum:=sum+a;
        if a         if a > max then max:=a;
      end;
    average:=sum/n;
    writeln(‘Количество чисел: ‘, n) ;
    writeln(‘Среднее арифметическое:’,average:7:3);
    writeln(‘Минимальное число: ‘,min:7:3);
    writeln(‘Максимальное число:’,max:7:3);
end.
Листинг 3.25 содержит программу, которая вычисляет частичные суммы n членов ряда 1, -1/3, +1/5, -1/7, +…, сходящихся к значению p/4.
Листинг 3.25. вычисление частичной суммы членов ряда
var
    х: real; { член ряда }
    summ: real; { частичная сумма }
    n: word; { количество суммируемых членов }
    i: word; { счетчик цикла }
begin
    write(‘Введите кол-во суммируемых членов ряда: ‘); readln(n);
   х:=1; summ:=0;
    for i:=1 to n do
      begin
        summ:=summ+1/x;
        if x>0 then x:=-(x+2) else x:=-(x-2);
      end;
    writeln(‘Сумма ряда: ‘,summ:10:6);
   writeln(‘Значение pi/4:’,pi/4:10:6);
end.
 предыдущая         меню        вверх         следующая
Источник