Тема. Процедури І функції icon

Тема. Процедури І функції



НазваниеТема. Процедури І функції
Дата конвертации14.07.2012
Размер148.77 Kb.
ТипДокументы

М. Е. Абрамян Електронний задачник Programming Taskbook 4.6

ТЕМА. Процедури і функції.


Процедури з числовими параметрами


  1. Описати процедуру PowerA3(А, В), яка обчислює третю степінь числа А і повертає її змінній В (А – вхідний, В – вихідний параметр; обидва параметри дійсні). З допомогою цієї процедури знайти треті степені п’яти даних чисел.

  2. Описати процедуру PowerA234(A, B, C, D), яка обчислює другу, третю і четверту степінь числа А і повертає ці степені змінним B, C і D відповідно (А – вхідний, B, C, D – вихідні параметри; всі параметри дійсні). З допомогою цієї процедури знайти другу, третю і четверту степінь п’яти даних чисел.

  3. Описати процедуру Mean(X, Y, AMean, GMean), яка обчислює середнє арифметичне AMean=(X+Y)/2 і середнє геометричне GMean=двох додатних чисел Х і Y (Х і Y – вхідні, AMean і GMean – вихідні параметри дійсного типу). З допомогою цієї процедури знайти середнє арифметичне і середнє геометричне пар (А, В), (А, С), (А, D), якщо дані A, B, C, D.

  4. Описати процедуру TrianglePS(a, P, S), яка обчислює за стороною а рівностороннього трикутника його периметр Р=3·а і площу (а – вхідний, Р і S – вихідні параметри; всі параметри дійсні). З допомогою цієї процедури знайти периметри і площі трьох рівносторонніх трикутників з даними сторонами.

  5. Описати процедуру RectPS(x1, y1, x2, y2, P, S), яка обчислює периметр Р і площу S прямокутника із сторонами, паралельними осям координат, по координатах (x1, y1), (x2y2), його протилежних вершин (x1, y1, x2, y2 – вхідні, P і S – вихідні параметри дійсного типу). З допомогою цієї процедури знайти периметри і площі трьох прямокутників з даними протилежними вершинами.

  6. Описати процедуру DigitCountSum(K, C, S), яка знаходить кількість С цифр цілого додатнього числа К, а також їх суму S (К – вхідний, С і S – вихідні параметри цілого типу). З допомогою цієї процедури знайти кількість і суму цифр для кожного з п’яти даних цілих чисел.


  7. Описати процедуру InvertDigits(^ K), яка міняє порядок слідування цифр цілого додатнього числа К на зворотній (К – параметр цілого типу, який одночасно вхідний і вихідний). З допомогою цієї процедури поміняти порядок слідування цифр на зворотній для кожного з п’яти цілих чисел.

  8. Описати процедуру AddRightDigit(D, K), яка добавляє до цілого додатнього числа К справа цифру D (D – вхідний параметр цілого типу, який лежить в діапазоні 0-9, К – параметр цілого типу, який одночасно вхідний і вихідний). З допомогою цієї процедури послідовно добавити до даного числа К справа дані цифри D1 і D2, виводячи результати кожного добавлення.

  9. Описати процедуру AddLeftDigit(D, K), яка добавляє до цілого додатнього числа К справа цифру D (D – вхідний параметр цілого типу, який лежить в діапазоні 1-9, К – параметр цілого типу, який одночасно вхідний і вихідний). З допомогою цієї процедури послідовно добавити до даного числа К справа дані цифри D1 і D2, виводячи результати кожного добавлення.

  10. Описати процедуру Swap(X, Y), яка міняє вміст змінних Х і Y (Х і Y – дійсні параметри, які одночасно вхідні і вихідні). З її допомогою для даних змінних А, В, С, D послідовно поміняти вміст наступних пар: А і В, С і D, В і С і виведіть нові значення А, В, С, D.

  11. Описати процедуру Minmax(X, Y), яка записує в змінну Х мінімальне із значень Х і Y, а в змінну Y – максимальне із цих значень (Х і Y – дійсні параметри, які одночасно вхідні і вихідні). Використовуючи чотири виклики цієї процедури, знайти мінімальне і максимальне із даних чисел А, В, С, D.

  12. Описати процедуру SortInc3(A, B, C), яка міняє вміст змінних А, В, С таким чином, щоб їх значення утворили зростаючу послідовність (А, В, С – дійсні параметри, які одночасно і вхідні і вихідні). З допомогою цієї процедури впорядкувати по зростанню два набори із трьох чисел: (А1, В1, С1) і (А2, В2, С2).

  13. Описати процедуру SortDec3(A, B, C), яка міняє вміст змінних А, В, С таким чином, щоб їх значення утворили спадаючу послідовність (А, В, С – дійсні параметри, які одночасно і вхідні і вихідні). З допомогою цієї процедури впорядкувати по спаданню два набори із трьох чисел: (А1, В1, С1) і (А2, В2, С2).

  14. Описати процедуру ShiftRight3(A, B, C), яка виконує правий циклічний зсув: значення А переходить в В, значення В – в С, значення С – в А. (А, В, С – дійсні параметри, які одночасно і вхідні і вихідні).З допомогою цієї процедури виконати правий циклічний зсув для двох даних наборів із трьох чисел: (А1, В1, С1) і (А2, В2, С2).

  15. Описати процедуру ShiftLeft3(A, B, C), яка виконує лівий циклічний зсув: значення А переходить в С, значення С – в В, значення В – в А. (А, В, С – дійсні параметри, які одночасно і вхідні і вихідні).З допомогою цієї процедури виконати лівий циклічний зсув для двох даних наборів із трьох чисел: (А1, В1, С1) і (А2, В2, С2).


Функції з числовими параметрами


  1. Описати функцію Sign(^ X) цілого типу, яка повертає для дійсного числа Х наступні значення

-1, якщо Х<0; 0, якщо Х=0; 1, якщо Х>0.

З допомогою цієї функції знайти значення виразу Sign(A)+Sign(B) для даних дійсних чисел А і В.

  1. Описати функцію RootsCount(A, B, C) цілого типу, яка визначає кількість коренів квадратного рівняння А·х2+В·х+С=0 (А, В, С – дійсні параметри, А≠0). З її допомогою знайти кількість коренів для кожного із трьох квадратних рівнянь з даними коефіцієнтами. Кількість коренів визначається по значенню дискримінанта:

D=B2-4·A·C.

  1. Описати функцію Circle(R) дійсного типу, яка знаходить площу круга радіуса R (R – дійсне). З допомогою цієї функції знайти площу трьох кругів з даними радіусами. Площу круга радіуса R обчислюємо за формулою S= π·R2. Значення π вважати рівним 3.14.

  2. Описати функцію RingS(R1, R2) дійсного типу, яка знаходить площу кільця, яке міститься між двома колами з спільним центром і радіусами R1 і R2 (R1 і R2 – дійсні, R1>R2). З її допомогою знайти площу трьох кілець, для яких дані зовнішній і внутрішній радіуси. Скористайтеся формулою площі круга радіусу R: S= π·R2. Значення π вважати рівним 3.14.

  3. Описати функцію TriangleP(a, h), яка знаходить периметр рівнобедреного трикутника по його основі а і висоті h, проведеної до основи (а і h – дійсні). З допомогою цієї функції знайти периметри трьох трикутників, для яких дані основи і висоти. Для знаходження бокової сторони b трикутника скористатися теоремою Піфагора:

b2=(a/2)2+h2.

  1. Описати функцію SumRange(A, B) цілого типу, яка знаходить суму всіх цілих чисел від А до В включно (А і В – цілі). Якщо А>В, то функція повертає 0. З допомогою цієї функції знайти суму чисел від А до В і від В до С, якщо дані числа А, В, С.

  2. Описати функцію Calc(A, B, Op) дійсного типу, яка виконує над ненульовими дійсними числами А і В одну з арифметичних операцій і повертає її результат. Вид операції визначається цілим числом Ор: 1 – віднімання, 2 – множення, 3 – ділення, всі решта значень – додавання. З допомогою Calc виконати для даних А і В операції, які визначаються даними цілими N1, N2, N3.

  3. Описати функцію Quarter(x, y) цілого типу, яка визначає номер координатної чверті, в якій знаходиться точка з ненульовими дійсними координатами (x, y). З допомогою цієї функції знайти номери координатних чвертей для трьох точок з даними ненульовими координатами.

  4. Описати функцію Even(^ K) логічного типу, яка повертає TRUE, якщо цілий параметр К парний, і FALSE в протилежному випадку. З її допомогою знайти кількість парних чисел в наборі із 10 цілих чисел.

  5. Описати функцію IsSquare(^ K) логічного типу, яка повертає TRUE, якщо цілий параметр К (>0) квадрат деякого цілого числа, і FALSE в протилежному випадку. З її допомогою знайти кількість квадратів в наборі із 10 цілих додатніх чисел.

  6. Описати функції IsPower5(^ K) логічного типу, яка повертає TRUE, якщо цілий параметр К (>0) степінь числа 5, і FALSE в протилежному випадку. З її допомогою знайти кількість степенів числа 5 в наборі із 10 цілих додатніх чисел.

  7. Описати функцію IsPowerN(K, N) логічного типу, яка повертає TRUE, якщо цілий параметр К (>0) степінь числа N (>1), і FALSE в протилежному випадку. Дано число N (>1) і набір із 10 цілих додатніх чисел. З допомогою функції IsPowerN знайти кількість степенів числа N в даному наборі.

  8. Описати функцію IsPrime(N) логічного типу, яка повертає TRUE, якщо цілий параметр N (>1) просте число, і FALSE в протилежному випадку (число, більше 1, називається простим, якщо воно не має додатніх дільників, крім 1 і самого себе). Даний набір із 10 цілих чисел, більших 1. З допомогою функції IsPrime знайти кількість простих чисел в даному наборі.

  9. Описати функцію DigitCount(K) цілого типу, яка знаходить кількість цифр цілого додатнього числа К. Використовуючи цю функцію, знайти кількість цифр для кожного із п’яти даних цілих додатніх чисел.

  10. Описати функцію DiditN(K, N) цілого типу, яка повертає N-ту цифру цілого додатнього числа К (цифри в числі нумеруються справа наліво). Якщо кількість цифр в числі К менше N, то функція повертає -1. Для кожного із п’яти даних цілих додатніх чисел К1, К2,…, К5 визвати функцію DigitN з параметром N, який міняється від 1 до 5.

  11. Описати функцію IsPalindrom(K), яка повертає TRUE, якщо цілий параметр К (>0) паліндром (тобто запис читається однаково зліва направо і справа наліво), і FALSE в протилежному випадку. З її допомогою знайти кількість паліндромів в наборі із 10 цілих додатніх чисел. При описі функції можна використовувати функції DigitCount i DigitN із завдань Proc29 і Proc30.

  12. Описати функцію DegToRad(^ D) дійсного типу, яка знаходить величину кута в радіанах, якщо дана його величина D в градусах (D – дійсне число, 0<D<360). Використовуючи наступне відношення: 1800=π радіанів. Значення π вважати рівним 3.14. З допомогою функції DegToRad перевести з градусів в радіани п’ять даних кутів.

  13. Описати функцію RadToDeg(R) дійсного типу, яка знаходить величину кута в градусах, якщо дана його величина R в радіанах (R – дійсне число, 0<R<2·π). Використовуючи наступне відношення: 1800=π радіанів. Значення π вважати рівним 3.14. З допомогою функції RadToDeg перевести з радіанів в градуси п’ять даних кутів.

  14. Описати функцію Fact(N) дійсного типу, яка обчислює значення факторіала N!=1·2·…·N (N>0 – параметр цілого типу; дійсне значення яке повертається використовується тому, щоб не було цілочисельного переповнення при великих значеннях N). З допомогою цієї функції знайти факторіал п’яти даних цілих чисел.

  15. Описати функцію Fact2(N) дійсного типу, яка обчислює подвійний факторіал:

N!!=1·3·5·…·N, якщо N – непарне;

N!!=2·4·6·…·N, якщо N – парне

(N>0 – параметр цілого типу; дійсне значення яке повертається використовується тому, щоб не було цілочисельного переповнення при великих значеннях N). З допомогою цієї функції знайти подвійні факторіали п’яти даних цілих чисел.

  1. Описати функцію Fib(N) цілого типу, яка обчислює N-й елемент послідовності чисел Фібоначі FK, яка описується наступними формулами:

F1=1, F2=1, FK=FK-2+FK-1, K=3, 4, ….

Використовуючи функцію Fib, знайти п’ять чисел Фібоначі з даними номерами N1, N2, …, N5.


Додаткові завдання на процедури і функції


  1. Описати функцію Power1(A, B) дійсного типу, яка обчислює величину АВ по формулі АВ=exp(B·ln(A)) (параметри А і В – дійсні). У випадку нульового або від’ємного параметра А функція повертає 0. З допомогою цієї функції знайти степені АР, ВР, СР, якщо дано числа Р, А, В, С.

  2. Описати функцію Power2(A, N) дійсного типу, яка знаходить величину АN (A – дійсне, N – цілий параметр) по наступним формулам:

А0=1;

АN=A·A·…·A (N співмножників), якщо N>0;

АN=1/(A·A·…·A) (|N| співмножників), якщо N<0.

З допомогою цієї функції знайти АK, AL, AM, якщо дано числа A, K, L, M.

  1. Використовуючи функції Power1 і Power2 (завдання Proc37 і Proc38), описати функцію Power3(A, B) дійсного типу з дійсними параметрами, яка знаходить АВ наступним чином: якщо В має нульову дробову частину, то визивається функція Power2(A, Round(B)); в протилежному випадку визивається функція Power1(A, B). З допомогою цієї функції знайти АР, ВР, СР, якщо дано числа Р, А, В, С.

  2. Описати функцію Exp1(x, ε) дійсного типу (параметри х і ε – дійсні, ε>0), яка знаходить наближене значення функції exp(x):

exp(x)=1+x+x2/(2!)+x3/(3!)+…+xn/(n!)+…

(n!=1·2·…·n). В сумі враховувати всі доданки, більші ε. З допомогою Ехр1 знайти наближене значення експоненти для даного х при шести даних ε.

  1. Описати функцію Sin1(x, ε) дійсного типу (параметри х і ε – дійсні, ε>0), яка знаходить наближене значення функції sin(x):

sin(x)=x-x3/(3!)+x5/(5!)-…+(-1)nx2·n+1/((2·n+1)!)+…

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

  1. Описати функцію Cos1(x, ε) дійсного типу (параметри х і ε – дійсні, ε>0), яка знаходить наближене значення функції cos(x):

cos(x)=1-x2/(2!)+x4/(4!)-…+(-1)nx2·n/((2·n)!)+…

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

  1. Описати функцію Ln1(x, ε) дійсного типу (параметри х і ε – дійсні, |x|<1, ε>0), яка знаходить наближене значення функції ln(1+x):

ln(1+x)=x-x2/2+x3/3-…+(-1)nxn+1/(n+1)+…

В сумі враховувати всі доданки, модуль яких більший ε. З допомогою Ln1 знайти наближене значення ln(1+x) для даного х при шести даних ε.

  1. Описати функцію Arctg1(x, ε) дійсного типу (параметри х і ε – дійсні, |x|<1, ε>0), яка знаходить наближене значення функції arctg(x):

arctg(x)=x-x3/3+x5/5-…+(-1)nx2·n+1/(2·n+1)+…

В сумі враховувати всі доданки, модуль яких більший ε. З допомогою Arctg1 знайти наближене значення arctg(x) для даного х при шести даних ε.

  1. Описати функцію Power4(x, a, ε) дійсного типу (параметри x, a, ε – дійсні, |x|<1, a, ε>0), яка знаходить наближене значення функції (1+x)a:

(1+x)a=1+a·x+a·(a+1)·x2/(2!)+…+a·(a+1)·…·(a-n+1)·xn/(n!)+…

В сумі враховувати всі доданки, модуль яких більший ε. З допомогою Power4 знайти наближене значення (1+x)a для даних х і а при шести даних ε.

  1. Описати функцію NSD(A, B) цілого типу, яка знаходить найбільший спільний дільник (НСД) двох цілих додатніх чисел А і В, використовуючи алгоритм Евкліда:

НСД(А, В)=НСД(В, А mod В), якщо В≠0; НСД(А, 0)=А.

З допомогою цієї функції знайти найбільший спільний дільник пар (А, В), (А, С), (А, D), якщо дано числа А, В, С, D.

  1. Використовуючи функцію NSD з завдання Proc46, описати процедуру Frac1(a, b, p, q), яка перетворює дріб a/b в нескоротний дріб виду p/q (всі параметри процедури – цілого типу, а і b – вхідні, p і q – вихідні). Знак результату дробу p/q приписати числівнику (тобто q>0). З допомогою Frac1 знайти нескоротні дроби, рівні a/b+c/d, a/b+e/f, a/b+g/h (числа a, b, c, d, e, f, g, h дані).

  2. Враховуючи, що найменше спільне кратне двох цілих додатніх чисел А і В рівне А·(В/НСД(А, В)), де НСД(А, В) – найбільший спільний дільник А і В, і використовуючи функцію NSD2 із завдання Proc46, описати функцію NSK2(A, B) цілого типу, яка знаходить найменше спільне кратне чисел А і В. З допомогою NSK2 знайти найменше спільне кратне пар (А, В), (А, С), (А, D), якщо дано числа А, В, С, D.

  3. Враховуючи співвідношення НСД(А, В, С)=НСД(НСД(А, В), С) і використовуючи функцію NSD2 з завдання Proc46, опишіть функцію NSD3(A, B, C) цілого типу, яка знаходить найбільший спільний дільник трьох цілих додатніх чисел А, В, С. З допомогою цієї функції знайти найбільший спільний дільник тройок (А, В, С), (А, В, D) і (В, С, D), якщо дано числа А, В, С, D.

  4. Описати процедуру TimeToHMS(T, H, Х, S), яка по часу Т (в секундах) визначає скільки в них міститься годин Н, хвилин Х і секунд S (Т – вхідний, Н, Х і S – вихідні параметри цілого типу). Використовуючи цю процедуру, знайти кількість годин, хвилин і секунд для п’яти даних відрізків часу Т1, Т2, …, Т5.

  5. Описати процедуру IncTime(H, X, S, T), яка збільшує на Т секунд час, заданий в годинах Н, хвилинах Х і секундах S (Н, М і S – вхідні і вихідні параметри, Т – вхідний параметр; всі параметри – цілі додатні). Дано час (в годинах Н, хвилинах Х, секундах S) і ціле число Т. Використовуючи процедуру IncTime, збільшити даний час на Т секунд і вивести нові значення Н, Х, S.

  6. Описати функцію IsLeapYear(Y) логічного типу, яка повертає TRUE, якщо рік Y (ціле додатнє число) високосний, і FALSE в протилежному випадку. Вивести значення функції IsLeapYear для п’яти даних значень параметра Y. Високосним вважається рік, який ділиться на 4, за виключенням тих років, які діляться на 100 і не діляться на 400.

  7. Використовуючи функцію IsLeapYear з завдання Proc52, описати функцію MonthDays(M, Y) цілого типу, яка повертає кількість днів для М-го місяця року Y (1≤M≤12, Y>0 – цілі числа). Вивести значення функції MonthDays для даного року Y і місяці М1, М2, М3.

  8. Використовуючи функцію MonthDays з завдання Proc53, описати процедуру PrevDate(D, M, Y), яка по інформації про правильну дату, яка включає день D, номер місяці М і рік Y, визначає попередню дату (параметри цілого типу D, M, Y одночасно вхідні і вихідні). Застосувати процедуру PrevDate до трьох вихідних датах і вивести отримані значення попередніх дат.

  9. Використовуючи функцію MonthDays з завдання Proc53, описати процедуру NextDate(D, M, Y), яка по інформації про правильну дату, яка включає день D, номер місяці М і рік Y, визначає наступну дату (параметри цілого типу D, M, Y одночасно вхідні і вихідні). Застосувати процедуру NextDate до трьох вихідних датах і вивести отримані значення наступних дат.

  10. Описати функцію Leng(xA, yA, xB, yB) дійсного типу, яка знаходить довжину відрізка АВ на площині по координатах його кінців:



(xA, yA, xB, yB – дійсні параметри). З допомогою цієї функції знайти довжини відрізків АВ, АС, АD, якщо дані координати точок А, В, С, D.

  1. Використовуючи функцію Leng з завдання Proc56, описати функцію Perim(xA, yA, xB, yB, xC, yC) дійсного типу, яка знаходить периметр трикутника АВС по координатам його вершин (xA, yA, xB, yB, xC, yC – дійсні параметри). З допомогою цієї функції знайти периметри трикутників АВС, АВD, ACD, якщо дано координати точок А, В, С, D.

  2. Використовуючи функції Leng і Perim з завдань Proc56 і Proc57, описати функцію Area дійсного типу, яка знаходить площу трикутника АВС за формулою



де рпівпериметр. З допомогою цієї функції знайти площу трикутника АВС, ABD, ACD, якщо дано координати точок А, В, С, D.

  1. Використовуючи функції Leng і Area з завдань Prog56 і Prog58, описати функцію Dist(xP, yP, xA, yA, xB, yB) дійсного типу, яка знаходить відстань D(P, AB) від точки Р до прямої АВ за формулою

D(P, AB)=2·SPAB/|AB|,

де SPAB – площа трикутника РАВ. З допомогою цієї функції знайти відстань від точки Р до прямих АВ, АС, ВС, якщо дано координати точок Р, А, В, С.

  1. Використовуючи функцію Dist з завдання Proc59, описати процедуру Heights(xA, yA, xB, yB, xC, yC, hA, hB, hC), яка знаходить висоти hA, hB, hC трикутника АВС (вихідні параметри), проведені відповідно з вершин А, В, С (їх координати є вхідними параметрами). З допомогою цієї процедури знайти висоти трикутників АВС, ABD, ACD, якщо дано координати точок А, В, С, D.




Похожие:

Тема. Процедури І функції iconДокументы
1. /Авторский коллектив.doc
2. /Введение.doc
Тема. Процедури І функції iconДокументы
1. /Авторский коллектив.doc
2. /Введение.doc
Тема. Процедури І функції iconДокументы
1. /Гинекология-методичка/New Folder/Тема 7 (ЗППП).doc
2. /Гинекология-методичка/Литература.doc
Тема. Процедури І функції iconОтчет по учебно-исследовательской работе Студент Группы Тема
Тема
Тема. Процедури І функції iconТемы рефератов по литературе в 2008/2009 учебном году. № п/п Тема реферата фио ученика Класс Учитель 1
«Тема «маленького человека» в творчестве Н. В. Гоголя, А. С. Пушкина, Ф. М. Достоевского»
Тема. Процедури І функції iconТема оу на кпмо
Тема оу на кпмо: Оценка эффективности образовательной деятельности оу на основе мониторинга индивидуальных достижений учащихся
Тема. Процедури І функції iconТематическое планирование Тема занятия Форма проведения
...
Тема. Процедури І функції iconТема заседания
Тема заседания : «Возможности школы «Ресурсный центр». План сетевого взаимодействия»
Тема. Процедури І функції iconТема урока: «Гидролиз неорганических веществ. Гидролиз солей»
Тема кмо: «Организация практической и исследовательской деятельности на уроке или во внеурочное время»
Тема. Процедури І функції iconМосковский государственный университет имени М. В. Ломоносова
И. наоборот, рассуждая о культуре, мы очень часто забываем о христианстве. Тема культуры и тема христианства на первый взгляд имеют...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов