Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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 – его порядковый номер

a=a+5 n=n+1 повторять, пока a<=0

 

Program primer; var a, n: integer; begin a:= -21; n:=1; while a<=0 do begin a:=a+5; n:=n+1; end; writeln(‘n=’, n); readln; end. Program primer; var a, n: integer; begin a:= -21; n:=1; repeat a:=a+5; n:=n+1; until a>0; writeln(‘n=’, n); readln; end.

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

 

Цикл с постусловием

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);

a=1 a=1 a=1 b=1 b=2 b=3 выполняется внутренний цикл по b при a=1
a=2 a=2 a=2 b=1 b=2 b=3 выполняется внутренний цикл по b при a=2

Параметр внешнего цикла не меняет свое значение до тех пор, пока внутренний цикл не завершит свою работу.

Пример: вывести на экран таблицу Пифагора.

 

внутренний цикл
внешний цикл                    
                   
                   
                   
                   
                   
                   
                   
                   
                   


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 натуральных чисел. Найти сумму цифр каждого из них.

повторить 1. Ввести число N 2. Найти сумму его цифр 3. Вывести результат

 

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.

операторы:

Оператор Назначение Синтаксис
For Цикл с параметром For <перем>:=<начальное знач> to <кон.знач> do <оператор>; Значение переменной изменяется от начального значения к конечному с шагом 1. For <перем>:=<нач. знач> downto <конеч. знач> do <оператор>; Значение переменной изменяется от начального значения к конечному с шагом -1
While Цикл с предусловием While <условие> do <оператор>; Цикл выполняется, пока условие истинно.
Repeat Until Цикл с постусловием Repeat <Операторы>; Until <условие>; Цикл выполняется, пока условие ложно.

 


Подпрограммы

 

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

Существует два вида подпрограмм – функции и процедуры. Функция возвращает результат через свое имя, поэтому имя функции ставится в правой части оператора присваивания. Процедура возвращает результат через параметры, поэтому процедура является оператором.

Структура подпрограмм аналогична структуре основной программы, за исключением заголовка.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных