Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование алгоритмов циклической структурыСодержание книги Поиск на нашем сайте Программы циклической структуры могут быть организованы с помощью следующих операторов IF, FOR, WHILE, REPEAT. Условный оператор IF требует задания начального параметра цикла, проведения в цикле вычисления с этим параметром, изменения его на величину шага и проверки условия окончания цикла. Если цикл не закончен, то вычисления продолжаются. Пример 5. Составить схему алгоритма и программу для вычисления выражения. Схема алгоритма и программа имеют вид: Схема алгоритма и программа имеют вид:
LABEL 3; VAR X,Y: REAL; I,N:INTEGER; BEGIN WRITELN(‘ВВЕСТИN,X’); READ(N, X); Y:=Ø; I:=1; 3: Y:=Y+COS(I+SQR(X)/4); I:=I+I; Рис. 4 IF X<=N THEN GOTO 3; WRITELN(‘N=’,N); WRITELN(‘X=’,X, ‘ ‘,’Y=’,Y); END. Оператор цикла FOR используется для организации цикла с известным числом повторений. При этом различают две формы записи: А) с организацией счета при изменении параметра цикла от начального (меньшего) значения до конечного (большего) значения этого параметра цикла. Такой оператор цикла имеет вид: FOR K:=NZ TO KZ DO Б) с организацией счета при изменении параметра цикла от начального(большего) значения до конечного(меньшего) значения этого параметра. Этот оператор имеет вид: FOR K: = NZ DOWNTO KZ DO Где К- параметр цикла (целочисленная переменная), NZ, KZ-выражения, задающие соответственно начальное и конечное значения параметра цикла; S–простой или составной оператор (тело цикла). Оператор цикла выполняется следующим образом. Параметру цикла К присваивается начальное значение NZ. Затем уравнение передается в тело цикла и выполняется оператор S, после выполнения которого параметр цикла меняет свое значение на единицу(шаг изменения параметра цикла). При этом шаг равен +I, если используется оператор цикла с ключевым словом TO(случай а), а если используется оператор цикла с ключевым словом DOWNTO (случай б), то шаг равен –I. Далее измененное значение параметра цикла сравнивается с конечным значением KZ и, если параметр цикла не превышает К(случай а) или превышает KZ (случай б), то управление передается в тело цикла и выполняется оператор S; в противном случае осуществляется выход из цикла. Рассмотрим фрагменты записи операторов цикла: VARY,I: INTEGER; 1) Y:=0; FOR I=3 TO 5 DO Y=Y+1; 2) Y:=0; FOR I=12 DOWNTO 6 DO Y:=Y+1; В результате выполнения первого оператора цикла параметр цикла I будет изменяться от начального значения I=3 до конечного значения I=5 с шагом, равным +I, причем после окончания цикла значения переменной Y=3. При выполнении второго оператора цикла параметр цикла I будет изменяться от начального значения I=I2 до конечного значения I=6 с шагом, равным –I. После окончания цикла Y=7. Пример 6. Используя условия примера 5 программу с изменением оператора цикла FOR. PROGRAM SUM; VAR X,Y: REAL; I,N: INTEGER; BEGIN WRITELN(‘ВВЕСТИN,X ‘); READ(N, X); Y:=Ø; FOR I:=1 TO N DO Y:= Y+ COS (I+SQR(X)/4); WRITELN (‘N=’, N,’ ‘, ‘X=’,X); WRITELN(‘Y=’,Y); END. Оператор цикла WHILE позволяет организовать цикл, количество повторений которого зависит от включенного в него условия, т.е цикл с неизвестным числом повторений. Этот оператор имеет вид WHILE LV DO Где LV- логическое выражение; S- простой или составной оператор. Выполнение оператора начинается с проверки выражения LV. Если логическое выражение имеет значение TRUE, то выполняется оператор S. Выполнение оператора S продолжается до тех пор, пока значение выражения LV не станет равным FALSE. В этом случае уравнение передается оператору, следующему за оператором S. Если же выражение LV имеет значение FALSE при первоначальной проверке, то оператор S не выполняется ни разу. При этом, чтобы выйти из цикла, внутри его должно быть организовано изменение значений переменных, входящих в логическое выражение. Иначе оператор цикла будет выполняться бесконечное число раз. Пример 7. Составим программу, используя условия примера 5. Программа запишется в виде: PROGRAM SUMWHL; VARX,Y: REAL; I,N:INTEGER; BEGIN WRITELN(‘ВВЕСТИN,X’); READ(N,X); Y:=Ø; I:=1; WHILE I<=N DO BEGIN Y=Y+ COS(I+SQR(X)/4); I:=I+1; END; WRITELN(‘N=’,N,’ ‘,’X=’,X); WRITELN(‘Y=’,Y); END. Оператор цикла REPEAT также позволяет организовать цикл с неизвестным числом повторений. Такой оператор имеет вид: REPEATS UNTILLV где S – простой или составной оператор; LV- логическое выражение. Выполнение оператора REPEAT начинается с вычисления оператора S и продолжается до тех пор, пока не выполняется LV т.е. когда значение этого логического выражения равно FALSE. Это означает, что проверка LV проводится после каждой итерации и в случае принятия LV значения TRUE осуществляется выход из цикла. При использовании составного оператора S операторные скобки (BEGIN и END) не требуются. Кроме того оператор, стоящий перед словом UNTIL, не имеет после себя точку с запятой. Пример 8. Задан массив вещественных чисел, состоящий из десяти элементов. Требуется вывести четные элементы этого массива. Программа имеет вид: PROGRAM MAS; VAR I: INTEGER; A: ARRAY[1…10] OF REAL; BEGIN WRITELN(‘ ВВЕСТИМАССИВ(1..10)’); FOR I:=1 TO 10 DO; READ (A[I]); I:=0; REPEAT I=I+2; WRITE (A[I]:5:2) UNTIL I>10; END.
|
|||||||||||
|
Последнее изменение этой страницы: 2021-07-18; просмотров: 131; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.008 с.) |