четвер, 4 лютого 2016 р.

ПРОСТІ ТИПИ ДАНИХ


5.1 Арифметика наближених обчислень

          5.1. Обчислити значення функції round
а) round(35.774873, 5, 10);
бround(0.0000237927, 4, 10);
вround((110.0100110)2, 7, 2);
гround((3.77673)8, 3, 8);
дround(1345271, 4, 10);
еround((21.4322)5, 3, 5).

          5.2. Підібрати приклади, що показують порушення співвідношень
а) x +p (y +p z)=(x +p y) +p z;
б) x*p (y*p z)=(*p y*p z;
в) x*p (y +p z)=x*p y +p x*p z
          при р=8.
Відповідь
а) х=11111113.,   у=-111111., z        =7.5111111.;

          5.3. Вкажіть х такий, що (x +p x) /p 2 <> x при р=8.

          5.4. Чи виконується рівність x /p y=x*p (1 /p y) для всіх дійсних чисел?

          5.5. Доведіть або спростуйте співвідношення
                   a) 0 -p (0 -p x)=x;
                    b) 1 /p (1 /p x)=x .
          5.6. Чи вірно, що u <= (u +p v) /p 2 <= v при u <= v ?
          Розв`язок. В звичайній арифметиці при u <= v справедлива нерівність
          u=(u+u<= (u+v) <= (v+v)=v.
          В aрифметиці наближених  обчислень x=(x +p x) /p 2 справедливе не завжди, що призводить до порушення нерівностей
           u <= (u +p v/p <= v при  u <= v.
           Достатньо взяти (р=8)          u=9.2222222,        v=9.2222223  .

          5.7. Нехай р=4. Послідовність an (n>=1) задана співвідношенням a1=1000, an=0.5 (n>=2). Скласти алгоритм обчислення суми a+ a+ ... + an  з точністю e=1.

          5.8. Нехай р=4. Послідовність  задана співвідношенням ai=5000+i. Скласти алгоритм обчислення середнього арифметичного (a1+...+an) з точністю e=1.

          5.9. Розв`язати квадратне рівняння ax2+bx+c=0, використовуючи наближені обчислення з чотирма (р=4) і шістьма (р=6) значущими цифрами.Порівняти отримані корені один з одним і з точним розв`язком. Знайти спосіб обчислення і скласти алгоритм, що дає результат з відносною похибкоюd.
          Вказівка: Скористатися теоремою Вієта.

          5.10. Якщо в системі рівнянь .замінити радикали їх наближеннями, то що можна сказати про розв`язок отриманої системи методом Крамера? Що вийде, якщо збільшити точність наближення радикалів?

5.2 Натуральний та цілий типи даних

          5.11. Скласти алгоритм обчисення найбільшого спільного дільника
а) двох натуральних чисел;
б) двох цілих чисел
за допомогою метода Евкліда.
          Розвязок 1а.
          алгоритм НСД це
                   змін M,N,V,Uнат;
          поч
                   взяти (M,N);
                   U¬M; V¬N;
                   поки U<>V повт
                             якщо U<V то V¬V-U
                             інакше U¬U-V
                             кр
                   кц;
                   показати (U)
          ка.

          5.12. Скласти алгоритм обчислення найменшого спільного кратного двох натуральних чисел m і n та порівняти області визначеня алгоритма, побудованого за формулою

НСК(m,n)=

і алгоритма за формулою

НСК(m,n)= .

          5.13. Дано натуральні числа m і n. Знайти такі натуральні числа p і q, не виключаючи спільних дільників, що .
          5.14. Знайти всі прості нескоротні дроби, що містяться між 0 і 1, знаменники яких не перевищують 7 (дріб задається двома числами- чисельником та знаменником ).

          5.15. Дано натуральне число n. Скласти алгоритм знаходження всіх  таких натуральних q, що n ділиться на q2 і не ділиться на q3.

          5.16. Дано натуральні числа m n. Скласти алгоритм знаходження всіх їх натуральних спільних кратних , менших добутка m*n.

          5.17. Дано натуральні числа n. Скласти алгоритм знаходження всіх їх спільних дільників.

          5.18. Два натуральних числа називаються дружніми, якщо  кожне з них дорівнює сумі всіх дільників іншого, крім самого цього числа. Скласти алгоритм знаходження всіх пар дружніх чисел, що лежать в діапазоні від 200 до 300.

          5.19. Дано натуральне число n. Скласти алгоритм знаходження всіх піфагорових трійок натуральних чисел, кожне з яких не перевищує n, тобто всіх таких трійок натуральних чисел a, b, c, що 
          5.20. Натуральне число з n цифр є числом Армстронга, якщо сума його цифр, піднесених до n-того степеня, дорівнює самому числу (наприклад, 153=). Скласти алгоритм знаходження всіх чисел Армстронга, що складаються з двох, трьох та чотирьох цифр.

          5.21. Дано натуральне число n. Скласти алгоритм, що визначає, чи можна подати його у вигляді суми двох квадратів натуральних чисел. Якщо це можливо, то
а)       вказати пару а, b таких натуральних чисел , що n=;
б)      вказати пару а, b таких натуральних чисел , що n=,a>=b.

          5.22. Дано натуральне число n. Скласти алгоритм,що дозволяє
а)       переставити першу та останню цифри числа n;
б)      приписати по одиниці в початок та кінець запису числа n;
в)       одержати суму m останніх цифр числа n.

          5.23. Дано натуральне число n. Скласти алгоритм, що визначає серед чисел 1, ..., n всі такі, запис яких співпадає з останніми цифрами запису їх квадратів (наприклад і т.д.).
          Розвязок.
          Очевидно, що якщо запис числа х співпадає з останніми цифрами його квадрата x2, то різниця x2-х ділиться на 10 у степені , що дорівнює кількості цифр у числі х. Враховуючи цю обставину, запишемо алгоритм у вигляді

          алгоритм Квадрат це
                   змін x,y,n,kціл;
          поч
                   взяти(n);
                   для x ¬до n повт
                             k¬1; y¬x;
                             поки y<>0 повт
                                      y¬y div 10; k¬k*10
                             кц;
                             якщо (x*x-x) mod k=0 то показати (xкр
                   кц
          ка.

          5.24. Назвемо натуральне число паліндромом , якщо його запис читається однаково зліва направо і справа наліво (наприклад, 1, 393, 4884). Скласти алгоритм, що визначає, чи є задане натуральне число n паліндромом.

          5.25. Дано натуральне число n. Скласти алгоритм знаходження всіх менших натуральних чисел
а) які при піднесенні до квадрату дають паліндром;
б) паліндромів, які при піднесенні до квадрату дають також паліндром.
          Розв`язок. а) Для х=1, ..., n будемо порівнювати значення  з числом m, що є записом числа у у зворотньому порядку.

          алгоритм Пал_квадрат  це
                   змін n,x,y,m,p,q,a : ціл;
          поч
                   взяти (n);
                   для х¬1 до повт
                             y¬x*x; m¬0; p¬y;
                             поки р<>0 повт
                                      a¬p mod 10; р¬p div 10; m¬m*10+a
                             кц;
                             якщо y=m то показати(хкр
                   кц
          ка.

          5.26. Задані натуральне число n, цілі числа a, x1, …, xn. Скласти алгоритм визначення номера члена послідовності, який дорівнює а. Якщо такого немає, то відповіддю має бути число 0.

          5.27. Задані натуральне число n, цілі числа a, x1, …, xn. Якщо в послідовності x1, …, xn є хоча б один член, що дорівнює а, то отримати суму всіх членів, які слідують за таким членом послідов­ності, в протилежному випадку відповіддю має бути відповідне текстове повідомлення.

          5.28. Задані натуральне число n, цілі числа a1, …, an. Отримати суму додатніх, кількість від’ємних і число нульових членів послідовності a1, …, an.

          5.29. Задані натуральні числа n і p, цілі числа a1, …, an. Скласти алгоритм обчислення добутку членів послідовності, кратних р.
Розв’язок.
          алгоритм  Добуток це
                    змін n,p,i,k:нат;
                             s,a:ціл;
          поч
                   взяти (n,р);
                   s¬1; k¬1;
                   повт n раз
                             взяти(а);
                             якщо a mod p=0 то s¬s*а; k¬k+кр
                   кц;
                   якщо k=1 то показати (‘таких немає’)
                   інакше показати(s)
                   кр
          ка.


          5.30. Дано натуральне число n. Скласти алгоритм, який з`ясовує, чи можна подати n! у вигляді добутку трьох послідовних чисел.

Немає коментарів:

Дописати коментар