Варіанти задач

Процедури

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

Загальний вигляд опису процедури:

PROCEDURE <ім'я процедури> (<формальні параметри: тип);

Розглянемо приклад підпрограми-функції.

Приклад 6.4. Написати процедуру знаходження max і min елемента з двох цілих чисел а і b.

procedure minmax (aa, bb: integer; var min, max: integer);

begin

if aa>bb then

begin

min:= bb;

max:= aa;

end

else

begin

max:= aa;

min:= bb;

end

end.

Тут aa і bb − параметри-значення; a min, max − параметри-змінні.

Серед параметрів процедури виділяють параметри-значення і параметри-змінні. Параметри-значення виконують роль вхідних параметрів процедури. Вони можуть набувати значень фактичних параметрів, але не можуть передавати свої значення фактичним параметрам. Параметри-змінні виконують роль як вхідних, так і вихідних параметрів процедури. Вони можуть набувати значень фактичних параметрів, змінювати їх у процедурі та повертати нові значення фактичним параметрам. Для виділення параметрів-змінних перед ними ставиться слово VAR у формальних параметрах [1].

Приклад 6.5. Написати процедуру, яка обчислює квадрат і квадратний корінь суми трьох змінних речового типу а, b, c і присвоює отримані результати формальним змінним x і y відповідно.

procedure expres (a, b, c: real; var х, у: real);

var z: real;

begin

z:=a+b+c;

x:=sqr(z);

y:=sqrt(z);

end;

Цю процедуру можна викликати таким чином: expres(25.4, 53.6, 30, xl, yl).

В даному випадку процедура expres вичислить квадрат і квадратний корінь суми трьох змінних 16.4, 53.6, 30 і результати присвоїть фактичним змінним xl і у1 відповідно.

Допускається однакове позначення фактичних і формальних параметрів. Тип фактичних параметрів повинен відповідати типу формальних параметрів.

В якості фактичних параметрів, яким відповідають параметри-змінні, можуть бути тільки змінні; формальні параметри представлені тільки іменами (константи і вирази не допустимі).

Приклад 6.6.Написати процедуру, яка міняє місцями значення змінних а і b. В даному випадку параметри-змінні а і b виконують роль як вхідних, так і вихідних параметрів:

procedure excheng (var a, b: integer);

var t: integer;

begin

t:=a;

a:=b;

b:=t;

end;

Скласти програму згідно зі своїм варіантом, проаналізувавши завдання і виділивши частину завдання, яку доцільно оформити у вигляді окремої процедури, або функції.

Примітка. max і min − функції знаходження відповідно максимального і мінімального значення з двох дійсних чисел. Програма повинна коректно працювати для всіх допустимих вхідних параметрів.

00. Обчислити вираз , де .

01. Обчислити вираз , де , i =1 .. n

02. Задано дійсні числа s, t. Отримати ,

де .

03. Задано два дійсні числа X і Y. Якщо Х> Y, то їх значення поміняти місцями. Обмін місцями значень двох змінних оформити у вигляді процедури.

04. Обчислити число комбінацій з n по m: . Обчислення факторіалу оформити у вигляді процедури.

05. Обчислити вираз .

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

06. Задано масив А з n дійсних чисел. Знайти суму його елементів. Обчислення суми оформити у вигляді функції.

07 Задано масив В з n дійсних чисел. Написати процедуру, яка визначала б кількості додатних, від’ємних і нульових елементів масиву і повертала б результати в головну програму.

08. Написати функцію піднесення числа х до степеня n.

09. Обчислити вираз .

10. Задано коло з координатами центра (x, y) радіуса R. Написати програму перевірки потрапляння випадкової точки (xk, yk) у задане коло. Перевірку потрапляння реалізувати у вигляді функції, що повертає булеве значення.

11. Задано матрицю А розмірності n×m. Отримати матрицю B=A15.

12. Скласти процедуру обчислення сум

для з кроком .

Значення а, b, n передавати як параметри.

13. Задана цілочислова матриця розмірності m×n. Скласти підпрограму для знаходження номерів рядків, усі елементи яких діляться на 3 без остачі.

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

15. Задано одновимірний масив М дійсних чисел розмірністю n. Скласти процедуру, що повертає в основну програму значення максимального і мінімального елементів.

16. Обчислити вираз , де х і у – дійсні числа.

17. Задано одновимірний масив М дійсних чисел розмірністю n. Скласти процедуру, що повертає в основну програму значення максимального елемента та його номер.

18. Обчислити ймовірність появи m подій в n незалежних дослідах.

, де n>m - натуральні, . Обчислення факторіалу та піднесення до степеня реалізувати у вигляді функцій.

19. Обчислити вираз .

20. Задано чотири дійсні числа а, b, с, d. Скласти функцію, яка повертала б в основну програму мінімальне з них.

21. Задано дві квадратні матриці А і В дійсних чисел розмірністю N×M. Скласти процедуру, яка обчислює та повертає в головну програму матрицю Z, що є їх добутком.

22. Обчислити вираз z=сh(х)+сh(х+y), де х, y − дійсні числа. Обчислення гіперболічного косинуса оформити у вигляді функції.

23. Дано одновимірний масив дійсних чисел А розмірністю n і дійсне число х. Скласти функцію, що повертає в головну програму кількість елементів масиву А, рівних заданому числу х.

25. Обчислити вираз , де обчислення сум реалізувати у вигляді функцій.

26. Обчислити вираз , де обчислення організувати у вигляді функцій.

27. Обчислити вираз , де операцію піднесення до ступеня оформити у вигляді функції.

28. Задано дійсні числа s і t. Отримати , де .

29. Обчислити вираз . Обчислення сум реалізувати у вигляді функцій.

30. Обчислити вираз .

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

32. Обчислити вираз , де , р і n – цілі числа. Обчислення суми реалізувати у вигляді функцій.

33. Обчислити вираз , де х, у – дійсні числа. Обчислення гіперболічного синуса оформити у вигляді функції.

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

35. Задано дійсне число у. Отримати ,

де .

36. Задано дійсні числа s і t. Отримати ,

де .

37. Задано натуральні числа m, n, дійсні числа a1, ..., an, b1, ..., bm, z1, ..., zm. Отримати

38. Задано натуральні числа k, m, n, дійсні числа x1, ..., xk, y1, ..., ym, z1, ..., zn. Отримати

39. Обчислити вираз .

40. Задано матриця А розмірності n×m дійсних чисел і вектор В розмірності n. Скласти процедуру, яка обчислює і повертає в головну програму вектор С, що є їх добутком.

41. Обчислити вираз , де х і у – дійсні числа. Обчислення оформити у вигляді функції.

42. Задано матриця М розмірності n×m дійсних чисел. Скласти функцію, яка повертає в головну програму суму елементів головної діагоналі.

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

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

45. Обчислити вираз . Обчислення факторіалу та степеневу функцію оформити у вигляді підпрограм.

46. Задано матрицю А розмірності n×m. Написати програму транспонування матриці А. Операцію транспонування реалізувати у вигляді процедури .

47. Перетворення декартових координат на полярні здійснюється за формулами:

і .

Написати програму перетворення координат, використовуючи процедуру, вхідними параметрами якої є х і у, а вихідними r і θ.

48. Вектор (відрізок) з координатами кінців (x1, у1) і (x2, у2), що лежить на площині, має довжину . Написати програму обчислення довжини вектора, використовуючи функцію.

49. Обчислити вираз .

50. Задано дійсну матрицю С розмірності n×m. Скласти процедуру, яка повертає в головну програму максимальний за модулем елемент матриці і його індекси.

51. Обчислити вираз , де , р і n – цілі числа. Обчислення суми реалізувати у вигляді функцій.

52. Обчислити вираз , де х, у – дійсні числа. Обчислення гіперболічного тангенса оформити у вигляді функції.

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

 

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

55. Перетворення декартових координат на полярні здійснюється за формулами: і . Написати програму перетворення координат, використовуючи процедуру, вхідними параметрами якої є r і θ, а вихідними х і у.

56. Обчислити вираз , де .

57. Задано дві квадратні матриці 5-го порядку. Надрукувати квадрат тієї з них, яка має найменший слід (сума елементів головної діагоналі). Визначення сліду матриці реалізувати у вигляді функції.

58. Задано одновимірний масив дійсних чисел А розмірності n. Скласти процедуру, яка б повертала в головну програму змінений масив А, елементи якого обчислюються за формулою , де М − середнє арифметичне елементів масиву.

59. Обчислити вираз .

60. Обчислити вираз , де . Обчислення y оформити у вигляді функції.

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

 

62. Задано вектор B розмірності n і дійсне число a. Обчислити добуток a×B. Множення вектора на число оформити у вигляді функції або процедури.

 

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

 

 

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

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

 

66. Задано матрицю B розмірності m×n. Написати програму, що здійснює введення та виведення елементів масиву. Виведення елементів масиву реалізувати у вигляді процедури, що виводить на екран масив у вигляді матриці (вхідний параметр − масив B).

67. Задано матрицю G розмірності m×n. Написати програму обчислення суми елементів, що лежать нижче головної діагоналі, для кожного стовпця заданої матриці. Обчислення суми необхідних елементів реалізувати у вигляді процедури, вхідним параметром якої є матриця G, а вихідним − одновимірний масив розмірності n.

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

69. Обчислити вираз .

70. Перетворення декартових координат у сферичні здійснюється за формулами: , , . Написати програму перетворення координат, використовуючи процедуру, вхідними параметрами якої є х, у, r, а вихідними r, θ і φ.

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

 

72. Задано матрицю В розмірності m×n. Написати програму, що здійснює введення та виведення елементів масиву. Введення та виведення елементів масиву реалізувати у вигляді процедури (вхідні параметри – m і n).

73. Перетворення декартових координат на сферичні здійснюється за формулами: , , . Написати програму перетворення координат, використовуючи підпрограми-функції для обчислення r, θ і φ.

74. Написати програму пошуку заданого елемента в одновимірному невпорядкованому масиві дійсних чисел. Пошук елемента реалізувати у вигляді процедури, вхідними параметрами якої є задані елемент і масив, а вихідним − номер елемента в масиві, якщо такий є. В іншому випадку процедура повинна повернути -1.

75. Обчислити вираз . Обчислення релизувати у вигляді функції.

 

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

77. Перетворення циліндричних координат на декартові здійснюється за формулами: , , . Написати програму перетворення координат, використовуючи процедуру, вихідними параметрами якої є х, у, а вхідними r і φ.


78. Задано одновимірний масив В з n дійсних чисел і деяке дійсне число х. Написати програму підрахунку кількості елементів, рівних х. Підрахунок заданих елементів реалізувати у вигляді функції, що повертає їх кількість.

79. Обчислити вираз .

80. Перетворення сферичних координат на декартові здійснюється за формулами: , , . Написати програму перетворення координат, використовуючи процедуру, вихідними параметрами якої є х, у, z, а вхідними − r, θ і φ.

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

 

82. Задано матрицю В розмірності m×n. Написати програму, що виконує її стандартизацію . Алгоритм стандартизації елементів масиву реалізувати у вигляді процедури (вхідний і вихідний параметр − матриця В).

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

84. Написати програму пошуку заданого елемента в одновимірному упорядкованому масиві дійсних чисел. Пошук елемента реалізувати у вигляді процедури, вхідними параметрами якої є задані елемент і масив, а вихідним − номер елемента в масиві, якщо такий є. В іншому випадку процедура повинна повернути -1.

85. Задано одновимірний масив дійсних чисел В. Написати програму, яка б виводила на екран усі прості числа, міститися в даному масиві. Пошук простих чисел реалізувати у вигляді процедури, у якій вхідним параметром є вихідний масив В, а вихідним − деякий масив С, що складається з простих чисел. Пояснення: число називається простим, якщо воно не має інших дільників, крім самого себе.

86. Написати програму розв'язання квадратного рівняння та виведення його коренів на екран. Розв'язання рівняння реалізувати у вигляді процедури, вхідними параметрами якої є коефіцієнти a, b, c, а вихідними − дійсні корені x1 і x2.

87. Написати програму розв'язання системи двох лінійних рівнянь з двома невідомими та виведення його коренів на екран: . Алгоритм розв'язання реалізувати у вигляді процедури. Вхідні параметри процедури –

коефіцієнти та вільні члени, вихідні − розв'язання х та у.

88. Скласти програму для обчислення периметра довільного плоского багатокутника із заданими координатами вершин xi і yi. Обчислення периметра реалізувати у вигляді функції.

89. Обчислити вираз .

90. Обчислити число комбінацій з n по m: . Обчислення факторіал оформити у вигляді функції.

 

91. Перетворення сферичних координат на декартові здійснюється за формулами: , , . Написати програму перетворення координат, використовуючи підпрограми-функції для обчислення x, y, z.

92. Написати програму пошуку заданого елемента в одновимірному упорядкованому масиві дійсних чисел. Пошук елемента реалізувати у вигляді функції, що повертає номер елемента в масиві, якщо такий є, або -1 у протилежному випадку.

93. Обчислити вираз , де х і у − дійсні числа.

Обчислення оформити у вигляду функції.

94. Обчислити вираз , де k і l − натуральні числа. Обчислення факторіалу організувати у вигляді функції.

 

95. Скласти програму для обчислення виразу , де ; ; ; , а − підпрограма-функція для обчислення значення виразу: .

96. Обчислити вираз . Обчислення

оформити у вигляді функції.

97. Задано три довільних трикутники із заданими координатами вершин. Написати програму для визначення максимального периметра. Обчислення периметра за координатами його вершин реалізувати у вигляді функції.

98. Прямокутник заданий координатами верхнього лівого та правого нижнього кутів (х1, y1) і (х2, y2). Написати програму перевірки потрапляння випадкової точки (хk, yk) у заданий прямокутник. Перевірку потрапляння реалізувати у вигляді функції, що повертає булеве значення.

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