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

конец

да

нет


 

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

65195. ОСНОВНЫЕ ИДЕИ ЭЛЕЙСКОЙ ШКОЛЫ (КСЕНОФАН, ПАРМЕНИД, ЗЕНОН) 56.5 KB
  Согласно Пармениду то что есть бытие есть и это следует из самого понятия быть а того чего нет небытия нет что также следует из содержания самого понятия. Пустота отождествляется с небытием – так что пустоты нет.
65196. ЕСТЕСТВЕННОЕ ВСКАРМЛИВАНИЕ ЗДОРОВОГО РЕБЕНКА 109.5 KB
  Представьте себе сколько съедал бы в сутки взрослый человек если бы его потребность в пище была бы равной потребности ребенка этого возраста. При недостатке белка в пище у ребенка могут нарушаться процессы роста и даже психического развития...
65197. Издержки производства, их виды. Трансакционные издержки, их структура и роль в развитии экономики 26.77 KB
  Издержки производства затраты связанные с производством и обращением произведенных товаров. Виды: Постоянные издержки это такой вид затрат который несет предприятие в рамках одного производственного цикла.
65198. Историческая основа дипломатической школы Китая 37 KB
  Древнейшие сведения о контактах Китая с Римом приводит историк Луций Анней Флор. Он сообщает что ко двору Октавиана Августа прибыло посольство из Китая которое провело в дороге четыре года и что цвет их кожи служил убедительным доказательством того что живут они под другим небом нежели римляне.
65200. Основные законодательные и директивные акты по охране труда 31 KB
  Правовой основой организации работ по охране труда в республике является Конституция РБ которая гарантирует право граждан на здоровые и безопасные условия труда охрану их здоровья. Основополагающим законодательным актом определяющим и регулирующим правоотношения в сферах труда и охраны труда...
65201. Функции конкуренции в социальном рыночном хозяйстве. Законные средства конкурентной борьбы 16.5 KB
  Будучи базовым механизмом рыночных отношений конкуренция заставляет предпринимателей соперничать между собой и тем самым способствует достижению наилучших социальных и деловых результатов. Функцию мотивации конкуренция выполняет путем стимулирования предпринимателей...
65202. Удосконалення технології ферментованих ковбас з використанням поліфункціональної добавки 716.06 KB
  Особливістю сучасного ковбасного виробництва є інтенсифікація технологічних процесів. Особливим попитом незважаючи на економічну кризу користуються делікатесні види м’ясної продукції а саме сирокопчені та сиров’ялені ковбаси...
65203. Маркетингові стратегії розвитку підприємств аграрного сектору України: теорія, методологія, практика 367.5 KB
  Водночас тенденції насичення вітчизняних ринків загострення конкурентних процесів неминучість входження українських підприємств до світової глобалізованої системи зумовлюють невідворотність максимально можливого використання елементів стратегічного маркетингу...