Abs, Sqr в Pascal.

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

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

Структура программы в Паскаль.

В данной статье описывается структура программы в Pascal, описывается каждый раздел, который может присутствовать в программе.

Алфавит языка Паскаль.

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

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

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

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.


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

   ГлавнаяПаскальЛекции по ПаскальРазветвляющийся вычислительный процесс.