67975

Програмна реалізація алгоритмів циклічної структури

Практическая работа

Информатика, кибернетика и программирование

Цикл – оператор за допомогою якого деяку дію можна виконати кілька разів, залежно від деякої умови. Кожне повторення дії називається кроком циклу або ітерацією. Цикл складається з тіла циклу, тобто тих операторів, які виконуються кілька разів, початкових установок, модифікації параметра...

Украинкский

2014-09-16

162 KB

0 чел.

i: Практична робота №6 до лекції №16. 

Практична робота № 6

Програмна реалізація алгоритмів циклічної структури

Мета роботи -  ознайомитися з прийомами програмування обчислювального  циклічної структури.

Тими для попереднього опрацювання:

Реалізації обчислювальних процесів циклічної структури з використанням оператору циклу FOR.

Варіанти індивідуальних завдань.

Див. додаток 1.

Теоретична частина.

 Цикл – оператор за допомогою якого деяку дію можна виконати кілька разів, залежно від деякої умови. Кожне повторення дії  називається  кроком циклу або ітерацією.

Цикл складається з тіла циклу, тобто тих операторів, які виконуються кілька разів, початкових установок, модифікації параметра циклу і перевірки умови продовження виконання циклу. Цілочисельні параметри циклу,  що змінюються з постійним кроком на кожній ітерації, називаються  лічильником циклу.

Перевірка умови виконується на кожній ітерації. Якщо перевірка виконується  до тіла циклу,  тоді говорять про цикл з|із| передумовою, який може не виконатися жодного разу.

Цикл з предумовою

for|([початкові установки|];[умова];[кінці оператори|])

{

   оператор;

   оператор;

   ...

}


Приклад розв’язання завдання.

Приклад 2. Обчислити суму перших n членів ряду за формулою

                    , де  n змінюється від 0 до деякого значення, введеного з клавіатури .

Розробка алгоритму розв’язання.

Загальний метод розв’язання.

Процес підрахунку суми членів ряду має бути ітераційним: слід повторювати обчислення за однією і тією ж формулою при значеннях n=0, 1, 2, .. . Отримане значення слід додавати до змінної, яка представляє суму.

Алгоритм обчислення 2n  

Для цієї операції можна застосувати функцію  pow(x, y). Скористаємося  ефективнішим способом:

20 = 1

21 = 2 = 2 *20

22 = 4 = 2*21

23 = 8 = 2*22  и т.д.

Таким чином, на кожній ітерації циклу значення цього виразу удвічі більше, чим на попередній. Тому, виділимо окрему змінну для збереження значення 2n . Її початкове значення має бути 20 = 1. у кінці кожної ітерації воно повинне подвоюватися.

Алгоритм обчислення (- 1) n

В цьому випадку також недоцільно застосовувати функцію піднесення до ступеня.

Значення цього виразу буде 1 при парних значеннях n і - 1 - при непарних. Тому, можна виділити змінну для збереження значення цього виразу.

Її початкове значення має бути (-1)0 = 1, а у кінці кожної ітерації воно повинне міняти знак на протилежний.

Вхідні дані:

n - кількість членів ряду.

Вихідні дані:

sum - торба членів ряду.

Проміжні дані:

k2 - 2n  

k1 - (-1)n 

і – лічильник цикла.

Блок-схема алгоритму

         

Для реалізації алгоритму визначимося з діапазоном зміни значень :

n

Ціле число.

і

Ціле число. Проте,  результати виразів, в яких використовується і, матимуть дробову частину. Перетворення типів можна виконувати безпосередньо при обчисленні виразу, але щоб заздалегідь виключити помилки, введемо ще одну змінну - dbi, яка представлятиме значення n як числа з плаваючою точкою: double dbi;

sum

  double sum=0;

k2

""довге ціле": long long int.  Значення 2n може бути досить великим. Максимальне значення  n= 62. Для int n=30.

k1

""коротке ціле":  short k1=1;

Виведення результату.

Результат з фіксованою точкою, 7 знаків після коми.

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

cout.setf(ios::fixed);

cout<<setprecision(7);

int n;

cin>>n;

double dbi, sum=0;

long long int k2=1;              // pow(2,n)

int k1=1;       // pow(-1,n)

for (int i=0; i<=n ; i++, k2*=2, k1=-k1)

{

   dbi=n;      

 sum+=k1*(dbi+1)/(dbi*dbi+k2);

 cout<<i<<"\t"<<sum<<"\t"<<k2<<endl;  // отладка

}

cout<<"\nПолная сумма "<<n<<" членов ряда равна "<<sum<<endl;  

 

cout<<endl;

system("pause");

}     

 Результат.

5

0       0.2307692       1

1       0.0085470       2

2       0.2154436       4

3       0.0336254       8

4       0.1799668       16

5       0.0747037       32

Полная сумма 5 членов ряда равна 0.0747037


Індивідуальні  завдання

Варіант 1

Варіант 2

Варіант 3

Варіант 4

Варіант 5

Варіант 6

Варіант 7

Варіант 8

Варіант 9

Варіант 10

Варіант 11

Варіант 12

Варіант 13

Варіант 14

Варіант 15

Варіант 16

Варіант 17

Варіант 18

Варіант 19

Варіант 20

Варіант 21

Варіант 22

Варіант 23

Варіант 24

Варіант 25

Варіант 26

Варіант 27

PAGE  1

FILENAME \p C:\TEXNICUM_2012\CI_2012\Lesson_C_11_Mathematics_Function\Lab\C_03_Function_Math_LAB_L11_Metodichka_ukr.doc  DATE \@ "M/d/yyyy" 11/25/2012


Начало

sum=0; i=0;

k1=1; k2=1

i <=n ?

sum=sum+k1* EMBED Equation.3  

k1= - k1;

k2=2*k2;

i=i+1

Печать sum

конец

да

нет


 

А также другие работы, которые могут Вас заинтересовать

23976. Общая характеристика культуры эллинизма 26 KB
  Особенности искусства: влияние Востока интерес к быту и к частному человеку космополитизм Влияние востока на уровне религии: культ богини Тихэ случая культ Исиды сближается с Деметрой культ Осириса культ Кибелы В то же время в Грецию проникает иудаизм интерес к пышности роскоши изысканности – коринфский ордер. интерес к огромным сооружениям. Фаросский маяк Колосс Родосский огромные корабли интерес к дороговизне украшений симпатии к обожествлению правителей среди ораторов стиль азионизм – туманность речи. Интерес...
23977. Новоаттическая комедия. Менандр 30.5 KB
  повар хвастается блюдами – остался от пира в древнеаттической комедии. частные повседневные отношения; его действующие лица заурядные люди с мелкими страстями с обычными вожделениями и ошибками поставленные в забавные положения; индивидуализации глубокого анализа характеров и преобладающих личных свойств героев нет ещё; общие типы часто повторяющиеся даже под одними и теми же именами только в различной обстановке такова отличительная черта Менандровой комедии. Для римской сцены переделаны были Теренцием 4 комедии М. Душу...
23978. Александрийская поэзия. Каллимах 22.5 KB
  Александрийская поэзия. ученая поэзия рассчитана на узкий круг подготовленной публики поэзия для эстетов.
23979. Феокрит (305-240) – создатель идиллии 13.69 KB
  Три группы идиллий: бытовая мифологическая воришка мёда буколики – пастушеские идиллии. В идиллии не проникает внешний мир. Идиллии написаны гекзаметром.
23980. Греческая литература Римского периода 24.5 KB
  Литература: Риторика: В эллинистическую эпоху распространился азиантский стиль – пафосный но очень сложный. В римский период – реакция на азиантский стиль – аттицизм – возродить стиль древних ораторов. Стиль более простой.
23981. Творчество Плутарха 33 KB
  Творчество Плутарха Плутарх 46125 г. Мы пишем не историю а жизнеописание Для Плутарха важен человек. Объединяет греков и римлян – стремление Плутарха доказать равнозначность двух культур. Шекспир списывает свои трагедии с Плутарха.
23982. Бухгалтерский учет, конспект 543.5 KB
  Общая характеристика хозяйственного учета, возникновение и развитие. Общая характеристика, задачи и особенности учета. Принципы формирования учетной информации и система нормативного регулирования бухгалтерского учета в РФ...
23983. Творчество Лукиана 28.5 KB
  Творчество Лукиана Лукиан 125180 г. Лукиан родился в городе Самосате в Сирии. Лукиан получил общее и риторическое образование. В первых своих сочинениях Лукиан отдает дань риторике Похвала мухе Сон и др.