Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Логические и символьные константы.

В данном уроке будет рассмотрено применение логических и символных констант. Логическая константа может принимать только 2 значения, либо True, либо False. В качестве значения символьной константы могут использоваться любые символы, которые есть в ...

Циклы и массивы

Вложенные итерационные циклы.

Под вложенным итерационным циклом понимают такую алгоритмическую структуру, при которой в тело одного итерационного цикла включен другой итерационный цикл. Другими словами, любая составная ...

Вложенный арифметический цикл. Часть 2.

Примеры использования различных операторов цикла. Вложенный цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

Другими словами составная инструкция:

FOR      I :=...
DO       FOR J:=...
             DO    ...
является признаком вложенного арифметического цикла.
Пример 20. Вычислить

Vlozhennihyj arifmeticheskiyj cikl

Для решения этой задачи необходима дополнительная переменная, как иногда говорят, рабочая ячейка R для накопления в процессе вычисления S вложенной суммы:

Vlozhennihyj arifmeticheskiyj cikl.

PROGRAM PR20;
VAR     
R, S: REAL;
К, P: INTEGER;
BEGIN
S:=0;
FOR K:=1 TO 10
DO BEGIN
       R:=0;
       FOR  P:=1 T0 15
       DO R := R + SQR(K - P);
       S:=S + K*K*K*R
       END;
WRITELN('S=', S:10:8)
END.

Vlozhennihyj arifmeticheskiyj cikl..

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

Пример 21. Используя вложенный цикл, определить число счастливых билетов S, номера которых меняются от 000001 до 999999.
В основе алгоритма решения этой задачи лежит принцип десятичного счетчика, имеющего шесть разрядов. Роль разрядов играют индексы в следующем порядке I, J, К, L, М, N. Счастливым называется такой номер, у которого три левых разряда в сумме равны сумме трех правых разрядов, то есть I+J + K = L + M + N.
PROGRAM PR21;
VAR     
S: REAL;
I, N, J, K, L, M: INTEGER;
BEGIN
S:=-l;
FOR I := 0 TO 9
DO FOR J:=0 TO 9
         DO FOR  K:=0 TO 9
                  DO FOR  L:=0 TO 9
                           DO    FOR  M:=0 TO 9
                                       DO    FOR N:=0 TO 9
                                                   DO   
                                                   IF      I+J + K = L+M + N
                                                   THEN S:=S+ 1;
WRITELN('ЧИСЛО счастливых билетов = ', S:6:0)
END.
В связи с тем, что номер 000000 в катушке билетов отсутствует, то этот номер нужно вычесть из найденного числа. Это можно сделать разными способами. В предложенном алгоритме это реализовано так S := -1. Это решение логично. При исходном состоянии счетчика: I = 0, J = 0, К = 0, L = 0, М = 0, N = 0, условие  I + J + K = L +М + N принимает значение TRUE, и S становится равным нулю S = -1 + 1 = 0. Таким образом, все переменные приняли исходное значение для дальнейших расчетов. Вы можете купить ноутбук для игр по оптимальной и доступной цене. Игровые ноутбуки можно купить недорого от лучших мировых производителей компьютерной техники.

Vlozhennihyj arifmeticheskiyj cikl...Основным достоинством вложенного цикла является возможность в выражениях (в заголовке цикла или его теле) использовать параметры внешних циклов. Например, в описанном выше примере, в теле цикла с параметром N используются также текущие значения параметров I, J, К, L, М внешних циклов по отношению к этому циклу. К параметрам внутренних циклов из внешнего цикла не должно быть обращений. Транслятор с Паскаля такие обращения не проверяет, но для внешних циклов значения параметров внутренних циклов не определено. Допускается выход из тела цикла FOR ... DO ... любого уровня вложения на любой предыдущий уровень до полного завершения цикла с помощью оператора GOTO, но не рекомендуется это делать. При выходе из цикла (досрочном или нормальном) значение параметра цикла становится неопределенным. Можно непосредственно из цикла завершить работу программы. Для этой цели используют оператор HALT [(Код)], где код — это необязательный параметр, представляющий собой целое число типа WORD, которое является кодом возврата вашего ЕХЕ модуля.


Предыдущая статья: Арифметический цикл с рекуррентной зависимостью.
Оглавление: Лекции по Pascal.
Следующая статья: Вложенный арифметический цикл. Часть 2.


Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальЛекции по Паскаль