GotoXY в Pascal.

Процедура GotoXY используется в Pascal для перевода курсора в нужную позицию на экране. Для этой процедуры указываются координаты. После указания процедуры GotoXY в коде программы сообщение будет выводиться на экран в тех координатах, которые мы ...

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

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

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

В данной статье описывается структура программы в 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.


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