четвер, 22 березня 2018 р.

БАНК ЗАВДАНЬ «Алгоритми на двовимірних масивах»


Банк завдань 1. 

ЗАВДАННЯ для програмування алгоритмів на початковому рівні.

Зразок 1  обчислювального алгоритму:

Program PROBA01;
uses wincrt;
const A=10;
          B=5;
var S: integer;
begin
        S:=A+B;
        writeln ( 'S=', S);
end.


Зразок 2 алгоритму вибору:

Program zrazok_02;
var Num: integer;
begin
write('Введіть число:');
readln(Num);
case Num of
0: writeln('Нуль');
1: writeln('Один');
2: writeln('Два' );
3: writeln('Три ');
4: writeln('Чотири') ;
5:writeln('П’ять');
6:writeln('Шість');
7:writeln('Сім');
8:writeln('Вісім');
9:writeln('Дев’ять');  
else writeln('Число не є цифрою');
end;
readln;
end.

Зразок 3 алгоритму з лінійним масивом:
Program zrazok_03;
var a: array[1..40]of char;
b: real;
i: integer;
begin
for i:=5  to 40 read (ch[i]);
for i:=5  to 40 write (ch[i]:3);
readln;
end.


Зразок 4 алгоритму повного  розгалуження:
program Bilshe04;
uses crt;
var a,b:integer;
begin
clrscr;
writeln('Vvedit a:');
readln(a);
writeln('Vvedit b:');
readln(b);
if a>b then writeln('a=',a) else
if a<b then writeln('b=',b) else writeln('a=b');

end.

Зразок 5 алгоритму повного  розгалуження і обчислення виразів:
program pryklad_01;
var a,b,c,y: real;
begin
write('Vvedit a'); readln(a);
write('Vvedit b'); readln(b);
write('Vvedit c'); readln(c);
if a>=15 then
  begin
    if a<=20 then begin writeln( 'a v diapazoni  15-20 ');
y:=10-(exp(abs(a-b)))*(exp(a*(ln(sqr(sin(c)/cos(c)+1))))); end
    else begin  writeln ( 'a >20 ' );
y:=20-(exp(abs(a-b)))*(exp(a*(ln(sqr(sin(c)/cos(c)+1))))); end;
  end
else writeln('a<15');
y:=30-(exp(abs(a-b)))*(exp(a*(ln(sqr(sin(c)/cos(c)+1)))));
writeln('y=',y);
readln;
end.


1.Скласти діалогову програму, яка запитує вік користувача і визначає до якої вікової категорії користувач належить:
від 1 до 10 – дитина;
від 11 до 15 – підліток;
від 16 до 20 – юнак;
від 21 до 30 – молода людина;
після 31 –людина у зрілому віці.
2.Дано ціле число nn=1,…,12 яке вказує порядковий номер місяця в році. Скласти програму яка б за введеним значення n вивела назву відповідного місяця та кількість днів у ньому.
3.Дано ціле число n n=1,…,4, яке  визначає пору року. Скласти програму яка б за введеним значенням n вивела перелік місяців, які належать до цієї пори року.
4.Залежно від введеного символу L, S, V програма повинна обчислювати довжину кола; площу кола; об’єм циліндра.
5.Визначити, чи є введена буква українського алфавіту голосною.
6.Напишіть програму, яка по введеному числу з проміжку 0 .. 24, визначає час доби.
7.Напишіть програму, яка по введеному номеру місяця високосного або невисокосного року, виводить кількість днів у місяці і назву місяця.
8.По введеному числу від 0 до 15 вивести назву кольору, відповідного цьому коду.
9.Арифметичні дії над числами пронумеровані таким чином: 1 - додавання, 2 - віднімання, 3 - множення, 4 - ділення. Дано номер дії N (ціле число в діапазоні 1-4) і дійсні числа A і B (В не дорівнює 0). Виконати над числами вказану дію і вивести результат.
10.Вводиться число від 1 до 15. Вивести дане число, записане римськими цифрами (I, II, III, IV, V, VI, ...., XV);
11.Вводиться число від 1 до 15. Вивести дане число, записане в двійковій системі числення (1, 10, 11, 100, 101, ...., 1111);
12.Написати алгоритм, що дозволяє отримати словесне найменування шкільних оцінок.
13.Написати алгоритм, що дозволяє отримати словесне найменування порядку планет у Сонячній системі.
14. Дано ціле число N (1 <= N <= 3) та дійсне число X. За значенням змінної N, яка є номером Функції, визначити: 
1) sin x
2) cos x
3) tg x.
15. Розробити алгоритм-"лотерею", який, використовуючи генератор випадкових чисел, визначатиме призи:
 1) комп'ютер;
 2) принтер;
 3) сканер;
 4) компакт-диск;
 5) набір дискет.
 Якщо ми хочемо зробити безпрограшну лотерею, необхідно примусити генератор випадкових чисел генерувати числа в діапазоні від 1 до 5. Для цього можна скористатися наступним виразом:
Random(4) + 1.
16. При введенні цифри отримати висновок - парна вона чи непарна.
17. У Давньояпонському календарі був прийнятий дванадцятирічний цикл. Роки всередині циклу носили назви тварин: миші, корови, тигра, зайця, дракона, змії, коня, вівці, мавпи, півня, собаки і свині. Написати програму, яка дозволяє ввести номер року і друкує його назву за старояпонським календарем. Довідка: 1996 р. - рік миші - початок чергового циклу (залишок від ділення на 12 дорівнює 4).
18. Скласти програму випадкового передбачення одного з десяти варіантів найближчого майбутнього з імовірністю 1/20, в інших випадках - ви "невдаха".
19. Для цілого числа K від 1 до 99 надрукувати фразу "Мені k років", враховуючи при цьому, що при деяких значеннях K слово "років" треба замінити на слово "рік" або "роки". Наприклад, 11 років, 22 роки, 51 рік.
20. Вовочка, аматор стріляти з рогатки, 7 разів попадав у міліцію. Увести із клавіатури ціле позитивне число - № влучення. Визначити результат: 4,6,7 – «Міліціонери вставляли нове скло», 2,5 – «Нове скло вставляв тато Вовочки», 1, 3 – «Скло не розбилося».


БАНК  ЗАВДАНЬ  2.

  Завдання з теми   «Алгоритми геометричного змісту»

1.     Створити та реалізувати мовою програмування лінійний алгоритм, що знаходить за трьома відомими сторонами трикутника abc e три дійсні числа – real, які  вводяться з клавіатури) половину периметрa(р=а+b+c), площу(S=(p(p-a)(p-b)(p-c))0,5), радіус описаного кола (R=abc/4S), радіус вписаного кола(r=S/p).  Вивести на екран шукані величини.
2.    Створити та реалізувати мовою програмування лінійний алгоритм, що знаходить за трьома відомими сторонами трикутника abc e три дійсні числа – real, які  вводяться з клавіатури) усі висоти(Ha = 2(p(p-a)(p-b)(p-c))0,5)/aHb = 2(p(p-a)(p-b)(p-c))0,5)/bHc = 2(p(p-a)(p-b)(p-c))0,5)/c трикутника.  Вивести на екран шукані величини.
3.    Створити та реалізувати мовою програмування лінійний алгоритм, що знаходить за трьома відомими сторонами трикутника abc e три дійсні числа – real, які  вводяться з клавіатури)   усі медіани (ma = 0.5(2b2 +2c2-a2)0,5mb = 0.5(2a2 +2a2-b2)0,5), mc = 0.5(2b2 +2a2-c2)0,5 трикутника.  Вивести на екран шукані величини.
4.    Створити та реалізувати мовою програмування лінійний алгоритм, що за відомими фізичними величинами a1m1m2(дійсні  числа)   і законом збереження імпульсу a2=a1m1/m2 знаходить прискорення другого  фізичного об’єкта(тіла).  Вивести на екран шукані величини.  
5.    Створити та реалізувати мовою програмування лінійний алгоритм, що знаходить за відомим ребром куба а(дійсне число) знаходить площу поверхні куба( S = 6a2 ), об'єм куба (V = a3 ), діагональ куба (D=a(3)0.5), діагональ грані куба (L=a(2)0.5).  Вивести на екран шукані величини.


 БАНК ЗАВДАНЬ 3.

 Алгоритми на двовимірних масивах

1.    Задано двовимірний масив 2х2 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що замінює всі елементи даного масиву на взаємно обернені числа, окрім нульових елементів.  Вивести на екран елементи даного та зміненого масивів.
2.    Задано двовимірний масив 3х3 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм,  що замінює елементи з парними індексами з даного масиву на потроєні числа, окрім нульових елементів.  Вивести на екран елементи даного та зміненого масивів.
3.    Задано двовимірний масив 4х4 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що замінює елементи з непарними індексами даного масиву на квадрати суми індексів цього елемента, окрім одиничних елементів масиву.  Вивести на екран елементи даного та зміненого масивів.
4.    Задано двовимірний масив 2х3 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, який підраховує кількість  та суму невід’ємних елементів даного масиву.  Вивести на екран елементи даного масиву та лінійного масиву з невід’ємними елементами.
5.    Задано двовимірний масив 4х2 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, який підраховує кількість  та суму недодатних елементів даного масиву. Вивести на екран елементи даного масиву та лінійного масиву з недодатними елементами.
6.    Задано двовимірний масив 5х5 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що підраховує кількість елементів даного масиву, які належать проміжку (1; 5), окрім цілих чисел.  Вивести на екран елементи даного та лінійного масиву з недодатними елементами.
7.    Задано двовимірний масив 5х5 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що підраховує середнє арифметичне елементів головної діагоналі даного масиву, які належать проміжку (-4; 0), окрім цілих чисел.  Вивести на екран елементи даного та лінійного масиву, що утворений з елементів головної діагоналі, які належать проміжку (-4; 0),
8.    Задано двовимірний масив 2х3 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що підраховує кількість елементів даного масиву, які не належать проміжку (0,5; 3,1), окрім цілих чисел.  Вивести на екран елементи даного та  лінійний масив, що утворений з шуканих елементів, які не належать проміжку (0,5; 3,1).
9.    Задано двовимірний масив 2х3 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що підраховує  кількість елементів даного масиву, які належать проміжку (1; +оо), окрім цілих чисел.  Вивести на екран елементи даного та лінійного масиву, що утворений із шуканих елементів, які належать проміжку (1; +оо).
10.                      Задано двовимірний масив 5х5 з  випадкових дійсних чисел. Створити та реалізувати мовою програмування алгоритм, що підраховує  суму квадратів від’ємних елементів даного масиву, які належать проміжку (-оо; 5), окрім цілих чисел.  Вивести на екран елементи даного та зміненого масивів.

БАНК ЗАВДАНЬ 4


Алгоритми на двовимірних масивах

Заповнити матрицю n на m дійсних чисел довільним чином.
Варіанти завдань:
1. Знайти та надрукувати максимальні за значенням елементи у кожному рядку матриці. Визначити та надрукувати кількість додатних елементів у кожній колонці матриці.
2. Визначити та надрукувати кількість ненульовнх елементів в кожному стовпці заданої матриці. Знайти та надрукувати мінімальні за значенням елементи в кожному рядку заданої матриці.
3. Визначити та надрукувати суму від'ємних елементів у кожній колонці заданої матриці. Визначити та надрукувати максимальний елемент заданої матриці.
4. Визначити та надрукувати мінімальний елемент заданої матриці. Для кожної колонки заданої матриці визначити та надрукувати суму елементів, що належать рядкам з непарними номерами.
5. Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює сумі відповідних елементів матриць А та В. Знайти середнє значення серед усіх елементів матриці С.
6. Для кожної колонки заданої матриці знайти суму елементів, що розташовані нижче головної діагоналі. Підрахувати кількість рядків, що містять від'ємні елементи.
7. Для кожного рядка заданої матриці підрахувати кількість ненульовнх елементів. Для кожної колонки заданої матриці визначити середнє значення, а серед отриманих середніх значень знайти мінімальне.
8. Поділити елементи кожної колонки заданої матриці на останній її елемент. Отриману матрицю надрукувати. Для кожного рядка заданої матриці визначити мінімальне значення, а серед отриманих мінімальних значень знайти середнє.
9. Скласти та надрукувати матрицю, кожний елемент якої обчислюється як різниця відповідного елемента заданої матриці та мінімального елемента рядка. Визначити та надрукувати мінімальний елемент в кожній колонні заданої матриці.
10. Для кожного рядка заданої матриці визначити та надрукувати суму елементів колонок з парними номерами. Для кожної колонки заданої матриці знайти та надрукувати максимальний елемент.
11. Скласти та надрукувати матрицю, кожний додатний елемент якої являє собою цілу частину відповідного елемента заданої матриці. Визначити і надрукувати суму елементів, які перевищують задане число для кожного рядка заданої матриці.
12. Обчислити та надрукувати елементи матриці В, кожен з яких дорівнює різниці відповідних елементів матриць Е1 та Е2. Для кожного рядка матриці В визначити середнє значення, а серед отриманих середніх значень знайти максимальне.
13. Визначити та надрукувати суму усіх елементів матриці. Поділити елементи кожного рядка заданої матриці на перший елемент рядка. Отриману матрицю надрукувати.
14. Обчислити та надрукувати елементи матриці С,  кожен з яких дорівнює добутку відповідних елементів матриць А та В. Для кожного рядка матриці С знайти середнє значення серед від'ємних елементів.
15. Визначити та надрукувати кількість ненульових елементів в кожній колонці заданої матриці. Для кожного рядка заданої матриці визначити та надрукувати суму елементів, що належать рядкам з парними номерами.
16. Знайти та надрукувати максимальні за значенням елементи в кожному рядку заданої матриці. Поділити елемента кожної колонки заданої матриці на останній її елемент. Отриману матрицю надрукувати.
17. Визначите та надрукувати кількість ненульових елементів в кожній колонці заданої матриці Скласти та надрукувати матрицю. кожний елемент якої обчислюється як різниця значень відповідного елемента заданої матриці та мінімального елемента рядка.
18. Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює сумі відповідних елементів матриць А та В. Для кожного рядка матриці С визначити середнє значення, а серед отриманих середніх значень знайти максимальне.
19. Обчислити та надрукувати елементи матриці А, кожен з яких дорівнює різниці відповідних елементів матриць В та С. Знайти середнє значення серед усіх елементів матриці А.
20. Для кожного стовпця заданої матриці знайти суму елементів, що розташовані нижче головної діагоналі. Скласти та надрукувати матрицю.
         21. Для кожного рядка заданої матриці визначити та надрукувати суму елементів стовпців з парними номерами. Визначити та надрукувати значення мінімального елемента заданої матриці.
         22. Для кожної колонки заданої матриці знайти та надрукувати максимальний елемент. Визначити та надрукувати суму елементів, шо перевищують задане число для кожного рядка заданої матриці
         23. Визначити та надрукувати мінімальний елемент в кожній колонні заданої матриці. Підрахувати кількість рядків, що містять від'ємні елементи.
         24.Визначити та надрукувати кількість додатних елементів з кожному рядку заданої матриці. Для кожного рядка заданої матриці визначити мінімальне значення, а серед отриманих мінімальних значень знайти середнє.
         25.Визначити та надрукувати максимальний елемент заданої матриці. Поділити елементи кожного рядку заданої матриці на перший її елемент. Отриману матрицю надрукувати.
         26.Знайти та надрукувати максимальні за значенням елементи в кожному рядку заданої матриці. Для кожної колонки заданої матриці визначити та надрукувати суму елементів, шо належать рядкам з непарними номерами.
         27.Обчислити та надрукувати елементи матриці С, кожен з яких дорівнює добутку відповідних елементів матриць А та В. Для кожного рядка матриці С визначити середнє значення, а серед отриманих середніх значень знайти мінімальне.
         28.Визначити та надрукувати суму усіх елементів матриці. Для кожного рядка заданої матриці знайти середнє значення серед від'ємних елементів.

         29.Для кожної колонки заданої матриш визначити середнє значення, а серед отриманих середніх значень знайти мінімальне. Поділити елементи кожної колонки заданої матриці на останній її елемент. Отриману матрицю надрукувати.







Банк завдань "Алгоритми на лінійних масивах"

І частина

 БАНК ЗАВДАНЬ «Алгоритми на одновимірних масивах»
Складіть і реалізуйте алгоритми для розвязування поданих нижче задач.
1. Задано одновимірний масив з 5 випадкових цілих чисел. Замінити всі елементи даного масиву на протилежні за знаком. Вивести на екран елементи даного та зміненого масивів.
2. Задано одновимірний масив з 7  випадкових дійсних чисел. Замінити всі елементи даного масиву на їхні квадрати. Вивести на екран елементи даного та зміненого масивів.
3. Задано одновимірний масив з 8 випадкових цілих чисел. Збільшити вдвічі всі елементи даного масиву. Вивести на екран елементи даного та зміненого масивів.
4. Задано одновимірний масив з 8 випадкових цілих чисел. Підрахувати кількість відємних елементів у даному масиві. Вивести на екран елементи даного масивів та кількість чисел, що відповідають умові..
5. Задано одновимірний масив з 18 випадкових дійсних чисел різних знаків. Підрахувати кількість додатних елементів у даному масиві. Вивести на екран елементи даного масивів та кількість чисел, що відповідають умові..
6. Задано одновимірний масив з 10 випадкових дійсних чисел різних знаків. Підрахувати суму від’ємних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
7. Задано одновимірний масив з 11 випадкових дійсних чисел різних знаків. Підрахувати суму додатних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
8. Задано одновимірний масив з 14 випадкових дійсних чисел різних знаків. Підрахувати середнє арифметичне всіх елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
9. Задано одновимірний масив з 18 випадкових дійсних чисел різних знаків. Підрахувати середнє арифметичне додатних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
10. Задано одновимірний масив з 16 випадкових дійсних чисел різних знаків. Підрахувати середнє арифметичне від’ємних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
11. Задано одновимірний масив з 12 випадкових дійсних чисел різних знаків. Поміняйте місцями такі елементи масиву: 1-й на 9-й, 2-й на 8-й і т. ін. Вивести на екран елементи даного масивів та чотири числа, що обмінюються згідно умові..
12. Задано одновимірний масив з 16 випадкових дійсних чисел різних знаків. Знайти найбільший елемент масиву. Вивести на екран елементи даного масивів та число, що відповідає умові..
13. Задано одновимірний масив з 12 випадкових дійсних чисел різних знаків. Знайти найменший елемент масиву. Вивести на екран елементи даного масивів та число, що відповідає умові..
14. Задано одновимірний масив з 13 випадкових дійсних чисел різних знаків. Знайти різницю між  найбільшим і найменшим елементом. Вивести на екран елементи даного масивів та число, що відповідає умові..
15. Задано одновимірний масив з 10 випадкових дійсних чисел різних знаків. Знайти суму кубів від’ємних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
16. Задано одновимірний масив з 14 випадкових дійсних чисел різних знаків. Знайти суму кубів додатних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
17. Задано одновимірний масив з 10 випадкових дійсних чисел різних знаків. Знайти суму квадратів відємних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
18. Задано одновимірний масив з 15випадкових дійсних чисел різних знаків. Знайти суму квадратів додатних елементів. Вивести на екран елементи даного масивів та число, що відповідає умові..
19. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків. Зясувати, чи є у масиві елемент, що дорівнює 7. Якщо є, то визначити, який його порядковий номер (індекс). Вивести на екран елементи даного масивів та число, що відповідає умові..
20. Задано одновимірний масив з 14 випадкових дійсних чисел різних знаків. У даному масиві всі елементи, що більші від числа 1, замінити на 0. Вивести на екран елементи даного масивів та число, що відповідає умові..
21. Задано одновимірний масив з 13 випадкових дійсних чисел різних знаків. У даному масиві всі елементи, що більші від числа 5, замінити на 1. Вивести на екран елементи даного масивів та число, що відповідає умові..
22. Задано одновимірний масив з 12 випадкових дійсних чисел різних знаків. Знайти суму елементів, що мають парні індекси. Вивести на екран елементи даного масивів та число, що відповідає умові..
23. Задано одновимірний масив з 11 випадкових дійсних чисел різних знаків. Знайти суму елементів, що мають непарні індекси. Вивести на екран елементи даного масивів та число, що відповідає умові..
24. Задано одновимірний масив з 17 випадкових дійсних чисел різних знаків.  Всі елементи даного масиву замінити на їхні куби. Вивести на екран елементи даного масивів та числа, що відповідають умові..
25. Задано одновимірний масив з 17 випадкових дійсних чисел різних знаків. Елементи, що більші від числа 3, замінити на їхні куби. Вивести на екран елементи даного масивів та числа, що відповідають умові.
26. Задано одновимірний масив з 16 випадкових дійсних чисел різних знаків. Підрахувати кількість елементів, що більші від числа 3. Вивести на екран елементи даного масивів та числа, що відповідають умові.
27. Задано одновимірний масив з 15 випадкових дійсних чисел різних знаків. Підрахувати кількість елементів, що не більші від числа -1. Вивести на екран елементи даного масивів та числа, що відповідають умові.
28. Задано одновимірний масив з 14 випадкових дійсних чисел різних знаків. Підрахувати середнє арифметичне елементів, що не менші від 1. Вивести на екран елементи даного масивів та числа, що відповідають умові.
29. Задано одновимірний масив з 13 випадкових дійсних чисел різних знаків. Підрахувати число елементів, що лежать в інтервалі (-3; 8). Вивести на екран елементи даного масивів та числа, що відповідають умові.
30. Задано одновимірний масив з 12 випадкових дійсних чисел різних знаків. Скласти з масиву K масив A, що містить тільки позитивні елементи масиву K. Вивести на екран елементи даного масивів та числа, що відповідають умові.
31. Задано одновимірний масив з 11 випадкових дійсних чисел різних знаків. Скласти з масиву K масив A, що містить усі елементи масиву К, які за величиною перевищують їхнє середнє арифметичне. Вивести на екран елементи даного масивів та числа, що відповідають умові.
32. Задано одновимірний масив з 10 випадкових дійсних чисел різних знаків. Побудувати масив А, що містить усі масиви елементу К, які задовольняють таку умову:   -4 < Ai < 10. Вивести на екран елементи даного масивів та числа, що відповідають умові..
33. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків.  Побудувати масив А, що містить усі парні елементи масиву К. Вивести на екран елементи даного масивів та числа, що відповідають умові.
34. Обчислити середнє арифметичне всіх чисел масиву К, що мають непарні номери. Вивести на екран елементи даного масивів та числа, що відповідають умові.
35. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків.  Замінити елементи даного масиву на їхні модулі. Вивести на екран елементи даного масивів та числа, що відповідають умові.
36. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків.  Замінити додатні елементи на число 5, а відємні  - на число 7. Вивести на екран елементи даного масивів та числа, що відповідають умові.
37. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків.  Заповніть новий масив, збільшивши усі числа даного масиву на 2. Вивести на екран елементи даного масивів та числа, що відповідають умові.

38. Задано одновимірний масив з 10 випадкових цілих чисел різних знаків.  Додати до відємних елементів даного масиву по 1, а додатні елементи зменшити на 1. Вивести на екран елементи даного масивів та числа, що відповідають умові.



 ІІ частина

Складіть програми для розв’язання поданих нижче задач,записуючи розв’язки в одновимірні масиви.

1. 1000 шт. цегли можна перевозити візками місткістю 100, 300, 400, 500 шт. цегли. Отримати всі можливі варіанти перевезень. Підрахувати їхню кількість.
2. Футбольний м’яч коштує 65 грн. Отримати всі можливі варіанти оплати,якщо у покупця є 5-,10-,20-гривневі купюри. Підрахувати кількість варіантів.
3. Садівникові потрібно 18 кг. Мінеральних добрив. Отримати всі можливі варіанти купівлі добрива,якщо в магазині продаються розфасовки по 5-,4-,2-кг. Підрахувати кількість варіантів.
4. Повітроплавцеві потрібно заповнити воднем повітряну кулю місткістю 17 куб. м балончиками по 1-,2-,5-куб. м водню. Отримати всі можливі варіанти наповнення. Підрахувати їхню кількість.
5. Шляховим майстрам потрібно прокласти 190 м. залізниці рейками по 8 і 10 м. Отримати всі можливі варіанти прокладання. Підрахувати їхню кількість.
6. 14 літрів соку потрібно розлити в 4-,3-,2- та 1-літрові  банки. Отримати всі можливі варіанти розливу. Підрахувати їхню кількість.
7. 36 кг яблук потрібно розфасувати у пакети по 2-,4-,5- і 10-кг. Отримати усі можливі варіанти розфасування. Підрахувати їхню кількість.
8.20 кг яблук потрібно розфасувати у пакети по 2-,4- кг. Отримати всі можливі варіанти розфасування. Підрахувати їхню кількість.
9. 240 екскурсантів можна розсадити в автобуси ЛАЗ(місткість-40 осіб) і ПАЗ(місткість-30 осіб). Отримати всі можливі варіанти  замовлень автобусів для перевезення екскурсантів. Підрахувати кількість варіантів.
10. 13 літрів соку потрібно розлити в 4-,2- та 1-літрові банки. Вивести на монітор всі можливі варіанти розливу. Підрахувати їхню кількість.
11. Друкарці  можна  друкувати  книги обсягом 30, 40 і 60 аркушів  за її вибором. Усього вона надрукувала 1200 аркушів. Визначити, скільки і яких книг вона могла надрукувати. Отримати всі можливі варіанти. Підрахувати їхню кількість.
12. Для ремонту дороги потрібно завезти 24 т щебеню. В автопарку є самоскиди  вантажопідйомністю 3,  4 і 6 т. Отримати всі можливі варіанти перевезення щебеню. Підрахувати їхню кількість.
13. 600 шт. цегли можна перевозити возами місткістю 60 і 45 цеглин. Отримати усі можливі плани перевезення. Підрахувати їхню кількість.
14. 200 літрів бензину потрібно розлити в баки місткістю 60, 45, і 25 л. Отримати всі можливі варіанти розливу. Підрахувати їхню кількість.

середу, 21 березня 2018 р.

Обчислювальні алгоритми на масивах


Практична робота 31
 Обчислювальні алгоритми на масивах

Завдання 1. Створити та реалізувати алгоритм мовою Pascal, який підносить до квадрату парні  остачі усіх чисел в одномірному масиві(рядок чисел) при діленні на 7 і підносить до кубу непарні остачі (mod 7) та виводить   результати цих дій  у новий масив. І до того ж   знаходить суму усіх цих остач.  При цьому  у початковому масиві числа задаються алгоритмом, як випадкові 7-цифрові цілі  від’ємні числа.
program MOD1;     {Підрахунок і дії з остачами для усіх елементів числового масиву}
const  n=2;    var a, b: array [1..n] of  integer;         s, i: integer;
begin        writeln ( 'Виводиться    ', n,  '  випадкових елементів масиву A:');
 for   i:=1  to  n   do  begin     a[i]:=-1000000-random(9000000);  write(' а[', i, ']=: ', a[i]);  write('     '); end; writeln;  writeln ( 'Виводиться    ', n,  '  елементів масиву остач:');
  s:=0;        for i:=1 to n do  begin  b[i]:=a[i]  mod  7;     s:=s+b[i];   write('b[', i, ']= ', b[i]);  write('  '); end; writeln; writeln('Сума усіх остач елементів масиву =', s); writeln('***');
for i:=1 to n do  begin  if  b[i] mod 2=0 then b[i]:= b[i]* b[i]  else b[i]:= b[i]* b[i]* b[i];
write('c[', i, ']= ', b[i]);  write('     '); end; writeln;  writeln('************');end.
Протестувати  алгоритм для 9-цифрових: а) const =9; б) const =8;  в) const =25. 

Завдання 2. Створити та реалізувати алгоритм мовою Pascal, який знаходить  парні числа і ділить ці числа на 2 та знаходить непарні числа і подвоює їх в двовимірному  масиві(таблиця чисел). При цьому  у початковому масиві алгоритмом задаються випадкові 8-цифрові цілі,  як додатні  так і від’ємні  числа.
program ODD2;   {Дії окремо з парними  та окремо з непарними елементами масиву}
const  n=3;       var  a: array [1..n, 1..n] of integer;             j, i, p: integer;
begin        writeln ( 'Вводиться    ', n*n,  '  випадкових елементів масиву');
for  i:=1 to n do begin  for j:=1 to n do begin        a[i, j]:=-4000000+random(90000000);
write('  а[', i, ' ,' , j, ' ]= ', a[i, j]);  write('  '); end;    writeln('  ');  end;  writeln ('Масив:');
    p:=0;   for i:=1 to n do begin       for   j:=1 to n do begin
  if  (a[i, j] mod 2)=0   then begin  p:=p + 1;  a[i, j]:=a[i, j] div 2  end  else a[i, j]:=2*a[i, j];
write('  b[', i, ' ,' , j, ' ]=', a[i, j]);     write('  '); end;    writeln('  ');  end;  writeln;
writeln('Кількість парних елементів масиву =', p);
writeln('Кількість непарних елементів масиву =', n*n- p); writeln('*******');end.
Протестувати  алгоритм для 4-цифрових: а) const =4; б) const =5;  в) const =8. 

Завдання 3. Створити та реалізувати алгоритм мовою Pascal, який виводить два масиви розміром nxn у вигляді рядків та стовпців і знаходить потроєну суму та  потроєну різницю цих двох  двовимірних  масивів А та В(таблиці з різними числами,  котрі збільшені в 3 рази), якщо у двох масивах алгоритмом задаються випадкові 6-цифрові цілі додатні  числа.
program SUM3DELTA3;   { Потроєна сума або потроєна різниця масивів: С= 3А ± 3В}
const  n=2;       var  b, a: array [1..n, 1..n] of integer;   k,m,  j, i: integer;
begin   writeln ( 'Виводиться  по  ', n*n,  '  випадкових елементів  масивів А та В');
for i:=1  to n do   begin      for j:=1  to n do  begin   a[i,j]:= 100000+random(90000) ; 
 write('  a[',i,';',j,']:= ' ,  a[i,j]);   end; writeln('   ');  end;  writeln(' Другий  масив:');
 for i:=1  to n do   begin     for j:=1  to n do  begin     b[i,j]:= 100000+random(90000);  
write('  b[',i,';',j,']:= ', b[i,j]);   end; writeln('   '); end;  writeln('   '); writeln(' Відповідь.');
for i:=1 to n do begin for    j:=1 to n do begin  write('  3a+3b[', i, ' ,' , j, ' ]= ', 3*( a[i,j]+ b[i,j] )); end; writeln('   '); end;  writeln('   ');   writeln('   ');  for  k:=1 to n do begin  for  m:=1 to n do begin   write('  3a-3b[', k, ' ,' , m, ' ]= ', 3*( a[k,m]- b[k,m]));  end; writeln('   '); end;  writeln('   '); writeln; end.
Протестувати  алгоритм для 10-цифрових: а) const =3; б) const =4;  в) const =9. 

Практична робота 32 
Обчислювальні алгоритми на масивах

Завдання 1. Створити та реалізувати алгоритм мовою Pascal, який знаходить потроєний квадрат суми усіх чисел в одномірному масиві, тобто  С= 3(а12+…+ар)2 і виводить новий масив, в якому кожний і-ий елемент дорівнює числу: C -a і*aі  , якщо у даному масиві А алгоритмом задаються випадкові 7-цифрові цілі  від’ємні числа.
program QUADRATSUMMA1; {Підрахунок потроєного квадрату суми чисел масиву}
const  n=2;    var a, b: array [1..n] of  integer;        c, s, i: integer;
begin        writeln ( 'Вводиться    ', n,  '  випадкових елементів масиву A:');
     for   i:=1  to  n   do  begin     a[i]:=-1000000-random(9000000);
write(' а[', i, ']=: ', a[i]);  write('     '); end; writeln;
writeln ( 'Виводиться    ', n,  '  елементів нового масиву різниць  C ІІ:');
     s:=0;        for i:=1 to n do  s:=s+a[i];   C:=3*s*s;
for i:=1 to n do  begin write('b[', i, ']= ', c- a[i]*a[i]);  write('     '); end; writeln;
writeln('Потроєний квадрат суми елементів масиву А:', C); writeln('*****************'); end.
Протестувати  алгоритм для 4-цифрових: а) const =7; б) const =6. 

Завдання 2. Створити та реалізувати алгоритм мовою Pascal, який змінює усі числа на протилежні і обмінює числа  місцями відносно головної діагоналі в двовимірному  масиві, якщо у масиві алгоритмом задаються випадкові 8-цифрові цілі додатні і від’ємні  числа.
program TRANSPONUVAN2;   {Обмін  елементів масиву відносно головної діагоналі}
const  n=3;       var  a,b: array [1..n, 1..n] of integer;            s, m, j, i, p: integer;
begin        writeln ( 'Вводиться    ', n*n,  '  випадкових елементів масиву');
     for    i:=1 to n do begin          for    j:=1 to n do begin 
      a[i, j]:=10000000+random(90000000)*(1- random(3));
write('  a[',i,';',j,']:= ' ,  a[i,j]);   end; writeln('   ');  end;  writeln(' Змінений  масив:');
p:=0;   for i:=1 to n do begin       for   j:=1 to n do begin
 b[i, j] :=- a[j,i];  write('  b[', i, ' ,' , j, ' ]=', b[i, j]);  write('  '); end; writeln('  ');  end;  writeln;
writeln('*****************');end.
Протестувати  алгоритм для 4-цифрових: а) const =2; б) const =4;   в) const =5. 

Завдання 3. Створити та реалізувати алгоритм мовою Pascal, який виводить два масиви розміром nxm у вигляді рядків та стовпців і знаходить поелементу різницю між потроєними  числами першого рядка масиву та подвоєними  числами другого рядка   двовимірного  масиву А(nxm) і результат записує у третій рядок, якщо у масиві А алгоритмом задаються випадкові 1-цифрові цілі додатні  числа.
program DELTA3;   {Різниця між потроєними  числами першого рядка масиву }
const  n=3; const  m=4;       var  b, a: array [1..n, 1..m] of integer;     j, i: integer;
begin   writeln ( 'Виведення ', n*m,  '  випадкових елементів масиву A: ');
for i:=1  to n do   begin      for j:=1  to m do  begin   a[i,j]:= 1+random(10) ;
 write('   a[',i,';',j,']:= ' ,  a[i,j]);   end; writeln('    ');  end;  writeln('   ');
writeln('Шуканий масив: ');
 for i:=1  to m do   begin  a[3, i]:= 3*a[1, i]- 2*a[2, i]; end;
 for i:=1  to n do   begin      for j:=1  to m do  begin
write('   b[',i,';',j,']:= ' ,  a[i,j]);   end; writeln('    ');  end;  writeln('   ');
writeln;   end.
Протестувати  алгоритм для   а) випадкових  10-цифрових: const  n=6; const  m=9; 
б) випадкових  7-цифрових:  const  n=7; const  m=8;  в)  4-цифрових: const  n=4; const  m=5.    

Практична робота 33 
Обчислювальні алгоритми на масивах

Завдання 1. Створити та реалізувати алгоритм мовою Pascal, який знаходить   суму чисел в кожному стовпчику двовимірного  масиву(таблиця чисел) і записує ці суми  у одномірний масив. При цьому  у початковому масиві nxn алгоритмом задаються випадкові дійсні,  як додатні  так і від’ємні  числа.
program SUMMA1;   {cума чисел у кожному стовпчику масиву}
const  n=3;  const  m=4;    var  a: array [1..n, 1..m] of realb: array [1..m] of real;     j, i, p: integer;
begin        writeln ( 'Вводиться    ', n*n,  '  випадкових елементів масиву');
for  i:=1 to n do begin  for j:=1 to m  do begin     a[i, j]:=-2-random(5)+0.8*random(4);
write('  а[', i, ' ,' , j, ' ]= ', a[i, j]);  write('  '); end;    writeln('  ');  end;
 writeln ('Масив сум по стовпичках:');
    for i:=1 to m do begin  b[i]:=0;  end;
     for i:=1 to n do begin  for   j:=1 to m do  b[j]:=a[i, j]+ b[j];  end;
  for i:=1 to m do begin  write('  b[', i, ' ]=', b[i]);     write('  '); end;    writeln;
writeln('*******');end.
Протестувати  алгоритм для: а) const  n=5; const m=6; б) const n=8; const m=8;   в) const  n=9  const m=10;   г) const  n=7; const m=10;  д) const n=1; const m=10.
Завдання 2. Створити та реалізувати алгоритм мовою Pascal, який знаходить   суму чисел в кожному рядку  двовимірного  масиву(таблиця чисел) і записує ці суми  у одномірний масив. При цьому  у початковому масиві nxn алгоритмом задаються випадкові дійсні,  як додатні  так і від’ємні  числа.
program SUMMA2;   {cума чисел у кожному рядку масиву}
const  n=3;  const  m=4; 
var  a: array [1..n, 1..m] of realb: array [1..n] of real;     j, i: integer;
begin        writeln ( 'Вводиться    ', n*n,  '  випадкових елементів масиву');
for  i:=1 to n do begin  for j:=1 to m do begin     a[i, j]:=-2-random(5)+0.8*random(4);
write('  а[', i, ' ,' , j, ' ]= ', a[i, j]);  write('  '); end;    writeln('  ');  end;
 writeln ('Масив сум по рядках:');      for i:=1 to n do begin  b[i]:=0;  end;
     for i:=1 to m do begin  for   j:=1 to n do  b[j]:=a[j, i]+ b[j];  end;
  for i:=1 to n do begin  write('  b[', i, ' ]=', b[i]);     write('  '); end;    writeln;
writeln('*******');end.

Протестувати  алгоритм для: а) const  n=2; const m=6; б) const n=3; const m=8;   в) const  n=1  const m=10;   г) const  n=3; const m=5;  д) const n=1; const m=1.