Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_учебник_3.doc
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
937.47 Кб
Скачать

Таким образом изображаются циклы в структурных схемах (в лабораторных работах, курсовых работах и т.Д.). Пример 5

Вычислить сумму первых ста целых чисел.

Решение

Как мы вычисляем сумму вручную?

1+2+3+4+...+100 Сначала мы складываем 1 и 2. Результат запоминаем. Затем результат складываем с 3. Новый результат запоминаем. И т.д. Программу надо составить так, чтобы она делала то же самое. Но, чтобы она запоминала результат, надо завести переменную и ей присваивать значение результата.

. . .

S

В конце концов в этой переменной накопится вся сумма. До того, как мы начали складывать, у нас сумма была равна 0. Следовательно, сначала S=0. Потом мы запоминаем 1-й элемент:

S=S+1.

S станет равно 1. Затем прибавляем следующий:

S=S+2,

после чего S станет равно 3 и т.д. То есть S последующее равно S предыдущему плюс очередное число, которое мы должны прибавить:

S=S+i.

В этих выражениях 2-е слагаемое изменяется от i=1 до 100 с шагом 1.

В общем виде получаем следующую запись:

То есть для i, изменяющегося от 1 до 100, надо вычислять по формуле:

S=S+i.

Напишем то же самое на языке PASCAL:

for i:=1 to 100 do

s:=s+i;

Программа будет иметь вид:

var

i,s:integer;

begin

{ВЫЧИСЛЕНИЕ СУММЫ}

s:=0;

for i:=1 to 100 do

s:=s+i;

writeln(s)

end.

Произведение вычисляется аналогично, но Sсначала (до цикла) приравнивается к единице, а не к нулю, т.к., если умножать на ноль, - всегда будет НОЛЬ, и вместо знака «плюс» в цикле будет знак «умножить». В этом примере надо будет заменить тип уSнаlongint, т.к. в результате будет довольно большое число и типintegerне подойдет. В результате произведение будет вычислено так:

var

i:integer;

s: longint;

begin

{ВЫЧИСЛЕНИЕ ПРОИЗВЕДЕНИЯ}

s:=1;

for i:=1 to 100 do

s:=s*i;

writeln(s)

end.

Задания

№12. Написать программу для вычисления значения выражения

№13. Написать программу для вычисления значения величины

№14. Написать программу для вычисления значения выражения

A1*B50+A2*B49+A3*B48+...+A49*B2+A50*B1.

№15. Написать программу для вычисления значения выражения

№16. Написать программу для вычисления значения выражения

На О.О.Ф. функцию не исследовать. Считать, что все исходные данные удовлетворяют О.О.Ф.

№17. Написать программу для вычисления значения выражения

Указание. Так как заранее неизвестно количество элементов в массиве Х, а его необходимо обязательно описать, то мы допустим, что наша программа будет вычислять значение данного выражения при максимальном количестве элементов в массиве Х, равном, например, 100. Теперь можно описать одномерный массив из 100 элементов (тем самым мы зарезервируем память для этих 100 элементов):

Var

X:array [1..100] of real;

Итак, наша программа будет работать, если количество элементов в массиве Х будет меньше или равно 100.

Чтобы программе было известно, cколько же фактически элементов (n) в массиве Х в каждом конкретном случае, n надо ввести:

read(n);

Теперь можно ввести фактический массив Х:

for i:=1 to n do

read(x[i]);

Например, при n=5 будем вводить массив Х, состоящий из пяти элементов.

Конечно, необходимо описать переменные i и n.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]