Мегаобучалка Главная | О нас | Обратная связь


Пример 4.2п. Операторы цикла. Часть II



2015-12-06 326 Обсуждений (0)
Пример 4.2п. Операторы цикла. Часть II 0.00 из 5.00 0 оценок




 

Согласно заданию нужно вычислить следующее выражение:

в зависимости от N.

 

Сначала определимся, какие переменные понадобятся при написании программы. Понадобиться переменная N - количество элементов произведения, которая будет целого типа, а ее значение будет задаваться с клавиатуры. Понадобится еще четыре переменные: a, b - будут отвечать за числитель и знаменатель первой дроби в круглых скобках и c, d - числитель знаменатель второй дроби. Эти переменные так же будут целого типа. Повторяющимися действиями в этой задаче будет: вычисление нового элемента произведения и добавление его в произведение. Следовательно, понадобиться еще одна переменная, обозначим ее как p, в которую будет накапливаться произведение всех элементов. Она будет вещественного типа, т.к. элементами произведения являются величины, представляющие собой сумму двух дробей. Так же понадобиться еще одна переменная, которая будет выступать в качестве счетчика арифметического цикла, обозначим ее как i. Так как в теле цикла нужно, чтобы выполнялось несколько вычислений (числителей, знаменателей и произведения элементов), то тогда для арифметического и цикла с предусловием необходимо использовать составной оператор. В программе реализуется два способа вычисления нового значения числителя и знаменателя. Первый способ - числитель и знаменатель вычисляются через номер элемента произведения, этот способ реализован в арифметическом операторе цикла и в операторе цикла с постусловием. Второй способ - числитель и знаменатель дробей вычисляются через предыдущие значения числителя и знаменателя соответственно, этот способ реализован в операторе цикла с предусловием. Таким образом, результатом будет следующая программа.

 

Var a,b,c,d,i,N:integer;

p:real; {раздел описания переменных}

begin {начало раздела операторов}

readln(N); {задание значения N через оператор ввода}

p:=1; {задание начального результата произведения}

for i:=1 to N do {арифметический цикл}

begin {начало составного оператора}

a:=round(exp(i*ln(2))); {вычисление значения a в зависимости от номера элемента произведения}

b:=i+2; {вычисление значения b в зависимости от номера элемента произведения}

c:=29-2*i; {вычисление значения c в зависимости от номера элемента произведения}

d:=2+2*i; {вычисление значения d в зависимости от номера элемента произведения}

p:=p*(a/b+c/d); {добавление элемента в произведение}

end; {конец составного оператора}

writeln('for = ',p); {вывод полученного результата произведения на экран}

 

p:=1; {задание начального результата произведения}

a:=2; b:=3; {задание начальных значений числителя и знаменателя 1 дроби}

c:=27; d:=4; {задание начальных значений числителя и знаменателя 2 дроби}

i:=1; {задание номера первого элемента добавляемого в произведение}

while i<=N do {оператор цикла с предусловием}

begin {начало составного оператора}

p:=p*(a/b+c/d); {добавление элемента в произведение}

a:=2*a; {вычисление значения a через предыдущее значение}

b:=b+1; {вычисление значения b через предыдущее значение}

c:=c-2; {вычисление значения c через предыдущее значение}

d:=d+2; {вычисление значения d через предыдущее значение}

i:=i+1; {увеличение номера элемента на 1}

end; {конец составного оператора}

 

writeln('while = ',p); {вывод полученного результата произведения на экран}

 

p:=1; {задание начального результата произведения}

i:=1; {задание номера первого элемента добавляемого в произведение}

repeat {начало оператора цикла с постусловием}

a:=round(exp(i*ln(2))); {вычисление значения a в зависимости от номера элемента произведения}

b:=i+2; {вычисление значения b в зависимости от номера элемента произведения}

c:=29-2*i; {вычисление значения c в зависимости от номера элемента произведения}

d:=2+2*i; {вычисление значения d в зависимости от номера элемента произведения}

p:=p*(a/b+c/d); {добавление элемента в произведение}

i:=i+1; {увеличение номера элемента на 1}

until i>N; {конец оператора цикла с постусловием}

writeln('repeat= ',p); {вывод полученного результата произведения на экран}

 

readln; {ожидание нажатия клавиши Enter}

end. {конец программы}

 

Пример 4

Найти сумму квадратов всех натуральных чисел от 1 до 100.

Var A : Integer; S : Longint;

Begin

A:=1; S:=0;

Repeat

S:=S+A*A;

A:=A+1

Until A>100;

Writeln(S)

 

End.

 

 



2015-12-06 326 Обсуждений (0)
Пример 4.2п. Операторы цикла. Часть II 0.00 из 5.00 0 оценок









Обсуждение в статье: Пример 4.2п. Операторы цикла. Часть II

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (326)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)