Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка(Паскаль)(А4).doc
Скачиваний:
7
Добавлен:
27.08.2019
Размер:
1.25 Mб
Скачать

2. Параметри-змінні

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

При використанні цього способу заголовок процедури змінюється таким чином: перед ідентифікатором формального параметра в заголовку процедури вказується службове слово Var.

Змінні, перед якими записане службове слово Var, називаються параметрами-змінними.

При виконанні процедури формальні параметри-змінні замінюються фактичними параметрами. Будь-які зміни значення формального параметру-змінної приводить до зміни значення фактичного параметру-змінної. За допомого параметрів-змінних в основну програму передаються результати дії вказівок над даними.

Задача.

Дано дві трійки чисел: А1, В1, СІ і А2, В2, С2.

Знайти значення сум:

S1 = min(Al,Bl, СІ) + min(A2, B2, С2),

S2= mах(А1, В1, СІ) + mах(А2, В2, С2).

Для знаходження min і max з трьох чисел використаємо процедуру МіnМах.

Program PRIKLAD;

Var Al,Bl,Cl,A2,B2,C2,MINl,MIN2,MAX1,MAX2,Sl,S2:real;

procedure MinMax(A,B,C:real; var MIN,MAX:real);

begin

MAX:=A;

if MAX<B then MAX:=B;

if MAX<C then MAX:=C;

MIN:=A;

if MIN>B then min:=B;

if MIN>C then MIN:=C;

end;

begin

write('Al='); readln(Al);

write('B1='); readln(Bl);

write('Cl='); readln(Cl);

write('A2='); readln(A2);

write('B2='); readln(B2);

write('C2='); readln(C2);

MinMax(Al,Bl,Cl,MINl,MAXl); MinMax(A2,B2,C2,MIN2,MAX2);

S1:=MIN1+MIN2;

S2:=MAX1+MAX2;

Writeln('Sl=',Sl);

Writeln('S2=',S2);

end.

Завдання

1. Використовуючи підпрограми створити і вивести масив А[1..n] (n>10). Елементи масиву створюються за формулою з поданої нижче таблиці.

Варіант

А[x]=

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

2. Скласти підпрограму для пошуку даних у масиві. Критерії пошуку взяти з поданої нижче таблиці.

Варіант

Критерії пошуку

1

Обчислити суму першого та останнього елементів масиву.

2

Обчислити суму та добуток всіх елементів масиву, для яких виконується нерівність A[x]<-3.2 або A[x]>0.

3

Обчислити добуток та кількість усіх значень масиву, для яких виконуються нерівності A[x]<-3 або A[x]>0.4

4

Обчислити добуток усіх від'ємних значень масиву та визначити кількість додатних.

5

Обчислити модуль добутку максимального та мінімального елементів.

6

Обчислити середнє арифметичне всіх від'ємних елементів масиву.

7

Визначити суму додатних значень масиву та кількість від'ємних.

8

Скільки від'ємних та додатних значень має масив?

9

Обчислити суму та кількість додатних значень масиву.

10

Обчислити суму квадратів усіх додатних елементів масиву.

11

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

12

Обчислити суму усіх елементів масиву, для яких виконується нерівність A[x}<1.2 або A[x]>4

13

Яких елементів у масиві більше: додатних чи від'ємних?

14

Обчислити суму та кількість тих елементів масиву, для яких виконується нерівність 3<A[x]<4

15

Обчислити добуток усіх елементів масиву, для яких справджується нерівність 2<A[x]<4.1

3. Скласти програму для обробки масивів з різною кількістю елементів.

Розмірність масиву слід задати іменованими константами. Всі необхідні дані повинні передаватися підпрограмам в якості параметрів; усі величини, що використовуються всередині підпрограм, повинні бути описані як локальні. Використання глобальних змінних у підпрограмах не допускається. Виведення результатів роботи підпрограм повинен виконуватися у головній програмі.

завдання

У підрозділі Y є 15 співробітників, а в G – 20. Протягом місяця вони відпрацювали деяку кількість днів, яка задана як випадкова величина зі значенням yn=random(31), n=1..15, gk=random(31), k=1..20. Денна оплата праці d у.о. Податкова ставка 20%. Використовуючи підпрограми утворити масиви y, g, вивести значення їх елементів на екран і виконати завдання пошуку даних для кожного підрозділу. Вивести повідомлення, якщо шуканих даних немає.

Варіант

Критерії пошуку

1

Скільки осіб працювали у кожному підрозділі більше 15 днів7

2

Хто найменше заробив у кожному підрозділі?

3

Кому нараховано більше, ніж 100 у.о. у кожному підрозділі?

4

Який середній заробіток у кожному підрозділі?

5

Скільки осіб отримали більше, ніж 50 і менше, ніж 120 у.о.?

6

Скільки осіб працювали менше, ніж 10 днів?

7

Яка сума податку була сплачена у кожному підрозділі?

8

Хто сплатив найбільший податок у кожному підрозділі?

9

У скількох осіб податок перевищив 20 у.о.?

10

У якому підрозділі більший середній заробіток?

11

У скількох осіб заробіток вищий за середній?

12

Хто заробив більше, ніж 100 і менше, ніж 200 у.о.?

13

Скільки осіб працювали більше, ніж 5 і менше, ніж 12 днів?

14

Який середній заробіток перших п’яти осіб?

15

Хто найбільше заробив у кожному підрозділі?

4. Записати у звіт відповідні тексти програм та результати їх виконання.