Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Кузнецова.doc
Скачиваний:
9
Добавлен:
18.11.2019
Размер:
369.15 Кб
Скачать

Var a, s: real; I, n: integer;

begin

write ('введите количество слагаемых п = ');

readln (n);

s: = 0;

for i: = 1 to n do

begin

write (i,- oe число = ');

readln (a);

s: = s + a

end;

write ('сумма s = ',s);

readln

end.

Если количество чисел неизвестно, то можно задать чис­ло-ограничитель, например нуль. В таком случае используется цикл while или repeat.

s:- 0; repeat readln (a);

s: = s + a until a = 0;

s:= 0;

readln (a);

while a <> 0 do

begin s: = s + а;

readln (a)

end;

Оператор цикла обратный пересчет работает аналогично оператору цикла прямого пересчета, только переменная цикла не возрастает с каждым шагом на единицу, а на единицу убы­вает. Оператор имеет вид:

for i: = n2 downto nl do оператор;

Для этого оператора должно также выполняться п2 ≥ n1.

При использовании в программе операторов цикла необходи­мо соблюдать следующие правила:

— внутри цикла может находиться другой цикл, но необхо­димо, чтобы циклы имели разные переменные и внутренний цикл полностью находился в теле внешнего цикла;

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

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

  • можно досрочно выйти из цикла, или используя оператор goto, или изменив параметр условия в операторах while и repeat так, чтобы цикл больше не выполнялся.

106

Вопросы и задания

  1. Пусть тело цикла в программе Е7 такое же, как в программе Е6. Как будет работать программа Е7, если ввести два одинаковых числа а и b

  2. Сколько раз выполнится оператор цикла repeat, если условие после слова until истинно при входе в "цикл?

  3. Объясните, какая разница между условиями, записанными после слов while и repeat для одной и той же задачи.

  4. Напишите программы вычисления сумм:

а) сорока слагаемых вида n-i, где i = 1, 2, 3, ..., 40, а n — данное число;

б) n слагаемых вида х + i, где х — данное число, a i меняется от 1 до n;

в) ста слагаемых, имеющих вид дроби (i + 1) / (i + 2);

г) n слагаемых вида (i + 1)2, где i= 1, 2, ..., n;

д) n слагаемых sin х + sin х2 + sin х3 + ... + sin хn;

е) n слагаемых sin х + sin2 х + sin3 х + ... + sinn х; ж) кубов п первых натуральных чисел.

  1. Для различных вводимых с клавиатуры целых чисел найдите сум­му положительных нечетных.

  2. Напишите программы вычисления произведений:

а) а * (а + 1) * (а + 2) * ... * (а + п - 1);

б) а * (а - п) * (а – 2n) * ...* (а - n2);

в) (х-1)(х-2)(х-3)…(х-n);

г) 2 * 4 * 6 * ... * (2n);

д) (1 + sin 0.1) (1 + sin 0.2) ... (1 + sin 10);

е) всех чисел от 1 до 100 кратных 3, но не кратных 6; ж) n сомножителей вида (х + i)2.

  1. Дано положительное число А. Найдите среди чисел 1,1 + 1/2, 1 + 1/2 + 1/3, ... первое, большее А.

  2. Вводя числа с клавиатуры без ограничения их количества (конец ввода — число нуль), найдите сумму положительных и произве­дение отрицательных чисел.

9.

107

3.6. Массивы

В рассмотренных ранее примерах программ производилась обработка одиночных данных — значений простых перемен­ных. При решении практических задач данные объединяются в различные структуры, наиболее простыми из которых явля­ются массивы.

Массив — именованный набор с фиксированным количеством однотипных данных.

В массивы объединены результаты экспериментов, списки фамилий сотрудников, различные сложные структуры данных. Так, список из классного журнала 10 «А» является массивом. В массиве могут быть одинаковые данные, поэтому элементы массива различаются по своим порядковым номерам. Если каждый элемент имеет один порядковый номер, то такой массив называется одномерным, если два — то это таблица из строк и столбцов. Для таблиц первый номер элемента пока­зывает строку, а второй — столбец, на пересечении которых находится элемент. Все строки таблицы имеют одинаковую длину.

Одномерный массив может быть числовой последователь­ностью с известным количеством членов. Так же, как и в по­следовательности, в массиве можно указать элемент с конк­ретным номером, например as, или записать общий вид эле­мента, используя в качестве индекса переменную и указывая диапазон ее изменения: аi,, i = 1, 2, ..., п.

Задачи на обработку массивов могут иметь различную фор­мулировку. Например, начинаться со слов «Дано n чисел...», а далее говорится, что требуется сделать с этими числами. Чтобы решить такую задачу на компьютере с использованием языка программирования Паскаль, необходимо выполнить следующее:

  1. определить, какие числа даны: целые или вещественные (если об этом конкретно не сказано, то лучше считать их вещественными);

  2. назвать весь массив одним именем, которое будет использоваться для каждого элемента, только к нему добавится номер этого элемента (индекс);

  3. описать массив в разделе переменных var, тем самым отведя место в памяти для массива;

  4. ввести данные в память.

108

В описании массива имеется специальное слово array (массив), после которого в квадратных скобках через две точки указывается диапазон изменения номеров элементов, затем слово of (из) и пишется тип данных массива. Встретив описа­ние массива, транслятор отводит для него столько последова­тельных ячеек, сколько указано в квадратных скобках, и тако­го формата, каков тип данных массива. Эту память в програм­ме можно использовать целиком или частично, вычисляя зна­чения элементов массива или вводя их с клавиатуры (либо с диска). Чаще всего номера элементов меняются от 1 до заданного числа п. Поместив значение п в разделе констант (const), в описании можно указать в качестве переменной и последнее значение (верхнюю границу) номера элемента массива.

Пример описания:

const n = 10;