Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

-6A82E~1

.PDF
Скачиваний:
0
Добавлен:
28.12.2025
Размер:
3.75 Mб
Скачать

101

Вариант №7. Составить схему алгоритма и программу для задачи:

В февральскую зарплату выдать премию работникам мужского пола в размере 100 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его пола, оклада, премии и суммы выплаты.

Вариант №8. Составить схему алгоритма и программу для задачи:

В сентябрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах): менее 2 лет – в размере 25 руб., от 2 лет – в размере 50руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, стажа и полной суммы выплаты.

Вариант №9. Составить схему алгоритма и программу для задачи:

В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от стажа (в полных годах): менее 2 лет – в размере 25 руб., менее 5 лет – в размере 50руб, от 5 лет – в размере 75 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, стажа и полной суммы выплаты.

Вариант №10. Составить схему алгоритма и программу для задачи:

В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от количества детей: 1 ребенок – в размере 25 руб., 2 ребенка – в размере 50 руб., 3 и более – в размере 75 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, количества детей и полной суммы выплаты.

Вариант №11. Составить схему алгоритма и программу для задачи:

В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от семейного положения: одиноким – в размере 25 руб., семейным – в размере 50 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, семейного положения и полной суммы выплаты.

Вариант №12. Составить схему алгоритма и программу для задачи:

В декабрьскую зарплату выдать материальную помощь работникам фирмы (количество работников не более 10) в зависимости от возраста: до 30 лет – в размере 100 руб., от 30 лет – в размере 120 руб. Данные о сотрудниках ввести с клавиатуры. В выходной файл вывести табель с указанием Ф.И.О. работника, его оклада, возраста и полной суммы выплаты.

102

18 ОРГАНИЗАЦИЯ ПОДПРОГРАММ ПОЛЬЗОВАТЕЛЯ (лабораторная работа № 7)

Типовая задача №1:

Составить схему алгоритма и программу для вычисления циклической суммы

m

f (x) , когда вид функции заранее неизвестен. Вычислить значения сумм

x n

10

5

и

20

 

 

5

 

, результат записать в файл.

 

 

 

 

 

 

 

 

1 x2

1

lg( x )

x 2

 

x 10

 

Программа

Program Lab7_T1;{Familii}

Type func=function(x:integer):real; Var S1,S2:real; n1,m1,n2,m2:integer;

r:text;

{$F+}

Function f1(x:integer):real; Begin

f1:=5/(1+x*x);

End;

Function f2(x:integer):real; Begin f2:=5/(1+ln(x)/ln(10));

End;

{$F-}

Procedure Sum(n,m:integer;f:func;Var S:real);

Var x:integer;

Begin

S:=0;

For x:=n to m do S:=S+f(x);

End;

Begin

Assign(r,'res7-t1');Rewrite(r);

Writeln('n1,m1=');Readln(n1,m1);

Sum(n1,m1,f1,S1);

Writeln(r,'S1=',S1:8:5);

Writeln('n2,m2=');Readln(n2,m2);

Sum(n2,m2,f2,S2);

Writeln(r,'S2=',S2:8:5);

Close(r);

End.

Результат

S1= 0.28025

S2=98.34142

103

2 Схема алгоритма

Рисунок 1 – Схема головной программы

104

Рисунок 2 – Схема подпрограммы-процедуры Sum

105

Рисунок 3 – Схема подпрограммы функции F1

Рисунок 4 – Схема подпрограммы функции F2

106

Типовая задача №2:

Перемножить квадратные матрицы М1 и М2 размером n×n. Размер n и исходные матрицы ввести с клавиатуры. Исходные и результирующую матрицы вывести в файл.

Программа

Program Lab7_T2; {Familii}

Type Matr=array[1..9,1..9] of integer; Var i,j,k,n:integer;

r:text;

M1,M2,M3:Matr;

Procedure Vvod (Var M: Matr);

Begin

For i:=1 to n do

For j:=1 to n do Read(M[i,j]);

End;

Procedure Vyvod (M:Matr); Begin

For i:=1 to n do begin

For j:=1 to n do Write(r,M[i,j]:4); Writeln(r);

end;

End;

Begin

Assign(r,'res-7t2'); Rewrite(r); Writeln('n='); Readln(n); Writeln('M1=');

Vvod (M1); Writeln('M2='); Vvod (M2);

For i:=1 to n do begin For j:=1 to n do begin M3[i,j]:=0;

For k:=1 to n do M3[i,j]:=M3[i,j]+M1[i,k]*M2[k,j]; end;

end;

Writeln(r,' Matrix M1:'); Vyvod (M1); Writeln(r,' Matrix M2:'); Vyvod (M2); Writeln(r,' Matrix M3:'); Vyvod (M3);

Close(r);

End.

Результат

Matrix M1:

1

2

3

3

2

1

0

0

1

Matrix M2:

1

0

1

0

1

0

1

1

1

Matrix M3:

4

5

4

4

3

4

1

1

1

107

Схема алгоритма

Рисунок 1 – Схема головной программы (начало)

108

Рисунок 1 – Схема головной программы (окончание)

109

Рисунок 2 – Схема подпрограммы-процедуры Vvod

110

Рисунок 3 – Схема подпрограммы-процедуры Vyvod

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]