ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Цикл с предусловием.While <условие> do <оператор>; Цикл выполняется, пока условие остается истинным.
Пример. Первоначальный вклад составил S рублей. Через сколько лет сумма вклада более, чем в 2 раза превысит первоначальный вклад, если годовой процент составляет x%. Например, S=1000 р, x=10% 1 год S=1000+1000*10/100=1100 2 год S=1100+1100*10/100=1210
Program primer; Var s, sum, x: real; n: integer; Begin Write(‘S=’); Readln(S); Write(‘x=’); Readln(x); Sum:=2*s; n:=0; S:=0; a:=1; b:=2; While S<=Sum do begin s:=s+x/100; n:=n+1; end; write('через ', n, ‘ лет’); readln end.
Пример 5. Задана арифметическая прогрессия -21; - 16;… Определить номер первого положительного члена прогрессии. a – очередной член прогрессии, n – его порядковый номер
Примечание: необходимо учитывать следующую особенность: команды, составляющие тело цикла, должны содержать по крайней мере, одну команду, влияющую на значение логического выражения (условия).
Цикл с постусловием Repeat <опреаторы>; Until <условие> Оператор повторяет последовательность команд пока условие не станет истинным. Этот цикл всегда выполняется хотя бы 1 раз.
Пример. Найти сумму цифр введенного натурального числа.
Program primer; var a, n, s: integer; begin Write(‘n=’); Readln(n); S:=0; repeat a:=n mod 10; s:=s+a; n:=n div 10; until n=0; writeln(‘s=’, s); readln; end.
Пример 6. Протабулировать (вывести на экран таблицу значений) функции y=2x+1 интервале [-3; 3] с шагом 0.5. x= - 3 y=… x= - 2.5 y=… … x=3 y=…
Program primer; var x, y: real; begin x:=0; repeat y:=sqrt(sqr(sin(x)+2)); writeln(‘x=’, x:6:2, ‘y=’, y:8:4); x:=x+0.2; until x>1; readln; end.
Пример 7. Вычислить сумму с заданной точностью E=0.0001. Program primer; Var S, e, slag: real; k: integer; begin e:=0.0001; s:=0; k:=1; slag:= k/sqr(k+1); repeat s:=s+slag; k:=k+1; slag:=k/sqr(k+1); until slag<e; write (‘s=’, s:6:2); readln; end.
Вложенные циклы Циклическая конструкция может содержать в теле цикла другой цикл. Такие конструкции называют вложенными циклами. Глубина вложения и тип циклов может быть различными. Например, a) For... do – внешний цикл While... do – внутренний цикл (в данном случае глубина = 2) b) While... do For... do Repeat ... Until (глубина =3) Рассмотрим механизм работы вложенных циклов на примере: For a:=1 to 2 do For b:=1 to 3 do Writeln(‘a=’, a, ‘ b=’, b);
Параметр внешнего цикла не меняет свое значение до тех пор, пока внутренний цикл не завершит свою работу. Пример: вывести на экран таблицу Пифагора.
Program primer; var i, j: integer; begin for i:=1 to 9 do begin for j:= 1 to 9 do write(i*j:4); writeln; end; readln; end.
Внутренний цикл формирует каждую строку таблицы. Writeln – перевод курсора на новую строку.
Пример. Вводятся k натуральных чисел. Найти сумму цифр каждого из них.
Program primer; var n, s, a, i, k: integer; begin write (‘k=’); readln(k); for i:=1 to k do begin Write(‘n=’); readln (n); s:=0; Repeat a:=n mod 10; s:=s+a; n:=n div 10; until n=0; writeln (‘s=’,s); end; readln; end. операторы:
Подпрограммы
Подпрограмма – это последовательность действий, которые можно выполнять в различных местах программы для различных исходных данных. Данные передаются в подпрограмму через параметры или глобальные переменные. Существует два вида подпрограмм – функции и процедуры. Функция возвращает результат через свое имя, поэтому имя функции ставится в правой части оператора присваивания. Процедура возвращает результат через параметры, поэтому процедура является оператором. Структура подпрограмм аналогична структуре основной программы, за исключением заголовка.
Не нашли, что искали? Воспользуйтесь поиском:
|