ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Программирование циклических алгоритмовВ Паскале существуют 3 оператора цикла:
7.1.Цикл с постусловием («До») Repeat M1; M2; : Mk; Until N; Блок - схема
:
:
- +
Repeat – повторять; Until – до; M1, M2,…, Mk – группа операторов, они называются операторами тела цикла. N – выражение, имеющее логическое значение (условие выхода из цикла) Выполняется: 1. Выполняются операторы M1, M2,…, Mk; 2. Вычисляется значение N; 3. Если N – True, то оператор цикла заканчивает свою работу, иначе перейти к пункту 1 Среди операторов тела цикла обязательно должен присутствовать оператор, изменяющий значение выражения N; Задача 1. Найти произведение чисел от 1 до 10. Решение: Program Ci1; Var K:Integer; P:Real; Begin K:=0;P:=1; Repeat K:=K+1; P:=P*K; Until K=10; Writeln(’P= ’,P:10:5); End. Задачи: 1. Даны числа от 1 до N. Найти:а) сумму всех чисел; б) произведение всех чисел; в) среднее арифметическое. 2. Вычислить сумму всех двузначных чисел. 3. Вычислить сумму чисел: S=1+3+5+…+R где R-нечетное. 4. Вычислить произведение чисел: P=2+4+6+…+R где R-четное. 5. Найти значения функции y=x2 при х=1,3,5,…,15. 6. Найти значения функции р=(р2+15) при р=2,4,6,…,20. 7.2.Оператор цикла с предусловием «Пока» While N do M;
- +
While – пока; Do – выполнять; N – выражение, имеющее логическое значение (условие входа в цикл); M – любой оператор в единственном числе. Если по смыслу задачи надо повторять группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки). Этот оператор или группа операторов называется телом цикла; Выполняется: 1. Вычисляется значение N; 2. Если N – True, то выполняется оператор M (группа операторов), иначе оператор цикла заканчивает свою работу; 3. Перейти к пункту 1. Среди операторов тела цикла обязательно должен присутствовать оператор, изменяющий значение выражения N; Задача 2. Даны числа от 1 до N (N – четное). Найти: S= Решение: Program Ci2; Var K,N:Integer; S:Real; Begin Writeln(’Введите четное число’); Readln(N); K:=0;S:=0; While K<N do Begin K:=K+2; S:=S+1/K; End; Writeln(’S= ’,S); End. Задачи: 1. Даны числа от 1 до N. Найти: Р= 2. Даны числа от 1 до N (N – нечетное). Найти: S= 3. Найти значение Х: Х=(1*3*5*…*N)/(1+3+5+…+N) (N – нечетное). 4. Даны числа от 1 до N. Вычислять: S= вплоть до слагаемого, меньшего заданного Е (Е<1). 5. Вычислить среднее арифметическое чисел K,K+1,K+2,…,K+N; (K<N). 6. Вычислить сумму чисел: S=N+(N+1)+(N+2)+(N+3)+…+(N+R); (N<R). 7. Вычислить произведение чисел: P=N*(N+1)*(N+2)*(N+3)*…*(N+R); (N<R). 8. Вычислить: P=1+(1*2)+(1*2*3)+(1*2*3*…*R). 9. Вычислить: P=1*(1+2)*(1+2+3)*(1+2+3+…+R). 10. Найти значения функции M=N2-N при N={2,4,6,…,T} (T-четное). 11. Найти значения функции X=Y2 *(Y 2 -Y)/Y при Y={N,N*1,N*2,…,N*M} (N<M).
Цикл с параметром Оператор цикла с параметром имеет 2 модификации: For K:=N1 to N2 do M; (с возрастанием параметра) For K:=N1 downto N2 do M; (с убыванием параметра) - +
For – для; To – до; Downto – уменьшая до; K – переменная порядкового типа (Integer, Char, Boolean), называется параметром цикла; N1, N2 – выражение, имеющее значение того же типа, что и параметр K; M – любой оператор в единственном числе; Если по смыслу задачи надо повторять группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки): Выполняется: 1. Вычисляется значение N1, N2; 2. K:=N1; 3. Проверяется условие: - K<=N2 (to) - K>=N2 (downto) 4. Если условие не выполнено, то выполнение оператора цикла заканчивается. Иначе выполняется оператор M; 5. K – получает приращение: - K:=succ(K) (to); - K:=pred(K) (downto); 6. Переход к пункту 3; В турбо Паскале в отличие от Бейсика цикл с параметром реализован как цикл «пока» и значит оператор M может ни разу не выполнится.
Задача 3. Вывести коды всех строчных символов латинского алфавита. Решение: Program Ci3; Var S:Char; Begin For S:=’a’ to ’z’ do Writeln(’У символа - ’,S,’ код ’,Ord(S)); End. Задача 4. Вывести на экран цифры в обратной последовательности Решение: Program Ci4; Var R:Integer; Begin For R:=9 downto 1 do Write(R,’ ’:4); End. Задача 5 Вывести на экран 10 случайных чисел в диапазоне от 0 до 100. Решение: Program Ci4; Const X=100; Var Y,R:Integer; Begin Randomize; {инициализирует генератор случайных чисел} For R:=1 to 10 do Begin Y:=Random(X); Writeln(R,’=’,Y); End; End. Не нашли, что искали? Воспользуйтесь поиском:
|