Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_Delphi_1.doc
Скачиваний:
14
Добавлен:
18.09.2019
Размер:
1.64 Mб
Скачать

6.Циклы с заданным числом повторений

Подготовка к работе

1. По указанной литературе изучить:

  • организацию циклов с известным числом повторений;

  • возможности языка для организации таких циклов с помощью операторов с параметром for...to...do и for...downto...do.

2. Разработать алгоритм решения задач.

3. Составить программы решения задач.

Контрольные вопросы

  1. Преимущества использования операторов циклов в программе.

  2. Оператор цикла for...to...do.

  3. Оператор цикла for...downto...do.

  4. Разница между операторами for...to...do и for...downto...do.

  5. Требования к переменной цикла в операторах for...to...do и for...downto...do.

  6. Организация вычисления суммы.

  7. Организация вычисления произведения.

Задание к работе

  1. Вычислить значения функции с использованием оператора цикла for...to...do. Проект – консольное приложение.

  2. Вычислить значения функции с использованием вложенных операторов цикла for...to...do. Проект – консольное приложение.

Варианты заданий даны в табл. 6 .5.

табл. 6.5. Варианты заданий

Задача 1

Задача 2

a = 2.8; x = 5.1; c = 1.8; b = 0.81

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Пример выполнения

Задание 1

Вычислить

Блок-схема алгоритма задания представлена на рис. 6 .12.

рис. 6.12. Блок-схема алгоритма задания 1

В блоке 1 вводится значение переменной х. Блок 2, задающий начальное значение суммы, стоит перед циклом, в котором она накапливается. Блок 3 - цикл с известным числом повторений. В его теле блок 4 вычисляет значение слагаемого x2/i и накапливает сумму. Результат представляет собой одно число, которое выводится блоком вывода 5. В блоке 6 организуется пауза, чтобы пользователь увидел результат.

Листинг программы:

program Prg_6_1;

{$APPTYPE CONSOLE} // Директива компилятора

uses

SysUtils, RusTrans; // Ссылка на модули

var

x,z: real;

i: integer;

begin

writeln(Rus('Введите х:')); // Ввод x

readln(x);

z:=0; // Обнуление суммы

for i:=1 to 20 do z:=z+(sqr(x)/i); // Накопление суммы

writeln;

writeln(Rus(‘Результат’)); // Заголовок результата

writeln('x=', x:8:3, ' z=', z); // Вывод результата

readln; // Ожидание клавиши Enter

end.

Задание 2

Вычислить

Блок-схема алгоритма задачи представлена на рис. 6 .13.

В блоке 2 присваивается начальное значение 1 произведению t. Блок 3 открывает цикл по переменной n для формирования произведения. В теле цикла готовится очередной сомножитель в виде суммы. Блок 4 обнуляет значение переменной s, в которой происходит накапливание суммы. Блок 5 открывает цикл для вычисления очередной суммы. Формирование произведения осуществляет блок 7. Блок 8 выводит итоговое значение произведения. В алгоритме для разнообразия один цикл реализован оператором for...to...do, а другой - оператором for...downto...do.

Листинг программы:

program Prg_6_2;

{$APPTYPE CONSOLE} // Директива компилятора

uses

SysUtils, RusTrans; // Ссылка на модули

var

x,s,t: real;

I,j: integer;

begin

writeln(Rus('Введите х:')); // Ввод x

readln(x);

t:=1; // Инициализация произведения

for i:=1 to 10 do // Цикл произведения

begin

s:=0; // Обнуление суммы

for j:=10 downto 1 do s:=s+Cos(i*j*x); // Цикл

t:=t*s;

end;

writeln;

writeln(Rus(‘Результат’)); // Заголовок результата

writeln('x=', x:8:3, ' t=', t); // Вывод результата

readln; // Ожидание клавиши Enter

end.

рис. 6.13. Блок-схема алгоритма задания 2

Выводы

  1. Для организации циклов с известным числом повторений применяются операторы:

  • Инкрементный: for i:=<начальное значение> to <конечное значение> do <оператор>. В нем переменная индекса цикла I увеличивается с шагом 1.

  • Декрементный: for i:=<начальное значение> downto <конечное значение> do <оператор>. В нем переменная индекса цикла I уменьшается с шагом 1.

  1. Переменная индекса цикла должна быть порядкового типа (например, Integer).

  2. Если в теле цикла используется много операций, то их нужно оформить, как составной оператор, с помощью операторных скобок beginend.

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