русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Варіанти завдань до лабораторної роботи №2


Дата додавання: 2014-11-28; переглядів: 1116.


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

2. Задано ненегативні числа n і m. Необхідно обчислити|обчисляти,вичислити| функцію A(n, m), де

3. Задано натуральні числа с|із| і m. Необхідно обчислити|обчисляти,вичислити| функцію f(m)

де g(m) – залишок|остача| від ділення|поділки,розподілу,поділу| (m +c) на 10.

4. Обчислити|обчисляти,вичислити| функцію f(m), яку визначають для цілих позитивних чисел таким чином:

5. Обчислити|обчисляти,вичислити| числа Фібоначі, якщо відомо, що два перші числа F1=F2=1, а значення подальших|наступних| чисел дорівнює сумі двох попередніх чисел
( Fk=Fk-1+Fk-2 ): 1,1,2,3,5,8 і т.і.

6. Для заданого натурального числа n з'ясувати, чи можна подати |уявити| n! у вигляді добутку|добутку| трьох послідовних цілих чисел, тобто перевірити істинність виразу|вираження| n!= j×(j+1)××(j+2), знайшовши деяке число j.

7. Серед чисел 1.. n (n - ціле позитивне число £ 25) знайти всі такі, запис яких співпадає|збігається| з|із| останніми цифрами запису їх квадрата (наприклад: 62=36, 252=625).

8. Натуральне число з|із| n цифр є|з'являються,являються| числом Армстронга|, якщо сума його цифр, піднесених до n-ого ступеня, дорівнює самому числу. Одержати|отримати| всі числа Армстронга|, які належать заданому інтервалу двозначних цифр.

9. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

10. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

11. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

12. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

13. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

14. Для заданого цілого числа n обчислити |обчисляти, вичислити |, де max5(x, у|в,біля|) - функція, що визначає більше з|із| двох значень х і у. Більшим з двох чисел уважають те|в,біля|, чий залишок|остача| від ділення|поділки,розподілу,поділу| на 5 є більшим.

15. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

16. Для заданого цілого числа n обчислити|обчисляти,вичислити| .

17. Для заданого цілого числа n обчислити|обчисляти,вичислити|

18. Для заданого ненегативного числа n обчислити|обчисляти,вичислити|

19. Написати рекурсивну функцію, яка визначає максимальне число з|із| вхідної послідовності чисел х (умову завершення введення чисел вибрати самостійно).

20. Написати рекурсивну функцію, яка визначає у вхідній послідовності ненегативних чисел х мінімальне число і його порядковий номер (умову завершення введення чисел вибрати самостійно).

21. Написати рекурсивну функцію, яка визначає добуток |добуток| введених|запроваджених| негативних|заперечних| дійсних чисел х (умовою завершення обчислень|підрахунків| вважати|лічити| введення позитивного числа).

22. Написати рекурсивну функцію, яка визначає суму введених|запроваджених| дійсних чисел х, порядковий номер яких у вхідній послідовності кратний двом (умовою завершення обчислень|підрахунків| уважати|лічити| введення позитивного числа).

23. Обчислити|обчисляти,вичислити| величину , де х1, х2..,хn (xi³2) – послідовність позитивних дійсних чисел, кількість яких наперед|заздалегідь| невідома (умову завершення введення чисел вибрати самостійно).

24. Для введеного|запровадженого| цілого n обчислити|обчисляти,вичислити| a0×20+ a1×21+ a3×23+.+ an×2n, де а0, а1, а3., аn – приймають значення –1, 0,1 по черзі, тобто –1,0,1,-1,0,1, і т.д.

25. Написати рекурсивну функцію переведення |переведення,переказу| десяткового числа у двійкову систему шляхом ділення|поділки,розподілу,поділу| його на 2 і видачі залишку|остачі| в зворотній послідовності.

26. Для довільного цілого n визначити кількість чисел і їх суму в десятковому записі числа n!.

27. Визначити значення , де xi – ненегативні числа (умову завершення введення чисел вибрати самостійно).

28. Для довільного цілого n вивести на екран у зворотному порядку|ладі| проходження|дотримання| всі числа у десятковому записі значення n!.

29. Визначити значення відношення|ставлення| максимального і мінімального з|із| послідовності введених|запроваджених| ненульових чисел (умову завершення введення чисел вибрати самостійно).

30. Використовуючи послідовність негативних|заперечних| чисел, що вводять|запроваджують|, обчислити значення відношення|ставлення| . Умову завершення введення чисел вибрати самостійно.

 

ЛАБОРАТОРНА РОБОТА № 3

СТВОРЕННЯ|СТВОРІННЯ| І ОБРОБКА МАСИВІВ

Мета|ціль|. Отриматитримати практичні навички|навички| створення|створіння| і обробки масивів даних за допомогою мови С++.

Короткі теоретичні відомості

Масив – це тип даних, використовуваний для подання великої кількості даних одного типу. Доступ до елементів масиву організовують за допомогою індексів. Типове оголошення масиву розподіляє пам'ять, що починається з базової адреси. У С++ ім'я масиву – покажчик на базову адресу (фактично константа).

За способом розподілу пам'яті під дані масиви розділяють на статичні й динамічні.

Під час оголошення статичного масиву відбувається|походить| пошук зв'язної області вільної оперативної пам'яті, розмір якої дорівнює числу елементів масиву, помноженому на розмір одного елемента. Кількість байтів, займана |позичати, посідати | одним елементом, визначається його типом.

Мова|язик| С++ допускає масиви будь-якого типу, включаючи масиви масивів (багатовимірні|багатомірні|).

Наприклад. Заданий двовимірний масив дійсних чисел. Визначити математичне очікування|чекання| і дисперсію.

#include <iostream. h>

#include <conio. h>

#define Row 5

#define Col 4

void main ()

{float mas[Row][Col],//оголошення масиву mas, який містить Row*Col //елементів типу float

float m_o = 0, m_o_2=0; int i, j;

for (i = 0; i < Row, i ++)

for (j = 0; j < Col, j ++)

{cin >> mas[i][j]; //внесення значень елементів

m_o + = mas[i][j]; //накопичення суми елементів масиву

m_o_2+=mas[i][j]*mas[i] [j];//накопичення суми квадратів елементів масиву

}

m_o = m_o / (Col*Row); //обчислення мат. сподівання/

сout << “\n Математичне сподівання = ” << m_o;

m_o_2 = m_o_2 / (Col*Row); //обчислення моменту другого порядку

cout << “\ n Дисперсія = “ << m_о_2 - m_о*m_0;

getch();

}

Динамічні масиви використовують для гнучкішого розподілу оперативної пам'яті під елементи масиву і керування нею. При цьому в С++ використовують оператори new і delete у вигляді|виді|:

ім’я_массиву = new тип_ елеменау [кількість_елементів] ;

delete [] ім’я_масиву;

при цьому ідентифікатор ім’я_масиву має бути оголошений покажчиком на тип елементів масиву:

тип_елемента * ім’я_масива;

Якщо компілятору не вдається виділити з|із| купи (вільної пам'яті) необхідний обсяг пам'яті, що запрошується оператором new, то ідентифікатору ім’я_масиву привласнюється значення системного покажчика порожнечі|пустоти| NULL.

Під час динамічного розподілу пам'яті під багатовимірні|багатомірні| масиви спочатку за допомогою оператора new відбувається|походить| виділення зв'язної області під ланцюжок покажчиків на рядки масиву (тобто під адреси рядків). Довжина цього ланцюжка визначається кількістю рядків. Далі необхідно ініціалізувати кожний покажчик з|із| ланцюжка адресою, за якою знаходитиметься|перебуватиме| ланцюжок елементів відповідного рядка.

Наприклад. Створити динамічний двовимірний масив чисел, визначити позицію першого нуля у кожному рядку.

#include < iostream. h >

void main()

{ int row, col, i, j, pos;

cout << ¢¢ \n уведіть кількість рядків і стовпчиків¢¢;

cin >> row>>col;

int ** mas;

mas = new int * [row]; // розподіл пам’яті під адреси рядків

for (i = 0; i < row; i ++)

{ mas [i] = new int [col]; /* розподіл пам’яті під елементи i - того

рядка масиву */

for (j = 0; j < col; j ++)

cin >> mas [i] [j] ; // внесення значень елементів масиву

}

for (i = 0; i < row; i ++)

{ pos = -1;

for (j = 0; j < col; j ++)

if (mas [i][j] = = 0) break;

pos = j; /* якщо поточний елемент стовпчика дорівнює

нулю, занести його позицію до змінної pos*/

if (pos <col) cout << ¢¢ \ n в ¢¢ <<i<<¢¢ - ому рядку нуль знаходиться в ¢¢

<<pos<< ¢¢ стовпчику¢¢;

else cout << ¢¢ \n ¢¢ <<i<< ¢¢ рядок не містить нуля¢¢;

}

for(i=0;i<col;i++) delete[] mas[i]; /*звільнення пам’яті, що була зайнята під елементи i-того рядка */

delete[] mas; //звільнення пам’яті, що була зайнята під покажчики на рядки.

}


<== попередня лекція | наступна лекція ==>
Приклад виконання лабораторної роботи №2 | Приклад виконання лабораторної роботи №3


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн