Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шкредов О.С._НП-I_ЗВIТ_03_31_2015_correct.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

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

Циклом називають послідовність дій(операторів), яку записують у тексті програми один раз але вона може виконуватися понад один раз.

  1. Надрукувати "стовпчиком" всі цілі числа від а до b (значення а і b вводяться з клавіатури; b >= а).

Вхідні дані:

  • а (будь-яке число). Дійсне число;

  • b (будь-яке число). Дійсне число.

Вихідні дані: цілі числа від а до b.

Розробка алгоритму.

Вводимо числа a і b й за допомогою циклу виводимо числа від а до b "стовпчиком".

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int a, b;

cin>>a>>b;

for(;a<=b;a++)

{

cout<<a<<endl;

}

}

Результат:

1

9

1

2

3

4

5

6

7

8

9

Для продолжения нажмите любую клавишу . . .

  1. Знайти добуток всіх цілих чисел від а до b (значення а і b вводяться з клавіатури; b > а).

Вхідні дані:

  • а (будь-яке число). Дійсне число;

  • b (будь-яке число). Дійсне число.

Вихідні дані: добуток всіх цілих чисел від а до b.

Розробка алгоритму.

Вводимо числа a і b й за допомогою циклу виводимо добуток всіх цілих чисел від а до b.

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int a, b,dob=1;

cin>>a>>b;

for(;a<=b;a++)

{

dob=dob*a;

}

cout<<dob<<endl;

}

Результат:

5

7

210

Для продолжения нажмите любую клавишу . . .

  1. Обчислити і вивести на екран у вигляді таблиці значення функції F на інтервалі від Хнач. до Хкон. з кроком dX.

Вхідні дані:

  • а (будь-яке число). Дійсне число;

  • b (будь-яке число). Дійсне число.

  • с (будь-яке число). Дійсне число.

  • х нач. (будь-яке число). Дійсне число.

  • х кон. (будь-яке число). Дійсне число.

  • dX (крок) .Дійсне число.

Вихідні дані: значення функції F.

Розробка алгоритму.

Вводимо числа a, b, с, х нач., х кон., dX за певного значення х виконується одне з рівнянь які ми задаємо в умовному операторі. Результат виводиться на екран.

Отформатируйте текст программы: выделите ее, и щелкните на стиль с именем «_Прог» в верхей правой части окна.

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int x_nach,x_kon,dx,a,b,c,x;

cin>>x_nach>>x_kon>>dx>>a>>b>>c;

while(x_nach<=x_kon)

{

x=x_nach;

if(x<5&&c!=0) cout<<(-a*x*x-b)<<endl;

else if(x>5&&c==0) cout<<(x-a)/x<<endl;

else cout<<-x/c<<endl;

x_nach=x_nach+dx;

}

}

Всетаки вставили нерациональный вариант!!!!!!

Результат:

1

6

3

2

8

9

-10

-40

Для продолжения нажмите любую клавишу . . .

4. Обчислити суму

Вихідні дані: сума дробів.

Розробка алгоритму.

За допомогою циклу формуються дроби і рахується їх сума.

Отформатируйте текст программы

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

double sum=0;

for(int i=2;i<=10;i++)

{

sum=sum+(float)i/(i+1);

cout<<(float)i/(i+1)<<" "<<endl;

}

cout<<sum<<endl;

}

Результат:

0.666667

0.75

0.8

0.833333

0.857143

0.875

0.888889

0.9

0.909091

7.48012

Для продолжения нажмите любую клавишу . . .

Для пользователя не программиста совершенно непонятно, какое из значений является результатом.

5. Задано натуральне число n і дійсні числа а1, а2..., аn. Визначити середнє арифметичне дійсних чисел.

Вхідні дані:

  • n (будь-яке число). Дійсне число;

  • а1, а2..., аn (будь-яке числа). Натуральні числа.

Вихідні дані: середнє арифметичне дійсних чисел.

Розробка алгоритму.

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

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

double n,a=0,sum=0;

int k=0;

cin>>n;

for(int i=1;i<=n;i++)

{

cin>>a;

sum=sum+a;

k=k++;

}

cout<<sum/k<<endl;

}

Результат:

3

2

9

5

5.33333

Для продолжения нажмите любую клавишу . . .

6. Дана непорожня послідовність додатних цілих чисел a1, а2,..., що закінчується нулем. Отримати послідовність a1, a1*а2, a1*а2*а3,..., 0.

Вхідні дані:

  • а (додатнє ціле число);

Вихідні дані: послідовність a1, a1*а2, a1*а2*а3,..., 0.

Розробка алгоритму.

Вводимо додатні цілі числа до тих пір доки не введемо нуль.

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

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int a=1,k=1;

while(a!=0)

{

cin>>a;

k=k*a;

cout<<k<<endl;

}

}

Результат:

1

1

2

2

3

6

4

24

5

120

6

720

7

5040

8

40320

0

0

Для продолжения нажмите любую клавишу . . .

Опять в выходных данных трудно разобраться. Выводите данные в наглядной форме, может и самому станет более понятно!!!

7. Одноклітинна амеба кожні 3 години ділиться на 2 клітки. Визначити, скільки кліток буде через 3, 6, 9, ..., 24 години, якщо спочатку була одна амеба.

Вхідні дані:

  • початкова к-сть клітин (додатнє ціле число);

Вихідні дані: вихідна к-сть клітин (додатнє ціле число).

Розробка алгоритму.

Вводимо початкову к-сть клітин потім за допомогою циклу вираховуємо кінцеву к-сть клітин яку й виводим.

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

Обробка одновимірних масивів

Обробка двовимірних масивів

Список використаної літератури

  1. Ван Тассел Д. «Стиль, разработка, эффективность, отладка испытание программ», М. «Мир», 1981г., - 788 с.

  2. “Программное обеспечение персональных компьютеров” под ред. Брусенцова Н.П. и Шаумана А.М. Изд. Московского Университета. 1990 г., - 466 с.